[jboss-cvs] JBossAS SVN: r86161 - in branches/Branch_5_x: system/src/main/org/jboss/system/server/profileservice/persistence and 3 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Fri Mar 20 04:40:29 EDT 2009
Author: emuckenhuber
Date: 2009-03-20 04:40:29 -0400 (Fri, 20 Mar 2009)
New Revision: 86161
Modified:
branches/Branch_5_x/profileservice/src/main/org/jboss/profileservice/management/ManagementViewImpl.java
branches/Branch_5_x/system/src/main/org/jboss/system/server/profileservice/persistence/ManagedGenericOverrideHandler.java
branches/Branch_5_x/testsuite/src/main/org/jboss/test/profileservice/override/restart/test/PersistedDataSourceUnitTestCase.java
branches/Branch_5_x/testsuite/src/main/org/jboss/test/profileservice/override/test/ProfileServiceOverrideTestCase.java
branches/Branch_5_x/testsuite/src/main/org/jboss/test/profileservice/test/JmsDestinationUnitTestCase.java
Log:
[JBAS-6643] don't restore a null managed object.
Modified: branches/Branch_5_x/profileservice/src/main/org/jboss/profileservice/management/ManagementViewImpl.java
===================================================================
--- branches/Branch_5_x/profileservice/src/main/org/jboss/profileservice/management/ManagementViewImpl.java 2009-03-20 08:06:30 UTC (rev 86160)
+++ branches/Branch_5_x/profileservice/src/main/org/jboss/profileservice/management/ManagementViewImpl.java 2009-03-20 08:40:29 UTC (rev 86161)
@@ -984,105 +984,9 @@
// Create, distribute and start a deployment template
String deploymentName = super.applyTemplate(template, deploymentBaseName, info);
- /* 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 MutableManagedObject)
- {
- MutableManagedObject mmo = (MutableManagedObject) mo;
- mmo.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 to get the deployment ManagedObjects
- Map<String, ManagedObject> mos = mainDeployer.getManagedObjects(deploymentName);
- log.debug("applyTemplate, deploymentBaseName="+deploymentBaseName+":"+mos);
- // Map the
- String propName = info.getRootManagedPropertyName();
- if(propName != null)
- {
- // Flatten out the root objects
- ManagedObject rootMO = mos.get(deploymentName);
- if(rootMO != null)
- flattenRootObject(rootMO, propName, mos);
- }
- for(ManagedProperty prop : info.getProperties().values())
- {
- // Skip null values
- if( prop.getValue() == null )
- continue;
-
- ManagedObject mo = prop.getManagedObject();
- if (mo == null)
- throw new IllegalArgumentException("Null managed object: " + prop);
-
- ManagedObject ctxMO = mos.get(mo.getName());
- if( ctxMO == null )
- {
- formatter.applyPattern(i18n.getString("ManagementView.InvalidTemplateKey")); //$NON-NLS-1$
- Object[] args = {mo.getName()};
- String msg = formatter.format(args);
- throw new IllegalArgumentException(msg);
- }
- ManagedProperty ctxProp = ctxMO.getProperty(prop.getName());
- // Check for a mapped name
- if( ctxProp == null )
- {
- String mappedName = prop.getMappedName();
- if( mappedName != null )
- ctxProp = ctxMO.getProperty(mappedName);
- }
- if( ctxProp == null )
- {
- formatter.applyPattern(i18n.getString("ManagementView.InvalidTemplateProperty")); //$NON-NLS-1$
- Object[] args = {prop.getName()};
- String msg = formatter.format(args);
- throw new IllegalArgumentException(msg);
- }
- // The property value must be a MetaValue
- Object value = prop.getValue();
- if ((value instanceof MetaValue) == false)
- {
- formatter.applyPattern(i18n.getString("ManagementView.InvalidPropertyValue")); //$NON-NLS-1$
- Object[] args = {prop.getName(), value.getClass()};
- String msg = formatter.format(args);
- throw new IllegalArgumentException(msg);
- }
- MetaValue metaValue = (MetaValue)value;
- ctxProp.setValue(metaValue);
-
- // todo - should this also dispatch to runtime component?
- Object componentName = getComponentName(ctxProp);
- if (componentName != null)
- dispatcher.set(componentName, ctxProp.getName(), metaValue);
- }
+ // Process the deployment
+ ManagedDeployment md = getMainDeployer().getManagedDeployment(deploymentName);
+ processManagedDeployment(md, getDefaulProfiletKey(), 0, log.isTraceEnabled());
}
public void process() throws DeploymentException
Modified: branches/Branch_5_x/system/src/main/org/jboss/system/server/profileservice/persistence/ManagedGenericOverrideHandler.java
===================================================================
--- branches/Branch_5_x/system/src/main/org/jboss/system/server/profileservice/persistence/ManagedGenericOverrideHandler.java 2009-03-20 08:06:30 UTC (rev 86160)
+++ branches/Branch_5_x/system/src/main/org/jboss/system/server/profileservice/persistence/ManagedGenericOverrideHandler.java 2009-03-20 08:40:29 UTC (rev 86161)
@@ -147,6 +147,10 @@
if (moElement.getManagedObject() == null)
return;
+ if (moElement.getManagedObject().getClassName() == null
+ && moElement.getManagedObject().getTemplateName() == null)
+ return;
+
ManagedObject mo = createManagedObject(moElement.getManagedObject());
value = new GenericValueSupport(AbstractManagedObjectFactory.MANAGED_OBJECT_META_TYPE, mo);
}
Modified: branches/Branch_5_x/testsuite/src/main/org/jboss/test/profileservice/override/restart/test/PersistedDataSourceUnitTestCase.java
===================================================================
--- branches/Branch_5_x/testsuite/src/main/org/jboss/test/profileservice/override/restart/test/PersistedDataSourceUnitTestCase.java 2009-03-20 08:06:30 UTC (rev 86160)
+++ branches/Branch_5_x/testsuite/src/main/org/jboss/test/profileservice/override/restart/test/PersistedDataSourceUnitTestCase.java 2009-03-20 08:40:29 UTC (rev 86161)
@@ -21,6 +21,7 @@
*/
package org.jboss.test.profileservice.override.restart.test;
+import org.jboss.deployers.spi.management.KnownComponentTypes;
import org.jboss.deployers.spi.management.ManagementView;
import org.jboss.managed.api.ManagedComponent;
import org.jboss.managed.api.ManagedDeployment;
@@ -84,6 +85,29 @@
}
}
+ public void testUpdatedDSTemplate() throws Exception
+ {
+ String deploymentName = "LocalTestDS-ds.xml";
+ try
+ {
+ ManagementView mgtView = getManagementView();
+ ManagedComponent mc = mgtView.getComponent("TestLocalDS", KnownComponentTypes.DataSourceTypes.LocalTx.getType());
+ assertNotNull(mc);
+
+ ManagedProperty property = mc.getProperty("prepared-statement-cache-size");
+ assertEquals("prepared-statement-cache-size: "+ property.getValue(), SimpleValueSupport.wrap(34), property.getValue());
+
+ property = mc.getProperty("max-pool-size");
+ assertEquals("max-pool-size: "+ property.getValue(), SimpleValueSupport.wrap(34), property.getValue());
+
+ }
+ finally
+ {
+ undeployPackage(new String[] { deploymentName });
+ }
+
+ }
+
public void testNestedDS() throws Exception
{
String deploymentName = "profileservice-datasource.ear";
Modified: branches/Branch_5_x/testsuite/src/main/org/jboss/test/profileservice/override/test/ProfileServiceOverrideTestCase.java
===================================================================
--- branches/Branch_5_x/testsuite/src/main/org/jboss/test/profileservice/override/test/ProfileServiceOverrideTestCase.java 2009-03-20 08:06:30 UTC (rev 86160)
+++ branches/Branch_5_x/testsuite/src/main/org/jboss/test/profileservice/override/test/ProfileServiceOverrideTestCase.java 2009-03-20 08:40:29 UTC (rev 86161)
@@ -21,11 +21,18 @@
*/
package org.jboss.test.profileservice.override.test;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.jboss.deployers.spi.management.KnownComponentTypes;
import org.jboss.deployers.spi.management.ManagementView;
+import org.jboss.managed.api.DeploymentTemplateInfo;
+import org.jboss.managed.api.Fields;
import org.jboss.managed.api.ManagedComponent;
import org.jboss.managed.api.ManagedDeployment;
import org.jboss.managed.api.ManagedProperty;
import org.jboss.metatype.api.values.CompositeValue;
+import org.jboss.metatype.api.values.MetaValue;
import org.jboss.metatype.api.values.SimpleValueSupport;
/**
@@ -121,6 +128,52 @@
}
}
+ public void testTemplateDS() throws Exception
+ {
+ String jndiName = "TestLocalDS";
+
+ Map<String, MetaValue> propValues = new HashMap<String, MetaValue>();
+ propValues.put("driver-class", SimpleValueSupport.wrap("org.hsqldb.jdbcDriver"));
+ propValues.put("connection-url", SimpleValueSupport.wrap("jdbc:hsqldb:."));
+ propValues.put("connection-definition", SimpleValueSupport.wrap("javax.sql.DataSource"));
+ propValues.put("jndi-name", SimpleValueSupport.wrap(jndiName));
+ propValues.put("rar-name", SimpleValueSupport.wrap("jboss-local-jdbc.rar"));
+
+ // The management view
+ ManagementView mgtView = getManagementView();
+ DeploymentTemplateInfo dsInfo = mgtView.getTemplate("LocalTxDataSourceTemplate");
+ assertNotNull(dsInfo);
+ //
+ for(ManagedProperty property : dsInfo.getProperties().values())
+ {
+ MetaValue v = propValues.get(property.getName());
+ if(v != null)
+ {
+ property.setValue(v);
+ property.setField(Fields.META_TYPE, v.getMetaType());
+ }
+ }
+ //
+ mgtView.applyTemplate("LocalTestDS", dsInfo);
+
+ // Check
+ ManagedDeployment md = mgtView.getDeployment("LocalTestDS-ds.xml");
+ assertNotNull(md);
+ ManagedComponent mc = mgtView.getComponent(jndiName, KnownComponentTypes.DataSourceTypes.LocalTx.getType());
+ assertNotNull(mc);
+
+ ManagedProperty property = mc.getProperty("prepared-statement-cache-size");
+ // change value
+ property.setValue(SimpleValueSupport.wrap(34));
+
+ property = mc.getProperty("max-pool-size");
+ property.setValue(SimpleValueSupport.wrap(34));
+
+ mgtView.updateComponent(mc);
+
+ }
+
+
public void testNestedDS() throws Exception
{
String deploymentName = "profileservice-datasource.ear";
Modified: branches/Branch_5_x/testsuite/src/main/org/jboss/test/profileservice/test/JmsDestinationUnitTestCase.java
===================================================================
--- branches/Branch_5_x/testsuite/src/main/org/jboss/test/profileservice/test/JmsDestinationUnitTestCase.java 2009-03-20 08:06:30 UTC (rev 86160)
+++ branches/Branch_5_x/testsuite/src/main/org/jboss/test/profileservice/test/JmsDestinationUnitTestCase.java 2009-03-20 08:40:29 UTC (rev 86161)
@@ -135,7 +135,7 @@
managementView.process();
// Validate the components
- managementView.reload();
+// managementView.reload();
ManagedComponent queue1 = managementView.getComponent("testCreateQueue1", type);
assertNotNull(queue1);
assertEquals("testCreateQueue1", queue1.getName());
More information about the jboss-cvs-commits
mailing list