Histórico da Página
...
Índice | ||||||
---|---|---|---|---|---|---|
|
Objetivo
Um Dataset pode ser acessado de várias formas: no desenvolvimento de widgets, formulários, webservices, eventos globais, eventos de formulários e eventos de processos.
O objetivo desse guia é mostrar como acessar o Dataset nestes cenários.
Pré-requisitos
...
- Visão geral sobre o fluig e sobre o Desenvolvimento de Datasets
Acessando um Dataset
Vários locais do fluig podem fazer uso dos dados retornados pelos Datasets. Serão apresentadas abaixo as variações na forma de acessá-los ou de manuseá-los.
...
No desenvolvimento de um widget, é possível acessar dados de Datasets, através da linguagem Javascript, utilizando a biblioteca DatasetFactory.
Consulte a documentação Integrando widget com formulários/datasets do fluig.
...
Âncora | ||||
---|---|---|---|---|
|
Quando um Dataset é acessado via um ponto de customização como eventos globais, eventos de processos, eventos de formulário ou mesmo em outros Datasets, isto é feito através de chamadas JavaScript que serão executadas no lado servidor.
O exemplo abaixo apresenta um exemplo simples de chamada a um Dataset:
Bloco de código | ||||||
---|---|---|---|---|---|---|
| ||||||
function doTest1() { var dataset = DatasetFactory.getDataset("group", null, null, null); return dataset.rowsCount; } |
No exemplo acima, o código JavaScript faz o acesso ao Dataset "interno group", que é um Dataset interno do sistema, e , e retorna a quantidade de linhas disponíveis (rowsCount). O objeto DatasetFactory é a "porta de entrada" para o acesso a qualquer Dataset. Além de permitir a carga de um Dataset, ela também permite navegar entre todos os Datasets disponíveis no sistema.
O acesso a um Dataset é feito através do método getDataset do objeto DatasetFactory, onde seus parâmetros são:
...
Bloco de código | ||||||
---|---|---|---|---|---|---|
| ||||||
function doTest2() { //Monta as constraints para consulta var c1 = DatasetFactory.createConstraint("activeVersion", "true", "true", ConstraintType.MUST); var c2 = DatasetFactory.createConstraint("publisherId", "adm", "adm", ConstraintType.MUST_NOT); var c3 = DatasetFactory.createConstraint("documentType", "1", "1", ConstraintType.SHOULD); var c4 = DatasetFactory.createConstraint("documentType", "2", "2", ConstraintType.SHOULD); var c5 = DatasetFactory.createConstraint("documentDescription", "%teste%", "%teste%", ConstraintType.MUST_NOT); c5.setLikeSearch(true); var constraints = new Array(c1, c2, c3, c4, c5); //Define os campos para ordenação var sortingFields = new Array("documentPK.documentId"); //Busca o dataset var dataset = DatasetFactory.getDataset("document", null, constraints, sortingFields); for(var i = 0; i < dataset.rowsCount; i++) { log.info(dataset.getValue(i, "documentPK.documentId")); } } |
Nota | |||||||||
---|---|---|---|---|---|---|---|---|---|
O método setLikeSearch(true) está disponível a partir da atualização 1.3.9 do fluig. Para utilizar a função likeSearch utilizando a biblioteca vcXMLRPC.js, deve ser adicionado mais um parâmetro no método DatasetFactory.createConstraint, e não utilizar o método setLikeSearch(true). Exemplo:
Isto é válido apenas para a utilização da biblioteca vcXMLRPC.js. |
...
Nota | ||
---|---|---|
| ||
As constraints podem ser utilizadas apenas para Datasets internos. Datasets customizados avançados não aceitam constraints, pelo fato de os dados serem externos, não sendo possível aplicar o filtro em sua origem. Para Datasets customizados avançados o tratamento de filtros deve ser feito na codificação do Dataset, manipulando o objeto retornado e retirando as informações desnecessárias. |
...
Webservices
O fluig disponibiliza um conjunto de WebServices que permitem integrar aplicações de terceiros à plataforma. Dentre os serviços disponibilizados, o serviço ECMDatasetService permite fazer o acesso a um Dataset. Para verificar a lista de serviços disponíveis no fluig, acesse a URL http://<servidor>:<porta>/webdesk/services.
...