Revision 44457

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/complements/relatedfeatures/RelatedFeaturesImpl.java
14 14
import org.gvsig.fmap.dal.feature.FeatureQuery;
15 15
import org.gvsig.fmap.dal.feature.FeatureStore;
16 16
import org.gvsig.fmap.dal.feature.FeatureType;
17
import org.gvsig.fmap.dal.feature.ForeingKey;
17 18
import org.gvsig.tools.ToolsLocator;
18 19
import org.gvsig.tools.complement.AbstractComplement;
19 20
import org.gvsig.tools.complement.ComplementFactory;
......
226 227
        }
227 228
    }
228 229

  
229
//    @Override
230
//    public FeatureQuery getForeingKeyQuery(ContextRelatedFeatures context, Object codeValue) {
231
//        return this.getQuery(context, this.getForeingKeyName(), codeValue);
232
//    }
230
    @Override
231
    public FeatureQuery getForeingKeyQuery(ContextRelatedFeatures context, Object codeValue) {
232
        if( !(this.getObject() instanceof FeatureAttributeDescriptor) ) {
233
            return null;
234
        }
235
        String me = ((FeatureAttributeDescriptor)this.getObject()).getStore().getName();
236
        FeatureType ftype = context.getFeatureType();
237
        for (FeatureAttributeDescriptor attr : ftype) {
238
            if( attr.isForeingKey() ) {
239
                ForeingKey fkey = attr.getForeingKey();
240
                if( StringUtils.equals(fkey.getTableName(), me) ) {
241
                    return this.getQuery(context, fkey.getCodeName(), codeValue);
242
                }
243
            }
244
        }
245
        return null;
246
    }
233 247

  
234 248
    @Override
235 249
    public FeatureQuery getUniqueKeyQuery(ContextRelatedFeatures context, Object codeValue) {

Also available in: Unified diff