modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/BaseComponent.java | 13 +++- modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/ManagedASComponent.java | 7 -- modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/json/Address.java | 19 +++++++ modules/plugins/jboss-as-7/src/test/java/org/rhq/modules/plugins/jbossas7/PathHandlingTest.java | 27 ++++++++++ 4 files changed, 58 insertions(+), 8 deletions(-)
New commits: commit 9586f50ca5fa7b8ab9046ee50a29223c2a6d0608 Author: Heiko W. Rupp hwr@redhat.com Date: Thu Jan 26 12:09:16 2012 +0100
BZ 766284 - Follow the type renaming from the plugin descriptor to again correctly detect server state.
diff --git a/modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/ManagedASComponent.java b/modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/ManagedASComponent.java index 0352765..8fdb02e 100644 --- a/modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/ManagedASComponent.java +++ b/modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/ManagedASComponent.java @@ -18,13 +18,10 @@ */ package org.rhq.modules.plugins.jbossas7;
-import java.util.ArrayList; -import java.util.List;
import org.rhq.core.domain.measurement.AvailabilityType; import org.rhq.modules.plugins.jbossas7.json.Address; import org.rhq.modules.plugins.jbossas7.json.Operation; -import org.rhq.modules.plugins.jbossas7.json.PROPERTY_VALUE; import org.rhq.modules.plugins.jbossas7.json.ReadAttribute; import org.rhq.modules.plugins.jbossas7.json.Result;
@@ -44,13 +41,13 @@ public class ManagedASComponent extends BaseComponent { @Override public AvailabilityType getAvailability() {
- if (context.getResourceType().getName().equals("JBossAS7 Managed Server")) { + if (context.getResourceType().getName().equals("Managed Server")) { Address theAddress = new Address(); String host = pluginConfiguration.getSimpleValue("domainHost","local"); theAddress.add("host",host); theAddress.add("server-config", myServerName); Operation getStatus = new ReadAttribute(theAddress,"status"); - Result result = null; + Result result; try { result = connection.execute(getStatus); } catch (Exception e) {
commit 667e32201f8701e6e0ebf04e2b57ff5f1570505b Author: Heiko W. Rupp hwr@redhat.com Date: Thu Jan 26 11:38:30 2012 +0100
Add a getParent() method to addresses.
diff --git a/modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/json/Address.java b/modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/json/Address.java index 51fc3a2..ad0d6cf 100644 --- a/modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/json/Address.java +++ b/modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/json/Address.java @@ -195,4 +195,23 @@ public class Address { PROPERTY_VALUE property_value = path.get(n); return property_value.getKey() + "=" + property_value.getValue(); } + + /** + * Return the parent Address of the current one. That is the address with one + * path segment less. + * If the current address is empty (the root), an empty address is returned. + * @return parent Address + */ + public Address getParent() { + Address tmp = new Address(); + int l = path.size(); + if (l<1) + return tmp; + + for (int i = 0; i < l-1 ; i++) { + tmp.path.add(path.get(i)); + } + + return tmp; + } } diff --git a/modules/plugins/jboss-as-7/src/test/java/org/rhq/modules/plugins/jbossas7/PathHandlingTest.java b/modules/plugins/jboss-as-7/src/test/java/org/rhq/modules/plugins/jbossas7/PathHandlingTest.java index 113bc53..882d377 100644 --- a/modules/plugins/jboss-as-7/src/test/java/org/rhq/modules/plugins/jbossas7/PathHandlingTest.java +++ b/modules/plugins/jboss-as-7/src/test/java/org/rhq/modules/plugins/jbossas7/PathHandlingTest.java @@ -60,4 +60,31 @@ public class PathHandlingTest { assert a.size()==3 : "Size was not 3, but "+ a.size(); assert !a.isEmpty(); } + + public void getParent1() throws Exception { + String path = "subsystem=jms,profile=default,queue=foo"; + Address a = new Address(path); + Address b = a.getParent(); + assert b!=null; + assert b.size()==2; + assert b.get(0).equals("subsystem=jms"); + assert b.get(1).equals("profile=default"); + } + + public void getParent2() throws Exception { + Address a = new Address(); + Address b = a.getParent(); + assert b!=null; + assert b.isEmpty(); + assert b.size()==0; + } + + public void getParent3() throws Exception { + Address a = new Address("foo=bar"); + Address b = a.getParent(); + assert b!=null; + assert b.isEmpty(); + assert b.size()==0; + } + }
commit 12f4bb20d501b49093710dd9b86e28e884618989 Author: Heiko W. Rupp hwr@redhat.com Date: Wed Jan 25 13:10:45 2012 +0100
If the result is not a string, try to convert it accordingly.
diff --git a/modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/BaseComponent.java b/modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/BaseComponent.java index 3f03e52..e4fa0e4 100644 --- a/modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/BaseComponent.java +++ b/modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/BaseComponent.java @@ -168,14 +168,14 @@ public class BaseComponent<T extends ResourceComponent<?>> implements ResourceCo continue; }
- String val = (String) res.getResult(); + Object val = res.getResult(); if (val==null) // One of the AS7 ways of telling "This is not implemented" See also AS7-1454 continue;
if (req.getDataType()== DataType.MEASUREMENT) { if (!val.equals("no metrics available")) { // AS 7 returns this try { - Double d = Double.parseDouble(val); + Double d = Double.parseDouble((String)val); MeasurementDataNumeric data = new MeasurementDataNumeric(req,d); report.addData(data); } catch (NumberFormatException e) { @@ -183,7 +183,14 @@ public class BaseComponent<T extends ResourceComponent<?>> implements ResourceCo } } } else if (req.getDataType()== DataType.TRAIT) { - MeasurementDataTrait data = new MeasurementDataTrait(req,val); + + String realVal; + if (val instanceof String) + realVal = (String)val; + else + realVal = String.valueOf(val); + + MeasurementDataTrait data = new MeasurementDataTrait(req,realVal); report.addData(data); } }