camel-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ningji...@apache.org
Subject git commit: CAMEL-7349 polish the code as Claus suggested
Date Tue, 08 Apr 2014 14:47:20 GMT
Repository: camel
Updated Branches:
  refs/heads/master 41d7eca93 -> ce8844f05


CAMEL-7349 polish the code as Claus suggested


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/ce8844f0
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/ce8844f0
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/ce8844f0

Branch: refs/heads/master
Commit: ce8844f055767b0ac521f35ba6a592540fba5ab3
Parents: 41d7eca
Author: Willem Jiang <willem.jiang@gmail.com>
Authored: Tue Apr 8 22:46:17 2014 +0800
Committer: Willem Jiang <willem.jiang@gmail.com>
Committed: Tue Apr 8 22:46:17 2014 +0800

----------------------------------------------------------------------
 .../camel/converter/jaxb/JaxbDataFormat.java    | 20 ++++++--------------
 1 file changed, 6 insertions(+), 14 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/ce8844f0/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/JaxbDataFormat.java
----------------------------------------------------------------------
diff --git a/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/JaxbDataFormat.java
b/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/JaxbDataFormat.java
index d34836d..f63d91d 100644
--- a/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/JaxbDataFormat.java
+++ b/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/JaxbDataFormat.java
@@ -91,7 +91,7 @@ public class JaxbDataFormat extends ServiceSupport implements DataFormat,
CamelC
     private JaxbNamespacePrefixMapper namespacePrefixMapper;
     private JaxbXmlStreamWriterWrapper xmlStreamWriterWrapper;
     private TypeConverter typeConverter;
-    private volatile Schema cachedSchema;
+    private Schema cachedSchema;
 
     public JaxbDataFormat() {
     }
@@ -341,6 +341,9 @@ public class JaxbDataFormat extends ServiceSupport implements DataFormat,
CamelC
             namespacePrefixMapper = NamespacePrefixMapperFactory.newNamespacePrefixMapper(camelContext,
namespacePrefix);
         }
         typeConverter = camelContext.getTypeConverter();
+        if (schema != null) {
+            cachedSchema = createSchema(getSources());
+        }
     }
 
     @Override
@@ -372,7 +375,7 @@ public class JaxbDataFormat extends ServiceSupport implements DataFormat,
CamelC
         MalformedURLException {
         Unmarshaller unmarshaller = getContext().createUnmarshaller();
         if (schema != null) {
-            unmarshaller.setSchema(getCachedSchema());
+            unmarshaller.setSchema(cachedSchema);
             unmarshaller.setEventHandler(new ValidationEventHandler() {
                 public boolean handleEvent(ValidationEvent event) {
                     // stop unmarshalling if the event is an ERROR or FATAL
@@ -390,7 +393,7 @@ public class JaxbDataFormat extends ServiceSupport implements DataFormat,
CamelC
         MalformedURLException {
         Marshaller marshaller = getContext().createMarshaller();
         if (schema != null) {
-            marshaller.setSchema(getCachedSchema());
+            marshaller.setSchema(cachedSchema);
             marshaller.setEventHandler(new ValidationEventHandler() {
                 public boolean handleEvent(ValidationEvent event) {
                     // stop marshalling if the event is an ERROR or FATAL ERROR
@@ -403,17 +406,6 @@ public class JaxbDataFormat extends ServiceSupport implements DataFormat,
CamelC
         return marshaller;
     }
     
-    private Schema getCachedSchema() throws FileNotFoundException, MalformedURLException,
SAXException {
-        if (cachedSchema == null) {
-            synchronized (this) {
-                if (cachedSchema == null) {
-                    cachedSchema = createSchema(getSources());
-                }
-            }
-        }
-        return cachedSchema;
-    }
-    
     private Schema createSchema(Source[] sources) throws SAXException {
         SchemaFactory factory = getOrCreateSchemaFactory();
         try {


Mime
View raw message