[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