Repository: karaf
Updated Branches:
  refs/heads/karaf-2.x 744b4ce4b -> 4bc28ef91


AdminServiceMBean now exposes methods that allow passing the InstanceSettings.


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

Branch: refs/heads/karaf-2.x
Commit: 4bc28ef916ea2f44094524070740030167be9a1f
Parents: 744b4ce
Author: Ioannis Canellos <[email protected]>
Authored: Tue Jul 29 15:49:08 2014 +0300
Committer: Guillaume Nodet <[email protected]>
Committed: Mon Sep 1 09:10:13 2014 +0200

----------------------------------------------------------------------
 .../java/org/apache/karaf/admin/InstanceSettings.java  |  3 ++-
 .../karaf/admin/management/AdminServiceMBean.java      |  4 ++++
 .../management/internal/AdminServiceMBeanImpl.java     | 13 +++++++++++++
 3 files changed, 19 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/karaf/blob/4bc28ef9/admin/core/src/main/java/org/apache/karaf/admin/InstanceSettings.java
----------------------------------------------------------------------
diff --git 
a/admin/core/src/main/java/org/apache/karaf/admin/InstanceSettings.java 
b/admin/core/src/main/java/org/apache/karaf/admin/InstanceSettings.java
index f6fc500..deac7e0 100644
--- a/admin/core/src/main/java/org/apache/karaf/admin/InstanceSettings.java
+++ b/admin/core/src/main/java/org/apache/karaf/admin/InstanceSettings.java
@@ -16,6 +16,7 @@
  */
 package org.apache.karaf.admin;
 
+import java.io.Serializable;
 import java.net.URL;
 import java.util.ArrayList;
 import java.util.Collections;
@@ -23,7 +24,7 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-public class InstanceSettings {
+public class InstanceSettings implements Serializable {
     private final int sshPort;
     private final int rmiRegistryPort;
     private final int rmiServerPort;

http://git-wip-us.apache.org/repos/asf/karaf/blob/4bc28ef9/admin/management/src/main/java/org/apache/karaf/admin/management/AdminServiceMBean.java
----------------------------------------------------------------------
diff --git 
a/admin/management/src/main/java/org/apache/karaf/admin/management/AdminServiceMBean.java
 
b/admin/management/src/main/java/org/apache/karaf/admin/management/AdminServiceMBean.java
index f11d053..1d1f620 100644
--- 
a/admin/management/src/main/java/org/apache/karaf/admin/management/AdminServiceMBean.java
+++ 
b/admin/management/src/main/java/org/apache/karaf/admin/management/AdminServiceMBean.java
@@ -16,6 +16,8 @@
  */
 package org.apache.karaf.admin.management;
 
+import org.apache.karaf.admin.InstanceSettings;
+
 import javax.management.openmbean.TabularData;
 
 public interface AdminServiceMBean {
@@ -34,6 +36,7 @@ public interface AdminServiceMBean {
             INSTANCE_RMI_SERVER_PORT, INSTANCE_STATE, INSTANCE_LOCATION, 
INSTANCE_JAVAOPTS };
 
     // Operations
+    int createInstance(String name, InstanceSettings settings) throws 
Exception;
     int createInstance(String name, int sshPort, int rmiRegistryPort, int 
rmiServerPort, String location, String javaOpts, String features, String 
featureURLs) throws Exception;
     int createInstance(String name, int sshPort, int rmiRegistryPort, int 
rmiServerPort, String location, String javaOpts, String features, String 
featureURLs, String address) throws Exception;
     void changeSshPort(String name, int port) throws Exception;
@@ -47,6 +50,7 @@ public interface AdminServiceMBean {
     void startInstance(String name, String opts, boolean wait) throws 
Exception;
     void stopInstance(String name) throws Exception;
     void renameInstance(String originalName, String newName) throws Exception;
+    void cloneInstance(String name, String cloneName, InstanceSettings 
settings) throws Exception;
     void cloneInstance(String name, String cloneName, int sshPort, int 
rmiRegistryPort, int rmiServerPort, String location, String javaOpts) throws 
Exception;
 
     // Attributes

http://git-wip-us.apache.org/repos/asf/karaf/blob/4bc28ef9/admin/management/src/main/java/org/apache/karaf/admin/management/internal/AdminServiceMBeanImpl.java
----------------------------------------------------------------------
diff --git 
a/admin/management/src/main/java/org/apache/karaf/admin/management/internal/AdminServiceMBeanImpl.java
 
b/admin/management/src/main/java/org/apache/karaf/admin/management/internal/AdminServiceMBeanImpl.java
index 5ab40c7..b184307 100644
--- 
a/admin/management/src/main/java/org/apache/karaf/admin/management/internal/AdminServiceMBeanImpl.java
+++ 
b/admin/management/src/main/java/org/apache/karaf/admin/management/internal/AdminServiceMBeanImpl.java
@@ -48,6 +48,15 @@ public class AdminServiceMBeanImpl extends StandardMBean 
implements AdminService
         this.adminService = adminService;
     }
 
+    public int createInstance(String name, InstanceSettings settings) throws 
Exception {
+        Instance inst = adminService.createInstance(name, settings);
+        if (inst != null) {
+            return inst.getPid();
+        } else {
+            return -1;
+        }
+    }
+
     public int createInstance(String name, int sshPort, int rmiRegistryPort, 
int rmiServerPort, String location, String javaOpts, String features, String 
featureURLs)
             throws Exception {
         return this.createInstance(name, sshPort, rmiRegistryPort, 
rmiServerPort, location, javaOpts, features, featureURLs, "0.0.0.0");
@@ -131,6 +140,10 @@ public class AdminServiceMBeanImpl extends StandardMBean 
implements AdminService
         adminService.renameInstance(originalName, newName);
     }
 
+    public void cloneInstance(String name, String cloneName, InstanceSettings 
settings) throws Exception {
+        adminService.cloneInstance(name, cloneName, settings);
+    }
+
     public void cloneInstance(String name, String cloneName, int sshPort, int 
rmiRegistryPort, int rmiServerPort, String location, String javaOpts) throws 
Exception {
         if ("".equals(location)) {
             location = null;

Reply via email to