Revision 629 org.gvsig.tools/library/trunk/org.gvsig.tools/org.gvsig.tools.lib/src/test/java/org/gvsig/tools/persistence/DynObjectFactoryTest.java

View differences:

DynObjectFactoryTest.java
5 5
import java.util.GregorianCalendar;
6 6
import java.util.Map;
7 7

  
8
import org.slf4j.Logger;
9
import org.slf4j.LoggerFactory;
10

  
8 11
import org.gvsig.tools.ToolsLocator;
9 12
import org.gvsig.tools.dynobject.DynClass;
10 13
import org.gvsig.tools.dynobject.DynObject;
......
15 18
import org.gvsig.tools.persistence.exception.PersistenceException;
16 19
import org.gvsig.tools.persistence.exception.PersistenceTypeNotSupportedException;
17 20
import org.gvsig.tools.persistence.exception.PersistenceValidateExceptions;
18
import org.slf4j.Logger;
19
import org.slf4j.LoggerFactory;
20 21

  
21 22
public class DynObjectFactoryTest extends AbstractBasicTest {
22 23

  
......
25 26

  
26 27
	private static int counter = 0;
27 28

  
28
	protected static final String OBJ1_NAME = "MyObjectBasicTypes";
29
	protected String OBJ1_NAME = "MyObjectBasicTypes";
29 30
	protected DynObjectManager dynManager;
30 31

  
31 32
	private static Date getDate() {
......
39 40
	}
40 41

  
41 42
	protected void register() throws Exception {
42
		if(this.manager.getDynObjectDefinition(OBJ1_NAME)==null){
43
		if (this.manager.getDynObjectDefinition(OBJ1_NAME) == null) {
43 44
			InputStream resource = this
44
			.getClass()
45
			.getClassLoader()
46
			.getResourceAsStream(
47
			"org/gvsig/tools/persistence/BasicTypes2Test.xml");
48
			
49
			Map definitions = this.dynManager.importDynClassDefinitions(resource, null);
50
			DynClass dynStruct = (DynClass)definitions.get(OBJ1_NAME);
45
					.getClass()
46
					.getClassLoader()
47
					.getResourceAsStream(
48
							"org/gvsig/tools/persistence/BasicTypes2Test.xml");
49

  
50
			Map definitions = this.dynManager.importDynClassDefinitions(
51
					resource, null);
52
			DynClass dynStruct = (DynClass) definitions.get(OBJ1_NAME);
51 53
			this.manager.addDefinition(dynStruct, null, null);
52 54
		}
53 55

  
54 56
	}
55
	
56
	private DynObject createDynObject1(){
57
		DynObject obj = this.dynManager.createDynObject(OBJ1_NAME, PersistenceManager.PERSISTENCE_DYNOBJECT_NAMESPACE);
58
		float value = (counter/3)*700;
59 57

  
60
		obj.setDynValue("a", new Integer((int)value));
58
	protected DynObject createDynObject1() {
59
		return createDynObject1(OBJ1_NAME);
60
	}
61

  
62
	protected DynObject createDynObject1(String name) {
63
		DynObject obj = this.dynManager.createDynObject(name,
64
				PersistenceManager.PERSISTENCE_DYNOBJECT_NAMESPACE);
65
		float value = (counter / 3) * 700;
66

  
67
		obj.setDynValue("a", new Integer((int) value));
61 68
		obj.setDynValue("b", new Long((long) value));
62 69
		obj.setDynValue("c", new Double(value));
63 70
		obj.setDynValue("d", new Float(value));
64
		obj.setDynValue("e", new Boolean((counter%2) == 0));
71
		obj.setDynValue("e", new Boolean((counter % 2) == 0));
65 72
		obj.setDynValue("f", String.valueOf(value));
66 73
		obj.setDynValue("g", getDate());
67
		
74

  
68 75
		counter++;
69
		
76

  
70 77
		return obj;
71 78
	}
72 79

  
73 80
	void check(DynObject obj1, DynObject obj2) {
74
		assertEquals("int value mistmach", obj1.getDynValue("a"), obj2.getDynValue("a"));
75
		assertEquals("long value mistmach", obj1.getDynValue("b"), obj2.getDynValue("b"));
76
		assertEquals("double value mistmach", ((Double)obj1.getDynValue("c")).doubleValue(), ((Double)obj2.getDynValue("c")).doubleValue(),0.01);
77
		assertEquals("float value mistmach", ((Float)obj1.getDynValue("d")).floatValue(), ((Float)obj2.getDynValue("d")).floatValue(), 0.01);
78
		assertEquals("boolean value mistmach", obj1.getDynValue("e"), obj2.getDynValue("e"));
79
		assertEquals("String value mistmach", obj1.getDynValue("f"), obj2.getDynValue("f"));
80
		assertTrue("Date value mistmach", obj1.getDynValue("g").equals(obj2.getDynValue("g")));
81
		assertEquals("int value mistmach", obj1.getDynValue("a"),
82
				obj2.getDynValue("a"));
83
		assertEquals("long value mistmach", obj1.getDynValue("b"),
84
				obj2.getDynValue("b"));
85
		assertEquals("double value mistmach",
86
				((Double) obj1.getDynValue("c")).doubleValue(),
87
				((Double) obj2.getDynValue("c")).doubleValue(), 0.01);
88
		assertEquals("float value mistmach",
89
				((Float) obj1.getDynValue("d")).floatValue(),
90
				((Float) obj2.getDynValue("d")).floatValue(), 0.01);
91
		assertEquals("boolean value mistmach", obj1.getDynValue("e"),
92
				obj2.getDynValue("e"));
93
		assertEquals("String value mistmach", obj1.getDynValue("f"),
94
				obj2.getDynValue("f"));
95
		assertTrue("Date value mistmach",
96
				obj1.getDynValue("g").equals(obj2.getDynValue("g")));
81 97
	}
82
	
98

  
83 99
	public void testRegisterFactory() throws Exception {
84 100
		register();
85 101
	}
......
92 108
			assertNotNull("Can't retrieve state", state);
93 109
			DynStruct definition = state.getDefinition();
94 110
			assertNotNull("Can't register class", definition);
95
			assertEquals("Registration don't work, name incorrect", OBJ1_NAME,
96
					definition.getName());
111
			assertEquals("Registration doesn't work, incorrect name", obj
112
					.getDynClass().getName(), definition.getName());
97 113
		} catch (BaseException ex) {
98 114
			logger.warn(ex.getMessageStack(), ex);
99 115
			throw ex;
100 116
		}
101 117
	}
102
	
103
	public void testSetState() throws PersistenceTypeNotSupportedException, PersistenceClassNotRegistered, PersistenceException, PersistenceValidateExceptions {
118

  
119
	public void testSetState() throws PersistenceTypeNotSupportedException,
120
			PersistenceClassNotRegistered, PersistenceException,
121
			PersistenceValidateExceptions {
104 122
		DynObject obj1 = createDynObject1();
105 123
		PersistentState state = manager.getState(obj1);
106 124
		assertNotNull("Can't retrieve state", state);
107
		
125

  
108 126
		DynObject obj2 = (DynObject) manager.create(state);
109 127
		check(obj1, obj2);
110 128
	}
......
118 136
		DynObject obj1 = createDynObject1();
119 137
		PersistentState state = this.saveAndRestoreState(obj1);
120 138
		DynObject obj2 = (DynObject) manager.create(state);
121
		
122
		check(obj1, obj2);		
139

  
140
		check(obj1, obj2);
123 141
	}
124 142

  
125 143
	protected String getTestId() {
......
127 145

  
128 146
	}
129 147

  
130

  
131 148
}

Also available in: Unified diff