Thread: [Bprocessor-commit] model/src/net/sourceforge/bprocessor/model Persistence.java, 1.33, 1.34
Status: Pre-Alpha
Brought to you by:
henryml
|
From: Nordholt <nor...@us...> - 2007-01-31 20:52:35
|
Update of /cvsroot/bprocessor/model/src/net/sourceforge/bprocessor/model In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv22035/src/net/sourceforge/bprocessor/model Modified Files: Persistence.java Log Message: added support for nets Index: Persistence.java =================================================================== RCS file: /cvsroot/bprocessor/model/src/net/sourceforge/bprocessor/model/Persistence.java,v retrieving revision 1.33 retrieving revision 1.34 diff -C2 -d -r1.33 -r1.34 *** Persistence.java 25 Jan 2007 10:20:55 -0000 1.33 --- Persistence.java 31 Jan 2007 20:52:33 -0000 1.34 *************** *** 10,13 **** --- 10,14 ---- import net.sourceforge.bprocessor.model.xml.AxisRotateType; import net.sourceforge.bprocessor.model.xml.Bmodel; + import net.sourceforge.bprocessor.model.xml.BooleanType; import net.sourceforge.bprocessor.model.xml.CameraType; import net.sourceforge.bprocessor.model.xml.ClipplaneType; *************** *** 28,31 **** --- 29,33 ---- import net.sourceforge.bprocessor.model.xml.ScaleType; import net.sourceforge.bprocessor.model.xml.SpaceType; + import net.sourceforge.bprocessor.model.xml.NetType; import net.sourceforge.bprocessor.model.xml.StringType; import net.sourceforge.bprocessor.model.xml.SurfaceType; *************** *** 37,40 **** --- 39,43 ---- import net.sourceforge.bprocessor.model.xml.impl.AxisRotateTypeImpl; import net.sourceforge.bprocessor.model.xml.impl.BmodelImpl; + import net.sourceforge.bprocessor.model.xml.impl.BooleanTypeImpl; import net.sourceforge.bprocessor.model.xml.impl.CameraTypeImpl; import net.sourceforge.bprocessor.model.xml.impl.ClipplaneTypeImpl; *************** *** 53,56 **** --- 56,60 ---- import net.sourceforge.bprocessor.model.xml.impl.ScaleTypeImpl; import net.sourceforge.bprocessor.model.xml.impl.SpaceImpl; + import net.sourceforge.bprocessor.model.xml.impl.NetTypeImpl; import net.sourceforge.bprocessor.model.xml.impl.StringTypeImpl; import net.sourceforge.bprocessor.model.xml.impl.SurfaceImpl; *************** *** 184,187 **** --- 188,205 ---- } + private static Net internalizeNet(Space owner, SpaceType xml, + Map mapper, Collection xmls) { + Net n = new Net(); + return (Net)internalizeSpace(owner, n, xml, mapper, xmls); + } + + private static Space internalizeSpace(Space owner, SpaceType xml, + Map mapper, Collection xmls) { + Space s = new Space(); + return internalizeSpace(owner, s, xml, mapper, xmls); + } + + + /** * @param owner Space *************** *** 191,195 **** * @return The Space */ ! private static Space internalizeSpace(Space owner, SpaceType xml, Map mapper, Collection xmls) { String name = xml.getName(); --- 209,213 ---- * @return The Space */ ! private static Space internalizeSpace(Space owner, Space space, SpaceType xml, Map mapper, Collection xmls) { String name = xml.getName(); *************** *** 198,202 **** long empty = xml.getVoidref(); boolean container = (empty != 0); ! Space space = new Space(); space.setName(name); space.setType(type); --- 216,220 ---- long empty = xml.getVoidref(); boolean container = (empty != 0); ! space.setName(name); space.setType(type); *************** *** 240,245 **** Iterator iter = xml.getSpace().iterator(); while (iter.hasNext()) { ! SpaceType current = (SpaceType) iter.next(); ! Space element = internalizeSpace(space, current, mapper, xmls); elements.put(element.getId(), element); } --- 258,273 ---- Iterator iter = xml.getSpace().iterator(); while (iter.hasNext()) { ! Object current = iter.next(); ! if (current instanceof net.sourceforge.bprocessor.model.xml.Space) { ! current = ((net.sourceforge.bprocessor.model.xml.Space)current).getValueObject(); ! } ! Space element = null; ! if (current instanceof NetType) { ! element = internalizeNet(space, (SpaceType)current, mapper, xmls); ! } else if (current instanceof SpaceType) { ! element = internalizeSpace(space, (SpaceType)current, mapper, xmls); ! } else { ! log.error("unsupported spacetype"); ! } elements.put(element.getId(), element); } *************** *** 382,386 **** } try { ! Modellor m = (Modellor)model.getConstructor(new Class[0]).newInstance(new Object[0]); m.setId(new Long(xml.getProgid())); HashMap content = new HashMap(); --- 410,415 ---- } 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())); HashMap content = new HashMap(); *************** *** 393,396 **** --- 422,427 ---- } else if (val instanceof StringType) { content.put(elem.getKey(), ((StringType)val).getString()); + } else if (val instanceof BooleanType) { + content.put(elem.getKey(), ((BooleanType)val).isBoolean()); } else if (val instanceof DoubleType) { content.put(elem.getKey(), new Double(((DoubleType)val).getDouble())); *************** *** 404,407 **** --- 435,439 ---- return m; } catch (Exception e) { + log.error(e); log.error("Modellor were missing empty constructor " + e.getMessage()); return null; *************** *** 809,812 **** --- 841,855 ---- /** * Create an xml SpaceImpl and place it in the map + * @param n The Net + * @param map The map + * @return The NetTypeImpl + */ + private static NetType externalizeNet(Net n, Map map) { + NetType xml = new NetTypeImpl(); + return (NetType)externalizeSpace(xml, n, map); + } + + /** + * Create an xml SpaceImpl and place it in the map * @param space The space * @param map The map *************** *** 815,818 **** --- 858,872 ---- private static SpaceType externalizeSpace(Space space, Map map) { SpaceType xml = new SpaceImpl(); + return externalizeSpace(xml, space, map); + } + + /** + * Create content + * @param xml the space xml + * @param space The space + * @param map The map + * @return The SpaceImpl + */ + private static SpaceType externalizeSpace(SpaceType xml, Space space, Map map) { xml.setId(counter++); xml.setProgid(space.getId().longValue()); *************** *** 840,845 **** Iterator iter = elements.iterator(); while (iter.hasNext()) { ! Space current = (Space) iter.next(); ! xml.getSpace().add(externalizeSpace(current, map)); } } --- 894,905 ---- Iterator iter = elements.iterator(); while (iter.hasNext()) { ! Object current = iter.next(); ! if (current instanceof Net) { ! xml.getSpace().add(externalizeNet((Net)current, map)); ! } else if (current instanceof Space) { ! xml.getSpace().add(externalizeSpace((Space)current, map)); ! } else { ! log.error("trying to externalize unsupported spacetype"); ! } } } *************** *** 1247,1250 **** --- 1307,1314 ---- t.setInteger(((Integer)val).intValue()); elem.setValue(t); + } else if (val instanceof Boolean) { + BooleanType t = new BooleanTypeImpl(); + t.setBoolean(val.equals(Boolean.TRUE)); + elem.setValue(t); } else if (val instanceof Double) { DoubleType t = new DoubleTypeImpl(); |