Revision 2616
org.gvsig.raster/trunk/org.gvsig.raster/org.gvsig.raster.lib/org.gvsig.raster.lib.impl/src/main/java/org/gvsig/raster/util/DefaultProviderServices.java | ||
---|---|---|
457 | 457 |
if (serializerObject == null) |
458 | 458 |
throw new RmfSerializerException("No se ha podido encontrar el serializador para el Rmf"); |
459 | 459 |
|
460 |
if (!blocksManager.checkRmf()) |
|
461 |
throw new RmfSerializerException("Error al comprobar el fichero Rmf"); |
|
460 |
if (!blocksManager.checkRmf()) { |
|
461 |
log.info("Error al comprobar el fichero Rmf"); |
|
462 |
} |
|
462 | 463 |
|
463 | 464 |
blocksManager.addClient(serializerObject); |
464 | 465 |
try { |
465 | 466 |
blocksManager.write(true); |
466 | 467 |
} catch (IOException e) { |
467 |
throw new RmfSerializerException("Error al escribir el fichero Rmf", e);
|
|
468 |
log.info("Error al escribir el fichero Rmf", e);
|
|
468 | 469 |
} |
469 | 470 |
blocksManager.removeAllClients(); |
470 | 471 |
} |
org.gvsig.raster/trunk/org.gvsig.raster/org.gvsig.raster.lib/org.gvsig.raster.lib.impl/src/main/java/org/gvsig/raster/impl/store/serializer/ColorInterpretationRmfSerializer.java | ||
---|---|---|
46 | 46 |
* \<Band\>Blue\</Band\><BR> |
47 | 47 |
* \</ColorInterpretation\><BR> |
48 | 48 |
* |
49 |
* @version 14/01/2008 |
|
50 | 49 |
* @author Nacho Brodin (nachobrodin@gmail.com) |
51 | 50 |
*/ |
52 | 51 |
public class ColorInterpretationRmfSerializer extends ClassSerializer { |
... | ... | |
80 | 79 |
public ColorInterpretationRmfSerializer() { |
81 | 80 |
} |
82 | 81 |
|
83 |
/* |
|
84 |
* (non-Javadoc) |
|
85 |
* @see org.gvsig.raster.dataset.io.rmf.IRmfBlock#read(java.lang.String) |
|
86 |
*/ |
|
87 | 82 |
public void read(String xml) throws ParsingException { |
88 | 83 |
String cInterp = null; |
89 | 84 |
datasetCI = new DataStoreColorInterpretation(); |
... | ... | |
129 | 124 |
} |
130 | 125 |
} |
131 | 126 |
|
132 |
/* |
|
133 |
* (non-Javadoc) |
|
134 |
* @see org.gvsig.raster.dataset.io.rmf.IRmfBlock#write() |
|
135 |
*/ |
|
136 | 127 |
public String write() { |
137 | 128 |
StringBuffer b = new StringBuffer(); |
138 | 129 |
if (datasetCI == null) |
... | ... | |
150 | 141 |
return b.toString(); |
151 | 142 |
} |
152 | 143 |
|
153 |
/* |
|
154 |
* (non-Javadoc) |
|
155 |
* @see org.gvsig.raster.dataset.io.rmf.IRmfBlock#getResult() |
|
156 |
*/ |
|
157 | 144 |
public Object getResult() { |
158 | 145 |
return datasetCI; |
159 | 146 |
} |
160 | 147 |
|
161 |
/* |
|
162 |
* (non-Javadoc) |
|
163 |
* @see org.gvsig.raster.dataset.io.rmf.IRmfBlock#getMainTag() |
|
164 |
*/ |
|
165 | 148 |
public String getMainTag() { |
166 | 149 |
return MAIN_TAG; |
167 | 150 |
} |
org.gvsig.raster/trunk/org.gvsig.raster/org.gvsig.raster.lib/org.gvsig.raster.lib.impl/src/main/java/org/gvsig/raster/impl/store/serializer/TimeSeriesRmfSerializer.java | ||
---|---|---|
60 | 60 |
* \</TimeSeries\><BR> |
61 | 61 |
* </P> |
62 | 62 |
* |
63 |
* @version 23/04/2007 |
|
64 | 63 |
* @author Nacho Brodin (nachobrodin@gmail.com) |
65 | 64 |
*/ |
66 | 65 |
public class TimeSeriesRmfSerializer extends ClassSerializer { |
... | ... | |
175 | 174 |
parserDates(tInfo, parser, DATES, null); |
176 | 175 |
} |
177 | 176 |
|
178 |
/* |
|
179 |
* (non-Javadoc) |
|
180 |
* @see org.gvsig.raster.dataset.io.rmf.IRmfBlock#read(java.lang.String) |
|
181 |
*/ |
|
182 | 177 |
public void read(String xml) throws ParsingException { |
183 | 178 |
ArrayList<DefaultSerialInfo> list = new ArrayList<DefaultSerialInfo>(); |
184 | 179 |
DefaultSerialInfo tInfo = null; |
... | ... | |
241 | 236 |
((DefaultTimeSerials)serialInfo).addSerialInfo(tInfo);//.setSerial(list); |
242 | 237 |
} |
243 | 238 |
|
244 |
/* |
|
245 |
* (non-Javadoc) |
|
246 |
* @see org.gvsig.raster.dataset.io.rmf.IRmfBlock#write() |
|
247 |
*/ |
|
248 | 239 |
public String write() { |
249 | 240 |
StringBuffer b = new StringBuffer(); |
250 | 241 |
DefaultTimeSerials si = (DefaultTimeSerials)serialInfo; |
... | ... | |
267 | 258 |
return b.toString(); |
268 | 259 |
} |
269 | 260 |
|
270 |
/* |
|
271 |
* (non-Javadoc) |
|
272 |
* @see org.gvsig.raster.dataset.io.rmf.IRmfBlock#getResult() |
|
273 |
*/ |
|
274 | 261 |
public Object getResult() { |
275 | 262 |
return serialInfo; |
276 | 263 |
} |
277 | 264 |
|
278 |
/* |
|
279 |
* (non-Javadoc) |
|
280 |
* @see org.gvsig.raster.dataset.io.rmf.IRmfBlock#getMainTag() |
|
281 |
*/ |
|
282 | 265 |
public String getMainTag() { |
283 | 266 |
return MAIN_TAG; |
284 | 267 |
} |
org.gvsig.raster/trunk/org.gvsig.raster/org.gvsig.raster.lib/org.gvsig.raster.lib.impl/src/main/java/org/gvsig/raster/impl/store/serializer/StatisticsRmfSerializer.java | ||
---|---|---|
227 | 227 |
return valueList; |
228 | 228 |
} |
229 | 229 |
|
230 |
/* |
|
231 |
* (non-Javadoc) |
|
232 |
* @see org.gvsig.raster.dataset.io.rmf.IRmfBlock#read(java.lang.String) |
|
233 |
*/ |
|
234 | 230 |
public void read(String xml) throws ParsingException { |
235 | 231 |
int bandCount = 0; |
236 | 232 |
double[] max = null, maxRGB = null; |
... | ... | |
307 | 303 |
getDatasetStatistics().setCalculated(true); |
308 | 304 |
} |
309 | 305 |
|
310 |
/* |
|
311 |
* (non-Javadoc) |
|
312 |
* @see org.gvsig.raster.dataset.io.rmf.IRmfBlock#write() |
|
313 |
*/ |
|
314 | 306 |
public String write() { |
315 | 307 |
if (stat == null) |
316 | 308 |
return ""; |
... | ... | |
357 | 349 |
return b.toString(); |
358 | 350 |
} |
359 | 351 |
|
360 |
/* |
|
361 |
* (non-Javadoc) |
|
362 |
* @see org.gvsig.raster.dataset.io.rmf.IRmfBlock#getResult() |
|
363 |
*/ |
|
364 | 352 |
public Object getResult() { |
365 | 353 |
return stat; |
366 | 354 |
} |
367 | 355 |
|
368 |
/* |
|
369 |
* (non-Javadoc) |
|
370 |
* @see org.gvsig.raster.dataset.io.rmf.IRmfBlock#getMainTag() |
|
371 |
*/ |
|
372 | 356 |
public String getMainTag() { |
373 | 357 |
return MAIN_TAG; |
374 | 358 |
} |
org.gvsig.raster/trunk/org.gvsig.raster/org.gvsig.raster.lib/org.gvsig.raster.lib.impl/src/main/java/org/gvsig/raster/impl/store/serializer/ProjectionRmfSerializer.java | ||
---|---|---|
47 | 47 |
* </P> |
48 | 48 |
* <P> |
49 | 49 |
* |
50 |
* @version 20/05/2008 |
|
51 | 50 |
* @author BorSanZa - Borja S?nchez Zamorano |
52 | 51 |
*/ |
53 | 52 |
public class ProjectionRmfSerializer extends ClassSerializer { |
... | ... | |
73 | 72 |
public ProjectionRmfSerializer() { |
74 | 73 |
} |
75 | 74 |
|
76 |
/* |
|
77 |
* (non-Javadoc) |
|
78 |
* @see org.gvsig.raster.dataset.io.rmf.IRmfBlock#getMainTag() |
|
79 |
*/ |
|
80 | 75 |
public String getMainTag() { |
81 | 76 |
return MAIN_TAG; |
82 | 77 |
} |
83 | 78 |
|
84 |
/* |
|
85 |
* (non-Javadoc) |
|
86 |
* @see org.gvsig.raster.dataset.io.rmf.IRmfBlock#getResult() |
|
87 |
*/ |
|
88 | 79 |
public Object getResult() { |
89 | 80 |
return projection; |
90 | 81 |
} |
91 | 82 |
|
92 |
/* |
|
93 |
* (non-Javadoc) |
|
94 |
* @see org.gvsig.raster.dataset.io.rmf.IRmfBlock#read(java.lang.String) |
|
95 |
*/ |
|
96 | 83 |
public void read(String xml) throws ParsingException { |
97 | 84 |
CRSUtils util = RasterLocator.getManager().getCRSUtils(); |
98 | 85 |
KXmlParser parser = new KXmlParser(); |
... | ... | |
132 | 119 |
} |
133 | 120 |
} |
134 | 121 |
|
135 |
/* |
|
136 |
* (non-Javadoc) |
|
137 |
* @see org.gvsig.raster.dataset.io.rmf.IRmfBlock#write() |
|
138 |
*/ |
|
139 | 122 |
public String write() throws IOException { |
140 | 123 |
CRSUtils util = RasterLocator.getManager().getCRSUtils(); |
141 | 124 |
StringBuffer b = new StringBuffer(); |
org.gvsig.raster/trunk/org.gvsig.raster/org.gvsig.raster.lib/org.gvsig.raster.lib.impl/src/main/java/org/gvsig/raster/impl/store/serializer/GeoPointListRmfSerializer.java | ||
---|---|---|
185 | 185 |
gp.setActive(Boolean.valueOf(parserString(parser, ACTIVE, null)).booleanValue()); |
186 | 186 |
} |
187 | 187 |
|
188 |
/* |
|
189 |
* (non-Javadoc) |
|
190 |
* @see org.gvsig.raster.dataset.io.rmf.IRmfBlock#read(java.lang.String) |
|
191 |
*/ |
|
192 | 188 |
public void read(String xml) throws ParsingException { |
193 | 189 |
ArrayList<GeoPointImpl> list = new ArrayList<GeoPointImpl>(); |
194 | 190 |
GeoPointImpl gp = null; |
195 | 191 |
boolean init = false; |
196 |
int nPoint = -1; |
|
197 | 192 |
boolean tagOk = false; |
198 | 193 |
boolean vpRead = false; |
199 | 194 |
|
... | ... | |
222 | 217 |
if (parser.getName().compareTo(GEOPOINT) == 0) { |
223 | 218 |
gp = new GeoPointImpl(); |
224 | 219 |
tagOk = true; |
225 |
nPoint++; |
|
226 | 220 |
} |
227 | 221 |
} |
228 | 222 |
break; |
... | ... | |
252 | 246 |
gpList.add((GeoPointImpl) list.get(i)); |
253 | 247 |
} |
254 | 248 |
|
255 |
/* |
|
256 |
* (non-Javadoc) |
|
257 |
* @see org.gvsig.raster.dataset.io.rmf.IRmfBlock#write() |
|
258 |
*/ |
|
259 | 249 |
public String write() { |
260 | 250 |
if(gpList == null || gpList.size() == 0) |
261 | 251 |
return null; |
... | ... | |
277 | 267 |
return b.toString(); |
278 | 268 |
} |
279 | 269 |
|
280 |
/* |
|
281 |
* (non-Javadoc) |
|
282 |
* @see org.gvsig.raster.dataset.io.rmf.IRmfBlock#getResult() |
|
283 |
*/ |
|
284 | 270 |
public Object getResult() { |
285 | 271 |
return gpList; |
286 | 272 |
} |
... | ... | |
292 | 278 |
public DefaultViewPortData getViewPort() { |
293 | 279 |
return viewPort; |
294 | 280 |
} |
295 |
|
|
296 |
/* |
|
297 |
* (non-Javadoc) |
|
298 |
* @see org.gvsig.raster.dataset.io.rmf.IRmfBlock#getMainTag() |
|
299 |
*/ |
|
281 |
|
|
300 | 282 |
public String getMainTag() { |
301 | 283 |
return MAIN_TAG; |
302 | 284 |
} |
org.gvsig.raster/trunk/org.gvsig.raster/org.gvsig.raster.lib/org.gvsig.raster.lib.impl/src/main/java/org/gvsig/raster/impl/store/rmf/RmfBlocksManager.java | ||
---|---|---|
37 | 37 |
* escribir en el se registrar? a traves de ClientRegister y esta clase ser? la encargada |
38 | 38 |
* de gestionar la lectura y escritura de bloques. |
39 | 39 |
* |
40 |
* 21-abr-2007 |
|
41 | 40 |
* @author Nacho Brodin (nachobrodin@gmail.com) |
42 | 41 |
*/ |
43 | 42 |
public class RmfBlocksManager extends ClientRegister implements IRmfBlock { |
44 | 43 |
private final String MAIN_TAG = "RasterMetaFile"; |
44 |
private String version = "1.0"; |
|
45 |
|
|
45 | 46 |
private String path = null; |
46 | 47 |
|
47 | 48 |
/** |
... | ... | |
76 | 77 |
RasterLocator.getManager().getFileUtils().copyFile(getPath(), getPath() + "~"); |
77 | 78 |
} |
78 | 79 |
|
79 |
/* |
|
80 |
* (non-Javadoc) |
|
81 |
* @see org.gvsig.raster.dataset.io.rmf.IRmfBlock#read(java.lang.String) |
|
82 |
*/ |
|
83 | 80 |
public void read(String xml) throws ParsingException { |
84 | 81 |
File file = new File(getPath()); |
85 | 82 |
ArrayList<String> lines = new ArrayList<String>(); |
... | ... | |
133 | 130 |
file.createNewFile(); |
134 | 131 |
FileWriter writer = new FileWriter(file); |
135 | 132 |
writer.write("<?xml version=\"1.0\" encoding=\"ISO-8859-15\"?>\n"); |
136 |
writer.write("<RasterMetaFile>\n");
|
|
133 |
writer.write("<" + getMainTag() + " version=\"" + version + "\">\n");
|
|
137 | 134 |
for (int i = 0; i < clients.size(); i++) { |
138 | 135 |
IRmfBlock block = ((IRmfBlock) clients.get(i)); |
139 | 136 |
String xmlBlock = block.write(); |
140 | 137 |
if(xmlBlock != null) |
141 | 138 |
writer.write(xmlBlock); |
142 | 139 |
} |
143 |
writer.write("</RasterMetaFile>\n");
|
|
140 |
writer.write("</" + getMainTag() + ">\n");
|
|
144 | 141 |
writer.close(); |
145 | 142 |
} |
146 | 143 |
|
147 |
/* |
|
148 |
* (non-Javadoc) |
|
149 |
* @see org.gvsig.raster.dataset.io.rmf.IRmfBlock#write() |
|
150 |
*/ |
|
151 | 144 |
public String write() throws IOException { |
152 | 145 |
File file = new File(getPath()); |
153 | 146 |
ArrayList<String> lines = new ArrayList<String>(); |
... | ... | |
247 | 240 |
try { |
248 | 241 |
inGrf = new BufferedReader(new InputStreamReader(new FileInputStream(f))); |
249 | 242 |
String str = inGrf.readLine(); |
250 |
if (!str.startsWith("<?xml")) |
|
243 |
if (!str.startsWith("<?xml")) { |
|
244 |
inGrf.close(); |
|
251 | 245 |
return false; |
246 |
} |
|
247 |
while (str != null) { |
|
248 |
if (str.startsWith("<" + getMainTag())) { |
|
249 |
inGrf.close(); |
|
250 |
if(str.contains("version=\"")) { |
|
251 |
String versionNbr = str.substring(str.indexOf("version=\"") + 9); |
|
252 |
versionNbr = versionNbr.substring(0, versionNbr.indexOf("\"")); |
|
253 |
if(!versionNbr.equals(version)) { |
|
254 |
return false; |
|
255 |
} |
|
256 |
} |
|
257 |
return true; |
|
258 |
} |
|
259 |
str = inGrf.readLine(); |
|
260 |
} |
|
261 |
inGrf.close(); |
|
252 | 262 |
} catch (FileNotFoundException e) { |
253 | 263 |
return false; |
254 | 264 |
} catch (IOException e) { |
... | ... | |
258 | 268 |
return true; |
259 | 269 |
} |
260 | 270 |
|
261 |
/* |
|
262 |
* (non-Javadoc) |
|
263 |
* @see org.gvsig.raster.dataset.io.rmf.IRmfBlock#getMainTag() |
|
264 |
*/ |
|
265 | 271 |
public String getMainTag() { |
266 | 272 |
return MAIN_TAG; |
267 | 273 |
} |
268 | 274 |
|
269 |
/* |
|
270 |
* (non-Javadoc) |
|
271 |
* @see org.gvsig.raster.dataset.io.rmf.IRmfBlock#getResult() |
|
272 |
*/ |
|
273 | 275 |
public Object getResult() { |
274 | 276 |
return null; |
275 | 277 |
} |
org.gvsig.raster/trunk/org.gvsig.raster/org.gvsig.raster.lib/org.gvsig.raster.lib.impl/src/main/java/org/gvsig/raster/impl/datastruct/DefaultNoData.java | ||
---|---|---|
195 | 195 |
} |
196 | 196 |
|
197 | 197 |
public void load() { |
198 |
try { |
|
199 |
String fileRMF = RasterLocator.getManager().getFileUtils().getNameWithoutExtension(fileName) + ".rmf"; |
|
200 |
RmfBlocksManager blocksManager = new RmfBlocksManager(fileRMF); |
|
201 |
ClassSerializer serializerObject = new NoDataRmfSerializer(this); |
|
198 |
String fileRMF = RasterLocator.getManager().getFileUtils().getNameWithoutExtension(fileName) + ".rmf"; |
|
199 |
RmfBlocksManager blocksManager = new RmfBlocksManager(fileRMF); |
|
200 |
ClassSerializer serializerObject = new NoDataRmfSerializer(this); |
|
202 | 201 |
|
203 |
if (!blocksManager.checkRmf()) |
|
204 |
throw new RmfSerializerException("Error al comprobar el fichero Rmf"); |
|
202 |
if (!blocksManager.checkRmf()) { |
|
203 |
log.info("Error al comprobar el fichero Rmf " + fileRMF); |
|
204 |
} |
|
205 | 205 |
|
206 |
blocksManager.addClient(serializerObject); |
|
207 |
try { |
|
208 |
if(new File(fileRMF).exists()) |
|
209 |
blocksManager.read(null); |
|
210 |
} catch (Exception e) { |
|
211 |
log.log(Level.WARNING, "Error al escribir el fichero Rmf", e); |
|
212 |
} |
|
213 |
blocksManager.removeAllClients(); |
|
214 |
|
|
215 |
} catch (RmfSerializerException e) { |
|
216 |
log.log(Level.SEVERE, "error_salvando_rmf", e); |
|
206 |
blocksManager.addClient(serializerObject); |
|
207 |
try { |
|
208 |
if(new File(fileRMF).exists()) |
|
209 |
blocksManager.read(null); |
|
210 |
} catch (Exception e) { |
|
211 |
log.log(Level.WARNING, "Error al escribir el fichero Rmf", e); |
|
217 | 212 |
} |
213 |
blocksManager.removeAllClients(); |
|
218 | 214 |
} |
219 | 215 |
|
220 | 216 |
public void setFileName(String fileName) { |
Also available in: Unified diff