[jboss-cvs] JBossAS SVN: r99857 - in projects/kernel/branches/resolver: kernel/src/main/java/org/jboss/beans/metadata/plugins and 1 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Sun Jan 24 07:11:14 EST 2010


Author: kabir.khan at jboss.com
Date: 2010-01-24 07:11:14 -0500 (Sun, 24 Jan 2010)
New Revision: 99857

Added:
   projects/kernel/branches/resolver/kernel/src/main/java/org/jboss/kernel/plugins/dependency/ClearableDependencyItem.java
Modified:
   projects/kernel/branches/resolver/dependency/src/main/java/org/jboss/dependency/plugins/resolver/DependencyResolverAbstractFactory.java
   projects/kernel/branches/resolver/kernel/src/main/java/org/jboss/beans/metadata/plugins/ContextualInjectionDependencyItem.java
   projects/kernel/branches/resolver/kernel/src/main/java/org/jboss/kernel/plugins/dependency/AbstractKernelControllerContext.java
   projects/kernel/branches/resolver/kernel/src/main/java/org/jboss/kernel/plugins/dependency/ClassDependencyItem.java
Log:
Port JBKERNEL-82 and update to use the indexing resolver

Modified: projects/kernel/branches/resolver/dependency/src/main/java/org/jboss/dependency/plugins/resolver/DependencyResolverAbstractFactory.java
===================================================================
--- projects/kernel/branches/resolver/dependency/src/main/java/org/jboss/dependency/plugins/resolver/DependencyResolverAbstractFactory.java	2010-01-24 12:04:21 UTC (rev 99856)
+++ projects/kernel/branches/resolver/dependency/src/main/java/org/jboss/dependency/plugins/resolver/DependencyResolverAbstractFactory.java	2010-01-24 12:11:14 UTC (rev 99857)
@@ -37,8 +37,8 @@
    {
       //TODO configure with system properties
 
-      String name = "org.jboss.dependency.plugins.resolver.standard.StandardDependencyResolverFactory";
-//      String name = "org.jboss.kernel.plugins.resolver.indexing.IndexingKernelDependencyResolverFactory";
+//      String name = "org.jboss.dependency.plugins.resolver.standard.StandardDependencyResolverFactory";
+      String name = "org.jboss.kernel.plugins.resolver.indexing.IndexingKernelDependencyResolverFactory";
       Class<?> clazz;
       try
       {

Modified: projects/kernel/branches/resolver/kernel/src/main/java/org/jboss/beans/metadata/plugins/ContextualInjectionDependencyItem.java
===================================================================
--- projects/kernel/branches/resolver/kernel/src/main/java/org/jboss/beans/metadata/plugins/ContextualInjectionDependencyItem.java	2010-01-24 12:04:21 UTC (rev 99856)
+++ projects/kernel/branches/resolver/kernel/src/main/java/org/jboss/beans/metadata/plugins/ContextualInjectionDependencyItem.java	2010-01-24 12:11:14 UTC (rev 99857)
@@ -32,6 +32,7 @@
 import org.jboss.dependency.spi.ControllerState;
 import org.jboss.dependency.spi.graph.LookupStrategy;
 import org.jboss.dependency.spi.graph.SearchInfo;
+import org.jboss.kernel.plugins.dependency.ClearableDependencyItem;
 import org.jboss.kernel.plugins.dependency.QualifierKey;
 
 /**
@@ -40,7 +41,7 @@
  * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
  * @version $Revision: 1.1 $
  */
-public class ContextualInjectionDependencyItem extends AbstractDependencyItem
+public class ContextualInjectionDependencyItem extends AbstractDependencyItem implements ClearableDependencyItem
 {
    private LookupType type;
    
@@ -121,4 +122,14 @@
    {
       CLASS, KEY
    }
+   
+   /**
+    * Clear the class reference.
+    *  
+    * @param controller the controller
+    */
+   public void clear(Controller controller)
+   {
+      setIDependOn(null);
+   }
 }
\ No newline at end of file

Modified: projects/kernel/branches/resolver/kernel/src/main/java/org/jboss/kernel/plugins/dependency/AbstractKernelControllerContext.java
===================================================================
--- projects/kernel/branches/resolver/kernel/src/main/java/org/jboss/kernel/plugins/dependency/AbstractKernelControllerContext.java	2010-01-24 12:04:21 UTC (rev 99856)
+++ projects/kernel/branches/resolver/kernel/src/main/java/org/jboss/kernel/plugins/dependency/AbstractKernelControllerContext.java	2010-01-24 12:11:14 UTC (rev 99857)
@@ -270,12 +270,12 @@
       if (dependencyInfo != null)
       {
          // remove all dependency items that hold class ref
-         Set<DependencyItem> dependencys = dependencyInfo.getIDependOn(ClassContextDependencyItem.class);
-         dependencys.addAll(dependencyInfo.getIDependOn(CallbackDependencyItem.class));
+         Set<DependencyItem> dependencys = dependencyInfo.getIDependOn(ClearableDependencyItem.class);
+         dependencys.addAll(dependencyInfo.getIDependOn(ClearableDependencyItem.class));
          for (DependencyItem di : dependencys)
          {
             // can cast because of getIDepend method impl
-            ClassDependencyItem cdi = (ClassDependencyItem)di;
+            ClearableDependencyItem cdi = (ClearableDependencyItem)di;
             cdi.clear(getController());
          }
       }

Modified: projects/kernel/branches/resolver/kernel/src/main/java/org/jboss/kernel/plugins/dependency/ClassDependencyItem.java
===================================================================
--- projects/kernel/branches/resolver/kernel/src/main/java/org/jboss/kernel/plugins/dependency/ClassDependencyItem.java	2010-01-24 12:04:21 UTC (rev 99856)
+++ projects/kernel/branches/resolver/kernel/src/main/java/org/jboss/kernel/plugins/dependency/ClassDependencyItem.java	2010-01-24 12:11:14 UTC (rev 99857)
@@ -31,7 +31,7 @@
  *
  * @author <a href="ales.justin at gmail.com">Ales Justin</a>
  */
-public abstract class ClassDependencyItem extends AbstractDependencyItem
+public abstract class ClassDependencyItem extends AbstractDependencyItem implements ClearableDependencyItem
 {
    public ClassDependencyItem(Object name, Class<?> demandClass, ControllerState whenRequired, ControllerState dependentState)
    {

Copied: projects/kernel/branches/resolver/kernel/src/main/java/org/jboss/kernel/plugins/dependency/ClearableDependencyItem.java (from rev 99855, projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/dependency/ClearableDependencyItem.java)
===================================================================
--- projects/kernel/branches/resolver/kernel/src/main/java/org/jboss/kernel/plugins/dependency/ClearableDependencyItem.java	                        (rev 0)
+++ projects/kernel/branches/resolver/kernel/src/main/java/org/jboss/kernel/plugins/dependency/ClearableDependencyItem.java	2010-01-24 12:11:14 UTC (rev 99857)
@@ -0,0 +1,34 @@
+/*
+* JBoss, Home of Professional Open Source.
+* Copyright 2006, Red Hat Middleware LLC, and individual contributors
+* as indicated by the @author tags. See the copyright.txt file in the
+* distribution for a full listing of individual contributors. 
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/ 
+package org.jboss.kernel.plugins.dependency;
+
+import org.jboss.dependency.spi.Controller;
+
+/**
+ * 
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public interface ClearableDependencyItem
+{
+   void clear(Controller controller);
+}




More information about the jboss-cvs-commits mailing list