Revision 21575

View differences:

trunk/libraries/libRaster/src/org/gvsig/raster/dataset/serializer/StatisticsRmfSerializer.java
107 107
		boolean maxRGBOk = false, minRGBOk = false, sndmaxRGBOk = false, sndminRGBOk = false;
108 108
		long[] valueList = null;
109 109
		boolean end = false;
110
    	int tag = parser.next();
111
    	while (!end) {
112
    		switch(tag) {
113
        		case KXmlParser.START_TAG:
114
        			if(parser.getName() != null) {	
110
			int tag = parser.next();
111
			while (!end) {
112
				switch(tag) {
113
						case KXmlParser.START_TAG:
114
							if(parser.getName() != null) {	
115 115
						if (parser.getName().compareTo(MAX) == 0)
116 116
							maxOk = true;
117 117
						if (parser.getName().compareTo(MIN) == 0)
......
134 134
							varianceOk = true;
135 135
					}		    	    
136 136
					break;
137
         		case KXmlParser.END_TAG:
138
         			if (parser.getName().compareTo(BAND) == 0)
139
         				end = true;
140
        			break;
141
        		case KXmlParser.TEXT:
142
        			if(maxOk) {
143
        				max[band] = Double.parseDouble(parser.getText());
144
        				maxOk = false;
145
        			}
146
        			if(minOk) {
147
        				min[band] = Double.parseDouble(parser.getText());
148
        				minOk = false;
149
        			}
150
        			if(sndmaxOk) {
151
        				sndmax[band] = Double.parseDouble(parser.getText());
152
        				sndmaxOk = false;
153
        			}
154
        			if(sndminOk) {
155
        				sndmin[band] = Double.parseDouble(parser.getText());
156
        				sndminOk = false;
157
        			}
158
        			if(maxRGBOk) {
159
        				maxRGB[band] = Double.parseDouble(parser.getText());
160
        				maxRGBOk = false;
161
        			}
162
        			if(minRGBOk) {
163
        				minRGB[band] = Double.parseDouble(parser.getText());
164
        				minRGBOk = false;
165
        			}
166
        			if(sndmaxRGBOk) {
167
        				sndmaxRGB[band] = Double.parseDouble(parser.getText());
168
        				sndmaxRGBOk = false;
169
        			}
170
        			if(sndminRGBOk) {
171
        				sndminRGB[band] = Double.parseDouble(parser.getText());
172
        				sndminRGBOk = false;
173
        			}
174
        			if(meanOk) {
175
        				mean[band] = Double.parseDouble(parser.getText());
176
        				meanOk = false;
177
        			}
178
        			if(varianceOk) {
179
        				variance[band] = Double.parseDouble(parser.getText());
180
        				varianceOk = false;
181
        			}
182
        			break;
183
    		}
184
    		if (!end)
185
    			tag = parser.next();
186
    	}
187
    	return valueList;
137
						 case KXmlParser.END_TAG:
138
							 if (parser.getName().compareTo(BAND) == 0)
139
								 end = true;
140
							break;
141
						case KXmlParser.TEXT:
142
							if(maxOk) {
143
								max[band] = Double.parseDouble(parser.getText());
144
								maxOk = false;
145
							}
146
							if(minOk) {
147
								min[band] = Double.parseDouble(parser.getText());
148
								minOk = false;
149
							}
150
							if(sndmaxOk) {
151
								sndmax[band] = Double.parseDouble(parser.getText());
152
								sndmaxOk = false;
153
							}
154
							if(sndminOk) {
155
								sndmin[band] = Double.parseDouble(parser.getText());
156
								sndminOk = false;
157
							}
158
							if(maxRGBOk) {
159
								maxRGB[band] = Double.parseDouble(parser.getText());
160
								maxRGBOk = false;
161
							}
162
							if(minRGBOk) {
163
								minRGB[band] = Double.parseDouble(parser.getText());
164
								minRGBOk = false;
165
							}
166
							if(sndmaxRGBOk) {
167
								sndmaxRGB[band] = Double.parseDouble(parser.getText());
168
								sndmaxRGBOk = false;
169
							}
170
							if(sndminRGBOk) {
171
								sndminRGB[band] = Double.parseDouble(parser.getText());
172
								sndminRGBOk = false;
173
							}
174
							if(meanOk) {
175
								mean[band] = Double.parseDouble(parser.getText());
176
								meanOk = false;
177
							}
178
							if(varianceOk) {
179
								variance[band] = Double.parseDouble(parser.getText());
180
								varianceOk = false;
181
							}
182
							break;
183
				}
184
				if (!end)
185
					tag = parser.next();
186
			}
187
			return valueList;
188 188
	}
189 189
	
190 190
	/*
......
291 291
		}
292 292
		for (int i = 0; i < stat.getTailTrimCount(); i++) {
293 293
			b.append("\t<" + TAILTRIM + ">\n");
294
			putProperty(b, KEY, ((Double)stat.getTailTrimValue(i)[0]).doubleValue(), 2);
295
			putProperty(b, VALUE, ((Double)stat.getTailTrimValue(i)[1]).doubleValue(), 2);
294
			putProperty(b, KEY, ((Double) stat.getTailTrimValue(i)[0]).doubleValue(), 2);
295
			putProperty(b, VALUE, ((Double) stat.getTailTrimValue(i)[1]).doubleValue(), 2);
296 296
			b.append("\t</" + TAILTRIM + ">\n");
297 297
		}
298 298
		b.append("</" + MAIN_TAG + ">\n");

Also available in: Unified diff