1 |
|
package org.gvsig.crs.persistence;
|
2 |
1 |
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
|
3 |
2 |
*
|
4 |
3 |
* Copyright (C) 2006 Instituto de Desarrollo Regional and Generalitat Valenciana.
|
... | ... | |
39 |
38 |
* +34 967 599 200
|
40 |
39 |
*/
|
41 |
40 |
|
42 |
|
import java.util.Date;
|
|
41 |
package org.gvsig.crs.persistence;
|
|
42 |
|
43 |
43 |
import java.util.Iterator;
|
44 |
44 |
import java.util.Properties;
|
45 |
45 |
import java.util.Set;
|
46 |
46 |
|
47 |
47 |
import com.iver.andami.PluginServices;
|
48 |
|
import com.iver.utiles.DateTime;
|
49 |
|
import com.iver.utiles.NotExistInXMLEntity;
|
50 |
48 |
import com.iver.utiles.XMLEntity;
|
51 |
|
import com.iver.utiles.swing.jcomboServer.ServerData;
|
52 |
49 |
|
53 |
50 |
/**
|
54 |
51 |
* This class is used to save a list of CRSs (using the
|
... | ... | |
92 |
89 |
* @param servers
|
93 |
90 |
* Array of servers
|
94 |
91 |
*/
|
95 |
|
public void setArrayOfServerData(CrsData[] crss){
|
|
92 |
public void setArrayOfCrsData(CrsData[] crss){
|
96 |
93 |
xml.getXmlTag().removeAllXmlTag();
|
97 |
94 |
|
98 |
95 |
for (int i=0 ; i<crss.length ; i++){
|
99 |
|
xml.addChild(serverDataToXml(crss[i]));
|
|
96 |
xml.addChild(crsDataToXml(crss[i]));
|
100 |
97 |
}
|
101 |
98 |
|
102 |
99 |
}
|
... | ... | |
106 |
103 |
* persistence model. If the server exists just actualizes
|
107 |
104 |
* the type and subtype fileds and changes the last access
|
108 |
105 |
* value to the current time.
|
109 |
|
* @param server
|
|
106 |
* @param crs
|
110 |
107 |
* ServerData
|
111 |
108 |
*/
|
112 |
|
public void addServerData(ServerData server){
|
113 |
|
ServerData[] servers = getArrayOfServerData();
|
114 |
|
ServerData[] newServers = new ServerData[servers.length + 1];
|
|
109 |
public void addCrsData(CrsData crs){
|
|
110 |
CrsData[] crss = getArrayOfCrsData();
|
|
111 |
CrsData[] newCrss = new CrsData[crss.length + 1];
|
115 |
112 |
|
116 |
113 |
boolean found = false;
|
117 |
114 |
|
118 |
|
for (int i = 0; i < servers.length; i++) {
|
119 |
|
if (servers[i].getServerAddress().equals(server.getServerAddress())) {
|
|
115 |
for (int i = 0; i < crss.length; i++) {
|
|
116 |
if (crss[i].getAuthority().equals(crs.getAuthority())&& crss[i].getCode()==crs.getCode()) {
|
120 |
117 |
found = true;
|
121 |
|
servers[i].updateLastAccess();
|
122 |
|
servers[i].setServiceSubType(server.getServiceSubType());
|
123 |
|
servers[i].setServiceType(server.getServiceType());
|
124 |
|
servers[i].setDatabase(server.getDatabase());
|
125 |
|
servers[i].setProperies(server.getProperies());
|
126 |
|
setArrayOfServerData(servers);
|
|
118 |
crss[i].setName(crs.getName());
|
|
119 |
crss[i].setWkt(crs.getWkt());
|
|
120 |
crss[i].setProperies(crs.getProperies());
|
|
121 |
setArrayOfCrsData(crss);
|
127 |
122 |
}
|
128 |
123 |
}
|
129 |
124 |
|
130 |
125 |
if (!found) {
|
131 |
|
System.arraycopy(servers, 0, newServers, 0, servers.length);
|
132 |
|
newServers[servers.length] = server;
|
133 |
|
setArrayOfServerData(newServers);
|
|
126 |
System.arraycopy(crss, 0, newCrss, 0, crss.length);
|
|
127 |
newCrss[crss.length] = crs;
|
|
128 |
setArrayOfCrsData(newCrss);
|
134 |
129 |
|
135 |
130 |
}
|
136 |
131 |
}
|
... | ... | |
143 |
138 |
* @return
|
144 |
139 |
* String[]
|
145 |
140 |
*/
|
146 |
|
public CrsData[] getArrayOfServerData(){
|
|
141 |
public CrsData[] getArrayOfCrsData(){
|
147 |
142 |
CrsData[] crss = new CrsData[xml.getChildrenCount()];
|
148 |
143 |
for (int i=0 ; i<xml.getChildrenCount() ; i++){
|
149 |
|
crss[i] = xmlToServerData(xml.getChild(i));
|
|
144 |
crss[i] = xmlToCrsData(xml.getChild(i));
|
150 |
145 |
}
|
151 |
146 |
return crss;
|
152 |
147 |
}
|
... | ... | |
159 |
154 |
* @return
|
160 |
155 |
* XMLEntity
|
161 |
156 |
*/
|
162 |
|
public XMLEntity serverDataToXml(CrsData crs){
|
|
157 |
public XMLEntity crsDataToXml(CrsData crs){
|
163 |
158 |
|
164 |
159 |
XMLEntity xmlEnt = new XMLEntity();
|
165 |
160 |
xmlEnt.putProperty(CRS_AUTHORITY,crs.getAuthority());
|
... | ... | |
183 |
178 |
* @return
|
184 |
179 |
* ServerData
|
185 |
180 |
*/
|
186 |
|
public CrsData xmlToServerData(XMLEntity xmlEnt){
|
|
181 |
public CrsData xmlToCrsData(XMLEntity xmlEnt){
|
187 |
182 |
String authority = "";
|
188 |
183 |
int code = 0;
|
189 |
184 |
String name = "";
|