Revision 1124 org.gvsig.tools/library/trunk/org.gvsig.tools/org.gvsig.tools.lib/src/test/java/org/gvsig/tools/dynobject/impl/DefaultDynClassTest.java

View differences:

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