Author: jbonofre
Date: Wed Nov  9 23:35:30 2011
New Revision: 1200039

URL: http://svn.apache.org/viewvc?rev=1200039&view=rev
Log:
[KARAF-974] Tightening up of cave:remove-repository and 
cave:register-repository commands

Modified:
    
karaf/cave/trunk/server/command/src/main/java/org/apache/karaf/cave/server/command/CreateRepositoryCommand.java
    
karaf/cave/trunk/server/command/src/main/java/org/apache/karaf/cave/server/command/RemoveRepositoryCommand.java
    
karaf/cave/trunk/server/storage/src/main/java/org/apache/karaf/cave/server/storage/CaveRepositoryServiceImpl.java

Modified: 
karaf/cave/trunk/server/command/src/main/java/org/apache/karaf/cave/server/command/CreateRepositoryCommand.java
URL: 
http://svn.apache.org/viewvc/karaf/cave/trunk/server/command/src/main/java/org/apache/karaf/cave/server/command/CreateRepositoryCommand.java?rev=1200039&r1=1200038&r2=1200039&view=diff
==============================================================================
--- 
karaf/cave/trunk/server/command/src/main/java/org/apache/karaf/cave/server/command/CreateRepositoryCommand.java
 (original)
+++ 
karaf/cave/trunk/server/command/src/main/java/org/apache/karaf/cave/server/command/CreateRepositoryCommand.java
 Wed Nov  9 23:35:30 2011
@@ -30,10 +30,10 @@ public class CreateRepositoryCommand ext
     @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)

Modified: 
karaf/cave/trunk/server/command/src/main/java/org/apache/karaf/cave/server/command/RemoveRepositoryCommand.java
URL: 
http://svn.apache.org/viewvc/karaf/cave/trunk/server/command/src/main/java/org/apache/karaf/cave/server/command/RemoveRepositoryCommand.java?rev=1200039&r1=1200038&r2=1200039&view=diff
==============================================================================
--- 
karaf/cave/trunk/server/command/src/main/java/org/apache/karaf/cave/server/command/RemoveRepositoryCommand.java
 (original)
+++ 
karaf/cave/trunk/server/command/src/main/java/org/apache/karaf/cave/server/command/RemoveRepositoryCommand.java
 Wed Nov  9 23:35:30 2011
@@ -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)

Modified: 
karaf/cave/trunk/server/storage/src/main/java/org/apache/karaf/cave/server/storage/CaveRepositoryServiceImpl.java
URL: 
http://svn.apache.org/viewvc/karaf/cave/trunk/server/storage/src/main/java/org/apache/karaf/cave/server/storage/CaveRepositoryServiceImpl.java?rev=1200039&r1=1200038&r2=1200039&view=diff
==============================================================================
--- 
karaf/cave/trunk/server/storage/src/main/java/org/apache/karaf/cave/server/storage/CaveRepositoryServiceImpl.java
 (original)
+++ 
karaf/cave/trunk/server/storage/src/main/java/org/apache/karaf/cave/server/storage/CaveRepositoryServiceImpl.java
 Wed Nov  9 23:35:30 2011
@@ -90,7 +90,10 @@ public class CaveRepositoryServiceImpl i
     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 i
      */
     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.");
+        }
     }
 
     /**


Reply via email to