[jbpm-commits] JBoss JBPM SVN: r6798 - in projects/migration_tool/trunk/src: main/java/org/jbpm/migration/util and 1 other directories.
do-not-reply at jboss.org
do-not-reply at jboss.org
Sat Nov 6 23:40:32 EDT 2010
Author: MohReece
Date: 2010-11-06 23:40:32 -0400 (Sat, 06 Nov 2010)
New Revision: 6798
Modified:
projects/migration_tool/trunk/src/main/java/org/jbpm/migration/JpdlValidator.java
projects/migration_tool/trunk/src/main/java/org/jbpm/migration/util/XmlUtils.java
projects/migration_tool/trunk/src/test/java/org/jbpm/migration/JpdlValidatorTest.java
Log:
Fixed concatenation of the input XML files (simply added a common root element).
Modified: projects/migration_tool/trunk/src/main/java/org/jbpm/migration/JpdlValidator.java
===================================================================
--- projects/migration_tool/trunk/src/main/java/org/jbpm/migration/JpdlValidator.java 2010-11-04 11:40:47 UTC (rev 6797)
+++ projects/migration_tool/trunk/src/main/java/org/jbpm/migration/JpdlValidator.java 2010-11-07 03:40:32 UTC (rev 6798)
@@ -43,6 +43,9 @@
/* XML Schema file for jPDL version 3.2 on the classpath. */
private static final String JPDL_3_2_SCHEMA = "Schemas/jPDL/jpdl-3.2.xsd";
+ /** Tag name for the root node (document element) of the concatenated document. */
+ private static final String CONCATENATED_ROOT_NODE = "concatenated-root";
+
/** Logging facility. */
private static final Logger LOGGER = Logger.getLogger(JpdlValidator.class);
@@ -52,8 +55,6 @@
/**
* Parse and validate a given jDPL/GPD process definition against the applicable schema.
- * <p>
- * TODO: Correct the concatenation process, throws a DOMException like this.
*
* @param jpdl
* The process definition.
@@ -63,15 +64,19 @@
* not successful.
*/
public static Document validateDefinition(File jpdl, File gpd) {
- Document jpdlDoc = validateDefinition(jpdl);
+ Document jpdlDoc = validateProcess(jpdl);
Document gpdDoc = validatePositioning(gpd);
Document concatenated = null;
if (jpdlDoc != null && gpdDoc != null) {
try {
concatenated = XmlUtils.createEmptyDocument();
- concatenated.appendChild(jpdlDoc);
- concatenated.appendChild(gpdDoc);
+ Node rootNode = concatenated.createElement(CONCATENATED_ROOT_NODE);
+ concatenated.appendChild(rootNode);
+ Node jpdlNode = concatenated.importNode(jpdlDoc.getDocumentElement(), true);
+ rootNode.appendChild(jpdlNode);
+ Node gpdNode = concatenated.importNode(gpdDoc.getDocumentElement(), true);
+ rootNode.appendChild(gpdNode);
} catch (Exception ex) {
LOGGER.error("Problem concatenating the jDPL and GPD definitions.", ex);
}
@@ -79,7 +84,7 @@
return concatenated;
}
- private static Document validateDefinition(File jpdl) {
+ private static Document validateProcess(File jpdl) {
// Parse the jDPL definition into a DOM tree.
Document document = XmlUtils.parseFile(jpdl);
if (document == null) {
Modified: projects/migration_tool/trunk/src/main/java/org/jbpm/migration/util/XmlUtils.java
===================================================================
--- projects/migration_tool/trunk/src/main/java/org/jbpm/migration/util/XmlUtils.java 2010-11-04 11:40:47 UTC (rev 6797)
+++ projects/migration_tool/trunk/src/main/java/org/jbpm/migration/util/XmlUtils.java 2010-11-07 03:40:32 UTC (rev 6798)
@@ -38,6 +38,7 @@
import org.apache.log4j.Logger;
import org.w3c.dom.Document;
+import org.w3c.dom.Node;
import org.xml.sax.SAXParseException;
/**
@@ -165,13 +166,13 @@
}
/**
- * Format an XML document to a pretty-printable <code>String</code>.
+ * Format an XML document (fragment) to a pretty-printable <code>String</code>.
*
* @param input
- * The input XML document.
+ * The uppermost node of the input XML document (fragment).
* @return The formatted <code>String</code>.
*/
- public static String format(Document input) {
+ public static String format(Node input) {
StreamResult result = null;
try {
Transformer transformer = TransformerFactory.newInstance().newTransformer();
Modified: projects/migration_tool/trunk/src/test/java/org/jbpm/migration/JpdlValidatorTest.java
===================================================================
--- projects/migration_tool/trunk/src/test/java/org/jbpm/migration/JpdlValidatorTest.java 2010-11-04 11:40:47 UTC (rev 6797)
+++ projects/migration_tool/trunk/src/test/java/org/jbpm/migration/JpdlValidatorTest.java 2010-11-07 03:40:32 UTC (rev 6798)
@@ -51,9 +51,7 @@
public void validDefinition() throws Exception {
File jpdl = new File("src/test/resources/jpdl3/singleNode/processdefinition.xml");
File gpd = new File("src/test/resources/jpdl3/singleNode/gpd.xml");
-
- // TODO: fix this part.
-// Document document = JpdlValidator.validateDefinition(jpdl, gpd);
-// assertThat(document, is(notNullValue()));
+ Document document = JpdlValidator.validateDefinition(jpdl, gpd);
+ assertThat(document, is(notNullValue()));
}
}
More information about the jbpm-commits
mailing list