Revision 46064

View differences:

trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.db/org.gvsig.fmap.dal.db.jdbc/src/main/java/org/gvsig/fmap/dal/store/jdbc2/spi/expressionbuilder/formatters/ComputedAttribute.java
33 33
import org.gvsig.fmap.dal.expressionevaluator.FeatureAttributeEmulatorExpression;
34 34
import org.gvsig.fmap.dal.feature.FeatureAttributeDescriptor;
35 35
import org.gvsig.fmap.dal.feature.FeatureAttributeEmulator;
36
import org.gvsig.fmap.dal.feature.FeatureExtraColumns;
36 37
import org.gvsig.fmap.dal.feature.FeatureQuery;
37 38
import org.gvsig.fmap.dal.feature.FeatureType;
38 39
import org.gvsig.fmap.dal.store.jdbc2.JDBCHelper;
......
67 68
                return false;
68 69
            }
69 70
            ExpressionBuilder.Variable variable = (ExpressionBuilder.Variable) value;
70
            FeatureAttributeDescriptor attr = featureType.getAttributeDescriptor(variable.name());
71
            if (attr == null) {
72
                FeatureQuery query = (FeatureQuery) value.getProperty(PROP_QUERY);
73
                attr = query.getExtraColumn().get(variable.name());
74
            }
71
			FeatureAttributeDescriptor attr = featureType.getAttributeDescriptor(variable.name());
72
			if (attr == null) {
73
				FeatureQuery query = (FeatureQuery) value.getProperty(PROP_QUERY);
74
				if (query == null) {
75
					return false;
76
				}
77
				FeatureExtraColumns extraColumn = query.getExtraColumn();
78
				if (extraColumn == null) {
79
					return false;
80
				}
81
				attr = extraColumn.get(variable.name());
82
				if (attr == null ) {
83
					return false;
84
				}
85
			}
75 86

  
76
            if (attr == null || !attr.isComputed()) {
87
            if (!attr.isComputed()) {
77 88
                return false;
78 89
            }
79 90
            

Also available in: Unified diff