You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicemix.apache.org by gn...@apache.org on 2008/03/27 18:09:56 UTC

svn commit: r641902 - in /servicemix/smx4/kernel/trunk/gshell/gshell-obr/src/main: java/org/apache/geronimo/gshell/obr/RefreshUrlCommand.java resources/META-INF/spring/gshell-obr.xml

Author: gnodet
Date: Thu Mar 27 10:09:49 2008
New Revision: 641902

URL: http://svn.apache.org/viewvc?rev=641902&view=rev
Log:
SMX4KNL-20: Command to refresh OBR repositories

Added:
    servicemix/smx4/kernel/trunk/gshell/gshell-obr/src/main/java/org/apache/geronimo/gshell/obr/RefreshUrlCommand.java
      - copied, changed from r641731, servicemix/smx4/kernel/trunk/gshell/gshell-obr/src/main/java/org/apache/geronimo/gshell/obr/ListUrlCommand.java
Modified:
    servicemix/smx4/kernel/trunk/gshell/gshell-obr/src/main/resources/META-INF/spring/gshell-obr.xml

Copied: servicemix/smx4/kernel/trunk/gshell/gshell-obr/src/main/java/org/apache/geronimo/gshell/obr/RefreshUrlCommand.java (from r641731, servicemix/smx4/kernel/trunk/gshell/gshell-obr/src/main/java/org/apache/geronimo/gshell/obr/ListUrlCommand.java)
URL: http://svn.apache.org/viewvc/servicemix/smx4/kernel/trunk/gshell/gshell-obr/src/main/java/org/apache/geronimo/gshell/obr/RefreshUrlCommand.java?p2=servicemix/smx4/kernel/trunk/gshell/gshell-obr/src/main/java/org/apache/geronimo/gshell/obr/RefreshUrlCommand.java&p1=servicemix/smx4/kernel/trunk/gshell/gshell-obr/src/main/java/org/apache/geronimo/gshell/obr/ListUrlCommand.java&r1=641731&r2=641902&rev=641902&view=diff
==============================================================================
--- servicemix/smx4/kernel/trunk/gshell/gshell-obr/src/main/java/org/apache/geronimo/gshell/obr/ListUrlCommand.java (original)
+++ servicemix/smx4/kernel/trunk/gshell/gshell-obr/src/main/java/org/apache/geronimo/gshell/obr/RefreshUrlCommand.java Thu Mar 27 10:09:49 2008
@@ -16,22 +16,36 @@
  */
 package org.apache.geronimo.gshell.obr;
 
+import java.net.URL;
+import java.util.List;
+
+import org.apache.geronimo.gshell.clp.Argument;
 import org.apache.geronimo.gshell.command.annotation.CommandComponent;
 import org.osgi.service.obr.Repository;
 import org.osgi.service.obr.RepositoryAdmin;
 
-@CommandComponent(id="obr:listUrl", description="Display the repository URLs currently associated with the repository service.")
-public class ListUrlCommand extends ObrCommandSupport {
+@CommandComponent(id="obr:refreshUrl", description="Refresh a list of repository URLs to the repository service")
+public class RefreshUrlCommand extends ObrCommandSupport {
+
+    @Argument(required = false, multiValued = true, description = "Repository URLs (leave empty for all)")
+    List<String> urls;
+
 
-    protected void doExecute(RepositoryAdmin admin) {
-        Repository[] repos = admin.listRepositories();
-        if ((repos != null) && (repos.length > 0)) {
-            for (int i = 0; i < repos.length; i++) {
-                io.out.println(repos[i].getURL());
-            }
-        } else {
-            io.out.println("No repository URLs are set.");
-        }
+    protected void doExecute(RepositoryAdmin admin) throws Exception {
+		if (urls != null || urls.isEmpty()) {
+			for (String url : urls) {
+				admin.removeRepository(new URL(url));
+				admin.addRepository(new URL(url));
+			}
+		} else {
+			Repository[] repos = admin.listRepositories();
+			if ((repos != null) && (repos.length > 0)) {
+				for (int i = 0; i < repos.length; i++) {
+					admin.removeRepository(repos[i].getURL());
+					admin.addRepository(repos[i].getURL());
+				}
+			}
+		}
     }
 
 }

Modified: servicemix/smx4/kernel/trunk/gshell/gshell-obr/src/main/resources/META-INF/spring/gshell-obr.xml
URL: http://svn.apache.org/viewvc/servicemix/smx4/kernel/trunk/gshell/gshell-obr/src/main/resources/META-INF/spring/gshell-obr.xml?rev=641902&r1=641901&r2=641902&view=diff
==============================================================================
--- servicemix/smx4/kernel/trunk/gshell/gshell-obr/src/main/resources/META-INF/spring/gshell-obr.xml (original)
+++ servicemix/smx4/kernel/trunk/gshell/gshell-obr/src/main/resources/META-INF/spring/gshell-obr.xml Thu Mar 27 10:09:49 2008
@@ -41,6 +41,8 @@
 
     <bean id="removeUrl" class="org.apache.geronimo.gshell.obr.RemoveUrlCommand" />
 
+    <bean id="refreshUrl" class="org.apache.geronimo.gshell.obr.RefreshUrlCommand" />
+
     <bean id="source" class="org.apache.geronimo.gshell.obr.SourceCommand" />
 
     <bean id="start" class="org.apache.geronimo.gshell.obr.StartCommand" />
@@ -84,6 +86,13 @@
       <osgi:service-properties>
         <entry key="shell" value="obr"/>
         <entry key="alias" value="removeUrl"/>
+      </osgi:service-properties>
+    </osgi:service>
+
+    <osgi:service ref="refreshUrl" interface="org.apache.geronimo.gshell.command.Command">
+      <osgi:service-properties>
+        <entry key="shell" value="obr"/>
+        <entry key="alias" value="refreshUrl"/>
       </osgi:service-properties>
     </osgi:service>