[KARAF-974] Tightening up of cave:remove-repository and cave:register-repository commands
git-svn-id: https://svn.apache.org/repos/asf/karaf/cave/trunk@1200039 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/447cebbe Tree: http://git-wip-us.apache.org/repos/asf/karaf-cave/tree/447cebbe Diff: http://git-wip-us.apache.org/repos/asf/karaf-cave/diff/447cebbe Branch: refs/heads/master Commit: 447cebbe9ab88c325a7275860c8917bdb24cdb99 Parents: f883b7e Author: jbonofre <jbonofre@13f79535-47bb-0310-9956-ffa450edef68> Authored: Wed Nov 9 23:35:30 2011 +0000 Committer: jbonofre <jbonofre@13f79535-47bb-0310-9956-ffa450edef68> Committed: Wed Nov 9 23:35:30 2011 +0000 ---------------------------------------------------------------------- .../karaf/cave/server/command/CreateRepositoryCommand.java | 4 ++-- .../karaf/cave/server/command/RemoveRepositoryCommand.java | 2 ++ .../cave/server/storage/CaveRepositoryServiceImpl.java | 9 ++++++++- 3 files changed, 12 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/karaf-cave/blob/447cebbe/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 b03c97a..425900d 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 @@ -30,10 +30,10 @@ public class CreateRepositoryCommand extends CaveRepositoryCommandSupport { @Option(name = "-l", aliases = {"--location"}, description = "Location of the new Cave Repository on the file system", required = false, multiValued = false) String location; - @Option(name = "-nu", aliases = {"--no-update"}, description = "Disable the OBR metadata generation at creation time", required = false, multiValued = false) + @Option(name = "-nu", aliases = {"--no-update"}, description = "Omit generating OBR metadata during creation", required = false, multiValued = false) 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) + @Option(name = "-nr", aliases = {"--no-register"}, description = "Do not register the Cave repository within the OBR service", required = false, multiValued = false) boolean noRegister = false; @Argument(index = 0, name = "name", description = "The name of the Cave Repository", required = true, multiValued = false) http://git-wip-us.apache.org/repos/asf/karaf-cave/blob/447cebbe/server/command/src/main/java/org/apache/karaf/cave/server/command/RemoveRepositoryCommand.java ---------------------------------------------------------------------- diff --git a/server/command/src/main/java/org/apache/karaf/cave/server/command/RemoveRepositoryCommand.java b/server/command/src/main/java/org/apache/karaf/cave/server/command/RemoveRepositoryCommand.java index 73504fc..8111449 100644 --- a/server/command/src/main/java/org/apache/karaf/cave/server/command/RemoveRepositoryCommand.java +++ b/server/command/src/main/java/org/apache/karaf/cave/server/command/RemoveRepositoryCommand.java @@ -17,10 +17,12 @@ package org.apache.karaf.cave.server.command; import org.apache.felix.gogo.commands.Argument; +import org.apache.felix.gogo.commands.Command; /** * Remove a Karaf Cave repository from the repositories registry. */ +@Command(scope = "cave", name = "remove-repository", description = "Remove a Karaf Cave repository from the Cave repository list") public class RemoveRepositoryCommand extends CaveRepositoryCommandSupport { @Argument(index = 0, name = "name", description = "The Karaf Cave repository name", required = true, multiValued = false) http://git-wip-us.apache.org/repos/asf/karaf-cave/blob/447cebbe/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 312f7ae..e216fc9 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 @@ -90,7 +90,10 @@ public class CaveRepositoryServiceImpl implements CaveRepositoryService { public synchronized void remove(String name) throws Exception { CaveRepository repository = this.getRepository(name); if (repository != null) { + repositoryAdmin.removeRepository(repository.getRepositoryXml().toString()); repositories.remove(name); + } else { + throw new IllegalArgumentException("Cave repository " + name + " not found."); } } @@ -103,7 +106,11 @@ public class CaveRepositoryServiceImpl implements CaveRepositoryService { */ public synchronized void register(String name) throws Exception { CaveRepository caveRepository = this.getRepository(name); - repositoryAdmin.addRepository(caveRepository.getRepositoryXml()); + if (caveRepository != null) { + repositoryAdmin.addRepository(caveRepository.getRepositoryXml()); + } else { + throw new IllegalArgumentException("Cave repository " + name + " not found."); + } } /**
