Revision 38598 branches/v2_0_0_prep/libraries/libFMap_geometries/src/org/gvsig/fmap/geom/impl/DefaultGeometryManager.java

View differences:

DefaultGeometryManager.java
151 151

  
152 152
        int index = getGeometryOperationCode(geomOpName);
153 153

  
154
        Iterator it = geometryTypeName.keySet().iterator();
154
        Iterator it = geometryTypeName.values().iterator();
155 155
        while (it.hasNext()) {
156
            String className = (String) it.next();
157
            GeometryType geometryType =
158
                (GeometryType) geometryTypeName.get(className);
156
            GeometryType geometryType = (GeometryType) it.next();
159 157
            registerGeometryOperation(geomOpName, geomOp, geometryType);
160 158
        }
161 159

  
......
172 170

  
173 171
    public int registerGeometryOperation(String geomOpName,
174 172
        GeometryOperation geomOp, int type) {
175
        Iterator it = geometryTypeName.keySet().iterator();
176 173
        int code = -1;
174
        Iterator it = geometryTypeName.values().iterator();
177 175
        while (it.hasNext()) {
178
            String className = (String) it.next();
179
            GeometryType geometryType =
180
                (GeometryType) geometryTypeName.get(className);
176
            GeometryType geometryType = (GeometryType) it.next();
181 177
            if ((type == geometryType.getType())) {
182 178
                code =
183 179
                    registerGeometryOperation(geomOpName, geomOp, geometryType);
......
188 184

  
189 185
    public int registerGeometryOperationBySubtype(String geomOpName,
190 186
        GeometryOperation geomOp, int subType) {
191
        Iterator it = geometryTypeName.keySet().iterator();
192 187
        int code = -1;
188
        Iterator it = geometryTypeName.values().iterator();
193 189
        while (it.hasNext()) {
194
            String className = (String) it.next();
195
            GeometryType geometryType =
196
                (GeometryType) geometryTypeName.get(className);
190
            GeometryType geometryType = (GeometryType) it.next();
197 191
            if ((subType == geometryType.getSubType())) {
198 192
                code =
199 193
                    registerGeometryOperation(geomOpName, geomOp, geometryType);
......
204 198

  
205 199
    public int registerGeometryOperationBySuperType(String geomOpName,
206 200
        GeometryOperation geomOp, int superType) {       
207
        Iterator it = geometryTypeName.keySet().iterator();
208 201
        int code = -1;
202
        Iterator it = geometryTypeName.values().iterator();
209 203
        while (it.hasNext()) {
210
            String className = (String) it.next();
211
            GeometryType geometryType =
212
                (GeometryType) geometryTypeName.get(className);
204
            GeometryType geometryType = (GeometryType) it.next();
213 205
            if (geometryType.isTypeOf(superType)) {
214 206
                code =
215 207
                    registerGeometryOperation(geomOpName, geomOp, geometryType);
......
220 212

  
221 213
    public int registerGeometryOperationBySuperSubType(String geomOpName,
222 214
        GeometryOperation geomOp, int superSubType) {       
223
        Iterator it = geometryTypeName.keySet().iterator();
224 215
        int code = -1;
216
        Iterator it = geometryTypeName.values().iterator();
225 217
        while (it.hasNext()) {
226
            String className = (String) it.next();
227
            GeometryType geometryType =
228
                (GeometryType) geometryTypeName.get(className);
218
            GeometryType geometryType = (GeometryType) it.next();
229 219
            if (geometryType.isSubTypeOf(superSubType)) {
230 220
                code =
231 221
                    registerGeometryOperation(geomOpName, geomOp, geometryType);
......
321 311
                new DefaultGeometryType(geomClass, name, type, subType,
322 312
                    superTypes, superSubTypes);
323 313
            registerGeometryType(geomType);
324
            geometryTypeName.put(geomClass.getName(), geomType);
325 314
        }
326 315

  
327 316
        logger.debug("Class {} registered with name {}", geomClass,
......
354 343

  
355 344
        geometryTypes[geometryType.getType()][geometryType.getSubType()] =
356 345
            geometryType;
346
        geometryTypeName.put(geometryType.getName(), geometryType);
357 347
    }
358 348

  
359 349
    public GeometryType registerGeometryType(Class geomClass, int type,
......
361 351
        return registerGeometryType(geomClass, null, type, subType);
362 352
    }
363 353

  
364
    public GeometryType getGeometryType(String className)
365
    throws GeometryTypeNotSupportedException {
366
        if (!geometryTypeName.containsKey(className)) {
367
            throw new GeometryTypeNotSupportedException(className);
368
        }
369
        return (GeometryType) geometryTypeName.get(className);
370
    }
371

  
372 354
    public GeometryType getGeometryType(int type, int subType)
373 355
    throws GeometryTypeNotSupportedException, GeometryTypeNotValidException {
374 356
        GeometryType gType = null;
......
491 473
        return geomOp.invoke(null, ctx);
492 474
    }
493 475

  
494
    public GeometryType unregisterGeometryType(Class geomClass) {
495
        return (GeometryType) geometryTypeName.remove(geomClass.getName());
496
    }
497

  
498 476
    public Envelope createEnvelope(int subType) {
499 477
        // TODO: register the envelopes!!!
500 478
        switch (subType) {

Also available in: Unified diff