[jboss-cvs] JBossAS SVN: r105468 - in projects/profileservice/trunk/core/src: main/java/org/jboss/profileservice/resolver and 2 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Tue Jun 1 04:49:38 EDT 2010
Author: emuckenhuber
Date: 2010-06-01 04:49:37 -0400 (Tue, 01 Jun 2010)
New Revision: 105468
Modified:
projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/dependency/ProfileValidationUtil.java
projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/resolver/AbstractRequirementResolver.java
projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/resolver/ProfileResolutionNode.java
projects/profileservice/trunk/core/src/test/java/org/jboss/test/profileservice/support/ActivationProfileMetaData.java
projects/profileservice/trunk/core/src/test/java/org/jboss/test/profileservice/support/TestProfileActivator.java
projects/profileservice/trunk/core/src/test/java/org/jboss/test/profileservice/test/BasicProfileActivationUnitTestCase.java
Log:
add basic test.
Modified: projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/dependency/ProfileValidationUtil.java
===================================================================
--- projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/dependency/ProfileValidationUtil.java 2010-06-01 07:42:52 UTC (rev 105467)
+++ projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/dependency/ProfileValidationUtil.java 2010-06-01 08:49:37 UTC (rev 105468)
@@ -76,8 +76,9 @@
else
{
if(incomplete.containsKey(name))
+ {
return;
-
+ }
final Controller controller = context.getController();
final DependencyInfo dependencyInfo = context.getDependencyInfo();
final Set<DependencyItem> dependencies = dependencyInfo.getIDependOn(null);
@@ -142,6 +143,7 @@
}
}
buffer.append('}');
+ incomplete.put(name, buffer.toString());
}
}
}
Modified: projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/resolver/AbstractRequirementResolver.java
===================================================================
--- projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/resolver/AbstractRequirementResolver.java 2010-06-01 07:42:52 UTC (rev 105467)
+++ projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/resolver/AbstractRequirementResolver.java 2010-06-01 08:49:37 UTC (rev 105468)
@@ -153,7 +153,7 @@
addDependencyContext(dependencyContext);
toProcess.add(dependencyContext);
- final boolean requireInstalled = dependencyContext.getActivationConfiguration() != null;
+ final boolean requireInstalled = dependencyContext.getActivationConfiguration() == null;
final ProfileNodeDependency dependency = new ProfileNodeDependency(resolution, dependencyKey, requirement, false, requireInstalled);
// Add dependency information
@@ -260,7 +260,7 @@
// If the dependency is already included we can mark it as non-optional
final boolean dependencyIncluded = included(depenencyNode);
final boolean optional = requirement.isOptional() && dependencyIncluded == false;
- final boolean requireInstalled = dependencyContext.getActivationConfiguration() != null;
+ final boolean requireInstalled = dependencyContext.getActivationConfiguration() == null;
final ProfileNodeDependency dependency = new ProfileNodeDependency(resolution, dependencyKey, requirement, optional, requireInstalled);
// Add dependency information
@@ -363,11 +363,7 @@
if(this.unresolved.isEmpty() == false)
{
throw new IllegalStateException("unresolved " + this.unresolved);
- }
-
- log.debug("nodes " + nodes.size());
- log.debug("incl " + included.size() +" / "+ includedKeys.size());
-
+ }
// Process activation callbacks to determine if they can be included
for(Iterator<ProfileResolutionNode> i = callbacks.iterator() ; i.hasNext() ;)
{
Modified: projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/resolver/ProfileResolutionNode.java
===================================================================
--- projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/resolver/ProfileResolutionNode.java 2010-06-01 07:42:52 UTC (rev 105467)
+++ projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/resolver/ProfileResolutionNode.java 2010-06-01 08:49:37 UTC (rev 105468)
@@ -170,7 +170,6 @@
final DependencyInfo dependencyInfo = context.getDependencyInfo();
for(ProfileNodeDependency dependency : iDependOn)
{
- if(dependency.isOptional()) continue;
final ProfileRequirement requirement = dependency.getRequirement();
ControllerState dependentState = dependency.isRequireInstalled() ? ControllerState.INSTALLED : ControllerState.DESCRIBED;
dependencyInfo.addIDependOn(new ProfileRequirementDependencyItem(context, requirement, dependency.getTo(),
Modified: projects/profileservice/trunk/core/src/test/java/org/jboss/test/profileservice/support/ActivationProfileMetaData.java
===================================================================
--- projects/profileservice/trunk/core/src/test/java/org/jboss/test/profileservice/support/ActivationProfileMetaData.java 2010-06-01 07:42:52 UTC (rev 105467)
+++ projects/profileservice/trunk/core/src/test/java/org/jboss/test/profileservice/support/ActivationProfileMetaData.java 2010-06-01 08:49:37 UTC (rev 105468)
@@ -53,7 +53,7 @@
activation = new ProfileActivationMetaData();
activation.setProfileActivatorRef(NAMESPACE);
}
-
+
public ProfileActivationConfiguration getActivationConfiguration()
{
return activation;
Modified: projects/profileservice/trunk/core/src/test/java/org/jboss/test/profileservice/support/TestProfileActivator.java
===================================================================
--- projects/profileservice/trunk/core/src/test/java/org/jboss/test/profileservice/support/TestProfileActivator.java 2010-06-01 07:42:52 UTC (rev 105467)
+++ projects/profileservice/trunk/core/src/test/java/org/jboss/test/profileservice/support/TestProfileActivator.java 2010-06-01 08:49:37 UTC (rev 105468)
@@ -33,12 +33,20 @@
private static final Logger log = Logger.getLogger(ProfileActivator.class);
+ private ProfileActivation activation;
+
+ public ProfileActivation getActivation()
+ {
+ return activation;
+ }
+
public void activate(ProfileActivation activation) throws Exception
{
if(activation.isResolved() == false)
{
log.error("not resolved" + activation);
}
+ this.activation = activation;
log.info("activating " + activation.getKey());
}
Modified: projects/profileservice/trunk/core/src/test/java/org/jboss/test/profileservice/test/BasicProfileActivationUnitTestCase.java
===================================================================
--- projects/profileservice/trunk/core/src/test/java/org/jboss/test/profileservice/test/BasicProfileActivationUnitTestCase.java 2010-06-01 07:42:52 UTC (rev 105467)
+++ projects/profileservice/trunk/core/src/test/java/org/jboss/test/profileservice/test/BasicProfileActivationUnitTestCase.java 2010-06-01 08:49:37 UTC (rev 105468)
@@ -21,16 +21,24 @@
*/
package org.jboss.test.profileservice.test;
+import java.util.ArrayList;
import java.util.Collection;
import java.util.Set;
+import org.jboss.beans.metadata.spi.builder.BeanMetaDataBuilder;
import org.jboss.profileservice.config.ProfileServiceConstants;
+import org.jboss.profileservice.profile.metadata.FeatureCapability;
import org.jboss.profileservice.profile.metadata.plugin.EmptyProfileMetaData;
import org.jboss.profileservice.spi.NoSuchDeploymentException;
import org.jboss.profileservice.spi.Profile;
import org.jboss.profileservice.spi.ProfileDeployment;
import org.jboss.profileservice.spi.ProfileKey;
import org.jboss.profileservice.spi.ProfileService;
+import org.jboss.profileservice.spi.activation.ProfileActivation;
+import org.jboss.profileservice.spi.metadata.ProfileMetaDataVisitorNode;
+import org.jboss.test.profileservice.support.ActivationProfileMetaData;
+import org.jboss.test.profileservice.support.NoopProfileFactory;
+import org.jboss.test.profileservice.support.TestProfileActivator;
/**
* @author <a href="mailto:emuckenh at redhat.com">Emanuel Muckenhuber</a>
@@ -69,9 +77,32 @@
//
ps.deactivateProfile(key);
ps.unregisterProfile(key);
-
}
+ public void testActivator() throws Throwable
+ {
+ deploy(findResource("system/bootstrap.xml"));
+ ProfileService ps = getBean(ProfileServiceConstants.PROFILESERVICE_NAME, ProfileService.class);
+ TestProfileActivator activator = new TestProfileActivator();
+ installActivator(activator);
+
+ ActivationProfileMetaData md = new ActivationProfileMetaData();
+ md.setName("testActivation");
+ md.setFeatures(new ArrayList<ProfileMetaDataVisitorNode>());
+ md.getFeatures().add(new FeatureCapability("urn:jboss:profileservice:profile:static:1.0"));
+
+ ps.registerProfile(md);
+ ps.activateProfile(new ProfileKey(md.getName()));
+
+ ProfileActivation activation = activator.getActivation();
+ assertNotNull(activation);
+ assertFalse(activation.isStarted());
+ activation.start();
+ activation.validate();
+ assertTrue(activation.isStarted());
+
+ }
+
static class TestProfile implements Profile
{
@@ -82,8 +113,15 @@
public long getLastModified() { return 0; }
public boolean hasDeployment(String name) { return false; }
public boolean isMutable() { return false; }
-
}
+ protected void installActivator(TestProfileActivator activator) throws Throwable
+ {
+ BeanMetaDataBuilder activatorBuilder = BeanMetaDataBuilder.createBuilder("activator", TestProfileActivator.class.getName());
+ BeanMetaDataBuilder factoryBuilder = BeanMetaDataBuilder.createBuilder("NoopFactory", NoopProfileFactory.class.getName());
+ getKernel().getController().install(activatorBuilder.getBeanMetaData(), activator);
+ getKernel().getController().install(factoryBuilder.getBeanMetaData());
+ }
+
}
More information about the jboss-cvs-commits
mailing list