|
From: Dan C. <dch...@us...> - 2006-06-08 17:50:59
|
Update of /cvsroot/xorm/xorm/src/org/xorm/util/jdoxml In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv10914/src/org/xorm/util/jdoxml Modified Files: Tag: dan-no-jdom JDOXML.java Log Message: branch where JDOM is no more...JDOXML uses W3C DOM Index: JDOXML.java =================================================================== RCS file: /cvsroot/xorm/xorm/src/org/xorm/util/jdoxml/JDOXML.java,v retrieving revision 1.5 retrieving revision 1.5.4.1 diff -C2 -d -r1.5 -r1.5.4.1 *** JDOXML.java 3 May 2005 13:59:06 -0000 1.5 --- JDOXML.java 8 Jun 2006 17:50:55 -0000 1.5.4.1 *************** *** 24,31 **** import java.util.Iterator; ! import org.jdom.Document; ! import org.jdom.Element; ! import org.jdom.JDOMException; ! import org.jdom.input.SAXBuilder; import org.xml.sax.EntityResolver; import org.xml.sax.InputSource; --- 24,33 ---- import java.util.Iterator; ! import javax.xml.parsers.DocumentBuilder; ! import javax.xml.parsers.DocumentBuilderFactory; ! import org.w3c.dom.Document; ! import org.w3c.dom.Element; ! import org.w3c.dom.NodeList; ! import org.xml.sax.SAXException; import org.xml.sax.EntityResolver; import org.xml.sax.InputSource; *************** *** 63,67 **** // Load the mappingFile using JDOM, validating against DTD // if required ! SAXBuilder biff = new SAXBuilder(validateXML); EntityResolver resolver = new EntityResolver() { public InputSource resolveEntity(String publicId, String systemId) { --- 65,70 ---- // Load the mappingFile using JDOM, validating against DTD // if required ! DocumentBuilder docBuilder = ! DocumentBuilderFactory.newInstance().newDocumentBuilder(); EntityResolver resolver = new EntityResolver() { public InputSource resolveEntity(String publicId, String systemId) { *************** *** 74,86 **** } }; ! biff.setEntityResolver(resolver); InputSource inputSource = new InputSource(input); // Fake out Crimson inputSource.setSystemId(JDOXML.class.getResource(JDO_DTD_PATH).toString()); ! Document doc = biff.build(inputSource); ! return parsePackage(doc.getRootElement().getChild("package")); ! } catch (JDOMException e) { e.printStackTrace(); } --- 77,93 ---- } }; ! docBuilder.setEntityResolver(resolver); InputSource inputSource = new InputSource(input); // Fake out Crimson inputSource.setSystemId(JDOXML.class.getResource(JDO_DTD_PATH).toString()); ! Document doc = docBuilder.parse(inputSource); ! return parsePackage((Element)doc.getDocumentElement().getElementsByTagName("package").item(0)); ! } ! catch (javax.xml.parsers.ParserConfigurationException e) { ! e.printStackTrace(); ! } ! catch (SAXException e) { e.printStackTrace(); } *************** *** 90,98 **** private static JDOPackage parsePackage(Element element) { JDOPackage jdoPackage = new JDOPackage(); ! jdoPackage.setName(element.getAttributeValue("name")); addExtensions(element, jdoPackage); ! Iterator i = element.getChildren("class").iterator(); ! while (i.hasNext()) { ! element = (Element) i.next(); jdoPackage.getClasses().add(parseClass(element)); } --- 97,105 ---- private static JDOPackage parsePackage(Element element) { JDOPackage jdoPackage = new JDOPackage(); ! jdoPackage.setName(emptyIsNull(element.getAttribute("name"))); addExtensions(element, jdoPackage); ! NodeList classes = element.getElementsByTagName("class"); ! for (int i = 0; i < classes.getLength(); ++i) { ! element = (Element)classes.item(i); jdoPackage.getClasses().add(parseClass(element)); } *************** *** 102,114 **** private static JDOClass parseClass(Element element) { JDOClass jdoClass = new JDOClass(); ! jdoClass.setName(element.getAttributeValue("name")); ! jdoClass.setIdentityType(JDOIdentityType.forName(element.getAttributeValue("identity-type"))); ! jdoClass.setObjectIdClass(element.getAttributeValue("objectid-class")); ! jdoClass.setRequiresExtent("true".equals(element.getAttributeValue("requires-extent"))); ! jdoClass.setPersistenceCapableSuperclass(element.getAttributeValue("persistence-capable-superclass")); addExtensions(element, jdoClass); ! Iterator i = element.getChildren("field").iterator(); ! while (i.hasNext()) { ! element = (Element) i.next(); jdoClass.getFields().add(parseField(element)); } --- 109,121 ---- private static JDOClass parseClass(Element element) { JDOClass jdoClass = new JDOClass(); ! jdoClass.setName(emptyIsNull(element.getAttribute("name"))); ! jdoClass.setIdentityType(JDOIdentityType.forName(emptyIsNull(element.getAttribute("identity-type")))); ! jdoClass.setObjectIdClass(emptyIsNull(element.getAttribute("objectid-class"))); ! jdoClass.setRequiresExtent("true".equals(element.getAttribute("requires-extent"))); ! jdoClass.setPersistenceCapableSuperclass(emptyIsNull(element.getAttribute("persistence-capable-superclass"))); addExtensions(element, jdoClass); ! NodeList fields = element.getElementsByTagName("field"); ! for (int i = 0; i < fields.getLength(); ++i) { ! element = (Element)fields.item(i); jdoClass.getFields().add(parseField(element)); } *************** *** 118,144 **** private static JDOField parseField(Element element) { JDOField jdoField = new JDOField(); ! jdoField.setName(element.getAttributeValue("name")); addExtensions(element, jdoField); ! jdoField.setNullValue(JDONullValue.forName(element.getAttributeValue("null-value"))); ! jdoField.setPersistenceModifier(JDOPersistenceModifier.forName(element.getAttributeValue("persistence-modifier"))); ! String value = element.getAttributeValue("default-fetch-group"); if (value != null) { jdoField.setDefaultFetchGroup(Boolean.valueOf(value)); } ! value = element.getAttributeValue("embedded"); if (value != null) { jdoField.setEmbedded(Boolean.valueOf(value)); } ! jdoField.setPrimaryKey("true".equals(element.getAttributeValue("primary-key"))); ! Element child = element.getChild("collection"); if (child != null) { jdoField.setCollection(parseCollection(child)); } else { ! child = element.getChild("map"); if (child != null) { jdoField.setMap(parseMap(child)); } else { ! child = element.getChild("array"); if (child != null) { jdoField.setArray(parseArray(child)); --- 125,151 ---- private static JDOField parseField(Element element) { JDOField jdoField = new JDOField(); ! jdoField.setName(emptyIsNull(element.getAttribute("name"))); addExtensions(element, jdoField); ! jdoField.setNullValue(JDONullValue.forName(emptyIsNull(element.getAttribute("null-value")))); ! jdoField.setPersistenceModifier(JDOPersistenceModifier.forName(emptyIsNull(element.getAttribute("persistence-modifier")))); ! String value = emptyIsNull(element.getAttribute("default-fetch-group")); if (value != null) { jdoField.setDefaultFetchGroup(Boolean.valueOf(value)); } ! value = emptyIsNull(element.getAttribute("embedded")); if (value != null) { jdoField.setEmbedded(Boolean.valueOf(value)); } ! jdoField.setPrimaryKey("true".equals(element.getAttribute("primary-key"))); ! Element child = (Element)element.getElementsByTagName("collection").item(0); if (child != null) { jdoField.setCollection(parseCollection(child)); } else { ! child = (Element)element.getElementsByTagName("map").item(0); if (child != null) { jdoField.setMap(parseMap(child)); } else { ! child = (Element)element.getElementsByTagName("array").item(0); if (child != null) { jdoField.setArray(parseArray(child)); *************** *** 152,157 **** JDOCollection jdoCollection = new JDOCollection(); addExtensions(element, jdoCollection); ! jdoCollection.setElementType(element.getAttributeValue("element-type")); ! String value = element.getAttributeValue("embedded-element"); if (value != null) { jdoCollection.setEmbeddedElement(Boolean.valueOf(value)); --- 159,164 ---- JDOCollection jdoCollection = new JDOCollection(); addExtensions(element, jdoCollection); ! jdoCollection.setElementType(emptyIsNull(element.getAttribute("element-type"))); ! String value = emptyIsNull(element.getAttribute("embedded-element")); if (value != null) { jdoCollection.setEmbeddedElement(Boolean.valueOf(value)); *************** *** 163,173 **** JDOMap jdoMap = new JDOMap(); addExtensions(element, jdoMap); ! jdoMap.setKeyType(element.getAttributeValue("key-type")); ! String value = element.getAttributeValue("embedded-key"); if (value != null) { jdoMap.setEmbeddedKey(Boolean.valueOf(value)); } ! jdoMap.setValueType(element.getAttributeValue("value-type")); ! value = element.getAttributeValue("embedded-value"); if (value != null) { jdoMap.setEmbeddedValue(Boolean.valueOf(value)); --- 170,180 ---- JDOMap jdoMap = new JDOMap(); addExtensions(element, jdoMap); ! jdoMap.setKeyType(emptyIsNull(element.getAttribute("key-type"))); ! String value = emptyIsNull(element.getAttribute("embedded-key")); if (value != null) { jdoMap.setEmbeddedKey(Boolean.valueOf(value)); } ! jdoMap.setValueType(emptyIsNull(element.getAttribute("value-type"))); ! value = emptyIsNull(element.getAttribute("embedded-value")); if (value != null) { jdoMap.setEmbeddedValue(Boolean.valueOf(value)); *************** *** 179,183 **** JDOArray jdoArray = new JDOArray(); addExtensions(element, jdoArray); ! String value = element.getAttributeValue("embedded-element"); if (value != null) { jdoArray.setEmbeddedElement(Boolean.valueOf(value)); --- 186,190 ---- JDOArray jdoArray = new JDOArray(); addExtensions(element, jdoArray); ! String value = emptyIsNull(element.getAttribute("embedded-element")); if (value != null) { jdoArray.setEmbeddedElement(Boolean.valueOf(value)); *************** *** 188,198 **** /** Shared function for all elements that can have extensions. */ private static void addExtensions(Element element, JDOExtendable extendable) { ! Iterator exts = element.getChildren("extension").iterator(); ! while (exts.hasNext()) { ! element = (Element) exts.next(); JDOExtension jdoExtension = new JDOExtension(); ! jdoExtension.setVendorName(element.getAttributeValue("vendor-name")); ! jdoExtension.setKey(element.getAttributeValue("key")); ! jdoExtension.setValue(element.getAttributeValue("value")); extendable.addExtension(jdoExtension); } --- 195,205 ---- /** Shared function for all elements that can have extensions. */ private static void addExtensions(Element element, JDOExtendable extendable) { ! NodeList exts = element.getElementsByTagName("extension"); ! for (int e = 0; e < exts.getLength(); ++e) { ! element = (Element)exts.item(e); JDOExtension jdoExtension = new JDOExtension(); ! jdoExtension.setVendorName(emptyIsNull(element.getAttribute("vendor-name"))); ! jdoExtension.setKey(emptyIsNull(element.getAttribute("key"))); ! jdoExtension.setValue(emptyIsNull(element.getAttribute("value"))); extendable.addExtension(jdoExtension); } *************** *** 204,206 **** --- 211,225 ---- } */ + + static String emptyIsNull(String s) { + if (s == null) { + return s; + } + else if (s.equals("")) { + return null; + } + else { + return s; + } + } } |