[jboss-svn-commits] JBL Code SVN: r29936 - in labs/jbossesb/trunk/product/rosetta: tests/src/org/jboss/soa/esb/actions/validation and 1 other directory.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Tue Nov 3 13:43:19 EST 2009
Author: dward
Date: 2009-11-03 13:43:19 -0500 (Tue, 03 Nov 2009)
New Revision: 29936
Removed:
labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/actions/validation/JBESB_2916_UnitTest.java
Modified:
labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/actions/validation/SchemaValidationAction.java
labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/actions/validation/ValidationException.java
labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/actions/validation/SchemaValidationActionUnitTest.java
Log:
Fix for JBESB-2922
Modified: labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/actions/validation/SchemaValidationAction.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/actions/validation/SchemaValidationAction.java 2009-11-03 18:32:35 UTC (rev 29935)
+++ labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/actions/validation/SchemaValidationAction.java 2009-11-03 18:43:19 UTC (rev 29936)
@@ -7,7 +7,6 @@
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.transform.dom.DOMResult;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamSource;
import javax.xml.validation.Schema;
@@ -110,17 +109,16 @@
private void validate(final String xml) throws ActionProcessingException
{
- final DOMResult result = new DOMResult();
try
{
final Validator validator = schema.newValidator();
- validator.validate(createDomSourceFromPayload(xml), result);
+ validator.validate(createDomSourceFromPayload(xml));
}
catch (final SAXException e)
{
final String errorMsg = "SAXException while trying to validate against schema '" + xsd + "'";
log.error(errorMsg, e);
- throw new ValidationException(errorMsg, e, result);
+ throw new ValidationException(errorMsg, e);
}
catch (IOException e)
{
Modified: labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/actions/validation/ValidationException.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/actions/validation/ValidationException.java 2009-11-03 18:32:35 UTC (rev 29935)
+++ labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/actions/validation/ValidationException.java 2009-11-03 18:43:19 UTC (rev 29936)
@@ -1,66 +1,27 @@
package org.jboss.soa.esb.actions.validation;
import javax.xml.transform.dom.DOMResult;
-import javax.xml.transform.stream.StreamResult;
import org.jboss.soa.esb.actions.ActionProcessingException;
-import org.jboss.soa.esb.dom.YADOMUtil;
-import org.jboss.soa.esb.ConfigurationException;
-import org.w3c.dom.Node;
-import org.w3c.dom.Document;
-import org.xml.sax.SAXException;
-import java.io.*;
-
/**
- * Validation exception extends ActionProcessingExcption and
- * adds a constructor that takes a {@link DOMResult}.
+ * Validation exception extends ActionProcessingExcption.
*
* @author <a href="mailto:dbevenius at jboss.com">Daniel Bevenius</a>
*/
public class ValidationException extends ActionProcessingException
{
private static final long serialVersionUID = 1L;
- private int resultType;
- private String domString;
- public ValidationException(final String message, final Throwable cause, final DOMResult domResult)
+ public ValidationException(final String message, final Throwable cause)
{
super(message, cause);
-
- // Need to serilaize the DOM to make it Serializable...
- if(domResult != null) {
- Node node = domResult.getNode();
- StringWriter writer = new StringWriter();
-
- try {
- YADOMUtil.serialize(node, new StreamResult(writer));
- this.domString = writer.toString();
- } catch (ConfigurationException e) {
- throw new RuntimeException("Unexpected error. Unable to serialize DOM.", e);
- }
- resultType = node.getNodeType();
- }
}
+ /** @deprecated always returns null; please change your code */
+ @Deprecated
public DOMResult getDomResult()
{
- if(domString != null) {
- DOMResult domResult = new DOMResult();
- try {
- Document domDoc = YADOMUtil.parse(domString);
-
- if(resultType == Node.DOCUMENT_NODE) {
- domResult.setNode(domDoc);
- } else {
- domResult.setNode(domDoc.getDocumentElement());
- }
- } catch (Exception e) {
- throw new RuntimeException("Unexpected error. Unable to serialize DOM.", e);
- }
- return domResult;
- } else {
- return null;
- }
+ return null;
}
}
Deleted: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/actions/validation/JBESB_2916_UnitTest.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/actions/validation/JBESB_2916_UnitTest.java 2009-11-03 18:32:35 UTC (rev 29935)
+++ labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/actions/validation/JBESB_2916_UnitTest.java 2009-11-03 18:43:19 UTC (rev 29936)
@@ -1,113 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, JBoss Inc., and others contributors as indicated
- * by the @authors tag. All rights reserved.
- * See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- * This copyrighted material is made available to anyone wishing to use,
- * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public License,
- * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- * MA 02110-1301, USA.
- *
- * (C) 2005-2006, JBoss Inc.
- */
-package org.jboss.soa.esb.actions.validation;
-
-import junit.framework.TestCase;
-import org.jboss.soa.esb.testutils.AbstractTestRunner;
-import org.jboss.soa.esb.client.ServiceInvoker;
-import org.jboss.soa.esb.message.Message;
-import org.jboss.soa.esb.message.format.MessageFactory;
-import org.jboss.soa.esb.actions.ResponseAction;
-import org.jboss.soa.esb.couriers.FaultMessageException;
-import org.jboss.soa.esb.util.FileUtil;
-import org.jboss.internal.soa.esb.util.StreamUtils;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.transform.dom.DOMResult;
-import java.io.*;
-
-/**
- * https://jira.jboss.org/jira/browse/JBESB-2916
- * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
- */
-public class JBESB_2916_UnitTest extends TestCase {
-
- public void test_serializeValidationException_ElementResult() throws ParserConfigurationException, IOException, ClassNotFoundException {
- Document doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument();
- DOMResult domInResult = new DOMResult(doc.createElement("xxxElement"));
- Exception cause = new Exception("an exception");
- ValidationException exception = new ValidationException("ValidationException", cause, domInResult);
-
- ByteArrayOutputStream bos = new ByteArrayOutputStream();
- ObjectOutputStream oos = new ObjectOutputStream(bos);
-
- try {
- oos.writeObject(exception);
- } finally {
- oos.close();
- }
-
- ByteArrayInputStream bis = new ByteArrayInputStream(bos.toByteArray());
- ObjectInputStream ois = new ObjectInputStream(bis);
-
- ValidationException exceptionOut;
- try {
- exceptionOut = (ValidationException) ois.readObject();
- } finally {
- ois.close();
- }
-
- DOMResult domOutResult = exceptionOut.getDomResult();
-
- assertTrue(domInResult != domOutResult);
- assertTrue(domInResult.getNode() != domOutResult.getNode());
- assertTrue(domInResult.getNode() instanceof Element);
- assertEquals("xxxElement", domOutResult.getNode().getNodeName());
- }
-
- public void test_serializeValidationException_DocumentResult() throws ParserConfigurationException, IOException, ClassNotFoundException {
- Document doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument();
- DOMResult domInResult = new DOMResult(doc);
-
- doc.appendChild(doc.createElement("xxxElement"));
-
- Exception cause = new Exception("an exception");
- ValidationException exception = new ValidationException("ValidationException", cause, domInResult);
-
- ByteArrayOutputStream bos = new ByteArrayOutputStream();
- ObjectOutputStream oos = new ObjectOutputStream(bos);
-
- try {
- oos.writeObject(exception);
- } finally {
- oos.close();
- }
-
- ByteArrayInputStream bis = new ByteArrayInputStream(bos.toByteArray());
- ObjectInputStream ois = new ObjectInputStream(bis);
-
- ValidationException exceptionOut;
- try {
- exceptionOut = (ValidationException) ois.readObject();
- } finally {
- ois.close();
- }
-
- DOMResult domOutResult = exceptionOut.getDomResult();
-
- assertTrue(domInResult != domOutResult);
- assertTrue(domInResult.getNode() != domOutResult.getNode());
- assertTrue(domInResult.getNode() instanceof Document);
- assertEquals("xxxElement", ((Document)domOutResult.getNode()).getDocumentElement().getNodeName());
- }
-}
Modified: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/actions/validation/SchemaValidationActionUnitTest.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/actions/validation/SchemaValidationActionUnitTest.java 2009-11-03 18:32:35 UTC (rev 29935)
+++ labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/actions/validation/SchemaValidationActionUnitTest.java 2009-11-03 18:43:19 UTC (rev 29936)
@@ -20,12 +20,13 @@
*/
package org.jboss.soa.esb.actions.validation;
-import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
import java.io.UnsupportedEncodingException;
-import javax.xml.transform.dom.DOMResult;
+
import junit.framework.JUnit4TestAdapter;
+
import org.jboss.internal.soa.esb.util.StreamUtils;
import org.jboss.soa.esb.ConfigurationException;
import org.jboss.soa.esb.actions.ActionProcessingException;
@@ -57,13 +58,11 @@
try
{
process("test-invalid.xml");
+ fail("processing invalid xml should fail validation");
}
catch (final Exception e)
{
assertTrue(e instanceof ValidationException);
- ValidationException validationException = (ValidationException) e;
- DOMResult domResult = validationException.getDomResult();
- assertNotNull(domResult);
}
}
More information about the jboss-svn-commits
mailing list