Revision 1966 org.gvsig.tools/library/trunk/org.gvsig.tools/org.gvsig.tools.lib/src/main/java/org/gvsig/tools/dynobject/impl/DefaultTags.java

View differences:

DefaultTags.java
10 10
import org.gvsig.tools.dataTypes.CoercionException;
11 11
import org.gvsig.tools.dataTypes.DataTypes;
12 12
import org.gvsig.tools.dataTypes.DataTypesManager;
13
import org.gvsig.tools.dynobject.DynField;
14
import org.gvsig.tools.dynobject.DynObjectManager;
13 15
import org.gvsig.tools.dynobject.DynStruct;
14 16
import org.gvsig.tools.dynobject.Tags;
15 17
import org.gvsig.tools.persistence.PersistenceManager;
16
import org.gvsig.tools.persistence.Persistent;
17 18
import org.gvsig.tools.persistence.PersistentState;
18 19
import org.gvsig.tools.persistence.exception.PersistenceException;
19 20

  
......
30 31
        if (this.tags == null) {
31 32
            return null;
32 33
        }
33
        return this.tags.get(name.toLowerCase());
34
        Object value = this.tags.get(name.toLowerCase());
35
        if( value != null ) {
36
            DynObjectManager manager = ToolsLocator.getDynObjectManager();
37
            DynField definition = manager.getTags().get(name);
38
            if( definition!=null ) {
39
                try {
40
                    value = definition.coerce(value);
41
                } catch (CoercionException ex) {
42
                    // Do nothing, ignore.
43
                }
44
            }
45
        }
46
        return value;
34 47
    }
35 48

  
36 49
    @Override

Also available in: Unified diff