Repository: camel
Updated Branches:
  refs/heads/master e39cdf5f6 -> 56eb9fe50


CAMEL-9729: Camel catalog - Allow to query older versions


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

Branch: refs/heads/master
Commit: 56eb9fe50909ab015c07ae08ec2e5b73be21b2eb
Parents: e39cdf5
Author: Claus Ibsen <davscl...@apache.org>
Authored: Sun Jun 26 14:04:18 2016 +0200
Committer: Claus Ibsen <davscl...@apache.org>
Committed: Sun Jun 26 14:04:18 2016 +0200

----------------------------------------------------------------------
 .../main/java/org/apache/camel/catalog/CamelCatalog.java    | 2 ++
 .../java/org/apache/camel/catalog/DefaultCamelCatalog.java  | 9 ++++++++-
 2 files changed, 10 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/56eb9fe5/platforms/catalog/src/main/java/org/apache/camel/catalog/CamelCatalog.java
----------------------------------------------------------------------
diff --git 
a/platforms/catalog/src/main/java/org/apache/camel/catalog/CamelCatalog.java 
b/platforms/catalog/src/main/java/org/apache/camel/catalog/CamelCatalog.java
index 944e63d..a207203 100644
--- a/platforms/catalog/src/main/java/org/apache/camel/catalog/CamelCatalog.java
+++ b/platforms/catalog/src/main/java/org/apache/camel/catalog/CamelCatalog.java
@@ -72,6 +72,8 @@ public interface CamelCatalog {
      * Loading the camel-catalog 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/>
+     * When loading a new version the cache will be invalidated.
      *
      * @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.

http://git-wip-us.apache.org/repos/asf/camel/blob/56eb9fe5/platforms/catalog/src/main/java/org/apache/camel/catalog/DefaultCamelCatalog.java
----------------------------------------------------------------------
diff --git 
a/platforms/catalog/src/main/java/org/apache/camel/catalog/DefaultCamelCatalog.java
 
b/platforms/catalog/src/main/java/org/apache/camel/catalog/DefaultCamelCatalog.java
index becac72..2ee7044 100644
--- 
a/platforms/catalog/src/main/java/org/apache/camel/catalog/DefaultCamelCatalog.java
+++ 
b/platforms/catalog/src/main/java/org/apache/camel/catalog/DefaultCamelCatalog.java
@@ -153,7 +153,14 @@ public class DefaultCamelCatalog implements CamelCatalog {
 
     @Override
     public boolean loadVersion(String version) {
-        return versionManager.loadVersion(version);
+        if (version.equals(versionManager.getLoadedVersion())) {
+            return true;
+        } else if (versionManager.loadVersion(version)) {
+            // invalidate existing cache if we loaded a new version
+            cache.clear();
+            return true;
+        }
+        return false;
     }
 
     @Override

Reply via email to