Revision 44262 trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.swing/org.gvsig.fmap.dal.swing.impl/src/main/java/org/gvsig/featureform/swing/impl/dynformfield/linkforeingkey/JDynFormFieldForeingKeyFactory.java
JDynFormFieldForeingKeyFactory.java | ||
---|---|---|
23 | 23 |
*/ |
24 | 24 |
package org.gvsig.featureform.swing.impl.dynformfield.linkforeingkey; |
25 | 25 |
|
26 |
import org.apache.commons.lang3.StringUtils; |
|
26 |
import org.gvsig.featureform.swing.JFeaturesForm.FeaturesFormContext; |
|
27 |
import org.gvsig.fmap.dal.DataManager; |
|
28 |
import org.gvsig.fmap.dal.feature.FeatureAttributeDescriptor; |
|
29 |
import org.gvsig.fmap.dal.feature.FeatureType; |
|
30 |
import org.gvsig.fmap.dal.feature.ForeingKey; |
|
27 | 31 |
import org.gvsig.tools.dataTypes.DataTypes; |
28 | 32 |
import org.gvsig.tools.dynform.DynFormFieldDefinition; |
33 |
import org.gvsig.tools.dynform.JDynForm; |
|
29 | 34 |
import org.gvsig.tools.dynform.JDynFormField; |
30 | 35 |
import org.gvsig.tools.dynform.spi.DynFormSPILocator; |
31 | 36 |
import org.gvsig.tools.dynform.spi.DynFormSPIManager; |
... | ... | |
34 | 39 |
public class JDynFormFieldForeingKeyFactory extends AbstractJDynFormFieldFactory { |
35 | 40 |
|
36 | 41 |
public JDynFormFieldForeingKeyFactory() { |
37 |
super("FOREINGKEY", DataTypes.UNKNOWN, "DAL.ForeingKey");
|
|
42 |
super("FOREINGKEY", DataTypes.UNKNOWN, null);
|
|
38 | 43 |
} |
39 | 44 |
|
40 | 45 |
@Override |
... | ... | |
48 | 53 |
} |
49 | 54 |
|
50 | 55 |
@Override |
51 |
public boolean isApplicableTo(DynFormFieldDefinition fieldDefinition) { |
|
52 |
if( StringUtils.equalsIgnoreCase("DAL.ForeingKey", fieldDefinition.getSubtype())) { |
|
53 |
return true; |
|
56 |
public int getPriority() { |
|
57 |
return 500; |
|
58 |
} |
|
59 |
|
|
60 |
@Override |
|
61 |
public boolean isApplicableTo(JDynForm.DynFormContext context, DynFormFieldDefinition fieldDefinition) { |
|
62 |
if( !(context instanceof FeaturesFormContext) ) { |
|
63 |
return false; |
|
54 | 64 |
} |
55 |
return false; |
|
65 |
FeatureType featureType = ((FeaturesFormContext)context).getFeatureType(); |
|
66 |
FeatureAttributeDescriptor attribute = featureType.getAttributeDescriptor(fieldDefinition.getName()); |
|
67 |
if( attribute == null ) { |
|
68 |
return false; |
|
69 |
} |
|
70 |
ForeingKey foreingKey = attribute.getForeingKey(); |
|
71 |
if( foreingKey==null ) { |
|
72 |
return false; |
|
73 |
} |
|
74 |
return foreingKey.isForeingKey() && !foreingKey.isSelectable(); |
|
56 | 75 |
} |
57 | 76 |
|
58 | 77 |
public static void selfRegister() { |
Also available in: Unified diff