From 77d496ccef98b1162a0256fb8814bac190e18019 Mon Sep 17 00:00:00 2001 From: YuCheng Hu Date: Sun, 22 Sep 2019 23:20:09 -0400 Subject: [PATCH] REOC-61 Upgrade to use dom4j for xml processor --- build.gradle | 4 +- pom.xml | 7 +- .../rets/client/ChangePasswordResponse.java | 15 +- .../reoc/rets/client/GetMetadataResponse.java | 22 ++- .../reoc/rets/client/GetObjectResponse.java | 21 ++- .../reoc/rets/client/KeyValueResponse.java | 34 +++-- .../ossez/reoc/rets/client/RetsTransport.java | 19 +-- .../common/metadata/JDomCompactBuilder.java | 131 +++++++++--------- .../common/metadata/JDomStandardBuilder.java | 112 +++++++-------- 9 files changed, 181 insertions(+), 184 deletions(-) diff --git a/build.gradle b/build.gradle index b082673..77a86d8 100644 --- a/build.gradle +++ b/build.gradle @@ -32,6 +32,8 @@ dependencies { compile group: 'commons-logging', name: 'commons-logging', version: '1.1.1' compile group: 'org.apache.commons', name: 'commons-lang3', version: '3.9' + compile group: 'commons-io', name: 'commons-io', version: '2.6' + compile group: 'commons-codec', name: 'commons-codec', version: '1.3' compile group: 'org.apache.httpcomponents', name: 'httpclient', version: '4.1.1' @@ -39,7 +41,7 @@ dependencies { compile group: 'com.google.guava', name: 'guava', version: '28.1-jre' // XML - compile 'jdom:jdom:1.0' + compile group: 'org.dom4j', name: 'dom4j', version: '2.1.1' // TEST testCompile group: 'junit', name: 'junit', version: '4.12' diff --git a/pom.xml b/pom.xml index 1cbdff8..4115e4d 100644 --- a/pom.xml +++ b/pom.xml @@ -24,10 +24,9 @@ - jdom - jdom - 1.0 - false + org.dom4j + dom4j + 2.1.1 diff --git a/src/main/java/com/ossez/reoc/rets/client/ChangePasswordResponse.java b/src/main/java/com/ossez/reoc/rets/client/ChangePasswordResponse.java index 1e00166..2059387 100644 --- a/src/main/java/com/ossez/reoc/rets/client/ChangePasswordResponse.java +++ b/src/main/java/com/ossez/reoc/rets/client/ChangePasswordResponse.java @@ -1,10 +1,11 @@ package com.ossez.reoc.rets.client; +import org.dom4j.Document; +import org.dom4j.Element; +import org.dom4j.io.SAXReader; + import java.io.InputStream; -import org.jdom.Document; -import org.jdom.Element; -import org.jdom.input.SAXBuilder; /** * dbt is lame and hasn't overridden the default @@ -12,10 +13,10 @@ import org.jdom.input.SAXBuilder; */ public class ChangePasswordResponse { public ChangePasswordResponse(InputStream stream) throws RetsException { - SAXBuilder builder = new SAXBuilder(); + SAXReader builder = new SAXReader(); Document document = null; try { - document = builder.build(stream); + document = builder.read(stream); } catch (Exception e) { throw new RetsException(e); } @@ -24,11 +25,11 @@ public class ChangePasswordResponse { throw new RetsException("Invalid Change Password Response"); } - int replyCode = Integer.parseInt(rets.getAttributeValue("ReplyCode")); + int replyCode = Integer.parseInt(rets.attributeValue("ReplyCode")); if (replyCode != 0) { InvalidReplyCodeException exception; exception = new InvalidReplyCodeException(replyCode); - exception.setRemoteMessage(rets.getAttributeValue("ReplyText")); + exception.setRemoteMessage(rets.attributeValue("ReplyText")); throw exception; } } diff --git a/src/main/java/com/ossez/reoc/rets/client/GetMetadataResponse.java b/src/main/java/com/ossez/reoc/rets/client/GetMetadataResponse.java index 67de0ec..0604bab 100644 --- a/src/main/java/com/ossez/reoc/rets/client/GetMetadataResponse.java +++ b/src/main/java/com/ossez/reoc/rets/client/GetMetadataResponse.java @@ -9,24 +9,24 @@ import com.ossez.reoc.rets.common.metadata.JDomStandardBuilder; import com.ossez.reoc.rets.common.metadata.MetaObject; import com.ossez.reoc.rets.common.metadata.MetadataException; import org.apache.commons.lang3.math.NumberUtils; +import org.dom4j.Document; +import org.dom4j.DocumentException; +import org.dom4j.Element; +import org.dom4j.io.SAXReader; -import org.jdom.Element; -import org.jdom.JDOMException; -import org.jdom.Document; -import org.jdom.input.SAXBuilder; public class GetMetadataResponse { private MetaObject[] mMetadataObjs; public GetMetadataResponse(InputStream stream, boolean compact, boolean isStrict) throws RetsException { try { - SAXBuilder builder = new SAXBuilder(); - Document document = builder.build(stream); + SAXReader builder = new SAXReader(); + Document document = builder.read(stream); Element retsElement = document.getRootElement(); if (!retsElement.getName().equals("RETS")) { throw new RetsException("Expecting RETS"); } - int replyCode = NumberUtils.toInt(retsElement.getAttributeValue("ReplyCode")); + int replyCode = NumberUtils.toInt(retsElement.attributeValue("ReplyCode")); if (ReplyCode.SUCCESS.equals(replyCode)) { if (compact) { handleCompactMetadata(document, isStrict); @@ -38,18 +38,16 @@ public class GetMetadataResponse { handleNoMetadataFound(retsElement); } else { InvalidReplyCodeException e = new InvalidReplyCodeException(replyCode); - e.setRemoteMessage(retsElement.getAttributeValue(retsElement.getAttributeValue("ReplyText"))); + e.setRemoteMessage(retsElement.attributeValue(retsElement.attributeValue("ReplyText"))); throw e; } - } catch (JDOMException e) { - throw new RetsException(e); - } catch (IOException e) { + } catch (DocumentException e) { throw new RetsException(e); } } private void handleNoMetadataFound(Element retsElement) throws RetsException { - List children = retsElement.getChildren(); + List children = retsElement.elements(); if (children.size() != 0) { throw new RetsException("Expecting 0 children when results"); } diff --git a/src/main/java/com/ossez/reoc/rets/client/GetObjectResponse.java b/src/main/java/com/ossez/reoc/rets/client/GetObjectResponse.java index c534ec2..6c4087d 100644 --- a/src/main/java/com/ossez/reoc/rets/client/GetObjectResponse.java +++ b/src/main/java/com/ossez/reoc/rets/client/GetObjectResponse.java @@ -10,10 +10,11 @@ import org.apache.commons.lang3.math.NumberUtils; import org.apache.http.HeaderElement; import org.apache.http.NameValuePair; import org.apache.http.message.BasicHeaderValueParser; -import org.jdom.Document; -import org.jdom.Element; -import org.jdom.JDOMException; -import org.jdom.input.SAXBuilder; +import org.dom4j.Document; +import org.dom4j.DocumentException; +import org.dom4j.Element; +import org.dom4j.io.SAXReader; +import org.w3c.dom.DOMException; public class GetObjectResponse{ private static final int DEFAULT_BUFFER_SIZE = 8192; @@ -59,11 +60,11 @@ public class GetObjectResponse{ try { // GetObjectResponse is empty, because we have a Rets ReplyCode this.emptyResponse = true; - SAXBuilder builder = new SAXBuilder(); - Document mDocument = builder.build(in); + SAXReader builder = new SAXReader(); + Document mDocument = builder.read(in); Element root = mDocument.getRootElement(); if (root.getName().equals("RETS")) { - replyCode = NumberUtils.toInt(root.getAttributeValue("ReplyCode")); + replyCode = NumberUtils.toInt(root.attributeValue("ReplyCode")); // success if (ReplyCode.SUCCESS.equals(replyCode)) return; @@ -76,12 +77,10 @@ public class GetObjectResponse{ // no other possibilities throw new RetsException("Malformed response [multipart="+this.isMultipart+", content-type=text/xml]. " + "Content id did not exist in response and response was not valid rets response."); - } catch (JDOMException e) { - throw new RetsException(e); - } catch (IOException e) { + } catch (DocumentException e) { throw new RetsException(e); } - } + } } public String getType() { diff --git a/src/main/java/com/ossez/reoc/rets/client/KeyValueResponse.java b/src/main/java/com/ossez/reoc/rets/client/KeyValueResponse.java index 8020c8c..652dd3b 100644 --- a/src/main/java/com/ossez/reoc/rets/client/KeyValueResponse.java +++ b/src/main/java/com/ossez/reoc/rets/client/KeyValueResponse.java @@ -1,21 +1,21 @@ package com.ossez.reoc.rets.client; -import java.util.List; -import java.util.StringTokenizer; -import java.io.InputStream; -import java.io.IOException; - -import org.jdom.Element; -import org.jdom.JDOMException; -import org.jdom.Document; -import org.jdom.input.SAXBuilder; - import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.math.NumberUtils; - import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.dom4j.Document; +import org.dom4j.DocumentException; +import org.dom4j.Element; +import org.dom4j.io.SAXReader; +import java.io.InputStream; +import java.util.List; +import java.util.StringTokenizer; + +/** + * + */ abstract public class KeyValueResponse { protected static final String CRLF = "\r\n"; private static final Log LOG = LogFactory.getLog(KeyValueResponse.class); @@ -30,14 +30,14 @@ abstract public class KeyValueResponse { public void parse(InputStream stream, RetsVersion mVersion) throws RetsException { try { - SAXBuilder builder = new SAXBuilder(); - this.mDoc = builder.build(stream); + SAXReader builder = new SAXReader(); + this.mDoc = builder.read(stream); Element retsElement = this.mDoc.getRootElement(); if (!retsElement.getName().equals("RETS")) { throw new RetsException("Expecting RETS"); } - int replyCode = NumberUtils.toInt(retsElement.getAttributeValue("ReplyCode")); + int replyCode = NumberUtils.toInt(retsElement.attributeValue("ReplyCode")); this.mReplyCode = replyCode; if (!isValidReplyCode(replyCode)) { throw new InvalidReplyCodeException(replyCode); @@ -46,7 +46,7 @@ abstract public class KeyValueResponse { if (RetsVersion.RETS_10.equals(mVersion)) { capabilityContainer = retsElement; } else { - List children = retsElement.getChildren(); + List children = retsElement.elements(); if (children.size() != 1) { throw new RetsException("Invalid number of children: " + children.size()); } @@ -58,9 +58,7 @@ abstract public class KeyValueResponse { } } this.handleRetsResponse(capabilityContainer); - } catch (JDOMException e) { - throw new RetsException(e); - } catch (IOException e) { + } catch (DocumentException e) { throw new RetsException(e); } } diff --git a/src/main/java/com/ossez/reoc/rets/client/RetsTransport.java b/src/main/java/com/ossez/reoc/rets/client/RetsTransport.java index 1a4331f..d5a2f10 100644 --- a/src/main/java/com/ossez/reoc/rets/client/RetsTransport.java +++ b/src/main/java/com/ossez/reoc/rets/client/RetsTransport.java @@ -9,11 +9,11 @@ import com.ossez.reoc.rets.common.metadata.JDomCompactBuilder; import com.ossez.reoc.rets.common.metadata.JDomStandardBuilder; import com.ossez.reoc.rets.common.metadata.Metadata; import com.ossez.reoc.rets.common.metadata.MetadataBuilder; -import org.jdom.Document; -import org.jdom.input.SAXBuilder; -import org.jdom.output.XMLOutputter; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.dom4j.Document; +import org.dom4j.io.SAXReader; +import org.dom4j.io.XMLWriter; /** @@ -278,13 +278,16 @@ public class RetsTransport { Object monitorobj = null; monitorobj = this.monitor.eventStart("Parsing metadata"); try { - SAXBuilder xmlBuilder = new SAXBuilder(); - Document xmlDocument = xmlBuilder.build(httpResponse.getInputStream()); + SAXReader xmlBuilder = new SAXReader(); + Document xmlDocument = xmlBuilder.read(httpResponse.getInputStream()); if (!location.equals("null")){ - XMLOutputter outputter = new XMLOutputter(); + FileWriter writer = new FileWriter(location); - outputter.output(xmlDocument, writer); - outputter.outputString(xmlDocument); + XMLWriter outputter = new XMLWriter(writer); + + outputter.write(xmlDocument); + outputter.close(); + } MetadataBuilder metadataBuilder; if (req.isCompactFormat()) { diff --git a/src/main/java/com/ossez/reoc/rets/common/metadata/JDomCompactBuilder.java b/src/main/java/com/ossez/reoc/rets/common/metadata/JDomCompactBuilder.java index b880dd8..0d3c033 100644 --- a/src/main/java/com/ossez/reoc/rets/common/metadata/JDomCompactBuilder.java +++ b/src/main/java/com/ossez/reoc/rets/common/metadata/JDomCompactBuilder.java @@ -14,10 +14,8 @@ import java.util.StringTokenizer; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.jdom.Document; -import org.jdom.Element; -import org.jdom.JDOMException; -import org.jdom.input.SAXBuilder; +import org.dom4j.*; + import com.ossez.reoc.rets.common.metadata.types.MClass; import com.ossez.reoc.rets.common.metadata.types.MEditMask; import com.ossez.reoc.rets.common.metadata.types.MLookup; @@ -34,6 +32,7 @@ import com.ossez.reoc.rets.common.metadata.types.MValidationExternal; import com.ossez.reoc.rets.common.metadata.types.MValidationExternalType; import com.ossez.reoc.rets.common.metadata.types.MValidationLookup; import com.ossez.reoc.rets.common.metadata.types.MValidationLookupType; +import org.dom4j.io.SAXReader; import org.xml.sax.InputSource; public class JDomCompactBuilder extends MetadataBuilder { @@ -75,13 +74,11 @@ public class JDomCompactBuilder extends MetadataBuilder { } public Metadata build(InputSource source) throws MetadataException { - SAXBuilder builder = new SAXBuilder(); + SAXReader builder = new SAXReader(); Document document; try { - document = builder.build(source); - } catch (JDOMException e) { - throw new MetadataException("Couldn't build document", e); - } catch (IOException e) { + document = builder.read(source); + } catch (DocumentException e) { throw new MetadataException("Couldn't build document", e); } return build(document); @@ -97,72 +94,72 @@ public class JDomCompactBuilder extends MetadataBuilder { if (!root.getName().equals(CONTAINER_ROOT)) { throw new MetadataException("Invalid root element"); } - Element container = root.getChild(CONTAINER_SYSTEM); + Element container = root.element(CONTAINER_SYSTEM); if (container != null) { MSystem sys = processSystem(container); - if (root.getChild(CONTAINER_RESOURCE) != null) { + if (root.element(CONTAINER_RESOURCE) != null) { Metadata m = new Metadata(sys); recurseAll(m, root); } return new MetaObject[] { sys }; } - container = root.getChild(CONTAINER_RESOURCE); + container = root.element(CONTAINER_RESOURCE); if (container != null) { return processResource(container); } - container = root.getChild(CONTAINER_CLASS); + container = root.element(CONTAINER_CLASS); if (container != null) { return processClass(container); } - container = root.getChild(CONTAINER_TABLE); + container = root.element(CONTAINER_TABLE); if (container != null) { return processTable(container); } - container = root.getChild(CONTAINER_UPDATE); + container = root.element(CONTAINER_UPDATE); if (container != null) { return processUpdate(container); } - container = root.getChild(CONTAINER_UPDATETYPE); + container = root.element(CONTAINER_UPDATETYPE); if (container != null) { return processUpdateType(container); } - container = root.getChild(CONTAINER_OBJECT); + container = root.element(CONTAINER_OBJECT); if (container != null) { return processObject(container); } - container = root.getChild(CONTAINER_SEARCHHELP); + container = root.element(CONTAINER_SEARCHHELP); if (container != null) { return processSearchHelp(container); } - container = root.getChild(CONTAINER_EDITMASK); + container = root.element(CONTAINER_EDITMASK); if (container != null) { return processEditMask(container); } - container = root.getChild(CONTAINER_LOOKUP); + container = root.element(CONTAINER_LOOKUP); if (container != null) { return processLookup(container); } - container = root.getChild(CONTAINER_LOOKUPTYPE); + container = root.element(CONTAINER_LOOKUPTYPE); if (container != null) { return processLookupType(container); } - container = root.getChild(CONTAINER_VALIDATIONLOOKUP); + container = root.element(CONTAINER_VALIDATIONLOOKUP); if (container != null) { return processValidationLookup(container); } - container = root.getChild(CONTAINER_VALIDATIONLOOKUPTYPE); + container = root.element(CONTAINER_VALIDATIONLOOKUPTYPE); if (container != null) { return processValidationLookupType(container); } - container = root.getChild(CONTAINER_VALIDATIONEXTERNAL); + container = root.element(CONTAINER_VALIDATIONEXTERNAL); if (container != null) { return processValidationExternal(container); } - container = root.getChild(CONTAINER_VALIDATIONEXTERNALTYPE); + container = root.element(CONTAINER_VALIDATIONEXTERNALTYPE); if (container != null) { return processValidationExternalType(container); } - container = root.getChild(CONTAINER_VALIDATIONEXPRESSION); + container = root.element(CONTAINER_VALIDATIONEXPRESSION); if (container != null) { return processValidationExpression(container); } @@ -174,7 +171,7 @@ public class JDomCompactBuilder extends MetadataBuilder { if (!root.getName().equals(CONTAINER_ROOT)) { throw new MetadataException("Invalid root element"); } - Element element = root.getChild(CONTAINER_SYSTEM); + Element element = root.element(CONTAINER_SYSTEM); if (element == null) { throw new MetadataException("Missing element " + CONTAINER_SYSTEM); } @@ -218,7 +215,7 @@ public class JDomCompactBuilder extends MetadataBuilder { } private String[] getColumns(Element el) { - Element cols = el.getChild(COLUMNS); + Element cols = el.element(COLUMNS); return split(cols); } @@ -256,7 +253,7 @@ public class JDomCompactBuilder extends MetadataBuilder { * @throws MetaParseException if the value is null. */ private String getNonNullAttribute(Element element, String name) throws MetaParseException { - String value = element.getAttributeValue(name); + String value = element.attributeValue(name); if (value == null) { throw new MetaParseException("Attribute '" + name + "' not found on tag " + toString(element)); } @@ -265,21 +262,21 @@ public class JDomCompactBuilder extends MetadataBuilder { private String toString(Element element) { StringBuffer buffer = new StringBuffer(); - List attributes = element.getAttributes(); + List attributes = element.attributes(); buffer.append("'").append(element.getName()).append("'"); buffer.append(", attributes: ").append(attributes); return buffer.toString(); } private MSystem processSystem(Element container) { - Element element = container.getChild(ELEMENT_SYSTEM); + Element element = container.element(ELEMENT_SYSTEM); MSystem system = buildSystem(); // system metadata is such a hack. the first one here is by far my favorite - String comment = container.getChildText(MSystem.COMMENTS); - String systemId = element.getAttributeValue(MSystem.SYSTEMID); - String systemDescription = element.getAttributeValue(MSystem.SYSTEMDESCRIPTION); - String version = container.getAttributeValue(MSystem.VERSION); - String date = container.getAttributeValue(MSystem.DATE); + String comment = container.elementText(MSystem.COMMENTS); + String systemId = element.attributeValue(MSystem.SYSTEMID); + String systemDescription = element.attributeValue(MSystem.SYSTEMDESCRIPTION); + String version = container.attributeValue(MSystem.VERSION); + String date = container.attributeValue(MSystem.DATE); setAttribute(system, MSystem.COMMENTS, comment); setAttribute(system, MSystem.SYSTEMID, systemId); setAttribute(system, MSystem.SYSTEMDESCRIPTION, systemDescription); @@ -290,7 +287,7 @@ public class JDomCompactBuilder extends MetadataBuilder { private void attachResource(Metadata metadata, Element root) { MSystem system = metadata.getSystem(); - List containers = root.getChildren(CONTAINER_RESOURCE); + List containers = root.elements(CONTAINER_RESOURCE); for (int i = 0; i < containers.size(); i++) { Element container = (Element) containers.get(i); MResource[] resources = this.processResource(container); @@ -302,7 +299,7 @@ public class JDomCompactBuilder extends MetadataBuilder { private MResource[] processResource(Element resourceContainer) { String[] columns = getColumns(resourceContainer); - List rows = resourceContainer.getChildren(DATA); + List rows = resourceContainer.elements(DATA); MResource[] resources = new MResource[rows.size()]; for (int i = 0; i < rows.size(); i++) { Element element = (Element) rows.get(i); @@ -315,7 +312,7 @@ public class JDomCompactBuilder extends MetadataBuilder { } private void attachClass(Metadata metadata, Element root) throws MetaParseException { - List containers = root.getChildren(CONTAINER_CLASS); + List containers = root.elements(CONTAINER_CLASS); for (int i = 0; i < containers.size(); i++) { Element container = (Element) containers.get(i); String resourceId = getNonNullAttribute(container, ATTRIBUTE_RESOURCE); @@ -332,7 +329,7 @@ public class JDomCompactBuilder extends MetadataBuilder { String resourceId = getNonNullAttribute(classContainer, ATTRIBUTE_RESOURCE); LOG.debug("resource name: " + resourceId + " for container " + name); String[] columns = getColumns(classContainer); - List rows = classContainer.getChildren(DATA); + List rows = classContainer.elements(DATA); MClass[] classes = new MClass[rows.size()]; for (int i = 0; i < rows.size(); i++) { Element element = (Element) rows.get(i); @@ -345,7 +342,7 @@ public class JDomCompactBuilder extends MetadataBuilder { } private void attachTable(Metadata metadata, Element root) throws MetaParseException { - List containers = root.getChildren(CONTAINER_TABLE); + List containers = root.elements(CONTAINER_TABLE); for (int i = 0; i < containers.size(); i++) { Element container = (Element) containers.get(i); String resourceId = getNonNullAttribute(container, ATTRIBUTE_RESOURCE); @@ -368,7 +365,7 @@ public class JDomCompactBuilder extends MetadataBuilder { private MTable[] processTable(Element tableContainer) { String[] columns = getColumns(tableContainer); - List rows = tableContainer.getChildren(DATA); + List rows = tableContainer.elements(DATA); MTable[] fieldMetadata = new MTable[rows.size()]; for (int i = 0; i < rows.size(); i++) { Element element = (Element) rows.get(i); @@ -381,7 +378,7 @@ public class JDomCompactBuilder extends MetadataBuilder { } private void attachUpdate(Metadata metadata, Element root) throws MetaParseException { - List containers = root.getChildren(CONTAINER_UPDATE); + List containers = root.elements(CONTAINER_UPDATE); for (int i = 0; i < containers.size(); i++) { Element container = (Element) containers.get(i); MClass parent = metadata.getMClass(getNonNullAttribute(container, ATTRIBUTE_RESOURCE), getNonNullAttribute( @@ -395,7 +392,7 @@ public class JDomCompactBuilder extends MetadataBuilder { private MUpdate[] processUpdate(Element container) { String[] columns = getColumns(container); - List rows = container.getChildren(DATA); + List rows = container.elements(DATA); MUpdate[] updates = new MUpdate[rows.size()]; for (int i = 0; i < rows.size(); i++) { Element element = (Element) rows.get(i); @@ -408,7 +405,7 @@ public class JDomCompactBuilder extends MetadataBuilder { } private void attachUpdateType(Metadata metadata, Element root) throws MetaParseException { - List containers = root.getChildren(CONTAINER_UPDATETYPE); + List containers = root.elements(CONTAINER_UPDATETYPE); for (int i = 0; i < containers.size(); i++) { Element container = (Element) containers.get(i); MUpdate parent = metadata.getUpdate(getNonNullAttribute(container, ATTRIBUTE_RESOURCE), @@ -422,7 +419,7 @@ public class JDomCompactBuilder extends MetadataBuilder { private MUpdateType[] processUpdateType(Element container) { String[] columns = getColumns(container); - List rows = container.getChildren(DATA); + List rows = container.elements(DATA); MUpdateType[] updateTypes = new MUpdateType[rows.size()]; for (int i = 0; i < rows.size(); i++) { Element element = (Element) rows.get(i); @@ -435,7 +432,7 @@ public class JDomCompactBuilder extends MetadataBuilder { } private void attachObject(Metadata metadata, Element root) throws MetaParseException { - List containers = root.getChildren(CONTAINER_OBJECT); + List containers = root.elements(CONTAINER_OBJECT); for (int i = 0; i < containers.size(); i++) { Element container = (Element) containers.get(i); MResource parent = metadata.getResource(getNonNullAttribute(container, ATTRIBUTE_RESOURCE)); @@ -448,7 +445,7 @@ public class JDomCompactBuilder extends MetadataBuilder { private MObject[] processObject(Element objectContainer) { String[] columns = getColumns(objectContainer); - List rows = objectContainer.getChildren(DATA); + List rows = objectContainer.elements(DATA); MObject[] objects = new MObject[rows.size()]; for (int i = 0; i < rows.size(); i++) { Element element = (Element) rows.get(i); @@ -461,7 +458,7 @@ public class JDomCompactBuilder extends MetadataBuilder { } private void attachSearchHelp(Metadata metadata, Element root) throws MetaParseException { - List containers = root.getChildren(CONTAINER_SEARCHHELP); + List containers = root.elements(CONTAINER_SEARCHHELP); for (int i = 0; i < containers.size(); i++) { Element container = (Element) containers.get(i); MResource parent = metadata.getResource(getNonNullAttribute(container, ATTRIBUTE_RESOURCE)); @@ -474,7 +471,7 @@ public class JDomCompactBuilder extends MetadataBuilder { private MSearchHelp[] processSearchHelp(Element container) { String[] columns = getColumns(container); - List rows = container.getChildren(DATA); + List rows = container.elements(DATA); MSearchHelp[] searchHelps = new MSearchHelp[rows.size()]; for (int i = 0; i < rows.size(); i++) { Element element = (Element) rows.get(i); @@ -487,7 +484,7 @@ public class JDomCompactBuilder extends MetadataBuilder { } private void attachEditMask(Metadata metadata, Element root) throws MetaParseException { - List containers = root.getChildren(CONTAINER_EDITMASK); + List containers = root.elements(CONTAINER_EDITMASK); for (int i = 0; i < containers.size(); i++) { Element container = (Element) containers.get(i); MResource parent = metadata.getResource(getNonNullAttribute(container, ATTRIBUTE_RESOURCE)); @@ -500,7 +497,7 @@ public class JDomCompactBuilder extends MetadataBuilder { private MEditMask[] processEditMask(Element container) { String[] columns = getColumns(container); - List rows = container.getChildren(DATA); + List rows = container.elements(DATA); MEditMask[] editMasks = new MEditMask[rows.size()]; for (int i = 0; i < rows.size(); i++) { Element element = (Element) rows.get(i); @@ -513,7 +510,7 @@ public class JDomCompactBuilder extends MetadataBuilder { } private void attachLookup(Metadata metadata, Element root) throws MetaParseException { - List containers = root.getChildren(CONTAINER_LOOKUP); + List containers = root.elements(CONTAINER_LOOKUP); for (int i = 0; i < containers.size(); i++) { Element container = (Element) containers.get(i); MResource parent = metadata.getResource(getNonNullAttribute(container, ATTRIBUTE_RESOURCE)); @@ -526,7 +523,7 @@ public class JDomCompactBuilder extends MetadataBuilder { private MLookup[] processLookup(Element container) { String[] columns = getColumns(container); - List rows = container.getChildren(DATA); + List rows = container.elements(DATA); MLookup[] lookups = new MLookup[rows.size()]; for (int i = 0; i < rows.size(); i++) { Element element = (Element) rows.get(i); @@ -539,7 +536,7 @@ public class JDomCompactBuilder extends MetadataBuilder { } private void attachLookupType(Metadata metadata, Element root) throws MetaParseException { - List containers = root.getChildren(CONTAINER_LOOKUPTYPE); + List containers = root.elements(CONTAINER_LOOKUPTYPE); for (int i = 0; i < containers.size(); i++) { Element container = (Element) containers.get(i); MLookup parent = metadata.getLookup(getNonNullAttribute(container, ATTRIBUTE_RESOURCE), @@ -559,7 +556,7 @@ public class JDomCompactBuilder extends MetadataBuilder { private MLookupType[] processLookupType(Element container) { String[] columns = getColumns(container); - List rows = container.getChildren(DATA); + List rows = container.elements(DATA); MLookupType[] lookupTypes = new MLookupType[rows.size()]; for (int i = 0; i < rows.size(); i++) { Element element = (Element) rows.get(i); @@ -572,7 +569,7 @@ public class JDomCompactBuilder extends MetadataBuilder { } private void attachValidationLookup(Metadata metadata, Element root) throws MetaParseException { - List containers = root.getChildren(CONTAINER_VALIDATIONLOOKUP); + List containers = root.elements(CONTAINER_VALIDATIONLOOKUP); for (int i = 0; i < containers.size(); i++) { Element container = (Element) containers.get(i); MResource parent = metadata.getResource(getNonNullAttribute(container, ATTRIBUTE_RESOURCE)); @@ -585,7 +582,7 @@ public class JDomCompactBuilder extends MetadataBuilder { private MValidationLookup[] processValidationLookup(Element container) { String[] columns = getColumns(container); - List rows = container.getChildren(DATA); + List rows = container.elements(DATA); MValidationLookup[] validationLookups = new MValidationLookup[rows.size()]; for (int i = 0; i < rows.size(); i++) { Element element = (Element) rows.get(i); @@ -598,7 +595,7 @@ public class JDomCompactBuilder extends MetadataBuilder { } private void attachValidationLookupType(Metadata metadata, Element root) throws MetaParseException { - List containers = root.getChildren(CONTAINER_VALIDATIONLOOKUPTYPE); + List containers = root.elements(CONTAINER_VALIDATIONLOOKUPTYPE); for (int i = 0; i < containers.size(); i++) { Element container = (Element) containers.get(i); MValidationLookup parent = metadata.getValidationLookup(getNonNullAttribute(container, ATTRIBUTE_RESOURCE), @@ -612,7 +609,7 @@ public class JDomCompactBuilder extends MetadataBuilder { private MValidationLookupType[] processValidationLookupType(Element container) { String[] columns = getColumns(container); - List rows = container.getChildren(DATA); + List rows = container.elements(DATA); MValidationLookupType[] validationLookupTypes = new MValidationLookupType[rows.size()]; for (int i = 0; i < rows.size(); i++) { Element element = (Element) rows.get(i); @@ -625,10 +622,10 @@ public class JDomCompactBuilder extends MetadataBuilder { } private void attachValidationExternal(Metadata metadata, Element root) { - List containers = root.getChildren(CONTAINER_VALIDATIONEXTERNAL); + List containers = root.elements(CONTAINER_VALIDATIONEXTERNAL); for (int i = 0; i < containers.size(); i++) { Element container = (Element) containers.get(i); - MResource parent = metadata.getResource(container.getAttributeValue(ATTRIBUTE_RESOURCE)); + MResource parent = metadata.getResource(container.attributeValue(ATTRIBUTE_RESOURCE)); MValidationExternal[] validationExternals = processValidationExternal(container); for (int j = 0; j < validationExternals.length; j++) { parent.addChild(MetadataType.VALIDATION_EXTERNAL, validationExternals[j]); @@ -638,7 +635,7 @@ public class JDomCompactBuilder extends MetadataBuilder { private MValidationExternal[] processValidationExternal(Element container) { String[] columns = getColumns(container); - List rows = container.getChildren(DATA); + List rows = container.elements(DATA); MValidationExternal[] validationExternals = new MValidationExternal[rows.size()]; for (int i = 0; i < rows.size(); i++) { Element element = (Element) rows.get(i); @@ -651,7 +648,7 @@ public class JDomCompactBuilder extends MetadataBuilder { } private void attachValidationExternalType(Metadata metadata, Element root) throws MetaParseException { - List containers = root.getChildren(CONTAINER_VALIDATIONEXTERNALTYPE); + List containers = root.elements(CONTAINER_VALIDATIONEXTERNALTYPE); for (int i = 0; i < containers.size(); i++) { Element container = (Element) containers.get(i); MValidationExternal parent = metadata.getValidationExternal(getNonNullAttribute(container, @@ -665,7 +662,7 @@ public class JDomCompactBuilder extends MetadataBuilder { private MValidationExternalType[] processValidationExternalType(Element container) { String[] columns = getColumns(container); - List rows = container.getChildren(DATA); + List rows = container.elements(DATA); MValidationExternalType[] validationExternalTypes = new MValidationExternalType[rows.size()]; for (int i = 0; i < rows.size(); i++) { Element element = (Element) rows.get(i); @@ -678,7 +675,7 @@ public class JDomCompactBuilder extends MetadataBuilder { } private void attachValidationExpression(Metadata metadata, Element root) throws MetaParseException { - List containers = root.getChildren(CONTAINER_VALIDATIONEXPRESSION); + List containers = root.elements(CONTAINER_VALIDATIONEXPRESSION); for (int i = 0; i < containers.size(); i++) { Element container = (Element) containers.get(i); MResource parent = metadata.getResource(getNonNullAttribute(container, ATTRIBUTE_RESOURCE)); @@ -691,7 +688,7 @@ public class JDomCompactBuilder extends MetadataBuilder { private MValidationExpression[] processValidationExpression(Element container) { String[] columns = getColumns(container); - List rows = container.getChildren(DATA); + List rows = container.elements(DATA); MValidationExpression[] expressions = new MValidationExpression[rows.size()]; for (int i = 0; i < expressions.length; i++) { Element element = (Element) rows.get(i); diff --git a/src/main/java/com/ossez/reoc/rets/common/metadata/JDomStandardBuilder.java b/src/main/java/com/ossez/reoc/rets/common/metadata/JDomStandardBuilder.java index 86dd090..42991f1 100644 --- a/src/main/java/com/ossez/reoc/rets/common/metadata/JDomStandardBuilder.java +++ b/src/main/java/com/ossez/reoc/rets/common/metadata/JDomStandardBuilder.java @@ -13,9 +13,6 @@ import java.util.List; import java.util.Map; import java.util.HashMap; -import org.jdom.Attribute; -import org.jdom.Document; -import org.jdom.Element; import com.ossez.reoc.rets.common.metadata.types.MClass; import com.ossez.reoc.rets.common.metadata.types.MEditMask; import com.ossez.reoc.rets.common.metadata.types.MForeignKey; @@ -34,6 +31,9 @@ import com.ossez.reoc.rets.common.metadata.types.MValidationExternal; import com.ossez.reoc.rets.common.metadata.types.MValidationExternalType; import com.ossez.reoc.rets.common.metadata.types.MValidationLookup; import com.ossez.reoc.rets.common.metadata.types.MValidationLookupType; +import org.dom4j.Attribute; +import org.dom4j.Document; +import org.dom4j.Element; /** Parses apart a complete Standard-XML response, returns a Metadata object */ public class JDomStandardBuilder extends MetadataBuilder { @@ -105,7 +105,7 @@ public class JDomStandardBuilder extends MetadataBuilder { expectElement(element, CONTAINER_ROOT); Element container = getElement(element, CONTAINER_METADATA); boolean recurse = checkForRecursion(container); - List list = container.getChildren(); + List list = container.elements(); if (list.size() == 0) { return null; } @@ -130,15 +130,15 @@ public class JDomStandardBuilder extends MetadataBuilder { * we fall all the way to the end then there probably wasn't that * much to look through. */ - Iterator children = top.getChildren().iterator(); + Iterator children = top.elements().iterator(); while (children.hasNext()) { /* each of these is a container (METADATA-*) type */ Element element = (Element) children.next(); - Iterator iterator = element.getChildren().iterator(); + Iterator iterator = element.elements().iterator(); while (iterator.hasNext()) { /* each of these is an item element */ Element child = (Element) iterator.next(); - Iterator subtypes = child.getChildren().iterator(); + Iterator subtypes = child.elements().iterator(); while (subtypes.hasNext()) { Element subtype = (Element) subtypes.next(); if (subtype.getName().startsWith(CONTAINER_PREFIX)) { @@ -155,7 +155,7 @@ public class JDomStandardBuilder extends MetadataBuilder { if (type == null) { throw new RuntimeException("no matching type for container " + container.getName()); } - List elements = container.getChildren((String) sType2Element.get(type)); + List elements = container.elements((String) sType2Element.get(type)); String path = getPath(container); List output = null; if (parent == null) { @@ -185,7 +185,7 @@ public class JDomStandardBuilder extends MetadataBuilder { MetadataType[] childTypes = obj.getChildTypes(); for (int j = 0; j < childTypes.length; j++) { MetadataType childType = childTypes[j]; - Element childContainer = element.getChild(CONTAINER_PREFIX + childType.name()); + Element childContainer = element.element(CONTAINER_PREFIX + childType.name()); if (childContainer == null) { obj.addChild(childType, null); } else { @@ -201,27 +201,27 @@ public class JDomStandardBuilder extends MetadataBuilder { } String getPath(Element container) { - String resource = container.getAttributeValue(ATTRIBUTE_RESOURCEID); + String resource = container.attributeValue(ATTRIBUTE_RESOURCEID); if (resource == null) { return null; } - String classname = container.getAttributeValue(ATTRIBUTE_CLASSNAME); + String classname = container.attributeValue(ATTRIBUTE_CLASSNAME); if (classname != null) { - String update = container.getAttributeValue(ATTRIBUTE_UPDATE); + String update = container.attributeValue(ATTRIBUTE_UPDATE); if (update != null) { return resource + ":" + classname + ":" + update; } return resource + ":" + classname; } - String lookup = container.getAttributeValue(ATTRIBUTE_LOOKUP); + String lookup = container.attributeValue(ATTRIBUTE_LOOKUP); if (lookup != null) { return resource + ":" + lookup; } - String vallkp = container.getAttributeValue(ATTRIBUTE_VALIDATIONLOOKUP); + String vallkp = container.attributeValue(ATTRIBUTE_VALIDATIONLOOKUP); if (vallkp != null) { return resource + ":" + vallkp; } - String vale = container.getAttributeValue(ATTRIBUTE_VALIDATIONEXTERNAL); + String vale = container.attributeValue(ATTRIBUTE_VALIDATIONEXTERNAL); if (vale != null) { return resource + ":" + vale; } @@ -237,7 +237,7 @@ public class JDomStandardBuilder extends MetadataBuilder { } private Element getElement(Element parent, String type) throws MetadataException { - Element element = parent.getChild(type); + Element element = parent.element(type); if (element == null) { throw new MetadataException("Missing element " + type); } @@ -253,7 +253,7 @@ public class JDomStandardBuilder extends MetadataBuilder { private void setAttributes(MetaObject obj, Element el) { - List children = el.getChildren(); + List children = el.elements(); for (int i = 0; i < children.size(); i++) { Element child = (Element) children.get(i); String name = child.getName(); @@ -269,7 +269,7 @@ public class JDomStandardBuilder extends MetadataBuilder { //when atrributes from the xml element are needed public void setAttributesFromXMLAttr(MetaObject obj, Element el) { - Iterator attrIter = el.getParentElement().getAttributes().iterator(); + Iterator attrIter = el.getParent().attributes().iterator(); while(attrIter.hasNext()){ Attribute attr = (Attribute) attrIter.next(); @@ -293,20 +293,20 @@ public class JDomStandardBuilder extends MetadataBuilder { } private MSystem processSystem(Element container) { - Element element = container.getChild(ELEMENT_SYSTEM); + Element element = container.element(ELEMENT_SYSTEM); if (element == null){ - element = container.getChild(ELEMENT_SYSTEM.toUpperCase()); + element = container.element(ELEMENT_SYSTEM.toUpperCase()); } MSystem system = buildSystem(); init(system); setAttributesFromXMLAttr(system, element); setAttributes(system, element); Element child; - child = element.getChild(CONTAINER_RESOURCE); + child = element.element(CONTAINER_RESOURCE); if (child != null) { processResource(system, child); } - child = element.getChild(CONTAINER_FOREIGNKEY); + child = element.element(CONTAINER_FOREIGNKEY); if (child != null) { processForeignKey(system, child); } @@ -314,7 +314,7 @@ public class JDomStandardBuilder extends MetadataBuilder { } private void processResource(MSystem system, Element container) { - List resources = container.getChildren(ELEMENT_RESOURCE); + List resources = container.elements(ELEMENT_RESOURCE); for (int i = 0; i < resources.size(); i++) { Element element = (Element) resources.get(i); MResource resource = buildResource(); @@ -322,39 +322,39 @@ public class JDomStandardBuilder extends MetadataBuilder { setAttributes(resource, element); system.addChild(MetadataType.RESOURCE, resource); Element child; - child = element.getChild(CONTAINER_CLASS); + child = element.element(CONTAINER_CLASS); if (child != null) { processClass(resource, child); } - child = element.getChild(CONTAINER_OBJECT); + child = element.element(CONTAINER_OBJECT); if (child != null) { processObject(resource, child); } - child = element.getChild(CONTAINER_SEARCH_HELP); + child = element.element(CONTAINER_SEARCH_HELP); if (child != null) { processSearchHelp(resource, child); } - child = element.getChild(CONTAINER_EDITMASK); + child = element.element(CONTAINER_EDITMASK); if (child != null) { processEditMask(resource, child); } - child = element.getChild(CONTAINER_LOOKUP); + child = element.element(CONTAINER_LOOKUP); if (child != null) { processLookup(resource, child); } - child = element.getChild(CONTAINER_UPDATEHELP); + child = element.element(CONTAINER_UPDATEHELP); if (child != null) { processUpdateHelp(resource, child); } - child = element.getChild(CONTAINER_VALIDATIONLOOKUP); + child = element.element(CONTAINER_VALIDATIONLOOKUP); if (child != null) { processValidationLookup(resource, child); } - child = element.getChild(CONTAINER_VALIDATIONEXPRESSION); + child = element.element(CONTAINER_VALIDATIONEXPRESSION); if (child != null) { processValidationExpression(resource, child); } - child = element.getChild(CONTAINER_VALIDATIONEXTERNAL); + child = element.element(CONTAINER_VALIDATIONEXTERNAL); if (child != null) { processValidationExternal(resource, child); } @@ -362,7 +362,7 @@ public class JDomStandardBuilder extends MetadataBuilder { } private void processEditMask(MResource parent, Element container) { - List elements = container.getChildren(ELEMENT_EDITMASK); + List elements = container.elements(ELEMENT_EDITMASK); for (int i = 0; i < elements.size(); i++) { Element element = (Element) elements.get(i); MEditMask mask = buildEditMask(); @@ -372,8 +372,8 @@ public class JDomStandardBuilder extends MetadataBuilder { } private void processLookup(MResource parent, Element container) { - List elements15 = container.getChildren(ELEMENT_LOOKUP); - List elements17 = container.getChildren(ELEMENT_LOOKUPTYPE); + List elements15 = container.elements(ELEMENT_LOOKUP); + List elements17 = container.elements(ELEMENT_LOOKUPTYPE); List elements; //some Rets Servers have lookuptype and lookup elements interchanged if (elements15.isEmpty()){ @@ -387,7 +387,7 @@ public class JDomStandardBuilder extends MetadataBuilder { init(lookup); setAttributes(lookup, element); parent.addChild(MetadataType.LOOKUP, lookup); - Element child = element.getChild(CONTAINER_LOOKUPTYPE); + Element child = element.element(CONTAINER_LOOKUPTYPE); if (child != null) { processLookupType(lookup, child); } @@ -396,8 +396,8 @@ public class JDomStandardBuilder extends MetadataBuilder { private void processLookupType(MLookup parent, Element container) { - List elements15 = container.getChildren(ELEMENT_LOOKUPTYPE);// check spec - List elements17 = container.getChildren(ELEMENT_LOOKUP); + List elements15 = container.elements(ELEMENT_LOOKUPTYPE);// check spec + List elements17 = container.elements(ELEMENT_LOOKUP); List elements; //some Rets Servers have lookuptype and lookup elements interchanged if (elements15.isEmpty()){ @@ -414,7 +414,7 @@ public class JDomStandardBuilder extends MetadataBuilder { } private void processUpdateHelp(MResource parent, Element container) { - List elements = container.getChildren(ELEMENT_UPDATEHELP); + List elements = container.elements(ELEMENT_UPDATEHELP); for (int i = 0; i < elements.size(); i++) { Element element = (Element) elements.get(i); MUpdateHelp help = buildUpdateHelp(); @@ -424,14 +424,14 @@ public class JDomStandardBuilder extends MetadataBuilder { } private void processValidationLookup(MResource parent, Element container) { - List elements = container.getChildren(ELEMENT_VALIDATIONLOOKUP); + List elements = container.elements(ELEMENT_VALIDATIONLOOKUP); for (int i = 0; i < elements.size(); i++) { Element element = (Element) elements.get(i); MValidationLookup lookup = buildValidationLookup(); init(lookup); setAttributes(lookup, element); parent.addChild(MetadataType.VALIDATION_LOOKUP, lookup); - Element child = element.getChild(CONTAINER_VALIDATIONLOOKUPTYPE); + Element child = element.element(CONTAINER_VALIDATIONLOOKUPTYPE); if (child != null) { processValidationLookupType(lookup, child); } @@ -439,7 +439,7 @@ public class JDomStandardBuilder extends MetadataBuilder { } private void processValidationLookupType(MValidationLookup parent, Element container) { - List elements = container.getChildren(ELEMENT_VALIDATIONLOOKUPTYPE); + List elements = container.elements(ELEMENT_VALIDATIONLOOKUPTYPE); for (int i = 0; i < elements.size(); i++) { Element element = (Element) elements.get(i); MValidationLookupType lookupType = buildValidationLookupType(); @@ -449,7 +449,7 @@ public class JDomStandardBuilder extends MetadataBuilder { } private void processValidationExpression(MResource parent, Element container) { - List elements = container.getChildren(ELEMENT_VALIDATIONEXPRESSION); + List elements = container.elements(ELEMENT_VALIDATIONEXPRESSION); for (int i = 0; i < elements.size(); i++) { Element element = (Element) elements.get(i); MValidationExpression expression = buildValidationExpression(); @@ -459,14 +459,14 @@ public class JDomStandardBuilder extends MetadataBuilder { } private void processValidationExternal(MResource parent, Element container) { - List elements = container.getChildren(ELEMENT_VALIDATIONEXTERNAL); + List elements = container.elements(ELEMENT_VALIDATIONEXTERNAL); for (int i = 0; i < elements.size(); i++) { Element element = (Element) elements.get(i); MValidationExternal external = buildValidationExternal(); init(external); setAttributes(external, element); parent.addChild(MetadataType.VALIDATION_EXTERNAL, external); - Element child = element.getChild(CONTAINER_VALIDATIONEXTERNALTYPE); + Element child = element.element(CONTAINER_VALIDATIONEXTERNALTYPE); if (child != null) { processValidationExternalType(external, child); } @@ -474,7 +474,7 @@ public class JDomStandardBuilder extends MetadataBuilder { } private void processValidationExternalType(MValidationExternal parent, Element container) { - List elements = container.getChildren(ELEMENT_VALIDATIONEXTERNALTYPE); + List elements = container.elements(ELEMENT_VALIDATIONEXTERNALTYPE); for (int i = 0; i < elements.size(); i++) { Element element = (Element) elements.get(i); MValidationExternalType type = buildValidationExternalType(); @@ -484,7 +484,7 @@ public class JDomStandardBuilder extends MetadataBuilder { } private void processSearchHelp(MResource parent, Element container) { - List searchhelps = container.getChildren(ELEMENT_SEARCHHELP); + List searchhelps = container.elements(ELEMENT_SEARCHHELP); for (int i = 0; i < searchhelps.size(); i++) { Element element = (Element) searchhelps.get(i); MSearchHelp searchhelp = buildSearchHelp(); @@ -494,7 +494,7 @@ public class JDomStandardBuilder extends MetadataBuilder { } private void processObject(MResource parent, Element container) { - List objects = container.getChildren(ELEMENT_OBJECT); + List objects = container.elements(ELEMENT_OBJECT); for (int i = 0; i < objects.size(); i++) { Element element = (Element) objects.get(i); MObject obj = buildObject(); @@ -504,7 +504,7 @@ public class JDomStandardBuilder extends MetadataBuilder { } private void processClass(MResource parent, Element container) { - List classes = container.getChildren(ELEMENT_CLASS); + List classes = container.elements(ELEMENT_CLASS); for (int i = 0; i < classes.size(); i++) { Element element = (Element) classes.get(i); MClass clazz = buildClass(); @@ -512,11 +512,11 @@ public class JDomStandardBuilder extends MetadataBuilder { setAttributes(clazz, element); parent.addChild(MetadataType.CLASS, clazz); Element child; - child = element.getChild(CONTAINER_TABLE); + child = element.element(CONTAINER_TABLE); if (child != null) { processTable(clazz, child); } - child = element.getChild(CONTAINER_UPDATE); + child = element.element(CONTAINER_UPDATE); if (child != null) { processUpdate(clazz, child); } @@ -524,7 +524,7 @@ public class JDomStandardBuilder extends MetadataBuilder { } private void processTable(MClass parent, Element container) { - List tables = container.getChildren(ELEMENT_TABLE); + List tables = container.elements(ELEMENT_TABLE); for (int i = 0; i < tables.size(); i++) { Element element = (Element) tables.get(i); MTable table = buildTable(); @@ -534,14 +534,14 @@ public class JDomStandardBuilder extends MetadataBuilder { } private void processUpdate(MClass parent, Element container) { - List updates = container.getChildren(ELEMENT_UPDATE); + List updates = container.elements(ELEMENT_UPDATE); for (int i = 0; i < updates.size(); i++) { Element element = (Element) updates.get(i); MUpdate update = buildUpdate(); init(update); setAttributes(update, element); parent.addChild(MetadataType.UPDATE, update); - Element child = element.getChild(CONTAINER_UPDATE_TYPE); + Element child = element.element(CONTAINER_UPDATE_TYPE); if (child != null) { processUpdateType(update, child); } @@ -549,7 +549,7 @@ public class JDomStandardBuilder extends MetadataBuilder { } private void processUpdateType(MUpdate parent, Element container) { - List updateFields = container.getChildren(ELEMENT_UPDATETYPE); + List updateFields = container.elements(ELEMENT_UPDATETYPE); for (int i = 0; i < updateFields.size(); i++) { Element element = (Element) updateFields.get(i); MUpdateType updateType = buildUpdateType(); @@ -559,7 +559,7 @@ public class JDomStandardBuilder extends MetadataBuilder { } private void processForeignKey(MSystem system, Element container) { - List fkeys = container.getChildren("ForeignKey"); + List fkeys = container.elements("ForeignKey"); for (int i = 0; i < fkeys.size(); i++) { Element element = (Element) fkeys.get(i); MForeignKey foreignKey = buildForeignKey();