Revision 629 org.gvsig.tools/library/trunk/org.gvsig.tools/org.gvsig.tools.lib/src/test/java/org/gvsig/tools/persistence/DynObjectFactoryTest.java
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