Author: sebb Date: Tue Mar 18 15:58:17 2008 New Revision: 638630 URL: http://svn.apache.org/viewvc?rev=638630&view=rev Log: Only set Tidy isXML if the document appears to be XML
Modified: jakarta/jmeter/trunk/src/components/org/apache/jmeter/assertions/XPathAssertion.java jakarta/jmeter/trunk/src/components/org/apache/jmeter/extractor/XPathExtractor.java Modified: jakarta/jmeter/trunk/src/components/org/apache/jmeter/assertions/XPathAssertion.java URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/components/org/apache/jmeter/assertions/XPathAssertion.java?rev=638630&r1=638629&r2=638630&view=diff ============================================================================== --- jakarta/jmeter/trunk/src/components/org/apache/jmeter/assertions/XPathAssertion.java (original) +++ jakarta/jmeter/trunk/src/components/org/apache/jmeter/assertions/XPathAssertion.java Tue Mar 18 15:58:17 2008 @@ -32,6 +32,7 @@ import org.apache.jmeter.util.TidyException; import org.apache.jmeter.util.XPathUtil; import org.apache.jorphan.logging.LoggingManager; +import org.apache.jorphan.util.JOrphanUtils; import org.apache.log.Logger; import org.apache.xpath.XPathAPI; import org.apache.xpath.objects.XObject; @@ -87,33 +88,35 @@ Document doc = null; - try { + boolean isXML = JOrphanUtils.isXML(responseData); + + try { doc = XPathUtil.makeDocument(new ByteArrayInputStream(responseData), isValidating(), - isWhitespace(), isNamespace(), isTolerant(), isQuiet(), showWarnings() , reportErrors(), true); + isWhitespace(), isNamespace(), isTolerant(), isQuiet(), showWarnings() , reportErrors(), isXML); } catch (SAXException e) { log.debug("Caught sax exception: " + e); - result.setError(true); + result.setError(isXML); result.setFailureMessage(new StringBuffer("SAXException: ").append(e.getMessage()).toString()); return result; } catch (IOException e) { log.warn("Cannot parse result content", e); - result.setError(true); + result.setError(isXML); result.setFailureMessage(new StringBuffer("IOException: ").append(e.getMessage()).toString()); return result; } catch (ParserConfigurationException e) { log.warn("Cannot parse result content", e); - result.setError(true); + result.setError(isXML); result.setFailureMessage(new StringBuffer("ParserConfigurationException: ").append(e.getMessage()) .toString()); return result; } catch (TidyException e) { - result.setError(true); + result.setError(isXML); result.setFailureMessage(e.getMessage()); return result; } if (doc == null || doc.getDocumentElement() == null) { - result.setError(true); + result.setError(isXML); result.setFailureMessage("Document is null, probably not parsable"); return result; } @@ -134,12 +137,12 @@ } return result; default: - result.setFailure(true); + result.setFailure(isXML); result.setFailureMessage("Cannot understand: " + pathString); return result; } } catch (TransformerException e) { - result.setError(true); + result.setError(isXML); result.setFailureMessage( new StringBuffer("TransformerException: ") .append(e.getMessage()) Modified: jakarta/jmeter/trunk/src/components/org/apache/jmeter/extractor/XPathExtractor.java URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/components/org/apache/jmeter/extractor/XPathExtractor.java?rev=638630&r1=638629&r2=638630&view=diff ============================================================================== --- jakarta/jmeter/trunk/src/components/org/apache/jmeter/extractor/XPathExtractor.java (original) +++ jakarta/jmeter/trunk/src/components/org/apache/jmeter/extractor/XPathExtractor.java Tue Mar 18 15:58:17 2008 @@ -36,6 +36,7 @@ import org.apache.jmeter.util.XPathUtil; import org.apache.jorphan.logging.LoggingManager; import org.apache.jorphan.util.JMeterError; +import org.apache.jorphan.util.JOrphanUtils; import org.apache.log.Logger; import org.apache.xpath.XPathAPI; import org.apache.xpath.objects.XObject; @@ -215,8 +216,9 @@ // convert unicode String -> UTF-8 bytes byte[] utf8data = unicodeData.getBytes("UTF-8"); // $NON-NLS-1$ ByteArrayInputStream in = new ByteArrayInputStream(utf8data); + boolean isXML = JOrphanUtils.isXML(utf8data); // this method assumes UTF-8 input data - return XPathUtil.makeDocument(in,false,false,useNameSpace(),isTolerant(),isQuiet(),showWarnings(),reportErrors(),true); + return XPathUtil.makeDocument(in,false,false,useNameSpace(),isTolerant(),isQuiet(),showWarnings(),reportErrors(),isXML); } /** --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]