Revision 45158 trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.impl/src/main/java/org/gvsig/fmap/dal/feature/impl/DefaultEditableFeatureType.java

View differences:

DefaultEditableFeatureType.java
40 40
import org.gvsig.tools.ToolsLocator;
41 41
import org.gvsig.tools.evaluator.Evaluator;
42 42

  
43
@SuppressWarnings("UseSpecificCatch")
43 44
public class DefaultEditableFeatureType extends DefaultFeatureType implements
44 45
        EditableFeatureType {
45 46

  
......
132 133
        return true;
133 134
    }
134 135

  
136
    @Override
135 137
    public EditableFeatureAttributeDescriptor addLike(
136 138
            FeatureAttributeDescriptor other) {
137 139
        DefaultEditableFeatureAttributeDescriptor editableAttr;
......
145 147
        return editableAttr;
146 148
    }
147 149

  
150
    @Override
148 151
    public FeatureType getSource() {
149 152
        return source;
150 153
    }
151 154

  
155
    @Override
152 156
    public FeatureType getNotEditableCopy() {
153 157
        this.fixAll();
154 158
        DefaultFeatureType copy = new DefaultFeatureType(this, false);
......
163 167
        return copy;
164 168
    }
165 169

  
170
    @Override
166 171
    public EditableFeatureAttributeDescriptor add(String name, int type) {
167 172
        return this.add(name, type, true);
168 173
    }
......
188 193
            EditableFeatureAttributeDescriptor descriptor = (EditableFeatureAttributeDescriptor) iter.next();
189 194
            if (descriptor.getName().equalsIgnoreCase(name)) {
190 195
                throw new RuntimeException(
191
                        MessageFormat.format("Name descriptor {0} duplicated.", new String[]{name})
196
                        MessageFormat.format("Name descriptor {0} duplicated.", name)
192 197
                );
193 198
            }
194 199

  
......
228 233
        return attr;
229 234
    }
230 235

  
231
    public EditableFeatureAttributeDescriptor add(String name, int type,
232
            int size) {
236
    @Override
237
    public EditableFeatureAttributeDescriptor add(String name, int type, int size) {
233 238
        return this.add(name, type, true).setSize(size);
234 239
    }
235 240

  
241
    @Override
236 242
    public EditableFeatureAttributeDescriptor add(String name, int type,
237 243
            Evaluator evaluator) {
238 244
        if (evaluator == null) {
......
241 247
        return this.add(name, type, false).setEvaluator(evaluator);
242 248
    }
243 249

  
250
    @Override
244 251
    public EditableFeatureAttributeDescriptor add(String name, int type,
245 252
            FeatureAttributeEmulator emulator) {
246 253
        if (emulator == null) {
......
249 256
        return this.add(name, type, false).setFeatureAttributeEmulator(emulator);
250 257
    }
251 258
    
259
    @Override
252 260
    public EditableFeatureAttributeDescriptor add(String name, String type) {
253 261
        return this.add(name,ToolsLocator.getDataTypesManager().getType(type));
254 262
    }
255 263

  
264
    @Override
256 265
    public EditableFeatureAttributeDescriptor add(String name, String type, int size) {
257 266
        return this.add(name,ToolsLocator.getDataTypesManager().getType(type), size);
258 267
    }
......
340 349

  
341 350
    @Override
342 351
    public void setDefaultGeometryType(int type, int subType) {
343
        DefaultEditableFeatureType descr = (DefaultEditableFeatureType)this.getDefaultGeometryAttribute();
352
        EditableFeatureAttributeDescriptor descr = (EditableFeatureAttributeDescriptor) this.getDefaultGeometryAttribute();
344 353
        if( descr == null ) {
345 354
            throw new IllegalStateException("Default geometry attribute not set.");
346 355
        }
347
        descr.setDefaultGeometryType(type, subType);
356
        descr.setGeometryType(type, subType);
348 357
    }
349 358

  
359
    @Override
350 360
    public void setDefaultGeometryAttributeName(String name) {
351 361
        if (name == null || name.length() == 0) {
352 362
            this.defaultGeometryAttributeName = null;
353 363
            this.defaultGeometryAttributeIndex = -1;
354 364
            return;
355 365
        }
356
        DefaultFeatureAttributeDescriptor attr = (DefaultFeatureAttributeDescriptor) this
357
                .get(name);
366
        FeatureAttributeDescriptor attr = this.getAttributeDescriptor(name);
358 367
        if (attr == null) {
359
            throw new IllegalArgumentException("Attribute '" + name
360
                    + "' not found.");
368
            throw new IllegalArgumentException("Attribute '"+name+"' not found.");
361 369
        }
362
//        if (attr.getType() != DataTypes.GEOMETRY) {
363
//            throw new IllegalArgumentException("Attribute '" + name
364
//                    + "' is not a geometry.");
365
//        }
366 370
        this.defaultGeometryAttributeName = name;
367 371
        this.defaultGeometryAttributeIndex = attr.getIndex();
368 372
    }
......
391 395
        return this.defaultTimeAttributeName;
392 396
    }
393 397

  
398
    @Override
394 399
    public void setHasOID(boolean hasOID) {
395 400
        this.hasOID = hasOID;
396 401
    }
397 402

  
403
    @Override
398 404
    protected Iterator getIterator(Iterator iter) {
399 405
        return new EditableDelegatedIterator(iter, this);
400 406
    }
401 407

  
408
    @Override
402 409
    public EditableFeatureAttributeDescriptor getEditableAttributeDescriptor(String name) {
403 410
        return (EditableFeatureAttributeDescriptor) this.getAttributeDescriptor(name);
404 411
    }
405 412

  
413
    @Override
406 414
    public EditableFeatureAttributeDescriptor getEditableAttributeDescriptor(int index) {
407 415
        return (EditableFeatureAttributeDescriptor) this.getAttributeDescriptor(index);
408 416
    }
409 417

  
410 418
    protected class EditableDelegatedIterator extends DelegatedIterator {
411 419

  
412
        private DefaultEditableFeatureType fType;
420
        private final DefaultEditableFeatureType fType;
413 421

  
414
        public EditableDelegatedIterator(Iterator iter,
415
                DefaultEditableFeatureType fType) {
422
        public EditableDelegatedIterator(Iterator iter, DefaultEditableFeatureType fType) {
416 423
            super(iter);
417 424
            this.fType = fType;
418 425
        }
419 426

  
427
        @Override
420 428
        public void remove() {
421 429
            this.iterator.remove();
422 430
            this.fType.fixAll();

Also available in: Unified diff