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
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