Criação de um data provider
Implementação de um data provider para que o source seja populado através de uma fonte externa.
AخA
1
package corporate.hoteisadmin3;
2
import java.io.File;
3
import org.w3c.dom.Document;
4
import org.w3c.dom.Node;
5
import lumis.doui.source.*;
6
import lumis.portal.PortalException;
7
import lumis.util.ITransaction;
8
import lumis.util.XmlUtil;
9
import lumis.portal.authentication.SessionConfig;
10
public class UFDataProvider implements IDataProvider<TabularSource<?>>
11
{
12
public void loadData(SessionConfig sessionConfig, TabularSource<?> source, ITransaction transaction) throws PortalException
13
{
14
File ufs = new File("c:\\ufs.xml");
15
Document ufsDom = XmlUtil.getDocument(ufs);
16
17
TabularData tabularData = source.getData();
18
19
Node[] ufNodes = XmlUtil.selectNodes("ufs/uf", ufsDom);
20
21
for(Node ufNode : ufNodes)
22
{
23
ISourceData newRow = tabularData.addRow();
24
25
String id = XmlUtil.readAttributeString("id", ufNode);
26
27
newRow.put("uf", id);
28
}
29
}
30
}
O arquivo XML, referenciado no data provider, que contém informações de UFs que deve estar localizado, por exemplo, em c:/ufs.xml:
6
1
2
<ufs>
3
<uf id="RJ" ></uf>
4
<uf id="SP" ></uf>
5
<uf id="MG" ></uf>
6
</ufs>