Make it work for OSGi

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

Branch: refs/heads/master
Commit: 31991b581af5aca1805215c5db45744059129090
Parents: 5851545
Author: Claus Ibsen <davscl...@apache.org>
Authored: Wed Mar 23 19:53:46 2016 +0100
Committer: Claus Ibsen <davscl...@apache.org>
Committed: Wed Mar 23 19:59:05 2016 +0100

----------------------------------------------------------------------
 components/camel-cm-sms/pom.xml                 |  5 ---
 .../apache/camel/component/cm/CMComponent.java  | 11 ++----
 .../apache/camel/component/cm/test/CMTest.java  |  7 ----
 parent/pom.xml                                  |  1 -
 .../features/src/main/resources/features.xml    | 16 ++++----
 .../camel/itest/karaf/CamelCmSmsTest.java       | 39 ++++++++++++++++++++
 6 files changed, 52 insertions(+), 27 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/31991b58/components/camel-cm-sms/pom.xml
----------------------------------------------------------------------
diff --git a/components/camel-cm-sms/pom.xml b/components/camel-cm-sms/pom.xml
index 4200180..a14774e 100644
--- a/components/camel-cm-sms/pom.xml
+++ b/components/camel-cm-sms/pom.xml
@@ -69,11 +69,6 @@
       <artifactId>javax.el-api</artifactId>
       <version>${javax.el-api-version}</version>
     </dependency>
-    <dependency>
-      <groupId>commons-validator</groupId>
-      <artifactId>commons-validator</artifactId>
-      <version>${commons-validator-version}</version>
-    </dependency>
 
     <!-- test dependencies -->
     <dependency>

http://git-wip-us.apache.org/repos/asf/camel/blob/31991b58/components/camel-cm-sms/src/main/java/org/apache/camel/component/cm/CMComponent.java
----------------------------------------------------------------------
diff --git 
a/components/camel-cm-sms/src/main/java/org/apache/camel/component/cm/CMComponent.java
 
b/components/camel-cm-sms/src/main/java/org/apache/camel/component/cm/CMComponent.java
index 73d1250..5844dc9 100644
--- 
a/components/camel-cm-sms/src/main/java/org/apache/camel/component/cm/CMComponent.java
+++ 
b/components/camel-cm-sms/src/main/java/org/apache/camel/component/cm/CMComponent.java
@@ -18,7 +18,6 @@ package org.apache.camel.component.cm;
 
 import java.util.Map;
 import java.util.Set;
-
 import javax.validation.ConstraintViolation;
 import javax.validation.Validator;
 
@@ -28,7 +27,6 @@ import org.apache.camel.Endpoint;
 import org.apache.camel.ResolveEndpointFailedException;
 import org.apache.camel.impl.UriEndpointComponent;
 import org.apache.camel.util.URISupport;
-import org.apache.commons.validator.routines.UrlValidator;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -43,6 +41,10 @@ public class CMComponent extends UriEndpointComponent {
     @BeanInject
     private Validator validator;
 
+    public CMComponent() {
+        super(CMEndpoint.class);
+    }
+
     public CMComponent(final CamelContext context) {
         super(context, CMEndpoint.class);
     }
@@ -55,11 +57,6 @@ public class CMComponent extends UriEndpointComponent {
 
         LOG.debug("Creating CM Endpoint ... ");
 
-        final String url = CMConstants.DEFAULT_SCHEME + remaining;
-        if (!UrlValidator.getInstance().isValid(url)) {
-            throw new ResolveEndpointFailedException(uri, String.format("HOST 
provided: %s seem to be invalid. Remember SCHEME has to be excluded.", url));
-        }
-
         LOG.debug("Uri=[{}], path=[{}], parameters=[{}]", new Object[] 
{URISupport.sanitizeUri(uri), URISupport.sanitizePath(remaining), parameters });
 
         // Set configuration based on uri parameters

http://git-wip-us.apache.org/repos/asf/camel/blob/31991b58/components/camel-cm-sms/src/test/java/org/apache/camel/component/cm/test/CMTest.java
----------------------------------------------------------------------
diff --git 
a/components/camel-cm-sms/src/test/java/org/apache/camel/component/cm/test/CMTest.java
 
b/components/camel-cm-sms/src/test/java/org/apache/camel/component/cm/test/CMTest.java
index e151e5a..8e3246d 100644
--- 
a/components/camel-cm-sms/src/test/java/org/apache/camel/component/cm/test/CMTest.java
+++ 
b/components/camel-cm-sms/src/test/java/org/apache/camel/component/cm/test/CMTest.java
@@ -155,13 +155,6 @@ public class CMTest extends 
AbstractJUnit4SpringContextTests {
         }
     }
 
-    @Test(expected = ResolveEndpointFailedException.class)
-    public void testInvalidUriEndpoint() throws Throwable {
-        // 
cm-sms://sgw01.cm.nl/gateway.ashx?defaultFrom=MyBusiness&defaultMaxNumberOfParts=8&productToken=ea723fd7-da81-4826-89bc-fa7144e71c40&testConnectionOnStartup=true
-        String noHostUri = 
"cm-sms://gateway.ashx?defaultFrom=MyBusiness&defaultMaxNumberOfParts=8&productToken=ea723fd7-da81-4826-89bc-fa7144e71c40&testConnectionOnStartup=true";
-        camelContext.getEndpoint(noHostUri);
-    }
-
     /*
      * 2. Invalid Payload
      */

http://git-wip-us.apache.org/repos/asf/camel/blob/31991b58/parent/pom.xml
----------------------------------------------------------------------
diff --git a/parent/pom.xml b/parent/pom.xml
index b19d6d1..63831e7 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -125,7 +125,6 @@
     <commons-net-version>3.3</commons-net-version>
     <commons-pool-version>1.6</commons-pool-version>
     <commons-pool2-version>2.4.2</commons-pool2-version>
-       <commons-validator-version>1.5.0</commons-validator-version>
     <commons-vfs2-version>2.0</commons-vfs2-version>
     <compress-lzf-version>1.0.3</compress-lzf-version>
     <concurrentlinkedhashmap.version>1.4.2</concurrentlinkedhashmap.version>

http://git-wip-us.apache.org/repos/asf/camel/blob/31991b58/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 6e19906..df02687 100644
--- a/platforms/karaf/features/src/main/resources/features.xml
+++ b/platforms/karaf/features/src/main/resources/features.xml
@@ -289,15 +289,17 @@
     <bundle 
dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.chunk-templates/${chunk-templates-bundle-version}</bundle>
     <bundle>mvn:org.apache.camel/camel-chunk/${project.version}</bundle>
   </feature>
-  <feature name='camel-cm' version='${project.version}' resolver='(obr)' 
start-level='50'>
+  <feature name='camel-cm-sms' version='${project.version}' resolver='(obr)' 
start-level='50'>
     <feature version='${project.version}'>camel-core</feature>
     <feature version='${cxf-version-range}'>cxf-specs</feature>
-       <bundle 
dependency='true'>mvn:org.apache.httpcomponents/httpclient-osgi/${httpclient4-version}</bundle>
-       <bundle dependency='true'>mvn:org.jsoup/jsoup/${jsoup-version}</bundle>
-       <bundle 
dependency='true'>mvn:javax.validation/validation-api/${validation-api-version}</bundle>
-       <bundle 
dependency='true'>mvn:javax.el/javax.el-api/${javax.el-api-version}</bundle>
-       <bundle 
dependency='true'>mvn:commons-validator/commons-validator/${commons-validator-version}</bundle>
-    <bundle>mvn:org.apache.camel/camel-cm/${project.version}</bundle>
+    <bundle 
dependency='true'>wrap:mvn:com.googlecode.libphonenumber/libphonenumber/${libphonenumber-version}</bundle>
+    <bundle 
dependency='true'>mvn:org.apache.httpcomponents/httpcore-osgi/${httpcore4-version}</bundle>
+    <bundle 
dependency='true'>mvn:org.apache.httpcomponents/httpclient-osgi/${httpclient4-version}</bundle>
+    <bundle 
dependency='true'>mvn:javax.servlet/javax.servlet-api/${javax.servlet-api-version}</bundle>
+         <bundle 
dependency='true'>mvn:org.jsoup/jsoup/${jsoup-version}</bundle>
+         <bundle 
dependency='true'>mvn:javax.validation/validation-api/${validation-api-version}</bundle>
+         <bundle 
dependency='true'>mvn:javax.el/javax.el-api/${javax.el-api-version}</bundle>
+    <bundle>mvn:org.apache.camel/camel-cm-sms/${project.version}</bundle>
   </feature>
   <feature name='camel-cmis' version='${project.version}' resolver='(obr)' 
start-level='50'>
     <feature version='${project.version}'>camel-core</feature>

http://git-wip-us.apache.org/repos/asf/camel/blob/31991b58/tests/camel-itest-karaf/src/test/java/org/apache/camel/itest/karaf/CamelCmSmsTest.java
----------------------------------------------------------------------
diff --git 
a/tests/camel-itest-karaf/src/test/java/org/apache/camel/itest/karaf/CamelCmSmsTest.java
 
b/tests/camel-itest-karaf/src/test/java/org/apache/camel/itest/karaf/CamelCmSmsTest.java
new file mode 100644
index 0000000..74d699e
--- /dev/null
+++ 
b/tests/camel-itest-karaf/src/test/java/org/apache/camel/itest/karaf/CamelCmSmsTest.java
@@ -0,0 +1,39 @@
+/**
+ * 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.itest.karaf;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.ops4j.pax.exam.Configuration;
+import org.ops4j.pax.exam.Option;
+import org.ops4j.pax.exam.junit.PaxExam;
+
+@RunWith(PaxExam.class)
+public class CamelCmSmsTest extends AbstractFeatureTest {
+    public static final String COMPONENT = extractName(CamelCmSmsTest.class);
+
+    @Test
+    public void test() throws Exception {
+        testComponent(COMPONENT);
+    }
+
+    @Configuration
+    public static Option[] configure() {
+        return configure(COMPONENT);
+    }
+
+}

Reply via email to