[Bprocessor-commit] model/src/net/sourceforge/bprocessor/model Persistence.java, 1.13, 1.14
Status: Pre-Alpha
Brought to you by:
henryml
From: rimestad <rim...@us...> - 2006-10-16 08:44:31
|
Update of /cvsroot/bprocessor/model/src/net/sourceforge/bprocessor/model In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv6357/src/net/sourceforge/bprocessor/model Modified Files: Persistence.java Log Message: small fixes to the xmlification of modellors Index: Persistence.java =================================================================== RCS file: /cvsroot/bprocessor/model/src/net/sourceforge/bprocessor/model/Persistence.java,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** Persistence.java 14 Oct 2006 23:42:43 -0000 1.13 --- Persistence.java 16 Oct 2006 08:44:29 -0000 1.14 *************** *** 221,240 **** while (iter.hasNext()) { TransformType current = (TransformType) iter.next(); ! if (current instanceof RotateType) { ! RotateType rot = (RotateType) current; ! space.addTransform(new Rotate(rot.getX(), rot.getY(), rot.getZ())); ! } else if (current instanceof IDTransformType) { ! space.addTransform(new IDTransform()); ! } else if (current instanceof AxisRotateType) { ! AxisRotateType arot = (AxisRotateType) current; ! space.addTransform( ! new AxisRotate(arot.getAngle(), arot.getX(), arot.getY(), arot.getZ())); ! } else if (current instanceof ScaleType) { ! ScaleType st = (ScaleType) current; ! space.addTransform(new Scale(st.getX(), st.getY(), st.getZ())); ! } else if (current instanceof TranslateType) { ! TranslateType tt = (TranslateType) current; ! space.addTransform(new Translate(tt.getX(), tt.getY(), tt.getZ())); ! } } } --- 221,225 ---- while (iter.hasNext()) { TransformType current = (TransformType) iter.next(); ! space.addTransform(internalizeTransformation(current, xmls)); } } *************** *** 243,255 **** while (iter.hasNext()) { Object current = iter.next(); if (current instanceof CoordinateSystemType) { ! space.add(internalizeCoordinateSystem((CoordinateSystemType)current, mapper, xmls)); } else if (current instanceof PointType) { ! space.add(internalizePoint((PointType)current, mapper, xmls)); } else if (current instanceof LineType) { ! space.add(internalizeLine((LineType)current, mapper, xmls)); } else { log.info("Const were " + current.getClass()); } } } --- 228,251 ---- while (iter.hasNext()) { Object current = iter.next(); + Constructor c = null; if (current instanceof CoordinateSystemType) { ! c = internalizeCoordinateSystem((CoordinateSystemType)current, mapper, xmls); } else if (current instanceof PointType) { ! c = internalizePoint((PointType)current, mapper, xmls); } else if (current instanceof LineType) { ! c = internalizeLine((LineType)current, mapper, xmls); } else { log.info("Const were " + current.getClass()); } + if (c != null) { + Set connected = new HashSet(); + Iterator cs = ((ConstructorType)current).getConnected().iterator(); + while (cs.hasNext()) { + Long l = (Long)cs.next(); + connected.add(get(l.longValue(), mapper)); + } + c.connect(connected); + space.add(c); + } } } *************** *** 258,261 **** --- 254,292 ---- /** + * create model object of the xml + * @param current the xml transform + * @param xmls the collection of xml objects + * @return the new model object + */ + private static Transform internalizeTransformation(TransformType current, Collection xmls) { + if (current instanceof RotateType) { + RotateType rot = (RotateType) current; + Rotate r = new Rotate(rot.getX(), rot.getY(), rot.getZ()); + xmls.add(rot); + return r; + } else if (current instanceof IDTransformType) { + IDTransform id = new IDTransform(); + xmls.add(current); + return id; + } else if (current instanceof AxisRotateType) { + AxisRotateType arot = (AxisRotateType) current; + AxisRotate ar = new AxisRotate(arot.getAngle(), arot.getX(), arot.getY(), arot.getZ()); + xmls.add(arot); + return ar; + } else if (current instanceof ScaleType) { + ScaleType st = (ScaleType) current; + Scale s = new Scale(st.getX(), st.getY(), st.getZ()); + xmls.add(st); + return s; + } else if (current instanceof TranslateType) { + TranslateType tt = (TranslateType) current; + Translate t = new Translate(tt.getX(), tt.getY(), tt.getZ()); + xmls.add(tt); + return t; + } + return null; + } + + /** * Internalize the modellor * @param xml the xml version of the modellor *************** *** 454,463 **** } else if (object instanceof Vertex) { internalizeReferences((Vertex) object, (VertexType) xml, map); ! } else if (object instanceof Material) { ! internalizeMaterial((Material) object, (MaterialType) xml, map); } } ! /** * --- 485,507 ---- } else if (object instanceof Vertex) { internalizeReferences((Vertex) object, (VertexType) xml, map); ! } else if (object instanceof Constructor) { ! internalizeReferences((Constructor) object, (ConstructorType) xml, map); } } ! /** ! * Take care of all references in a xml version of a constructor ! * @param constructor The constructor ! * @param type the xml version of the constructor ! * @param map the original to xml map ! */ ! private static void internalizeReferences(Constructor constructor, ! ConstructorType type, Map map) { ! Iterator iter = type.getConnected().iterator(); ! while (iter.hasNext()) { ! constructor.connect((Geometric)get(((Long)iter.next()).longValue(), map)); ! } ! } ! /** * *************** *** 557,571 **** /** - * - * @param object The object - * @param xml The xml - * @param map The map - */ - private static void internalizeMaterial(Material object, MaterialType xml, Map map) { - } - - - - /** * This method externalizes the B-model to an XML structure. * @return XML --- 601,604 ---- *************** *** 637,683 **** } xml.setTy(m.getClass().getName()); ! List att = xml.getAttribute(); ! Map cont = m.getContent(); ! if (cont != null) { ! Iterator iter = cont.entrySet().iterator(); ! while (iter.hasNext()) { ! Map.Entry o = (Map.Entry)iter.next(); ! MapElementType elem = new MapElementTypeImpl(); ! if (o.getKey() instanceof String) { ! elem.setKey((String)o.getKey()); ! } else { ! log.error("Key should always be of type String but were " + ! o.getKey().getClass().getName()); ! } ! Object val = o.getValue(); ! if (val instanceof Integer) { ! IntegerType t = new IntegerTypeImpl(); ! t.setInteger(((Integer)val).intValue()); ! elem.setValue(t); ! } else if (val instanceof Double) { ! DoubleType t = new DoubleTypeImpl(); ! t.setDouble(((Double)val).doubleValue()); ! elem.setValue(t); ! } else if (val instanceof String) { ! StringType t = new StringTypeImpl(); ! t.setString((String)val); ! elem.setValue(t); ! } else if (val instanceof Entity) { ! RefType r = new RefTypeImpl(); ! r.setRef(id(map, val)); ! if (r.getRef() == 0) { ! log.error("Could not find " + val); ! } ! elem.setValue(r); ! } else if (val == null) { ! elem = null; ! } else { ! log.error("Type were not implemented " + val.getClass().getName()); ! } ! if (elem != null) { ! att.add(elem); ! } ! } ! } return xml; } --- 670,674 ---- } xml.setTy(m.getClass().getName()); ! map.put(m, xml); return xml; } *************** *** 699,703 **** xml.setDescription(space.getDescription().toString()); xml.setClassification(space.getClassification().toString()); - map.put(space, xml); if (!space.isInstance()) { --- 690,693 ---- *************** *** 753,756 **** --- 743,751 ---- } } + { + if (space.getModellor() != null) { + xml.setModellor(externalizeModellor(space.getModellor(), map)); + } + } return xml; } *************** *** 980,983 **** --- 975,980 ---- } else if (object instanceof Constructor) { externalizeReferences((Constructor) object, (ConstructorType) xml, map); + } else if (object instanceof Modellor) { + externalizeReferences((Modellor) object, (ModellorType) xml, map); } } *************** *** 997,1003 **** } xml.getBoundary().addAll(ids(map, object.getEnvelope())); - if (object.getModellor() != null) { - xml.setModellor(externalizeModellor(object.getModellor(), map)); - } } --- 994,997 ---- *************** *** 1044,1048 **** --- 1038,1099 ---- * @param map The map */ + private static void externalizeReferences(Modellor object, ModellorType xml, Map map) { + Map cont = object.getContent(); + List att = xml.getAttribute(); + if (cont != null) { + Iterator iter = cont.entrySet().iterator(); + while (iter.hasNext()) { + Map.Entry o = (Map.Entry)iter.next(); + MapElementType elem = new MapElementTypeImpl(); + if (o.getKey() instanceof String) { + elem.setKey((String)o.getKey()); + } else { + log.error("Key should always be of type String but were " + + o.getKey().getClass().getName()); + } + Object val = o.getValue(); + if (val instanceof Integer) { + IntegerType t = new IntegerTypeImpl(); + t.setInteger(((Integer)val).intValue()); + elem.setValue(t); + } else if (val instanceof Double) { + DoubleType t = new DoubleTypeImpl(); + t.setDouble(((Double)val).doubleValue()); + elem.setValue(t); + } else if (val instanceof String) { + StringType t = new StringTypeImpl(); + t.setString((String)val); + elem.setValue(t); + } else if (val instanceof Entity) { + RefType r = new RefTypeImpl(); + r.setRef(id(map, val)); + if (r.getRef() == 0) { + log.error("Could not find " + val); + } + elem.setValue(r); + } else if (val == null) { + elem = null; + } else { + log.error("Type were not implemented " + val.getClass().getName()); + } + if (elem != null) { + att.add(elem); + } + } + } + } + + /** + * Externalize references + * @param object The object + * @param xml The xml entity + * @param map The map + */ private static void externalizeReferences(Constructor object, ConstructorType xml, Map map) { + Iterator iter = object.collect().iterator(); + while (iter.hasNext()) { + long l = id(map, iter.next()); + xml.getConnected().add(new Long(l)); + } } |