Revision 45827

View differences:

trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.swing/org.gvsig.fmap.dal.swing.api/src/main/java/org/gvsig/featureform/swing/FeaturesFormContext.java
1
package org.gvsig.featureform.swing;
2

  
3
import org.gvsig.fmap.dal.StoresRepository;
4
import org.gvsig.fmap.dal.feature.FeatureStore;
5
import org.gvsig.fmap.dal.feature.FeatureType;
6
import org.gvsig.tools.dynform.JDynForm;
7
import org.gvsig.tools.resourcesstorage.ResourcesStorage;
8

  
9
/**
10
 *
11
 * @author gvSIG Team
12
 */
13
public interface FeaturesFormContext extends JDynForm.DynFormContext {
14

  
15
    @Override
16
    public ResourcesStorage getResourcesStorage();
17

  
18
    public StoresRepository getStoresRepository();
19

  
20
    public FeatureStore getFeatureStore();
21

  
22
    public FeatureType getFeatureType();
23
    
24
}
trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.swing/org.gvsig.fmap.dal.swing.api/src/main/java/org/gvsig/featureform/swing/JFeatureReferencesForm.java
24 24

  
25 25
import java.awt.Dimension;
26 26
import java.util.List;
27
import javax.swing.Action;
28 27
import org.gvsig.fmap.dal.StoresRepository;
29 28

  
30 29
import org.gvsig.fmap.dal.feature.Feature;
31 30

  
32
import org.gvsig.fmap.dal.feature.FeatureQuery;
33 31
import org.gvsig.fmap.dal.feature.FeatureReference;
34 32
import org.gvsig.fmap.dal.feature.FeatureStore;
35 33
import org.gvsig.fmap.dal.feature.FeatureType;
......
47 45
public interface JFeatureReferencesForm extends Component, ActionListenerSupport {
48 46
    public static final String ACTION_CONTEXT_NAME = "FormActionContext";
49 47

  
50
    public interface FeaturesFormContext extends DynFormContext {
51
        @Override
52
        public ResourcesStorage getResourcesStorage();
53
        public StoresRepository getStoresRepository();
54
        public FeatureStore getFeatureStore();
55
        public FeatureType getFeatureType();
56
    }
57

  
58 48
    public void setPreferredSize(Dimension dimension);
59 49

  
60 50
    public void bind(FeatureStore store, List<FeatureReference> references);
trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.swing/org.gvsig.fmap.dal.swing.api/src/main/java/org/gvsig/featureform/swing/JFeaturesForm.java
45 45
public interface JFeaturesForm extends Component, ActionListenerSupport {
46 46
    public static final String ACTION_CONTEXT_NAME = "FormActionContext";
47 47
    
48
    public interface FeaturesFormContext extends DynFormContext {
49
        @Override
50
        public ResourcesStorage getResourcesStorage();
51
        public StoresRepository getStoresRepository();
52
        public FeatureStore getFeatureStore();
53
        public FeatureType getFeatureType();
54
    }
55 48

  
56 49
    public void setPreferredSize(Dimension dimension);
57 50

  
trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.swing/org.gvsig.fmap.dal.swing.api/src/main/java/org/gvsig/fmap/dal/swing/DataSwingManager.java
37 37
import org.gvsig.expressionevaluator.swing.ExpressionPickerController;
38 38
import org.gvsig.expressionevaluator.swing.JExpressionBuilder;
39 39
import org.gvsig.featureform.swing.CreateJFeatureFormException;
40
import org.gvsig.featureform.swing.FeaturesFormContext;
40 41
import org.gvsig.featureform.swing.JFeatureForm;
41 42
import org.gvsig.featureform.swing.JFeatureReferencesForm;
42 43
import org.gvsig.featureform.swing.JFeaturesForm;
......
164 165
    public Map<String,SearchPostProcessFactory> getSearchPostProcess();
165 166
    
166 167
    public SearchPostProcessFactory getSearchPostProcess(String name);
168
    
169
    public FeaturesFormContext createFeaturesFormContext(FeatureStore store);
167 170
}
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/DefaultFeaturesFormContext.java
1
package org.gvsig.featureform.swing.impl;
2

  
3
import org.gvsig.expressionevaluator.ExpressionEvaluatorLocator;
4
import org.gvsig.featureform.swing.FeaturesFormContext;
5
import org.gvsig.fmap.dal.StoresRepository;
6
import org.gvsig.fmap.dal.exception.DataException;
7
import org.gvsig.fmap.dal.feature.FeatureStore;
8
import org.gvsig.fmap.dal.feature.FeatureType;
9
import org.gvsig.tools.resourcesstorage.ResourcesStorage;
10
import org.gvsig.tools.script.ScriptManager;
11

  
12
/**
13
 *
14
 * @author gvSIG Team
15
 */
16
public class DefaultFeaturesFormContext implements FeaturesFormContext {
17

  
18
    private final FeatureStore store;
19

  
20
    public DefaultFeaturesFormContext(FeatureStore store) {
21
        this.store = store;
22
    }
23

  
24
    @Override
25
    public FeatureStore getFeatureStore() {
26
        return store;
27
    }
28

  
29
    @Override
30
    public FeatureType getFeatureType() {
31
        try {
32
            return store.getDefaultFeatureType();
33
        } catch (DataException ex) {
34
            return null;
35
        }
36
    }
37

  
38
    @Override
39
    public ResourcesStorage getResourcesStorage() {
40
        if (store == null) {
41
            return null;
42
        }
43
        return store.getResourcesStorage();
44
    }
45

  
46
    @Override
47
    public StoresRepository getStoresRepository() {
48
        if (store == null) {
49
            return null;
50
        }
51
        return store.getStoresRepository();
52
    }
53

  
54
    @Override
55
    public ScriptManager getScriptManager() {
56
        return ExpressionEvaluatorLocator.getExpressionEvaluatorManager();
57
    }
58

  
59
}
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/DefaultJFeatureForm.java
3 3

  
4 4
import java.util.Objects;
5 5
import javax.swing.JComponent;
6
import org.gvsig.expressionevaluator.ExpressionEvaluatorLocator;
7 6
import org.gvsig.featureform.swing.JFeatureForm;
8
import org.gvsig.featureform.swing.JFeaturesForm.FeaturesFormContext;
9 7
import org.gvsig.fmap.dal.DALLocator;
10
import org.gvsig.fmap.dal.StoresRepository;
11
import org.gvsig.fmap.dal.exception.DataException;
12 8
import org.gvsig.fmap.dal.feature.EditableFeature;
13 9
import org.gvsig.fmap.dal.feature.Feature;
14 10
import org.gvsig.fmap.dal.feature.FeatureStore;
......
18 14
import org.gvsig.tools.dynform.DynFormLocator;
19 15
import org.gvsig.tools.dynform.JDynForm;
20 16
import org.gvsig.tools.dynobject.DynClass;
21
import org.gvsig.tools.dynobject.DynStruct;
22
import org.gvsig.tools.resourcesstorage.ResourcesStorage;
23
import org.gvsig.tools.script.ScriptManager;
24 17
import org.slf4j.Logger;
25 18
import org.slf4j.LoggerFactory;
26 19

  
......
29 22
public class DefaultJFeatureForm implements JFeatureForm {
30 23
    private static final Logger logger = LoggerFactory.getLogger(DefaultJFeatureForm.class);
31 24

  
32
    public class DefaultFeaturesFormContext implements FeaturesFormContext {
33

  
34
        private DefaultFeaturesFormContext() {
35

  
36
        }
37

  
38
        @Override
39
        public FeatureStore getFeatureStore() {
40
            return store;
41
        }
42

  
43
        @Override
44
        public FeatureType getFeatureType() {
45
            try {
46
                return store.getDefaultFeatureType();
47
            } catch (DataException ex) {
48
                return null;
49
            }
50
        }
51

  
52
        @Override
53
        public ResourcesStorage getResourcesStorage() {
54
            if (store == null) {
55
                return null;
56
            }
57
            return store.getResourcesStorage();
58
        }
59

  
60
        @Override
61
        public StoresRepository getStoresRepository() {
62
            if (store == null) {
63
                return null;
64
            }
65
            return store.getStoresRepository();
66
        }
67

  
68
        @Override
69
        public ScriptManager getScriptManager() {
70
            return ExpressionEvaluatorLocator.getExpressionEvaluatorManager();
71
        }
72

  
73
    }
74
    
75
    
76 25
    Feature feature;
77 26
    FeatureStore store;
78 27
    DynFormDefinition definition;
......
107 56
            FeatureType featureType = this.store.getDefaultFeatureType();
108 57
            FeatureTypeDefinitionsManager featureTypeDefinitionsManager = DALLocator.getFeatureTypeDefinitionsManager();
109 58
            DynClass dynClass = featureTypeDefinitionsManager.get(store,featureType);
110
            this.form = DynFormLocator.getDynFormManager().createJDynForm(new DefaultFeaturesFormContext(), dynClass);
59
            this.form = DynFormLocator.getDynFormManager().createJDynForm(new DefaultFeaturesFormContext(this.store), dynClass);
111 60
        } catch (Exception ex) {
112 61
            logger.warn("Can't create form.",ex);
113 62
            throw new RuntimeException("Can't create form.",ex);
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/DefaultJFeatureReferencesForm.java
37 37
import static javax.swing.Action.SMALL_ICON;
38 38
import javax.swing.JComponent;
39 39
import javax.swing.JPanel;
40
import org.gvsig.expressionevaluator.ExpressionEvaluatorLocator;
41 40
import org.gvsig.featureform.swing.JFeatureReferencesForm;
42
import org.gvsig.featureform.swing.JFeaturesForm;
43
import org.gvsig.fmap.dal.StoresRepository;
44 41
import org.gvsig.fmap.dal.exception.DataException;
45 42
import org.gvsig.fmap.dal.feature.FacadeOfAFeature;
46 43
import org.gvsig.fmap.dal.feature.Feature;
47 44
import org.gvsig.fmap.dal.feature.FeatureAttributeDescriptor;
48 45
import org.gvsig.fmap.dal.feature.FeatureReference;
49 46
import org.gvsig.fmap.dal.feature.FeatureStore;
50
import org.gvsig.fmap.dal.feature.FeatureType;
51 47
import org.gvsig.fmap.dal.swing.DALSwingLocator;
52 48
import org.gvsig.fmap.dal.swing.impl.DefaultDataSwingManager;
53 49
import org.gvsig.tools.ToolsLocator;
......
65 61
import org.gvsig.tools.dynobject.DynClass;
66 62
import org.gvsig.tools.dynobject.DynObject;
67 63
import org.gvsig.tools.i18n.I18nManager;
68
import org.gvsig.tools.resourcesstorage.ResourcesStorage;
69
import org.gvsig.tools.script.ScriptManager;
70 64
import org.gvsig.tools.swing.api.ActionListenerSupport;
71 65
import org.gvsig.tools.swing.api.ToolsSwingLocator;
72 66
import org.gvsig.tools.swing.api.ToolsSwingUtils;
......
134 128
        
135 129
    }
136 130
    
137
    public class DefaultFeaturesFormContext implements JFeaturesForm.FeaturesFormContext {
138

  
139
        private DefaultFeaturesFormContext() {
140

  
141
        }
142

  
143
        @Override
144
        public FeatureStore getFeatureStore() {
145
            return store;
146
        }
147

  
148
        @Override
149
        public FeatureType getFeatureType() {
150
            try {
151
                return store.getDefaultFeatureType();
152
            } catch (DataException ex) {
153
                return null;
154
            }
155
        }
156

  
157
        @Override
158
        public ResourcesStorage getResourcesStorage() {
159
            if (store == null) {
160
                return null;
161
            }
162
            return store.getResourcesStorage();
163
        }
164

  
165
        @Override
166
        public StoresRepository getStoresRepository() {
167
            if (store == null) {
168
                return null;
169
            }
170
            return store.getStoresRepository();
171
        }
172

  
173
        @Override
174
        public ScriptManager getScriptManager() {
175
            return ExpressionEvaluatorLocator.getExpressionEvaluatorManager();
176
        }
177

  
178
    }
179

  
180 131
    private static final Logger LOGGER = LoggerFactory.getLogger(DefaultJFeatureReferencesForm.class);
181 132

  
182 133
    private JPanel panel;
......
266 217
        if (this.formset == null) {
267 218
            DynFormManager formManager = DynFormLocator.getDynFormManager();
268 219
            this.formset = formManager.createJDynFormSet(
269
                    new DefaultFeaturesFormContext(),
220
                    new DefaultFeaturesFormContext(this.store),
270 221
                    this.definition,
271 222
                    null
272 223
            );
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/DefaultJFeaturesForm.java
44 44
import org.apache.commons.lang3.StringUtils;
45 45
import org.gvsig.expressionevaluator.Expression;
46 46
import org.gvsig.expressionevaluator.ExpressionEvaluator;
47
import org.gvsig.expressionevaluator.ExpressionEvaluatorLocator;
48 47
import org.gvsig.expressionevaluator.ExpressionUtils;
49 48
import org.gvsig.featureform.swing.JFeaturesForm;
50 49
import org.gvsig.fmap.dal.DALLocator;
51 50
import org.gvsig.fmap.dal.DataStore;
52
import org.gvsig.fmap.dal.StoresRepository;
53 51
import org.gvsig.fmap.dal.exception.DataException;
54 52
import org.gvsig.fmap.dal.feature.EditableFeature;
55 53
import org.gvsig.fmap.dal.feature.FacadeOfAFeature;
......
58 56
import org.gvsig.fmap.dal.feature.FeatureQuery;
59 57
import org.gvsig.fmap.dal.feature.FeatureStore;
60 58
import org.gvsig.fmap.dal.feature.FeatureStoreNotification;
61
import org.gvsig.fmap.dal.feature.FeatureType;
62 59
import org.gvsig.fmap.dal.feature.paging.FeaturePagingHelper;
63 60
import org.gvsig.fmap.dal.swing.AbstractDALActionFactory.AbstractDALActionContext;
64 61
import org.gvsig.fmap.dal.swing.DALActionFactory;
......
92 89
import org.gvsig.tools.i18n.I18nManager;
93 90
import org.gvsig.tools.observer.Observable;
94 91
import org.gvsig.tools.observer.Observer;
95
import org.gvsig.tools.resourcesstorage.ResourcesStorage;
96
import org.gvsig.tools.script.ScriptManager;
97 92
import org.gvsig.tools.swing.api.ActionListenerSupport;
98 93
import org.gvsig.tools.swing.api.ToolsSwingLocator;
99 94
import org.gvsig.tools.swing.api.ToolsSwingUtils;
......
117 112
    private final String FINISHEDITING_ACTION = "finishEditing";
118 113
    private final String REFRESHFORM_ACTION = "refreshForm";
119 114

  
120
    public class DefaultFeaturesFormContext implements FeaturesFormContext {
121

  
122
        private DefaultFeaturesFormContext() {
123

  
124
        }
125

  
126
        @Override
127
        public FeatureStore getFeatureStore() {
128
            return store;
129
        }
130

  
131
        @Override
132
        public FeatureType getFeatureType() {
133
            try {
134
                return store.getDefaultFeatureType();
135
            } catch (DataException ex) {
136
                return null;
137
            }
138
        }
139

  
140
        @Override
141
        public ResourcesStorage getResourcesStorage() {
142
            if (store == null) {
143
                return null;
144
            }
145
            return store.getResourcesStorage();
146
        }
147

  
148
        @Override
149
        public StoresRepository getStoresRepository() {
150
            if (store == null) {
151
                return null;
152
            }
153
            return store.getStoresRepository();
154
        }
155

  
156
        @Override
157
        public ScriptManager getScriptManager() {
158
            return ExpressionEvaluatorLocator.getExpressionEvaluatorManager();
159
        }
160

  
161
    }
162

  
163 115
    private class FormActionContext extends AbstractDALActionContext {
164 116

  
165 117
        public FormActionContext() {
......
322 274
        if (this.formset == null) {
323 275
            DynFormManager formManager = DynFormLocator.getDynFormManager();
324 276
            this.formset = formManager.createJDynFormSet(
325
                    new DefaultFeaturesFormContext(),
277
                    new DefaultFeaturesFormContext(this.store),
326 278
                    this.definition,
327 279
                    null
328 280
            );
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/features/JDynFormFieldRelatedFeatures.java
38 38
import javax.swing.JTable;
39 39
import javax.swing.table.AbstractTableModel;
40 40
import org.gvsig.featureform.swing.JFeaturesForm;
41
import org.gvsig.featureform.swing.JFeaturesForm.FeaturesFormContext;
41
import org.gvsig.featureform.swing.FeaturesFormContext;
42 42
import org.gvsig.fmap.dal.StoresRepository;
43 43
import org.gvsig.fmap.dal.complements.RelatedFeatures;
44 44
import org.gvsig.fmap.dal.feature.Feature;
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/JDynFormFieldForeingKey.java
43 43
import javax.swing.event.ListDataListener;
44 44
import javax.swing.text.JTextComponent;
45 45
import org.gvsig.featureform.swing.JFeaturesForm;
46
import org.gvsig.featureform.swing.JFeaturesForm.FeaturesFormContext;
46
import org.gvsig.featureform.swing.FeaturesFormContext;
47 47
import org.gvsig.fmap.dal.feature.Feature;
48 48
import org.gvsig.fmap.dal.feature.FeatureAttributeDescriptor;
49 49
import org.gvsig.fmap.dal.feature.FeatureQuery;
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
23 23
 */
24 24
package org.gvsig.featureform.swing.impl.dynformfield.linkforeingkey;
25 25

  
26
import org.gvsig.featureform.swing.JFeaturesForm.FeaturesFormContext;
26
import org.gvsig.featureform.swing.FeaturesFormContext;
27 27
import org.gvsig.fmap.dal.DataManager;
28 28
import org.gvsig.fmap.dal.feature.FeatureAttributeDescriptor;
29 29
import org.gvsig.fmap.dal.feature.FeatureType;
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/selectableforeingkey/JDynFormFieldSelectableForeingKeyFactory.java
24 24
package org.gvsig.featureform.swing.impl.dynformfield.selectableforeingkey;
25 25

  
26 26
import org.apache.commons.lang3.StringUtils;
27
import org.gvsig.featureform.swing.FeaturesFormContext;
27 28
import org.gvsig.featureform.swing.JFeaturesForm;
28 29
import org.gvsig.fmap.dal.DataManager;
29 30
import org.gvsig.fmap.dal.feature.FeatureAttributeDescriptor;
......
64 65
    
65 66
    @Override
66 67
    public boolean isApplicableTo(JDynForm.DynFormContext context, DynFormFieldDefinition fieldDefinition) {
67
        if( !(context instanceof JFeaturesForm.FeaturesFormContext) ) {
68
        if( !(context instanceof FeaturesFormContext) ) {
68 69
            return false;
69 70
        }
70
        FeatureType featureType = ((JFeaturesForm.FeaturesFormContext)context).getFeatureType();
71
        FeatureType featureType = ((FeaturesFormContext)context).getFeatureType();
71 72
        FeatureAttributeDescriptor attribute = featureType.getAttributeDescriptor(fieldDefinition.getName());
72 73
        if( attribute == null ) {
73 74
            return false;
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/selectableforeingkey/JDynFormFieldSelectableForeingKey.java
24 24

  
25 25
import java.util.Objects;
26 26
import org.apache.commons.lang3.StringUtils;
27
import org.gvsig.featureform.swing.JFeaturesForm.FeaturesFormContext;
27
import org.gvsig.featureform.swing.FeaturesFormContext;
28 28
import org.gvsig.fmap.dal.StoresRepository;
29 29
import org.gvsig.fmap.dal.feature.FeatureAttributeDescriptor;
30 30
import org.gvsig.fmap.dal.feature.FeatureType;
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/fmap/dal/swing/impl/actions/ShowFormForOpenStoreParametersAction.java
8 8
import java.awt.event.ActionEvent;
9 9
import javax.swing.AbstractAction;
10 10
import javax.swing.Action;
11
import org.gvsig.featureform.swing.JFeaturesForm.FeaturesFormContext;
11
import org.gvsig.featureform.swing.FeaturesFormContext;
12 12
import static org.gvsig.fmap.dal.DatabaseWorkspaceManager.FIELD_REPOSITORY_PARAMETERS;
13 13
import static org.gvsig.fmap.dal.DatabaseWorkspaceManager.TABLE_REPOSITORY_NAME;
14 14
import org.gvsig.tools.dynform.JDynFormField;
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/fmap/dal/swing/impl/DefaultDataSwingManager.java
44 44
import org.gvsig.expressionevaluator.swing.ExpressionPickerController;
45 45
import org.gvsig.expressionevaluator.swing.JExpressionBuilder;
46 46
import org.gvsig.featureform.swing.CreateJFeatureFormException;
47
import org.gvsig.featureform.swing.FeaturesFormContext;
47 48
import org.gvsig.featureform.swing.JFeatureForm;
48 49
import org.gvsig.featureform.swing.JFeatureReferencesForm;
49 50

  
50 51
import org.gvsig.featureform.swing.JFeaturesForm;
52
import org.gvsig.featureform.swing.impl.DefaultFeaturesFormContext;
51 53
import org.gvsig.featureform.swing.impl.DefaultJFeatureForm;
52 54
import org.gvsig.featureform.swing.impl.DefaultJFeatureReferencesForm;
53 55
import org.gvsig.featureform.swing.impl.DefaultJFeaturesForm;
......
480 482
        return process;
481 483
    }
482 484

  
485
    @Override
486
    public FeaturesFormContext createFeaturesFormContext(FeatureStore store) {
487
        DefaultFeaturesFormContext context = new DefaultFeaturesFormContext(store);
488
        return context;
489
    }
490

  
483 491
}
484 492

  
485 493
        

Also available in: Unified diff