[jboss-cvs] JBossAS SVN: r69720 - trunk/profileservice/src/main/org/jboss/profileservice/management.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Fri Feb 8 01:00:07 EST 2008
Author: scott.stark at jboss.org
Date: 2008-02-08 01:00:07 -0500 (Fri, 08 Feb 2008)
New Revision: 69720
Modified:
trunk/profileservice/src/main/org/jboss/profileservice/management/ManagementViewImpl.java
trunk/profileservice/src/main/org/jboss/profileservice/management/messages.properties
Log:
JBAS-5179, scan the ManagedPropertys of the template to find the ids to correct the ManagedObject names.
Modified: trunk/profileservice/src/main/org/jboss/profileservice/management/ManagementViewImpl.java
===================================================================
--- trunk/profileservice/src/main/org/jboss/profileservice/management/ManagementViewImpl.java 2008-02-08 05:57:58 UTC (rev 69719)
+++ trunk/profileservice/src/main/org/jboss/profileservice/management/ManagementViewImpl.java 2008-02-08 06:00:07 UTC (rev 69720)
@@ -587,6 +587,34 @@
{
return compByCompType.get(type);
}
+ public ManagedComponent getComponent(String name, ComponentType type)
+ throws Exception
+ {
+ Set<ManagedComponent> components = compByCompType.get(type);
+ ManagedComponent comp = null;
+ if(components != null)
+ {
+ for(ManagedComponent mc : components)
+ {
+ if(mc.getName().equals(name))
+ {
+ comp = mc;
+ break;
+ }
+ }
+ }
+ if(comp != null)
+ {
+ Map<String, ManagedProperty> props = comp.getProperties();
+ Set<ManagedOperation> ops = comp.getOperations();
+ log.debug("Component"
+ +"(ops.size="
+ +ops != null ? ops.size() : 0
+ +",props.size=)"
+ +props != null ? props.size() : 0);
+ }
+ return comp;
+ }
public DeploymentTemplateInfo getTemplate(String name)
throws NoSuchDeploymentException
@@ -628,7 +656,45 @@
template.updateTemplateDeployment(ctx, info);
mainDeployer.process();
- // Apply the managed properties
+ /* Scan through the template properties to see if there is a
+ property with an ManagementObjectID annotation that needs
+ to be used to update the associated ManagedObject name.
+ */
+ for(ManagedProperty prop : info.getProperties().values())
+ {
+ // Skip null values
+ if( prop.getValue() == null )
+ continue;
+ Map<String, Annotation> pannotations = prop.getAnnotations();
+ if (pannotations != null)
+ {
+ ManagementObjectID id = (ManagementObjectID) pannotations.get(ManagementObjectID.class.getName());
+ if (id != null)
+ {
+ Object refName = getRefName(prop.getValue());
+ if (refName == null)
+ refName = id.name();
+ String name = "" + refName;
+ log.debug("Updating template ManagedObject name to:"+name+" from property: "+prop);
+ ManagedObject mo = prop.getManagedObject();
+ if(mo instanceof ManagedObjectImpl)
+ {
+ // TODO: need a MutableManagedObject type
+ ManagedObjectImpl moi = (ManagedObjectImpl) mo;
+ moi.setName(name);
+ }
+ else
+ {
+ formatter.applyPattern(i18n.getString("ManagementView.InvalidTemplatePropertyMO")); //$NON-NLS-1$
+ Object[] args = {prop.getName()};
+ String msg = formatter.format(args);
+ throw new IllegalArgumentException(msg);
+ }
+ }
+ }
+ }
+
+ // Now apply the managed properties
Map<String, ManagedObject> mos = mainDeployer.getManagedObjects(ctx.getName());
log.debug("applyTemplate, profile="+activeProfile+", deploymentBaseName="+deploymentBaseName+", phase="+phase+", :"+mos);
for(ManagedProperty prop : info.getProperties().values())
@@ -836,18 +902,18 @@
{
Map<String, ManagedProperty> runtimeProps = runtimeMO.getProperties();
Set<ManagedOperation> runtimeOps = runtimeMO.getOperations();
- log.debug("Merging runtime: "+runtimeMO
+ System.out.println("Merging runtime: "+runtimeMO.getName());
+ System.out.println("Merging runtime: "+runtimeMO.getName()
+"(ops.size="
+runtimeOps != null ? runtimeOps.size() : 0
+",props.size=)"
+runtimeProps != null ? runtimeProps.size() : 0
- +", into: "+mo);
+ +", into identity(): "+System.identityHashCode(mo));
Map<String, ManagedProperty> moProps = mo.getProperties();
Set<ManagedOperation> moOps = mo.getOperations();
HashMap<String, ManagedProperty> props = new HashMap<String, ManagedProperty>(moProps);
HashSet<ManagedOperation> ops = new HashSet<ManagedOperation>(moOps);
-
if (runtimeProps != null && runtimeProps.size() > 0)
{
log.debug("Properties before:"+props);
@@ -864,7 +930,21 @@
ManagedObjectImpl moi = (ManagedObjectImpl) mo;
moi.setProperties(props);
+ if(ops.size() == 0)
+ System.err.println("Empty ops!!!");
moi.setOperations(ops);
+ if(runtimeMO.getName().equals("DefaultDS"))
+ {
+ ComponentType type = new ComponentType("DataSource", "LocalTx");
+ ManagedComponent hsqldb = this.getComponent("DefaultDS", type);
+ Map<String, ManagedProperty> hprops = hsqldb.getProperties();
+ Set<ManagedOperation> hops = hsqldb.getOperations();
+ System.err.println("DefaultDS.props.size: "+hprops.size()+", ops.size: "+hops.size());
+ if(hops.size() == 0)
+ System.err.println("No ops!!!");
+ if(hprops.get("connectionCreatedCount") == null)
+ System.err.println("No stats!!!");
+ }
}
/**
Modified: trunk/profileservice/src/main/org/jboss/profileservice/management/messages.properties
===================================================================
--- trunk/profileservice/src/main/org/jboss/profileservice/management/messages.properties 2008-02-08 05:57:58 UTC (rev 69719)
+++ trunk/profileservice/src/main/org/jboss/profileservice/management/messages.properties 2008-02-08 06:00:07 UTC (rev 69720)
@@ -3,4 +3,5 @@
ManagementView.NoSuchDeploymentException=Failed to find deployment for name: {0}
ManagementView.NoSuchTemplate=Failed to find template for: {0}
ManagementView.InvalidTemplateKey=Failed to map key: {0} to managed attachments for deployment
-ManagementView.InvalidTemplateProperty=Failed to map property: {0} to managed properties for deployment
\ No newline at end of file
+ManagementView.InvalidTemplateProperty=Failed to map property: {0} to managed properties for deployment
+ManagementView.InvalidTemplatePropertyMO=Property: {0} does not use ManagedObjectImpl
\ No newline at end of file
More information about the jboss-cvs-commits
mailing list