[KARAF-858] Automatic refresh of OBR URLs.

git-svn-id: https://svn.apache.org/repos/asf/karaf/cave/trunk@1167038 
13f79535-47bb-0310-9956-ffa450edef68


Project: http://git-wip-us.apache.org/repos/asf/karaf-cave/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf-cave/commit/4fee9229
Tree: http://git-wip-us.apache.org/repos/asf/karaf-cave/tree/4fee9229
Diff: http://git-wip-us.apache.org/repos/asf/karaf-cave/diff/4fee9229

Branch: refs/heads/master
Commit: 4fee92296b068f07b208392e28bad491d361e29b
Parents: cd8a97c
Author: jbonofre <jbonofre@13f79535-47bb-0310-9956-ffa450edef68>
Authored: Fri Sep 9 08:34:39 2011 +0000
Committer: jbonofre <jbonofre@13f79535-47bb-0310-9956-ffa450edef68>
Committed: Fri Sep 9 08:34:39 2011 +0000

----------------------------------------------------------------------
 .../karaf/cave/server/command/CreateRepositoryCommand.java    | 2 +-
 .../karaf/cave/server/command/PopulateRepositoryCommand.java  | 5 ++++-
 .../karaf/cave/server/command/ProxyRepositoryCommand.java     | 7 +++++++
 .../karaf/cave/server/command/UploadArtifactCommand.java      | 7 +++++++
 .../karaf/cave/server/storage/CaveRepositoryServiceImpl.java  | 1 +
 5 files changed, 20 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/karaf-cave/blob/4fee9229/server/command/src/main/java/org/apache/karaf/cave/server/command/CreateRepositoryCommand.java
----------------------------------------------------------------------
diff --git 
a/server/command/src/main/java/org/apache/karaf/cave/server/command/CreateRepositoryCommand.java
 
b/server/command/src/main/java/org/apache/karaf/cave/server/command/CreateRepositoryCommand.java
index 937573c..b03c97a 100644
--- 
a/server/command/src/main/java/org/apache/karaf/cave/server/command/CreateRepositoryCommand.java
+++ 
b/server/command/src/main/java/org/apache/karaf/cave/server/command/CreateRepositoryCommand.java
@@ -34,7 +34,7 @@ public class CreateRepositoryCommand extends 
CaveRepositoryCommandSupport {
     boolean noUpdate = false;
 
     @Option(name = "-nr", aliases = {"--no-register"}, description = "Disable 
the registration of this Cave Repository in the OBR service", required = false, 
multiValued = false)
-    boolean noRegister;
+    boolean noRegister = false;
 
     @Argument(index = 0, name = "name", description = "The name of the Cave 
Repository", required = true, multiValued = false)
     String name = null;

http://git-wip-us.apache.org/repos/asf/karaf-cave/blob/4fee9229/server/command/src/main/java/org/apache/karaf/cave/server/command/PopulateRepositoryCommand.java
----------------------------------------------------------------------
diff --git 
a/server/command/src/main/java/org/apache/karaf/cave/server/command/PopulateRepositoryCommand.java
 
b/server/command/src/main/java/org/apache/karaf/cave/server/command/PopulateRepositoryCommand.java
index 87f15dd..8651b5f 100644
--- 
a/server/command/src/main/java/org/apache/karaf/cave/server/command/PopulateRepositoryCommand.java
+++ 
b/server/command/src/main/java/org/apache/karaf/cave/server/command/PopulateRepositoryCommand.java
@@ -29,7 +29,7 @@ import java.net.URL;
 @Command(scope = "cave", name = "populate-repository", description = "Populate 
a Karaf Cave repository with the artifacts present at the given URL")
 public class PopulateRepositoryCommand extends CaveRepositoryCommandSupport {
 
-    @Option(name = "-nu", aliases = { "--no-update" }, description = "Update 
the OBR metadata on the fly", required = false, multiValued = false)
+    @Option(name = "-nu", aliases = { "--no-update" }, description = "Not 
update the OBR metadata", required = false, multiValued = false)
     boolean noUpdate = false;
 
     @Argument(index = 0, name = "name", description = "The name of the Karaf 
Cave repository", required = true, multiValued = false)
@@ -41,6 +41,9 @@ public class PopulateRepositoryCommand extends 
CaveRepositoryCommandSupport {
     protected Object doExecute() throws Exception {
         CaveRepository repository = getExistingRepository(name);
         repository.populate(new URL(url), !noUpdate);
+        if (!noUpdate) {
+            getCaveRepositoryService().register(name);
+        }
         return null;
     }
 

http://git-wip-us.apache.org/repos/asf/karaf-cave/blob/4fee9229/server/command/src/main/java/org/apache/karaf/cave/server/command/ProxyRepositoryCommand.java
----------------------------------------------------------------------
diff --git 
a/server/command/src/main/java/org/apache/karaf/cave/server/command/ProxyRepositoryCommand.java
 
b/server/command/src/main/java/org/apache/karaf/cave/server/command/ProxyRepositoryCommand.java
index 77558a5..66cfc6b 100644
--- 
a/server/command/src/main/java/org/apache/karaf/cave/server/command/ProxyRepositoryCommand.java
+++ 
b/server/command/src/main/java/org/apache/karaf/cave/server/command/ProxyRepositoryCommand.java
@@ -18,6 +18,7 @@ package org.apache.karaf.cave.server.command;
 
 import org.apache.felix.gogo.commands.Argument;
 import org.apache.felix.gogo.commands.Command;
+import org.apache.felix.gogo.commands.Option;
 import org.apache.karaf.cave.server.api.CaveRepository;
 
 import java.net.URL;
@@ -34,9 +35,15 @@ public class ProxyRepositoryCommand extends 
CaveRepositoryCommandSupport {
     @Argument(index = 1, name = "URL", description = "The URL to proxy in the 
Karaf Cave repository", required = true, multiValued = false)
     String url = null;
 
+    @Option(name = "-nu", aliases = { "--no-update", "--no-refresh", 
"--no-register" }, description = "No refresh of the OBR URLs", required = 
false, multiValued = false)
+    boolean noUpdate = false;
+
     protected Object doExecute() throws Exception {
         CaveRepository repository = getExistingRepository(name);
         repository.proxy(new URL(url));
+        if (!noUpdate) {
+            getCaveRepositoryService().register(name);
+        }
         return null;
     }
 

http://git-wip-us.apache.org/repos/asf/karaf-cave/blob/4fee9229/server/command/src/main/java/org/apache/karaf/cave/server/command/UploadArtifactCommand.java
----------------------------------------------------------------------
diff --git 
a/server/command/src/main/java/org/apache/karaf/cave/server/command/UploadArtifactCommand.java
 
b/server/command/src/main/java/org/apache/karaf/cave/server/command/UploadArtifactCommand.java
index f3604d2..b61707e 100644
--- 
a/server/command/src/main/java/org/apache/karaf/cave/server/command/UploadArtifactCommand.java
+++ 
b/server/command/src/main/java/org/apache/karaf/cave/server/command/UploadArtifactCommand.java
@@ -18,6 +18,7 @@ package org.apache.karaf.cave.server.command;
 
 import org.apache.felix.gogo.commands.Argument;
 import org.apache.felix.gogo.commands.Command;
+import org.apache.felix.gogo.commands.Option;
 import org.apache.karaf.cave.server.api.CaveRepository;
 
 import java.net.URL;
@@ -34,9 +35,15 @@ public class UploadArtifactCommand extends 
CaveRepositoryCommandSupport {
     @Argument(index = 1, name = "artifact", description = "The URL of the 
artifact to upload", required = true, multiValued = false)
     String url = null;
 
+    @Option(name = "-nu", aliases = { "--no-update", "--no-refresh", 
"--no-register" }, description = "Not refresh the OBR repository service", 
required = false, multiValued = true)
+    boolean noUpdate = false;
+
     public Object doExecute() throws Exception {
         CaveRepository caveRepository = getExistingRepository(name);
         caveRepository.upload(new URL(url));
+        if (!noUpdate) {
+            getCaveRepositoryService().register(name);
+        }
         return null;
     }
 

http://git-wip-us.apache.org/repos/asf/karaf-cave/blob/4fee9229/server/storage/src/main/java/org/apache/karaf/cave/server/storage/CaveRepositoryServiceImpl.java
----------------------------------------------------------------------
diff --git 
a/server/storage/src/main/java/org/apache/karaf/cave/server/storage/CaveRepositoryServiceImpl.java
 
b/server/storage/src/main/java/org/apache/karaf/cave/server/storage/CaveRepositoryServiceImpl.java
index e9fef66..87fcec5 100644
--- 
a/server/storage/src/main/java/org/apache/karaf/cave/server/storage/CaveRepositoryServiceImpl.java
+++ 
b/server/storage/src/main/java/org/apache/karaf/cave/server/storage/CaveRepositoryServiceImpl.java
@@ -110,6 +110,7 @@ public class CaveRepositoryServiceImpl implements 
CaveRepositoryService {
 
     /**
      * Register a Karaf Cave repository in the OBR service.
+     * NB: this method allows refresh the repository in the OBR "client".
      *
      * @param name the name of the Karaf Cave repository.
      * @throws Exception in case of registration failure.

Reply via email to