modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/DeploymentComponent.java | 53 ++++++++++ modules/plugins/jboss-as-7/src/main/resources/META-INF/rhq-plugin.xml | 18 ++- 2 files changed, 68 insertions(+), 3 deletions(-)
New commits: commit c862b9c470fe112c39f73215f807c39b1de034b6 Author: Heiko W. Rupp hwr@redhat.com Date: Tue Jan 24 22:11:07 2012 +0100
BZ 783507 - allow to enable/disable deployments on server-group level. Availability follows enabled state.
diff --git a/modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/DeploymentComponent.java b/modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/DeploymentComponent.java new file mode 100644 index 0000000..56eee84 --- /dev/null +++ b/modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/DeploymentComponent.java @@ -0,0 +1,53 @@ +package org.rhq.modules.plugins.jbossas7; + +import org.rhq.core.domain.configuration.Configuration; +import org.rhq.core.domain.measurement.AvailabilityType; +import org.rhq.core.pluginapi.operation.OperationFacet; +import org.rhq.core.pluginapi.operation.OperationResult; +import org.rhq.modules.plugins.jbossas7.json.Operation; +import org.rhq.modules.plugins.jbossas7.json.ReadAttribute; +import org.rhq.modules.plugins.jbossas7.json.Result; + +/** + * Deal with deployments + * @author Heiko W. Rupp + */ +public class DeploymentComponent extends BaseComponent implements OperationFacet{ + + @Override + public AvailabilityType getAvailability() { + Operation op = new ReadAttribute(getAddress(),"enabled"); + Result res = getASConnection().execute(op); + if (!res.isSuccess()) + return AvailabilityType.DOWN; + + if (!(Boolean)(res.getResult())) + return AvailabilityType.DOWN; + + return AvailabilityType.UP; + } + + @Override + public OperationResult invokeOperation(String name, + Configuration parameters) throws InterruptedException, Exception { + + String action; + if (name.equals("enable")) { + action = "deploy"; + } else if (name.equals("disable")) { + action = "undeploy"; + } else { + return super.invokeOperation(name, parameters); + } + + Operation op = new Operation(action,getAddress()); + Result res = getASConnection().execute(op); + OperationResult result = new OperationResult(); + if (res.isSuccess()) + result.setSimpleResult("Success"); + else + result.setErrorMessage(res.getFailureDescription()); + + return result; + } +} diff --git a/modules/plugins/jboss-as-7/src/main/resources/META-INF/rhq-plugin.xml b/modules/plugins/jboss-as-7/src/main/resources/META-INF/rhq-plugin.xml index f80ac3c..b044848 100644 --- a/modules/plugins/jboss-as-7/src/main/resources/META-INF/rhq-plugin.xml +++ b/modules/plugins/jboss-as-7/src/main/resources/META-INF/rhq-plugin.xml @@ -141,7 +141,7 @@ <operation name="managed-server:remove" displayName="Remove managed server" description="Remove a managed server"> <parameters> <c:simple-property name="servername" displayName="Name of the server to remove" required="true"> - <c:option-source target="resource" expression="type=JBossAS7 Managed Server"/> + <c:option-source target="resource" expression="type=Managed Server"/> </c:simple-property> <c:simple-property name="hostname" displayName="Name of the host where the server is on" required="true"> <c:option-source target="resource" expression="type=^Host$ plugin=jboss-as-7"/> @@ -563,7 +563,7 @@ description="Information about the underlying JVM" singleton="true"> <runs-inside> - <parent-resource-type name="JBossAS7 Managed Server" plugin="jboss-as-7"/> + <parent-resource-type name="Managed Server" plugin="jboss-as-7"/> <parent-resource-type name="JBossAS7 Standalone Server" plugin="jboss-as-7"/> </runs-inside>
@@ -2126,7 +2126,7 @@ working area for individual server instances</li></ul>"/> </service>
<service name="Deployment" - class="BaseComponent" + class="DeploymentComponent" discovery="SubsystemDiscovery" createDeletePolicy="both" creationDataType="content"> @@ -2135,11 +2135,23 @@ working area for individual server instances</li></ul>"/> <runs-inside> <parent-resource-type name="ServerGroup" plugin="jboss-as-7"/> <parent-resource-type name="JBossAS7 Standalone Server" plugin="jboss-as-7"/> + <parent-resource-type name="Managed Server" plugin="jboss-as-7"/> </runs-inside> <plugin-configuration> <c:simple-property name="path" default="deployment" readOnly="true"/> </plugin-configuration>
+ <operation name="enable"> + <results> + <c:simple-property name="operationResult"/> + </results> + </operation> + <operation name="disable"> + <results> + <c:simple-property name="operationResult"/> + </results> + </operation> + <content name="file" category="deployable" isCreationType="true" description="Deployments on this server group"> <configuration> <c:group name="deployment" displayName="Deployment Options">
rhq-commits@lists.fedorahosted.org