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 2006/10/10 17:08:41 UTC
svn commit: r454773 - in
/incubator/servicemix/branches/servicemix-3.0/servicemix-core/src/main/java/org/apache/servicemix/jbi:
framework/ management/task/
Author: gnodet
Date: Tue Oct 10 08:08:40 2006
New Revision: 454773
URL: http://svn.apache.org/viewvc?view=rev&rev=454773
Log:
SM-701: Standardized the return of exceptions from the AdminCommandsService, also extended the ANT tasks to provide a deferExceptions settings which if set to true allows you to use the same semantics as the deploy/install directories.
Modified:
incubator/servicemix/branches/servicemix-3.0/servicemix-core/src/main/java/org/apache/servicemix/jbi/framework/AdminCommandsService.java
incubator/servicemix/branches/servicemix-3.0/servicemix-core/src/main/java/org/apache/servicemix/jbi/framework/AdminCommandsServiceMBean.java
incubator/servicemix/branches/servicemix-3.0/servicemix-core/src/main/java/org/apache/servicemix/jbi/management/task/DeployServiceAssemblyTask.java
incubator/servicemix/branches/servicemix-3.0/servicemix-core/src/main/java/org/apache/servicemix/jbi/management/task/InstallComponentTask.java
incubator/servicemix/branches/servicemix-3.0/servicemix-core/src/main/java/org/apache/servicemix/jbi/management/task/InstallSharedLibraryTask.java
Modified: incubator/servicemix/branches/servicemix-3.0/servicemix-core/src/main/java/org/apache/servicemix/jbi/framework/AdminCommandsService.java
URL: http://svn.apache.org/viewvc/incubator/servicemix/branches/servicemix-3.0/servicemix-core/src/main/java/org/apache/servicemix/jbi/framework/AdminCommandsService.java?view=diff&rev=454773&r1=454772&r2=454773
==============================================================================
--- incubator/servicemix/branches/servicemix-3.0/servicemix-core/src/main/java/org/apache/servicemix/jbi/framework/AdminCommandsService.java (original)
+++ incubator/servicemix/branches/servicemix-3.0/servicemix-core/src/main/java/org/apache/servicemix/jbi/framework/AdminCommandsService.java Tue Oct 10 08:08:40 2006
@@ -52,8 +52,9 @@
* @param file
* @return
*/
- public String installComponent(String file) throws Exception {
- return installComponent(file, null);
+ public String installComponent(String file, boolean deferExceptions)
+ throws Exception {
+ return installComponent(file, null, deferExceptions);
}
/**
@@ -65,10 +66,14 @@
* installation properties
* @return
*/
- public String installComponent(String file, Properties props)
- throws Exception {
+ public String installComponent(String file, Properties props,
+ boolean deferException) throws Exception {
try {
- container.getInstallationService().install(file, props, false);
+ if (deferException) {
+ container.updateExternalArchive(file);
+ } else {
+ container.getInstallationService().install(file, props, false);
+ }
return ManagementSupport.createSuccessMessage("installComponent",
file);
} catch (Exception e) {
@@ -96,9 +101,10 @@
boolean success = container.getInstallationService().unloadInstaller(
name, true);
if (success) {
- return success("uninstallComponent", name);
+ return ManagementSupport.createSuccessMessage("uninstallComponent",
+ name);
} else {
- return failure("uninstallComponent", name, null);
+ throw ManagementSupport.failure("uninstallComponent", name);
}
}
@@ -108,8 +114,16 @@
* @param file
* @return
*/
- public String installSharedLibrary(String file) throws Exception {
- return container.getInstallationService().installSharedLibrary(file);
+ public String installSharedLibrary(String file, boolean deferException)
+ throws Exception {
+ if (deferException) {
+ container.updateExternalArchive(file);
+ return ManagementSupport.createSuccessMessage(
+ "installSharedLibrary", file);
+ } else {
+ return container.getInstallationService()
+ .installSharedLibrary(file);
+ }
}
/**
@@ -147,9 +161,10 @@
boolean success = container.getInstallationService()
.uninstallSharedLibrary(name);
if (success) {
- return success("uninstallSharedLibrary", name);
+ return ManagementSupport.createSuccessMessage(
+ "uninstallSharedLibrary", name);
} else {
- return failure("uninstallSharedLibrary", name, null);
+ throw ManagementSupport.failure("uninstallSharedLibrary", name);
}
}
@@ -166,9 +181,10 @@
throw new JBIException("Component " + name + " not found");
}
lcc.start();
- return success("startComponent", name);
+ return ManagementSupport.createSuccessMessage("startComponent",
+ name);
} catch (JBIException e) {
- throw new RuntimeException(failure("startComponent", name, e));
+ throw ManagementSupport.failure("startComponent", name, e);
}
}
@@ -185,9 +201,10 @@
throw new JBIException("Component " + name + " not found");
}
lcc.stop();
- return success("stopComponent", name);
+ return ManagementSupport
+ .createSuccessMessage("stopComponent", name);
} catch (JBIException e) {
- throw new RuntimeException(failure("stopComponent", name, e));
+ throw ManagementSupport.failure("stopComponent", name, e);
}
}
@@ -204,9 +221,10 @@
throw new JBIException("Component " + name + " not found");
}
lcc.shutDown();
- return success("shutdownComponent", name);
+ return ManagementSupport.createSuccessMessage("shutdownComponent",
+ name);
} catch (JBIException e) {
- throw new RuntimeException(failure("shutdownComponent", name, e));
+ throw ManagementSupport.failure("shutdownComponent", name, e);
}
}
@@ -216,8 +234,15 @@
* @param file
* @return
*/
- public String deployServiceAssembly(String file) throws Exception {
- return container.getDeploymentService().deploy(file);
+ public String deployServiceAssembly(String file, boolean deferException)
+ throws Exception {
+ if (deferException) {
+ container.updateExternalArchive(file);
+ return ManagementSupport.createSuccessMessage(
+ "deployServiceAssembly", file);
+ } else {
+ return container.getDeploymentService().deploy(file);
+ }
}
/**
@@ -273,11 +298,10 @@
public String installArchive(String location) throws Exception {
try {
container.updateExternalArchive(location);
- return success("installArchive", location);
-
+ return ManagementSupport.createSuccessMessage("installComponent",
+ location);
} catch (Exception e) {
- throw new RuntimeException(failure("shutdownServiceAssembly",
- location, e));
+ throw ManagementSupport.failure("installComponent", location, e);
}
}
@@ -493,24 +517,6 @@
buffer.append("</service-assembly-info-list>");
return buffer.toString();
- }
-
- public String failure(String task, String location, Exception e) {
- ManagementSupport.Message msg = new ManagementSupport.Message();
- msg.setTask(task);
- msg.setResult("FAILED");
- msg.setType("ERROR");
- msg.setException(e);
- msg.setMessage(location);
- return ManagementSupport.createFrameworkMessage(msg, (List) null);
- }
-
- public String success(String task, String location) {
- ManagementSupport.Message msg = new ManagementSupport.Message();
- msg.setTask(task);
- msg.setMessage(location);
- msg.setResult("SUCCESS");
- return ManagementSupport.createFrameworkMessage(msg, (List) null);
}
public MBeanOperationInfo[] getOperationInfos() throws JMException {
Modified: incubator/servicemix/branches/servicemix-3.0/servicemix-core/src/main/java/org/apache/servicemix/jbi/framework/AdminCommandsServiceMBean.java
URL: http://svn.apache.org/viewvc/incubator/servicemix/branches/servicemix-3.0/servicemix-core/src/main/java/org/apache/servicemix/jbi/framework/AdminCommandsServiceMBean.java?view=diff&rev=454773&r1=454772&r2=454773
==============================================================================
--- incubator/servicemix/branches/servicemix-3.0/servicemix-core/src/main/java/org/apache/servicemix/jbi/framework/AdminCommandsServiceMBean.java (original)
+++ incubator/servicemix/branches/servicemix-3.0/servicemix-core/src/main/java/org/apache/servicemix/jbi/framework/AdminCommandsServiceMBean.java Tue Oct 10 08:08:40 2006
@@ -26,13 +26,13 @@
*/
public interface AdminCommandsServiceMBean extends LifeCycleMBean {
- String installComponent(String file) throws Exception;
+ String installComponent(String file, boolean deferException) throws Exception;
- String installComponent(String file,Properties properties) throws Exception;
+ String installComponent(String file,Properties properties, boolean deferException) throws Exception;
String uninstallComponent(String name) throws Exception;
- String installSharedLibrary(String file) throws Exception;
+ String installSharedLibrary(String file, boolean deferException) throws Exception;
String uninstallSharedLibrary(String name) throws Exception;
@@ -42,7 +42,7 @@
String shutdownComponent(String name) throws Exception;
- String deployServiceAssembly(String file) throws Exception;
+ String deployServiceAssembly(String file, boolean deferException) throws Exception;
String undeployServiceAssembly(String name) throws Exception;
Modified: incubator/servicemix/branches/servicemix-3.0/servicemix-core/src/main/java/org/apache/servicemix/jbi/management/task/DeployServiceAssemblyTask.java
URL: http://svn.apache.org/viewvc/incubator/servicemix/branches/servicemix-3.0/servicemix-core/src/main/java/org/apache/servicemix/jbi/management/task/DeployServiceAssemblyTask.java?view=diff&rev=454773&r1=454772&r2=454773
==============================================================================
--- incubator/servicemix/branches/servicemix-3.0/servicemix-core/src/main/java/org/apache/servicemix/jbi/management/task/DeployServiceAssemblyTask.java (original)
+++ incubator/servicemix/branches/servicemix-3.0/servicemix-core/src/main/java/org/apache/servicemix/jbi/management/task/DeployServiceAssemblyTask.java Tue Oct 10 08:08:40 2006
@@ -27,40 +27,53 @@
* @version $Revision$
*/
public class DeployServiceAssemblyTask extends JbiTask {
-
- private String file; //archivePath to install
-
- /**
- * @return Returns the archivePath.
- */
- public String getFile() {
- return file;
- }
- /**
- * @param file The archivePath to set.
- */
- public void setFile(String file) {
- this.file = file;
- }
-
- /**
- * execute the task
- * @throws BuildException
- */
- public void doExecute(AdminCommandsServiceMBean acs) throws Exception {
- if (file == null){
- throw new BuildException("null file - file should be an archive");
- }
- if (!file.endsWith(".zip") && !file.endsWith(".jar")) {
- throw new BuildException("file: " + file + " is not an archive");
- }
- File archive = new File(file);
- String location = archive.getAbsolutePath();
- if (!archive.isFile()) {
- // if it's not a file, assume it's a url and pass it along
- location = file;
- }
- acs.deployServiceAssembly(location);
- }
-
+
+ private String file; // archivePath to install
+
+ private boolean deferExceptions = false;
+
+ public boolean isDeferExceptions() {
+ return deferExceptions;
+ }
+
+ public void setDeferExceptions(boolean deferExceptions) {
+ this.deferExceptions = deferExceptions;
+ }
+
+ /**
+ * @return Returns the archivePath.
+ */
+ public String getFile() {
+ return file;
+ }
+
+ /**
+ * @param file
+ * The archivePath to set.
+ */
+ public void setFile(String file) {
+ this.file = file;
+ }
+
+ /**
+ * execute the task
+ *
+ * @throws BuildException
+ */
+ public void doExecute(AdminCommandsServiceMBean acs) throws Exception {
+ if (file == null) {
+ throw new BuildException("null file - file should be an archive");
+ }
+ if (!file.endsWith(".zip") && !file.endsWith(".jar")) {
+ throw new BuildException("file: " + file + " is not an archive");
+ }
+ File archive = new File(file);
+ String location = archive.getAbsolutePath();
+ if (!archive.isFile()) {
+ // if it's not a file, assume it's a url and pass it along
+ location = file;
+ }
+ acs.deployServiceAssembly(location, deferExceptions);
+ }
+
}
Modified: incubator/servicemix/branches/servicemix-3.0/servicemix-core/src/main/java/org/apache/servicemix/jbi/management/task/InstallComponentTask.java
URL: http://svn.apache.org/viewvc/incubator/servicemix/branches/servicemix-3.0/servicemix-core/src/main/java/org/apache/servicemix/jbi/management/task/InstallComponentTask.java?view=diff&rev=454773&r1=454772&r2=454773
==============================================================================
--- incubator/servicemix/branches/servicemix-3.0/servicemix-core/src/main/java/org/apache/servicemix/jbi/management/task/InstallComponentTask.java (original)
+++ incubator/servicemix/branches/servicemix-3.0/servicemix-core/src/main/java/org/apache/servicemix/jbi/management/task/InstallComponentTask.java Tue Oct 10 08:08:40 2006
@@ -33,90 +33,111 @@
* @version $Revision$
*/
public class InstallComponentTask extends JbiTask {
-
- private String file; //file to install
- private String paramsFile;
- private List nestedParams;
-
- /**
- * @return Returns the file.
- */
- public String getFile() {
- return file;
- }
- /**
- * @param file The file to set.
- */
- public void setFile(String file) {
- this.file = file;
- }
-
- public String getParams() {
- return paramsFile;
- }
- public void setParams(String paramsFile) {
- this.paramsFile = paramsFile;
- }
-
- public Param createParam() {
- Param p = new Param();
- if (nestedParams == null) {
- nestedParams = new ArrayList();
- }
- nestedParams.add(p);
- return p;
- }
-
- /**
- * execute the task
- * @throws BuildException
- */
- public void doExecute(AdminCommandsServiceMBean acs) throws Exception {
- if (file == null){
- throw new BuildException("null file - file should be an archive");
- }
- if (!file.endsWith(".zip") && !file.endsWith(".jar")) {
- throw new BuildException("file: " + file + " is not an archive");
- }
- File archive = new File(file);
- String location = archive.getAbsolutePath();
- if (!archive.isFile()) {
- // if it's not a file, assume it's a url and pass it along
- location = file;
- }
- Properties props = getProperties();
- acs.installComponent(location, props);
- }
-
- private Properties getProperties() throws IOException {
- Properties props = new Properties();
- if (paramsFile != null) {
- props.load(new FileInputStream(paramsFile));
- }
- if (nestedParams != null) {
- for (Iterator iter = nestedParams.iterator(); iter.hasNext();) {
- Param p = (Param) iter.next();
- props.setProperty(p.getName(), p.getValue());
- }
- }
- return props;
- }
-
- public static class Param {
- private String name;
- private String value;
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- public String getValue() {
- return value;
- }
- public void setValue(String value) {
- this.value = value;
- }
- }
-
+
+ private String file; // file to install
+
+ private String paramsFile;
+
+ private List nestedParams;
+
+ private boolean deferExceptions = false;
+
+ public boolean isDeferExceptions() {
+ return deferExceptions;
+ }
+
+ public void setDeferExceptions(boolean deferExceptions) {
+ this.deferExceptions = deferExceptions;
+ }
+
+ /**
+ * @return Returns the file.
+ */
+ public String getFile() {
+ return file;
+ }
+
+ /**
+ * @param file
+ * The file to set.
+ */
+ public void setFile(String file) {
+ this.file = file;
+ }
+
+ public String getParams() {
+ return paramsFile;
+ }
+
+ public void setParams(String paramsFile) {
+ this.paramsFile = paramsFile;
+ }
+
+ public Param createParam() {
+ Param p = new Param();
+ if (nestedParams == null) {
+ nestedParams = new ArrayList();
+ }
+ nestedParams.add(p);
+ return p;
+ }
+
+ /**
+ * execute the task
+ *
+ * @throws BuildException
+ */
+ public void doExecute(AdminCommandsServiceMBean acs) throws Exception {
+ if (file == null) {
+ throw new BuildException("null file - file should be an archive");
+ }
+ if (!file.endsWith(".zip") && !file.endsWith(".jar")) {
+ throw new BuildException("file: " + file + " is not an archive");
+ }
+ File archive = new File(file);
+ String location = archive.getAbsolutePath();
+ if (!archive.isFile()) {
+ // if it's not a file, assume it's a url and pass it along
+ location = file;
+ }
+ Properties props = getProperties();
+ acs.installComponent(location, props, deferExceptions);
+ }
+
+ private Properties getProperties() throws IOException {
+ Properties props = new Properties();
+ if (paramsFile != null) {
+ props.load(new FileInputStream(paramsFile));
+ }
+ if (nestedParams != null) {
+ for (Iterator iter = nestedParams.iterator(); iter.hasNext();) {
+ Param p = (Param) iter.next();
+ props.setProperty(p.getName(), p.getValue());
+ }
+ }
+ return props;
+ }
+
+ public static class Param {
+ private String name;
+
+ private String value;
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getValue() {
+ return value;
+ }
+
+ public void setValue(String value) {
+ this.value = value;
+ }
+ }
+
}
Modified: incubator/servicemix/branches/servicemix-3.0/servicemix-core/src/main/java/org/apache/servicemix/jbi/management/task/InstallSharedLibraryTask.java
URL: http://svn.apache.org/viewvc/incubator/servicemix/branches/servicemix-3.0/servicemix-core/src/main/java/org/apache/servicemix/jbi/management/task/InstallSharedLibraryTask.java?view=diff&rev=454773&r1=454772&r2=454773
==============================================================================
--- incubator/servicemix/branches/servicemix-3.0/servicemix-core/src/main/java/org/apache/servicemix/jbi/management/task/InstallSharedLibraryTask.java (original)
+++ incubator/servicemix/branches/servicemix-3.0/servicemix-core/src/main/java/org/apache/servicemix/jbi/management/task/InstallSharedLibraryTask.java Tue Oct 10 08:08:40 2006
@@ -23,43 +23,57 @@
/**
* Install a shared library
+ *
* @version $Revision: 359151 $
*/
public class InstallSharedLibraryTask extends JbiTask {
-
- private String file; //shared library URI to install
-
- /**
- * @return Returns the file.
- */
- public String getFile() {
- return file;
- }
- /**
- * @param file The shared library URI to set.
- */
- public void setFile(String file) {
- this.file = file;
- }
-
- /**
- * execute the task
- * @throws BuildException
- */
- public void doExecute(AdminCommandsServiceMBean acs) throws Exception {
- if (file == null){
- throw new BuildException("null file - file should be an archive");
- }
- if (!file.endsWith(".zip") && !file.endsWith(".jar")) {
- throw new BuildException("file: " + file + " is not an archive");
- }
- File archive = new File(file);
- String location = archive.getAbsolutePath();
- if (!archive.isFile()) {
- // if it's not a file, assume it's a url and pass it along
- location = file;
- }
- acs.installSharedLibrary(location);
- }
-
+
+ private String file; // shared library URI to install
+
+ private boolean deferExceptions = false;
+
+ public boolean isDeferExceptions() {
+ return deferExceptions;
+ }
+
+ public void setDeferExceptions(boolean deferExceptions) {
+ this.deferExceptions = deferExceptions;
+ }
+
+ /**
+ * @return Returns the file.
+ */
+ public String getFile() {
+ return file;
+ }
+
+ /**
+ * @param file
+ * The shared library URI to set.
+ */
+ public void setFile(String file) {
+ this.file = file;
+ }
+
+ /**
+ * execute the task
+ *
+ * @throws BuildException
+ */
+ public void doExecute(AdminCommandsServiceMBean acs) throws Exception {
+ if (file == null) {
+ throw new BuildException("null file - file should be an archive");
+ }
+ if (!file.endsWith(".zip") && !file.endsWith(".jar")) {
+ throw new BuildException("file: " + file + " is not an archive");
+ }
+ File archive = new File(file);
+ String location = archive.getAbsolutePath();
+ if (!archive.isFile()) {
+ // if it's not a file, assume it's a url and pass it along
+ location = file;
+ }
+ acs.installSharedLibrary(location, deferExceptions);
+ }
+
}