[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.
