Repository: camel
Updated Branches:
  refs/heads/master 25d528b9e -> 83ed03d45


First stab at fixing the camel-xmljson license compliance issue due to 
dependency to XOM (licensed at LGPL v2.1).


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

Branch: refs/heads/master
Commit: d3f669a8af55ed0a741f78b7a9f0cdb3d693c68e
Parents: 85fd23d
Author: Raul Kripalani <ra...@apache.org>
Authored: Thu Sep 25 11:18:33 2014 +0100
Committer: Raul Kripalani <ra...@apache.org>
Committed: Thu Sep 25 11:18:33 2014 +0100

----------------------------------------------------------------------
 components/camel-xmljson/pom.xml                | 24 ++++++++++---
 .../xmljson/AbstractJsonTestSupport.java        | 38 ++++++++++++++++++++
 .../xmljson/JsonToXmlAttributesTest.java        |  4 +--
 .../xmljson/SpringXmlJsonDataFormatTest.java    | 10 ++++++
 .../xmljson/XmlJsonDataFormatTest.java          |  5 +--
 .../xmljson/XmlJsonExceptionsTest.java          |  3 +-
 .../dataformat/xmljson/XmlJsonOptionsTest.java  |  5 +--
 .../dataformat/xmljson/XmlJsonStressTest.java   |  3 +-
 .../features/src/main/resources/features.xml    |  3 +-
 9 files changed, 79 insertions(+), 16 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/d3f669a8/components/camel-xmljson/pom.xml
----------------------------------------------------------------------
diff --git a/components/camel-xmljson/pom.xml b/components/camel-xmljson/pom.xml
index 6626010..3e4b75b 100644
--- a/components/camel-xmljson/pom.xml
+++ b/components/camel-xmljson/pom.xml
@@ -46,11 +46,6 @@
       <version>${jsonlib-version}</version>
       <classifier>jdk15</classifier>
     </dependency>
-    <dependency>
-      <groupId>xom</groupId>
-      <artifactId>xom</artifactId>
-      <version>${xom-version}</version>
-    </dependency>
 
     <!-- testing -->
     <dependency>
@@ -71,4 +66,23 @@
 
   </dependencies>
 
+  <!-- NOTICE: The XOM runtime dependency cannot be made part of the classpath 
by default due to legal issues. 
+       Therefore, it must be activated explicitly by the user through the 
build profile below.
+  -->
+  <profiles>
+    <profile>
+      <id>build-with-xom</id>
+      <activation>
+        <activeByDefault>false</activeByDefault>
+      </activation>
+      <dependencies>
+        <dependency>
+          <groupId>xom</groupId>
+          <artifactId>xom</artifactId>
+          <version>${xom-version}</version>
+        </dependency>
+      </dependencies>
+    </profile>
+  </profiles>
+
 </project>

http://git-wip-us.apache.org/repos/asf/camel/blob/d3f669a8/components/camel-xmljson/src/test/java/org/apache/camel/dataformat/xmljson/AbstractJsonTestSupport.java
----------------------------------------------------------------------
diff --git 
a/components/camel-xmljson/src/test/java/org/apache/camel/dataformat/xmljson/AbstractJsonTestSupport.java
 
b/components/camel-xmljson/src/test/java/org/apache/camel/dataformat/xmljson/AbstractJsonTestSupport.java
new file mode 100644
index 0000000..e1088d5
--- /dev/null
+++ 
b/components/camel-xmljson/src/test/java/org/apache/camel/dataformat/xmljson/AbstractJsonTestSupport.java
@@ -0,0 +1,38 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.dataformat.xmljson;
+
+import org.apache.camel.test.junit4.CamelTestSupport;
+import org.junit.Assume;
+import org.junit.BeforeClass;
+
+public abstract class AbstractJsonTestSupport extends CamelTestSupport {
+
+    private static final String XOM_WARNING = "XOM must be in classpath for 
camel-xmljson unit tests to execute; "
+            + "please enable the appropriate build profile.";
+    
+    @BeforeClass
+    public static void checkXomInClasspath() {
+        try {
+            Class.forName("nu.xom.Serializer");
+        } catch (Throwable t) {
+            System.out.println(XOM_WARNING);
+            Assume.assumeNoException(XOM_WARNING, t);
+        }
+    }
+    
+}

http://git-wip-us.apache.org/repos/asf/camel/blob/d3f669a8/components/camel-xmljson/src/test/java/org/apache/camel/dataformat/xmljson/JsonToXmlAttributesTest.java
----------------------------------------------------------------------
diff --git 
a/components/camel-xmljson/src/test/java/org/apache/camel/dataformat/xmljson/JsonToXmlAttributesTest.java
 
b/components/camel-xmljson/src/test/java/org/apache/camel/dataformat/xmljson/JsonToXmlAttributesTest.java
index 744f895..679e94e 100644
--- 
a/components/camel-xmljson/src/test/java/org/apache/camel/dataformat/xmljson/JsonToXmlAttributesTest.java
+++ 
b/components/camel-xmljson/src/test/java/org/apache/camel/dataformat/xmljson/JsonToXmlAttributesTest.java
@@ -29,10 +29,10 @@ import org.w3c.dom.NodeList;
 import org.xml.sax.SAXException;
 
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.junit4.CamelTestSupport;
+
 import org.junit.Test;
 
-public class JsonToXmlAttributesTest extends CamelTestSupport {
+public class JsonToXmlAttributesTest extends AbstractJsonTestSupport {
 
     @Test
     public void shouldCreateAttribute() {

http://git-wip-us.apache.org/repos/asf/camel/blob/d3f669a8/components/camel-xmljson/src/test/java/org/apache/camel/dataformat/xmljson/SpringXmlJsonDataFormatTest.java
----------------------------------------------------------------------
diff --git 
a/components/camel-xmljson/src/test/java/org/apache/camel/dataformat/xmljson/SpringXmlJsonDataFormatTest.java
 
b/components/camel-xmljson/src/test/java/org/apache/camel/dataformat/xmljson/SpringXmlJsonDataFormatTest.java
index 6aaecb3..3c3a319 100644
--- 
a/components/camel-xmljson/src/test/java/org/apache/camel/dataformat/xmljson/SpringXmlJsonDataFormatTest.java
+++ 
b/components/camel-xmljson/src/test/java/org/apache/camel/dataformat/xmljson/SpringXmlJsonDataFormatTest.java
@@ -22,17 +22,27 @@ import org.w3c.dom.Document;
 
 import net.sf.json.JSONObject;
 import net.sf.json.JSONSerializer;
+
 import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.test.spring.CamelSpringTestSupport;
+
+import org.junit.BeforeClass;
 import org.junit.Test;
+
 import org.springframework.context.support.AbstractXmlApplicationContext;
 import org.springframework.context.support.ClassPathXmlApplicationContext;
 
+
 /**
  * Test the Spring DSL
  */
 public class SpringXmlJsonDataFormatTest extends CamelSpringTestSupport {
 
+    @BeforeClass
+    public static void checkXomInClasspath() {
+        AbstractJsonTestSupport.checkXomInClasspath();
+    }
+    
     @Test
     public void testMarshalAndUnmarshal() throws Exception {
         InputStream inStream = 
getClass().getResourceAsStream("testMessage1.xml");

http://git-wip-us.apache.org/repos/asf/camel/blob/d3f669a8/components/camel-xmljson/src/test/java/org/apache/camel/dataformat/xmljson/XmlJsonDataFormatTest.java
----------------------------------------------------------------------
diff --git 
a/components/camel-xmljson/src/test/java/org/apache/camel/dataformat/xmljson/XmlJsonDataFormatTest.java
 
b/components/camel-xmljson/src/test/java/org/apache/camel/dataformat/xmljson/XmlJsonDataFormatTest.java
index af8ade6..d2749e9 100644
--- 
a/components/camel-xmljson/src/test/java/org/apache/camel/dataformat/xmljson/XmlJsonDataFormatTest.java
+++ 
b/components/camel-xmljson/src/test/java/org/apache/camel/dataformat/xmljson/XmlJsonDataFormatTest.java
@@ -30,15 +30,16 @@ import net.sf.json.JSON;
 import net.sf.json.JSONArray;
 import net.sf.json.JSONObject;
 import net.sf.json.JSONSerializer;
+
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit4.CamelTestSupport;
+
 import org.junit.Test;
 
 /**
  * Basic tests for the XML JSON data format
  */
-public class XmlJsonDataFormatTest extends CamelTestSupport {
+public class XmlJsonDataFormatTest extends AbstractJsonTestSupport {
 
     @Test
     public void testMarshalAndUnmarshal() throws Exception {

http://git-wip-us.apache.org/repos/asf/camel/blob/d3f669a8/components/camel-xmljson/src/test/java/org/apache/camel/dataformat/xmljson/XmlJsonExceptionsTest.java
----------------------------------------------------------------------
diff --git 
a/components/camel-xmljson/src/test/java/org/apache/camel/dataformat/xmljson/XmlJsonExceptionsTest.java
 
b/components/camel-xmljson/src/test/java/org/apache/camel/dataformat/xmljson/XmlJsonExceptionsTest.java
index 3b01fa0..f56439f 100644
--- 
a/components/camel-xmljson/src/test/java/org/apache/camel/dataformat/xmljson/XmlJsonExceptionsTest.java
+++ 
b/components/camel-xmljson/src/test/java/org/apache/camel/dataformat/xmljson/XmlJsonExceptionsTest.java
@@ -24,13 +24,12 @@ import org.apache.camel.CamelExecutionException;
 import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit4.CamelTestSupport;
 import org.junit.Test;
 
 /**
  * Tests for exception cases in the XML JSON data format
  */
-public class XmlJsonExceptionsTest extends CamelTestSupport {
+public class XmlJsonExceptionsTest extends AbstractJsonTestSupport {
 
     @Test
     public void testMalformedXML() throws Exception {

http://git-wip-us.apache.org/repos/asf/camel/blob/d3f669a8/components/camel-xmljson/src/test/java/org/apache/camel/dataformat/xmljson/XmlJsonOptionsTest.java
----------------------------------------------------------------------
diff --git 
a/components/camel-xmljson/src/test/java/org/apache/camel/dataformat/xmljson/XmlJsonOptionsTest.java
 
b/components/camel-xmljson/src/test/java/org/apache/camel/dataformat/xmljson/XmlJsonOptionsTest.java
index 8c5b20a..bfa2b7b 100644
--- 
a/components/camel-xmljson/src/test/java/org/apache/camel/dataformat/xmljson/XmlJsonOptionsTest.java
+++ 
b/components/camel-xmljson/src/test/java/org/apache/camel/dataformat/xmljson/XmlJsonOptionsTest.java
@@ -25,15 +25,16 @@ import org.w3c.dom.Document;
 
 import net.sf.json.JSONObject;
 import net.sf.json.JSONSerializer;
+
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit4.CamelTestSupport;
+
 import org.junit.Test;
 
 /**
  * Testing options to the XML JSON data format
  */
-public class XmlJsonOptionsTest extends CamelTestSupport {
+public class XmlJsonOptionsTest extends AbstractJsonTestSupport {
 
     @Test
     public void testSomeOptionsToJSON() throws Exception {

http://git-wip-us.apache.org/repos/asf/camel/blob/d3f669a8/components/camel-xmljson/src/test/java/org/apache/camel/dataformat/xmljson/XmlJsonStressTest.java
----------------------------------------------------------------------
diff --git 
a/components/camel-xmljson/src/test/java/org/apache/camel/dataformat/xmljson/XmlJsonStressTest.java
 
b/components/camel-xmljson/src/test/java/org/apache/camel/dataformat/xmljson/XmlJsonStressTest.java
index 9dee5878..69bb486 100644
--- 
a/components/camel-xmljson/src/test/java/org/apache/camel/dataformat/xmljson/XmlJsonStressTest.java
+++ 
b/components/camel-xmljson/src/test/java/org/apache/camel/dataformat/xmljson/XmlJsonStressTest.java
@@ -25,13 +25,12 @@ import java.util.concurrent.TimeUnit;
 import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit4.CamelTestSupport;
 import org.junit.Test;
 
 /**
  * Stress tests for the XML JSON data format: concurrency and large JSON and 
XML documents
  */
-public class XmlJsonStressTest extends CamelTestSupport {
+public class XmlJsonStressTest extends AbstractJsonTestSupport {
 
     @Test
     public void testNoConcurrentProducers() throws Exception {

http://git-wip-us.apache.org/repos/asf/camel/blob/d3f669a8/platforms/karaf/features/src/main/resources/features.xml
----------------------------------------------------------------------
diff --git a/platforms/karaf/features/src/main/resources/features.xml 
b/platforms/karaf/features/src/main/resources/features.xml
index 11829ee..b643d20 100644
--- a/platforms/karaf/features/src/main/resources/features.xml
+++ b/platforms/karaf/features/src/main/resources/features.xml
@@ -1381,7 +1381,8 @@
     <bundle 
dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.commons-beanutils/${commons-beanutils-bundle-version}</bundle>
     <bundle 
dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.oro/${oro-bundle-version}</bundle>
     <bundle 
dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.ezmorph/${ezmorph-bundle-version}</bundle>
-    <bundle dependency='true'>mvn:xom/xom/${xom-version}</bundle>
+    <!-- NOTICE: XOM cannot be included by default due to an incompatible 
license; please review its license model and install the dependency manually if 
you agree. -->
+    <!--<bundle dependency='true'>mvn:xom/xom/${xom-version}</bundle>-->
     <bundle 
dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.json-lib/${jsonlib-bundle-version}</bundle>
     <bundle 
dependency='true'>mvn:commons-lang/commons-lang/${commons-lang-version-xmljson}</bundle>
     <bundle 
dependency='true'>mvn:commons-collections/commons-collections/${commons-collections-version}</bundle>

Reply via email to