Revision 1124 org.gvsig.tools/library/trunk/org.gvsig.tools/org.gvsig.tools.lib/src/test/java/org/gvsig/tools/dynobject/impl/DefaultDynClassTest.java
DefaultDynClassTest.java | ||
---|---|---|
37 | 37 |
import org.gvsig.tools.dataTypes.DataTypes; |
38 | 38 |
import org.gvsig.tools.dynobject.DynClass; |
39 | 39 |
import org.gvsig.tools.dynobject.DynField; |
40 |
import org.gvsig.tools.dynobject.DynField_v2; |
|
40 | 41 |
import org.gvsig.tools.dynobject.DynObject; |
41 | 42 |
import org.gvsig.tools.dynobject.DynObjectManager; |
42 | 43 |
import org.gvsig.tools.dynobject.DynObjectValueItem; |
... | ... | |
315 | 316 |
.addDynFieldList("hierarchyLevels") |
316 | 317 |
.setElementsType(DataTypes.STRING) |
317 | 318 |
.setMandatory(true) |
318 |
.getElementsType() |
|
319 | 319 |
.setAvailableValues( |
320 | 320 |
createList(new String[] { "hier1", "hier2", "hier3" })); |
321 | 321 |
|
... | ... | |
324 | 324 |
definition.addDynFieldList("keywords") |
325 | 325 |
.setElementsType(DataTypes.STRING); |
326 | 326 |
|
327 |
definition.addDynFieldList("dynObjects") |
|
328 |
.setElementsType(DataTypes.DYNOBJECT).setMandatory(true) |
|
329 |
.setSubtype(dynClassBFullName).getElementsType() |
|
330 |
.setSubtype(dynClassBFullName); |
|
327 |
// definition.addDynFieldList("dynObjects") |
|
328 |
// .setElementsType(DataTypes.DYNOBJECT).setMandatory(true) |
|
329 |
// .setSubtype(dynClassBFullName); |
|
331 | 330 |
|
332 | 331 |
} |
333 | 332 |
|
... | ... | |
337 | 336 |
for (int i = 0; i < fields.length; i++) { |
338 | 337 |
field = fields[i]; |
339 | 338 |
; |
340 |
if (dynClassB.getDynField(field.getName()) == null) { |
|
341 |
addDynField(dynClassB, field); |
|
342 |
} |
|
339 |
// if (dynClassB.getDynField(field.getName()) == null) {
|
|
340 |
// addDynField(dynClassB, field);
|
|
341 |
// }
|
|
343 | 342 |
} |
344 | 343 |
|
345 | 344 |
// dynFields must have the same number of items or more if some items |
... | ... | |
354 | 353 |
for (int i = 0; i < fields.length; i++) { |
355 | 354 |
field = fields[i]; |
356 | 355 |
value = oldDefinition.getDynValue(field.getName()); |
357 |
if (newDefinition.getDynClass().getDynField(field.getName()) == null) { |
|
358 |
addDynField(newDefinition.getDynClass(), field); |
|
359 |
} |
|
356 |
// if (newDefinition.getDynClass().getDynField(field.getName()) == null) {
|
|
357 |
// addDynField(newDefinition.getDynClass(), field);
|
|
358 |
// }
|
|
360 | 359 |
if (value == null) { |
361 | 360 |
continue; |
362 | 361 |
} |
... | ... | |
377 | 376 |
} |
378 | 377 |
} |
379 | 378 |
|
380 |
private void addDynField(DynStruct definition, DynField field) { |
|
379 |
private void addDynField(DynStruct definition, DynField_v2 field) {
|
|
381 | 380 |
DynField dynField = definition.addDynField(field.getName()) |
382 | 381 |
.setType(field.getType()).setSubtype(field.getSubtype()) |
383 | 382 |
.setAvailableValues(field.getAvailableValues()) |
... | ... | |
392 | 391 |
.setPersistent(field.isPersistent()) |
393 | 392 |
.setReadOnly(field.isReadOnly()); |
394 | 393 |
|
395 |
copyElementsType(dynField, field.getElementsType());
|
|
394 |
// PETO copyElementsType(dynField, XXXX);
|
|
396 | 395 |
} |
397 | 396 |
|
398 | 397 |
private void copyElementsType(DynField dynField, DynField elementsType) { |
399 | 398 |
if (elementsType == null) { |
400 | 399 |
return; |
401 | 400 |
} |
402 |
|
|
403 |
dynField.setElementsType(elementsType.getType()); |
|
404 |
dynField.getElementsType().setSubtype(elementsType.getSubtype()) |
|
405 |
.setAvailableValues(elementsType.getAvailableValues()) |
|
406 |
.setClassOfItems(elementsType.getClassOfItems()) |
|
407 |
.setClassOfValue(elementsType.getClassOfValue()) |
|
408 |
.setDefaultFieldValue(elementsType.getDefaultValue()) |
|
409 |
.setDescription(elementsType.getDescription()) |
|
410 |
.setGroup(elementsType.getGroup()) |
|
411 |
.setHidden(elementsType.isHidden()) |
|
412 |
.setMandatory(elementsType.isMandatory()) |
|
413 |
.setMaxValue(elementsType.getMaxValue()) |
|
414 |
.setMinValue(elementsType.getMinValue()) |
|
415 |
.setOrder(elementsType.getOder()) |
|
416 |
.setPersistent(elementsType.isPersistent()) |
|
417 |
.setReadOnly(elementsType.isReadOnly()); |
|
401 |
// |
|
402 |
// dynField.setElementsType(elementsType.getType());
|
|
403 |
// dynField.getElementsType().setSubtype(elementsType.getSubtype())
|
|
404 |
// .setAvailableValues(elementsType.getAvailableValues())
|
|
405 |
// .setClassOfItems(elementsType.getClassOfItems())
|
|
406 |
// .setClassOfValue(elementsType.getClassOfValue())
|
|
407 |
// .setDefaultFieldValue(elementsType.getDefaultValue())
|
|
408 |
// .setDescription(elementsType.getDescription())
|
|
409 |
// .setGroup(elementsType.getGroup())
|
|
410 |
// .setHidden(elementsType.isHidden())
|
|
411 |
// .setMandatory(elementsType.isMandatory())
|
|
412 |
// .setMaxValue(elementsType.getMaxValue())
|
|
413 |
// .setMinValue(elementsType.getMinValue())
|
|
414 |
// .setOrder(elementsType.getOder())
|
|
415 |
// .setPersistent(elementsType.isPersistent())
|
|
416 |
// .setReadOnly(elementsType.isReadOnly());
|
|
418 | 417 |
} |
419 | 418 |
|
420 | 419 |
private void checkValues(DynClass dynObjA, DynClass dynObjB) { |
Also available in: Unified diff