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