Revision 47180

View differences:

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/DefaultFeatureAttributeDescriptor.java
77 77
import org.gvsig.tools.dataTypes.DataType;
78 78
import org.gvsig.tools.dataTypes.DataType.NumberPrecisionAndScale;
79 79
import org.gvsig.tools.dataTypes.DataTypeUtils;
80
import org.gvsig.tools.dispose.DisposeUtils;
80 81
import org.gvsig.tools.dynobject.AbstractDynMethod;
81 82
import org.gvsig.tools.dynobject.DynField;
82 83
import org.gvsig.tools.dynobject.DynField_LabelAttribute;
......
1021 1022
        Expression filter = this.availableValuesFilter;
1022 1023
        if (!ExpressionUtils.isEmpty(filter)) {
1023 1024
            if (this.isForeingKey() && this.foreingKey.isClosedList()) {
1024
                ContextForeingKey foreingkeyContext = this.foreingKey.createContext();
1025
                foreingkeyContext.setContextValues(context);
1026
                DynObjectValueItem[] values = this.foreingKey.getAvailableValues(foreingkeyContext);
1027
                return values;
1025
                ContextForeingKey foreingkeyContext = null;
1026
                try {
1027
                    foreingkeyContext = this.foreingKey.createContext();
1028
                    foreingkeyContext.setContextValues(context);
1029
                    DynObjectValueItem[] values = this.foreingKey.getAvailableValues(foreingkeyContext);
1030
                    return values;
1031
                } finally {
1032
                    DisposeUtils.disposeQuietly(foreingkeyContext);
1033
                }
1028 1034
            }
1029 1035
            MutableSymbolTable contextSymbolTable = ExpressionUtils.createSymbolTable("feature", context);
1030 1036
            MutableSymbolTable symbolTable = ExpressionUtils.createSymbolTable();

Also available in: Unified diff