Update of /cvsroot/bprocessor/model/src/net/sourceforge/bprocessor/model
In directory sfp-cvsdas-2.v30.ch3.sourceforge.com:/tmp/cvs-serv28852/src/net/sourceforge/bprocessor/model
Modified Files:
Persistence.java
Log Message:
Index: Persistence.java
===================================================================
RCS file: /cvsroot/bprocessor/model/src/net/sourceforge/bprocessor/model/Persistence.java,v
retrieving revision 1.86
retrieving revision 1.87
diff -C2 -d -r1.86 -r1.87
*** Persistence.java 5 Feb 2010 13:32:50 -0000 1.86
--- Persistence.java 12 Feb 2010 13:04:18 -0000 1.87
***************
*** 323,327 ****
Map mapper, Collection xmls) {
-
String name = xml.getName();
int type = xml.getType();
--- 323,326 ----
***************
*** 431,434 ****
--- 430,443 ----
}
+ private static ParameterBlock internalizeParameterBlock(List<MapElementType> xmls, Map map) {
+ List<Attribute> attributes = new LinkedList();
+ for (MapElementType current : xmls) {
+ attributes.add(internalizeKeyValue(current, map));
+ }
+ ParameterBlock block = new ParameterBlock();
+ block.setAttributes(attributes);
+ return block;
+ }
+
private static ClassificationType internalizeClassificationType(String string, int type) {
if (type == Space.CONSTRUCTION) {
***************
*** 493,498 ****
try {
java.lang.reflect.Constructor<Modellor> c = model.getConstructor(new Class[0]);
! Modellor m = c.newInstance(new Object[0]);
! m.setId(new Long(xml.getProgid()));
List<MapElementType> attributes = xml.getAttribute();
HashMap<String, Object> content = new HashMap();
--- 502,508 ----
try {
java.lang.reflect.Constructor<Modellor> c = model.getConstructor(new Class[0]);
! Modellor modellor = c.newInstance(new Object[0]);
! modellor.setId(new Long(xml.getProgid()));
!
List<MapElementType> attributes = xml.getAttribute();
HashMap<String, Object> content = new HashMap();
***************
*** 501,506 ****
content.put(a.getName(), a.getValue());
}
! m.setContent(content);
! return m;
} catch (Exception e) {
log.error(e);
--- 511,517 ----
content.put(a.getName(), a.getValue());
}
!
! modellor.setContent(content);
! return modellor;
} catch (Exception e) {
log.error(e);
***************
*** 513,516 ****
--- 524,529 ----
}
+
+
private static Attribute internalizeKeyValue(MapElementType elem, Map map) {
Object val = elem.getValue();
***************
*** 817,820 ****
--- 830,836 ----
object.setModellor(m);
}
+ if (!xml.getAttributes().isEmpty()) {
+ object.setParameters(internalizeParameterBlock(xml.getAttributes(), map));
+ }
}
***************
*** 827,830 ****
--- 843,849 ----
private static void internalizeReferences(Instance object, SpaceType xml, Map map) {
object.setProto((Space) get(xml.getProtoref(), map));
+ if (!xml.getAttributes().isEmpty()) {
+ object.setParameters(internalizeParameterBlock(xml.getAttributes(), map));
+ }
}
***************
*** 1042,1045 ****
--- 1061,1065 ----
xml = externalizeInstance((Instance) space, map);
}
+
return xml;
}
***************
*** 1157,1160 ****
--- 1177,1190 ----
}
+ private static List<MapElementType> externalizeParameterBlock(ParameterBlock block, Map map) {
+ List<MapElementType> result = new LinkedList();
+ for (Attribute current : block.getAttributes()) {
+ String key = current.getName();
+ Object value = current.getValue();
+ result.add(externalizeKeyValue(key, value, map));
+ }
+ return result;
+ }
+
/**
***************
*** 1475,1478 ****
--- 1505,1511 ----
}
xml.getBoundary().addAll(ids(map, sorted(object.getEnvelope())));
+ if (object.getParameters() != null) {
+ xml.getAttributes().addAll(externalizeParameterBlock(object.getParameters(), map));
+ }
}
***************
*** 1490,1493 ****
--- 1523,1529 ----
xml.setProtoref(id(map, object.getProto()));
}
+ if (object.getParameters() != null) {
+ xml.getAttributes().addAll(externalizeParameterBlock(object.getParameters(), map));
+ }
}
|