Revision 11 org.gvsig.lrs/trunk/org.gvsig.lrs/org.gvsig.lrs.swing/org.gvsig.lrs.swing.impl/src/main/java/org/gvsig/lrs/swing/impl/JLrsEditRouteCalibrationSelectIdRouteController.java

View differences:

JLrsEditRouteCalibrationSelectIdRouteController.java
26 26
import org.gvsig.lrs.lib.api.LrsAlgorithmsLocator;
27 27
import org.gvsig.lrs.lib.api.LrsAlgorithmsManager;
28 28
import org.gvsig.lrs.lib.api.LrsEditRouteCalibrationAlgorithmParams;
29
import org.gvsig.lrs.lib.api.LrsEditRouteCalibrationSelectIdRouteAlgorithmParams;
29 30
import org.gvsig.lrs.lib.api.exceptions.LrsGettingParametersException;
30 31
import org.gvsig.lrs.lib.api.exceptions.LrsNeededParameterException;
31 32
import org.gvsig.lrs.swing.api.JLrsAlgorithmParams;
......
131 132

  
132 133
        validateLayer(layer);
133 134

  
134
        // Modelos de los combos
135
        FeatureAttributeDescriptorsComboBoxModel idRouteFieldComboBoxModel =
136
            new FeatureAttributeDescriptorsComboBoxModel();
135
        if (layer instanceof FLyrVect) {
136
            initCmbIdRouteField((FLyrVect)layer);
137
        }
137 138

  
138
        // Renderer para los combos de attributeDescriptors
139
        ListCellRenderer featureAttributeDescriptorCellRenderer =
140
            new FLayersAttributeDescriptorCellRenderer();
141
        // asignaci?n de renderers y modelos
142
        cmbIdRouteField.setRenderer(featureAttributeDescriptorCellRenderer);
143
        cmbIdRouteField.setModel(idRouteFieldComboBoxModel);
144

  
145 139
        this.btnAccept.addActionListener(new ActionListener() {
146 140

  
147 141
            public void actionPerformed(ActionEvent e) {
......
169 163
        canceled = false;
170 164
    }
171 165

  
166
    private void initCmbIdRouteField(FLyrVect layer){
167
        // Modelos de los combos
168
        FeatureAttributeDescriptorsComboBoxModel idRouteFieldComboBoxModel =
169
            new FeatureAttributeDescriptorsComboBoxModel();
170

  
171
        // Renderer para los combos de attributeDescriptors
172
        ListCellRenderer featureAttributeDescriptorCellRenderer =
173
            new FLayersAttributeDescriptorCellRenderer();
174
        // asignaci?n de renderers y modelos
175
        cmbIdRouteField.setRenderer(featureAttributeDescriptorCellRenderer);
176
        cmbIdRouteField.setModel(idRouteFieldComboBoxModel);
177

  
178
        FeatureStore featureStore = layer.getFeatureStore();
179
        try {
180
            FeatureType type = featureStore.getDefaultFeatureType();
181
            FeatureAttributeDescriptor[] attributeDescriptors = type.getAttributeDescriptors();
182
            for (int i = 0; i < attributeDescriptors.length; i++) {
183
                FeatureAttributeDescriptor featureAttributeDescriptor = attributeDescriptors[i];
184
                if (featureAttributeDescriptor.getDataType().getType() != DataTypes.GEOMETRY) {
185
                    logger.info(new StringBuilder().append("Adding field ")
186
                        .append(featureAttributeDescriptor.getName()).toString());
187
                    cmbIdRouteField.addItem(featureAttributeDescriptor);
188
                }
189
            }
190

  
191
        } catch (DataException e1) {
192
            logger.warn(
193
                new StringBuilder().append("Error getting default feature type from layer ").append(layer.getName())
194
                    .toString(), e1);
195
        }
196
    }
197

  
172 198
    private void doClose() {
173 199
        this.setVisible(false);
174 200
    }
......
194 220
        throws LrsGettingParametersException, LrsNeededParameterException {
195 221
        LrsAlgorithmsManager manager =
196 222
            LrsAlgorithmsLocator.getLrsAlgorithmsManager();
197
        LrsEditRouteCalibrationSelectIdRouteControllerParams params =
198
            manager.LrsEditRouteCalibrationSelectIdRouteControllerParams();
223
        LrsEditRouteCalibrationSelectIdRouteAlgorithmParams params =
224
            manager.createLrsEditRouteCalibrationSelectIdRouteAlgorithmParams();
199 225
            // Recorrer todo del interfaz y rellenar los parametros
200 226

  
201 227
        // cmbIdRouteField
......
222 248
            return;
223 249
        }
224 250
        // Rellena los campos con los valores de params
225
        LrsEditRouteCalibrationSelectIdRouteController parameters =
226
            (LrsEditRouteCalibrationSelectIdRouteController) params;
251
        LrsEditRouteCalibrationSelectIdRouteAlgorithmParams parameters =
252
            (LrsEditRouteCalibrationSelectIdRouteAlgorithmParams) params;
227 253

  
228 254
        this.cmbIdRouteField.setSelectedItem(parameters.getIdRouteField());
229 255

  
......
231 257

  
232 258
    public void clear() {
233 259
        this.cmbIdRouteField.setSelectedIndex(0);
234

  
235 260
    }
236 261

  
237 262
    /**
......
254 279
            if (lyrVect != null && (lyrVect.getGeometryType()
255 280
                .isTypeOf(Geometry.TYPES.CURVE)
256 281
                || lyrVect.getGeometryType().isTypeOf(Geometry.TYPES.MULTICURVE))) {
257

  
258
                if (lyrVect.getGeometryType()
259
                    .isSubTypeOf(Geometry.SUBTYPES.GEOM2DM) ||
260
                    lyrVect.getGeometryType()
261
                    .isSubTypeOf(Geometry.SUBTYPES.GEOM3DM)) {
282
                //TODO M-geometry commented to test button
283
//                if (lyrVect.getGeometryType()
284
//                    .isSubTypeOf(Geometry.SUBTYPES.GEOM2DM) ||
285
//                    lyrVect.getGeometryType()
286
//                    .isSubTypeOf(Geometry.SUBTYPES.GEOM3DM)) {
262 287
                    FeatureStore featureStore = lyrVect.getFeatureStore();
263 288
                    try {
264 289
                        FeatureType type = featureStore.getDefaultFeatureType();
......
271 296
                            if (featureAttributeDescriptor.getDataType()
272 297
                                .getType() != DataTypes.GEOMETRY) {
273 298
                                logger.debug("Correct curve layer found");
274
                                correctLayerFound = true;
299
                                return true;
275 300
                            }
276 301
                        }
277 302
                        // type.getDefaultGeometryAttribute().getGeomType().isSubTypeOf(Geometry.SUBTYPES.GEOM2DM)
......
283 308
                            .append(lyrVect.getName()).toString(), e1);
284 309
                    }
285 310

  
286
                }
311
                //}
287 312
            }
288 313
        } catch (Exception e) {
289 314
            logger.error("Can't get linear vector layers", e);

Also available in: Unified diff