Author: ningjiang Date: Fri Oct 28 08:56:17 2011 New Revision: 1190212 URL: http://svn.apache.org/viewvc?rev=1190212&view=rev Log: CAMEL-4592 AtomUtils.parseDocument() should be set with right TCCL
Modified: camel/trunk/components/camel-atom/src/main/java/org/apache/camel/component/atom/AtomEntryPollingConsumer.java camel/trunk/components/camel-atom/src/main/java/org/apache/camel/component/atom/AtomPollingConsumer.java camel/trunk/components/camel-atom/src/main/java/org/apache/camel/component/atom/AtomUtils.java camel/trunk/parent/pom.xml Modified: camel/trunk/components/camel-atom/src/main/java/org/apache/camel/component/atom/AtomEntryPollingConsumer.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-atom/src/main/java/org/apache/camel/component/atom/AtomEntryPollingConsumer.java?rev=1190212&r1=1190211&r2=1190212&view=diff ============================================================================== --- camel/trunk/components/camel-atom/src/main/java/org/apache/camel/component/atom/AtomEntryPollingConsumer.java (original) +++ camel/trunk/components/camel-atom/src/main/java/org/apache/camel/component/atom/AtomEntryPollingConsumer.java Fri Oct 28 08:56:17 2011 @@ -43,16 +43,7 @@ public class AtomEntryPollingConsumer ex private Document<Feed> getDocument() throws IOException, ParseException { if (document == null) { - ClassLoader old = Thread.currentThread().getContextClassLoader(); - try { - if (endpoint.getCamelContext().getApplicationContextClassLoader() != null) { - Thread.currentThread().setContextClassLoader(endpoint.getCamelContext().getApplicationContextClassLoader()); - LOG.debug("set the TCCL to be " + endpoint.getCamelContext().getApplicationContextClassLoader()); - } - document = AtomUtils.parseDocument(endpoint.getFeedUri()); - } finally { - Thread.currentThread().setContextClassLoader(old); - } + document = AtomUtils.parseDocument(endpoint.getFeedUri()); Feed root = document.getRoot(); if (endpoint.isSortEntries()) { sortEntries(root); Modified: camel/trunk/components/camel-atom/src/main/java/org/apache/camel/component/atom/AtomPollingConsumer.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-atom/src/main/java/org/apache/camel/component/atom/AtomPollingConsumer.java?rev=1190212&r1=1190211&r2=1190212&view=diff ============================================================================== --- camel/trunk/components/camel-atom/src/main/java/org/apache/camel/component/atom/AtomPollingConsumer.java (original) +++ camel/trunk/components/camel-atom/src/main/java/org/apache/camel/component/atom/AtomPollingConsumer.java Fri Oct 28 08:56:17 2011 @@ -39,16 +39,9 @@ public class AtomPollingConsumer extends @Override protected Object createFeed() throws IOException { - ClassLoader old = Thread.currentThread().getContextClassLoader(); - try { - if (endpoint.getCamelContext().getApplicationContextClassLoader() != null) { - Thread.currentThread().setContextClassLoader(endpoint.getCamelContext().getApplicationContextClassLoader()); - LOG.debug("set the TCCL to be " + endpoint.getCamelContext().getApplicationContextClassLoader()); - } - Document<Feed> document = AtomUtils.parseDocument(endpoint.getFeedUri()); - return document.getRoot(); - } finally { - Thread.currentThread().setContextClassLoader(old); - } + + Document<Feed> document = AtomUtils.parseDocument(endpoint.getFeedUri()); + return document.getRoot(); + } } Modified: camel/trunk/components/camel-atom/src/main/java/org/apache/camel/component/atom/AtomUtils.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-atom/src/main/java/org/apache/camel/component/atom/AtomUtils.java?rev=1190212&r1=1190211&r2=1190212&view=diff ============================================================================== --- camel/trunk/components/camel-atom/src/main/java/org/apache/camel/component/atom/AtomUtils.java (original) +++ camel/trunk/components/camel-atom/src/main/java/org/apache/camel/component/atom/AtomUtils.java Fri Oct 28 08:56:17 2011 @@ -52,7 +52,16 @@ public final class AtomUtils { */ public static Document<Feed> parseDocument(String uri) throws IOException, ParseException { InputStream in = new URL(uri).openStream(); - return getAtomParser().parse(in); + Parser parser = getAtomParser(); + // set the thread context loader with the ParserClassLoader + ClassLoader old = Thread.currentThread().getContextClassLoader(); + try { + Thread.currentThread().setContextClassLoader(parser.getClass().getClassLoader()); + return parser.parse(in); + } finally { + Thread.currentThread().setContextClassLoader(old); + } + } } Modified: camel/trunk/parent/pom.xml URL: http://svn.apache.org/viewvc/camel/trunk/parent/pom.xml?rev=1190212&r1=1190211&r2=1190212&view=diff ============================================================================== --- camel/trunk/parent/pom.xml (original) +++ camel/trunk/parent/pom.xml Fri Oct 28 08:56:17 2011 @@ -34,7 +34,7 @@ <properties> <compiler.fork>true</compiler.fork> - <abdera-version>1.1.2</abdera-version> + <abdera-version>1.1.3</abdera-version> <!-- Note that activemq dependency is only used for testing! --> <activemq-version>5.5.0</activemq-version> <ahc-version>1.6.5</ahc-version>