You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2017/04/06 08:06:20 UTC

camel git commit: camel-catalog - Add some WARN logging and polished javadoc

Repository: camel
Updated Branches:
  refs/heads/master 619062971 -> e4751c9a0


camel-catalog - Add some WARN logging and polished javadoc


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

Branch: refs/heads/master
Commit: e4751c9a0b5a7a6a19d38093af87bccd340b2322
Parents: 6190629
Author: Claus Ibsen <da...@apache.org>
Authored: Thu Apr 6 10:00:36 2017 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Thu Apr 6 10:06:13 2017 +0200

----------------------------------------------------------------------
 .../catalog/maven/MavenVersionManager.java      |  7 +++++
 .../catalog/maven/MavenVersionManagerTest.java  | 30 +++++++++++++++++++-
 .../org/apache/camel/catalog/CamelCatalog.java  |  6 ++++
 3 files changed, 42 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/e4751c9a/platforms/camel-catalog-maven/src/main/java/org/apache/camel/catalog/maven/MavenVersionManager.java
----------------------------------------------------------------------
diff --git a/platforms/camel-catalog-maven/src/main/java/org/apache/camel/catalog/maven/MavenVersionManager.java b/platforms/camel-catalog-maven/src/main/java/org/apache/camel/catalog/maven/MavenVersionManager.java
index ed9339a..0edfe72 100644
--- a/platforms/camel-catalog-maven/src/main/java/org/apache/camel/catalog/maven/MavenVersionManager.java
+++ b/platforms/camel-catalog-maven/src/main/java/org/apache/camel/catalog/maven/MavenVersionManager.java
@@ -26,6 +26,8 @@ import java.util.Map;
 import groovy.grape.Grape;
 import groovy.lang.GroovyClassLoader;
 import org.apache.camel.catalog.VersionManager;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * A {@link VersionManager} that can load the resources using Maven to download needed artifacts from
@@ -35,6 +37,8 @@ import org.apache.camel.catalog.VersionManager;
  */
 public class MavenVersionManager implements VersionManager {
 
+    private static final Logger LOG = LoggerFactory.getLogger(MavenVersionManager.class);
+
     private final ClassLoader classLoader = new GroovyClassLoader();
     private String version;
     private String runtimeProviderVersion;
@@ -89,6 +93,7 @@ public class MavenVersionManager implements VersionManager {
             this.version = version;
             return true;
         } catch (Exception e) {
+            LOG.warn("Cannot load version " + version + " due " + e.getMessage());
             return false;
         }
     }
@@ -114,6 +119,7 @@ public class MavenVersionManager implements VersionManager {
             this.runtimeProviderVersion = version;
             return true;
         } catch (Exception e) {
+            LOG.warn("Cannot load runtime provider version " + version + " due " + e.getMessage());
             return false;
         }
     }
@@ -152,6 +158,7 @@ public class MavenVersionManager implements VersionManager {
             }
         } catch (IOException e) {
             // ignore
+            LOG.warn("Cannot open resource " + name + " and version " + version + " due " + e.getMessage());
         }
 
         return null;

http://git-wip-us.apache.org/repos/asf/camel/blob/e4751c9a/platforms/camel-catalog-maven/src/test/java/org/apache/camel/catalog/maven/MavenVersionManagerTest.java
----------------------------------------------------------------------
diff --git a/platforms/camel-catalog-maven/src/test/java/org/apache/camel/catalog/maven/MavenVersionManagerTest.java b/platforms/camel-catalog-maven/src/test/java/org/apache/camel/catalog/maven/MavenVersionManagerTest.java
index 785acbd..b071680 100644
--- a/platforms/camel-catalog-maven/src/test/java/org/apache/camel/catalog/maven/MavenVersionManagerTest.java
+++ b/platforms/camel-catalog-maven/src/test/java/org/apache/camel/catalog/maven/MavenVersionManagerTest.java
@@ -106,7 +106,35 @@ public class MavenVersionManagerTest extends TestCase {
         assertTrue(names.contains("jms"));
         // camel-ejb does not work in spring-boot
         assertFalse(names.contains("ejb"));
-        // camel-pac-logging does not work in spring-boot
+        // camel-pax-logging does not work in spring-boot
+        assertFalse(names.contains("paxlogging"));
+    }
+
+    @Test
+    public void testRuntimeProviderLoadVersionWithCaching() throws Exception {
+        CamelCatalog catalog = new DefaultCamelCatalog(true);
+        catalog.setVersionManager(new MavenVersionManager());
+        catalog.setRuntimeProvider(new SpringBootRuntimeProvider());
+
+        String version = "2.18.2";
+
+        boolean loaded = catalog.loadVersion(version);
+        assertTrue(loaded);
+
+        loaded = catalog.loadRuntimeProviderVersion(catalog.getRuntimeProvider().getProviderGroupId(), catalog.getRuntimeProvider().getProviderArtifactId(), version);
+        assertTrue(loaded);
+
+        assertEquals(version, catalog.getLoadedVersion());
+        assertEquals(version, catalog.getRuntimeProviderLoadedVersion());
+
+        List<String> names = catalog.findComponentNames();
+
+        assertTrue(names.contains("file"));
+        assertTrue(names.contains("ftp"));
+        assertTrue(names.contains("jms"));
+        // camel-ejb does not work in spring-boot
+        assertFalse(names.contains("ejb"));
+        // camel-pax-logging does not work in spring-boot
         assertFalse(names.contains("paxlogging"));
     }
 

http://git-wip-us.apache.org/repos/asf/camel/blob/e4751c9a/platforms/camel-catalog/src/main/java/org/apache/camel/catalog/CamelCatalog.java
----------------------------------------------------------------------
diff --git a/platforms/camel-catalog/src/main/java/org/apache/camel/catalog/CamelCatalog.java b/platforms/camel-catalog/src/main/java/org/apache/camel/catalog/CamelCatalog.java
index ca5f4f6..560861c 100644
--- a/platforms/camel-catalog/src/main/java/org/apache/camel/catalog/CamelCatalog.java
+++ b/platforms/camel-catalog/src/main/java/org/apache/camel/catalog/CamelCatalog.java
@@ -118,6 +118,9 @@ public interface CamelCatalog {
      * Maven repository to avoid internet access for offline environments.
      * <p/>
      * When loading a new version the cache will be invalidated.
+     * <p/>
+     * <b>Important:</b> When loading a new runtime provider version, then its strongly advised to
+     * load the same/corresponding version first using {@link #loadVersion(String)}.
      *
      * @param version  the Camel version such as <tt>2.17.1</tt>
      * @return <tt>true</tt> if the version was loaded, <tt>false</tt> if not.
@@ -140,6 +143,9 @@ public interface CamelCatalog {
      * Loading the runtime provider JAR of the given version of choice may require internet access
      * to download the JAR from Maven central. You can pre download the JAR and install in a local
      * Maven repository to avoid internet access for offline environments.
+     * <p/>
+     * <b>Important:</b> When loading a new runtime provider version, then its strongly advised to
+     * load the same/corresponding version first using {@link #loadVersion(String)}.
      *
      * @param groupId  the runtime provider Maven groupId
      * @param artifactId  the runtime provider Maven artifactId