Revision 45419
branches/org.gvsig.desktop-cvsgis1/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 | ||
---|---|---|
34 | 34 |
import java.util.Map; |
35 | 35 |
import java.util.Map.Entry; |
36 | 36 |
import java.util.Objects; |
37 |
import org.gvsig.json.Json;
|
|
37 |
import java.util.function.Supplier;
|
|
38 | 38 |
import javax.json.JsonObject; |
39 |
import org.gvsig.json.JsonObjectBuilder; |
|
40 | 39 |
import org.apache.commons.lang3.ArrayUtils; |
41 |
import org.apache.commons.lang3.ObjectUtils; |
|
42 | 40 |
import org.apache.commons.lang3.StringUtils; |
43 | 41 |
import org.apache.commons.lang3.tuple.Pair; |
44 | 42 |
import org.cresques.cts.IProjection; |
45 | 43 |
import org.gvsig.expressionevaluator.Expression; |
46 | 44 |
import org.gvsig.expressionevaluator.ExpressionUtils; |
47 |
import org.gvsig.fmap.crs.CRSFactory; |
|
48 | 45 |
import org.gvsig.fmap.dal.DALLocator; |
49 | 46 |
import org.gvsig.fmap.dal.DataStore; |
50 | 47 |
import org.gvsig.fmap.dal.DataTypes; |
... | ... | |
62 | 59 |
import org.gvsig.fmap.geom.GeometryLocator; |
63 | 60 |
import org.gvsig.fmap.geom.GeometryUtils; |
64 | 61 |
import org.gvsig.fmap.geom.type.GeometryType; |
62 |
import org.gvsig.json.Json; |
|
65 | 63 |
import org.gvsig.json.JsonManager; |
64 |
import org.gvsig.json.JsonObjectBuilder; |
|
66 | 65 |
import org.gvsig.json.SupportToJson; |
67 | 66 |
import org.gvsig.timesupport.Interval; |
68 | 67 |
import org.gvsig.timesupport.RelativeInterval; |
69 | 68 |
import org.gvsig.timesupport.TimeSupportLocator; |
70 | 69 |
import org.gvsig.tools.ToolsLocator; |
71 | 70 |
import org.gvsig.tools.dataTypes.Coercion; |
71 |
import org.gvsig.tools.dataTypes.CoercionContext; |
|
72 | 72 |
import org.gvsig.tools.dataTypes.CoercionException; |
73 | 73 |
import org.gvsig.tools.dataTypes.DataType; |
74 |
import org.gvsig.tools.dataTypes.DataType.NumberPrecisionAndScale; |
|
74 | 75 |
import org.gvsig.tools.dataTypes.DataTypeUtils; |
75 | 76 |
import org.gvsig.tools.dynobject.DynField; |
76 | 77 |
import org.gvsig.tools.dynobject.DynField_LabelAttribute; |
... | ... | |
93 | 94 |
import org.gvsig.tools.persistence.Persistent; |
94 | 95 |
import org.gvsig.tools.persistence.PersistentState; |
95 | 96 |
import org.gvsig.tools.persistence.exception.PersistenceException; |
97 |
import org.gvsig.tools.util.GetItemWithSize; |
|
98 |
import org.gvsig.tools.util.LabeledValue; |
|
96 | 99 |
import org.slf4j.Logger; |
97 | 100 |
import org.slf4j.LoggerFactory; |
98 |
import org.gvsig.tools.dataTypes.CoercionContext; |
|
99 |
import org.gvsig.tools.dataTypes.DataType.NumberPrecisionAndScale; |
|
100 |
import org.gvsig.tools.util.GetItemWithSize; |
|
101 |
import org.gvsig.tools.util.LabeledValue; |
|
102 | 101 |
|
103 | 102 |
@SuppressWarnings("UseSpecificCatch") |
104 | 103 |
public class DefaultFeatureAttributeDescriptor implements |
... | ... | |
373 | 372 |
return null; |
374 | 373 |
} |
375 | 374 |
} |
375 |
|
|
376 |
@Override |
|
377 |
public Supplier getDefaultValueSupplier() { |
|
378 |
return (Supplier) this::getDefaultValueCoerced; |
|
379 |
} |
|
376 | 380 |
|
381 |
@Override |
|
382 |
public DynField setDefaultValueSupplier(Supplier supplier) { |
|
383 |
//Do nothing |
|
384 |
return this; |
|
385 |
} |
|
386 |
|
|
387 |
|
|
388 |
|
|
377 | 389 |
@Override |
378 | 390 |
public Evaluator getEvaluator() { |
379 | 391 |
return this.evaluator; |
branches/org.gvsig.desktop-cvsgis1/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/DefaultJFeaturesForm.java | ||
---|---|---|
58 | 58 |
import org.gvsig.fmap.dal.feature.EditableFeature; |
59 | 59 |
import org.gvsig.fmap.dal.feature.Feature; |
60 | 60 |
import org.gvsig.fmap.dal.feature.FacadeOfAFeature; |
61 |
import org.gvsig.fmap.dal.feature.FeatureAttributeDescriptor; |
|
61 | 62 |
import org.gvsig.fmap.dal.feature.FeatureQuery; |
62 | 63 |
import org.gvsig.fmap.dal.feature.FeatureStore; |
63 | 64 |
import org.gvsig.fmap.dal.feature.FeatureStoreNotification; |
... | ... | |
79 | 80 |
import org.gvsig.tools.dynform.DynFormLocator; |
80 | 81 |
import org.gvsig.tools.dynform.DynFormManager; |
81 | 82 |
import org.gvsig.tools.dynform.JDynForm; |
83 |
import org.gvsig.tools.dynform.JDynFormField; |
|
82 | 84 |
import org.gvsig.tools.dynform.JDynFormSet; |
83 | 85 |
import static org.gvsig.tools.dynform.JDynFormSet.ACTION_CANCEL_NEW; |
84 | 86 |
import static org.gvsig.tools.dynform.JDynFormSet.ACTION_DELETE; |
... | ... | |
691 | 693 |
formset.setActionEnabled(ACTION_SEARCH,true); |
692 | 694 |
formset.setActionEnabled(REFRESHFORM_ACTION,true); |
693 | 695 |
} |
696 |
|
|
697 |
private void clearUniqueFields() { |
|
698 |
for(FeatureAttributeDescriptor attr : this.store.getDefaultFeatureTypeQuietly()){ |
|
699 |
if((attr.isPrimaryKey() && !attr.isAutomatic()) || (attr.isIndexed() && !attr.allowIndexDuplicateds())){ |
|
700 |
JDynFormField field = formset.getForm().getField(attr.getName()); |
|
701 |
if(field != null){ |
|
702 |
field.clear(); |
|
703 |
} |
|
704 |
} |
|
705 |
} |
|
706 |
} |
|
694 | 707 |
|
695 | 708 |
@Override |
696 | 709 |
public long getDataSetSize() { |
... | ... | |
731 | 744 |
@Override |
732 | 745 |
public void formBeforeNew(JDynFormSet dynformSet) throws AbortActionException { |
733 | 746 |
LOGGER.trace("formBeforeNew"); |
747 |
clearUniqueFields(); |
|
734 | 748 |
updateButtonEnabledStatus(); |
735 | 749 |
} |
736 | 750 |
|
branches/org.gvsig.desktop-cvsgis1/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/fmap/dal/swing/impl/featuretable/table/DynFieldFacadeOfAFeatureAttributeDescriptor.java | ||
---|---|---|
7 | 7 |
import java.util.List; |
8 | 8 |
import java.util.Locale; |
9 | 9 |
import java.util.Objects; |
10 |
import java.util.function.Supplier; |
|
10 | 11 |
import javax.json.JsonObject; |
11 | 12 |
import org.gvsig.json.JsonObjectBuilder; |
12 | 13 |
import org.apache.commons.lang3.ArrayUtils; |
... | ... | |
772 | 773 |
return this.field.getAvailableValues()!=null; |
773 | 774 |
} |
774 | 775 |
|
776 |
@Override |
|
777 |
public Supplier getDefaultValueSupplier() { |
|
778 |
return ((DynField_v2)this.field).getDefaultValueSupplier(); |
|
779 |
} |
|
780 |
|
|
781 |
@Override |
|
782 |
public DynField setDefaultValueSupplier(Supplier supplier) { |
|
783 |
((DynField_v2)this.field).setDefaultValueSupplier(supplier); |
|
784 |
return this; |
|
785 |
} |
|
786 |
|
|
775 | 787 |
} |
branches/org.gvsig.desktop-cvsgis1/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.api/src/test/java/org/gvsig/fmap/dal/feature/DummyFeatureAttributeDescriptor.java | ||
---|---|---|
7 | 7 |
import java.util.List; |
8 | 8 |
import java.util.Locale; |
9 | 9 |
import java.util.Objects; |
10 |
import java.util.function.Supplier; |
|
10 | 11 |
import javax.json.JsonObject; |
11 | 12 |
import org.cresques.cts.IProjection; |
12 | 13 |
import org.gvsig.expressionevaluator.Expression; |
... | ... | |
709 | 710 |
return false; |
710 | 711 |
} |
711 | 712 |
|
713 |
@Override |
|
714 |
public Supplier getDefaultValueSupplier() { |
|
715 |
return null; |
|
716 |
} |
|
717 |
|
|
718 |
@Override |
|
719 |
public DynField setDefaultValueSupplier(Supplier supplier) { |
|
720 |
return this; |
|
721 |
} |
|
722 |
|
|
712 | 723 |
} |
Also available in: Unified diff