[jboss-cvs] JBossAS SVN: r99679 - projects/kernel/branches/resolver/dependency/src/main/java/org/jboss/dependency/plugins/resolver/indexing.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Wed Jan 20 15:59:01 EST 2010
Author: kabir.khan at jboss.com
Date: 2010-01-20 15:59:01 -0500 (Wed, 20 Jan 2010)
New Revision: 99679
Added:
projects/kernel/branches/resolver/dependency/src/main/java/org/jboss/dependency/plugins/resolver/indexing/NameDependencyResolverMatcherFactory.java
Modified:
projects/kernel/branches/resolver/dependency/src/main/java/org/jboss/dependency/plugins/resolver/indexing/IndexingDependencyResolver.java
projects/kernel/branches/resolver/dependency/src/main/java/org/jboss/dependency/plugins/resolver/indexing/IndexingDependencyResolverFactory.java
Log:
Use the name based DependencyResolverMatcher(Factory) properly
Modified: projects/kernel/branches/resolver/dependency/src/main/java/org/jboss/dependency/plugins/resolver/indexing/IndexingDependencyResolver.java
===================================================================
--- projects/kernel/branches/resolver/dependency/src/main/java/org/jboss/dependency/plugins/resolver/indexing/IndexingDependencyResolver.java 2010-01-20 20:55:09 UTC (rev 99678)
+++ projects/kernel/branches/resolver/dependency/src/main/java/org/jboss/dependency/plugins/resolver/indexing/IndexingDependencyResolver.java 2010-01-20 20:59:01 UTC (rev 99679)
@@ -57,17 +57,22 @@
private final Map<Class<? extends DependencyItem>, ResolverMatcher> matchers = new ConcurrentHashMap<Class<? extends DependencyItem>, ResolverMatcher>();
- private final NameDependencyResolverMatcher nameMatcher = new NameDependencyResolverMatcher();
+ private NameDependencyResolverMatcher nameMatcher;
public IndexingDependencyResolver(Controller controller)
{
super(controller);
- matchers.put(AbstractDependencyItem.class, nameMatcher);
}
public void addMatcher(Class<? extends DependencyItem> clazz, ResolverMatcher matcher)
{
matchers.put(clazz, matcher);
+ if (nameMatcher == null && clazz.equals(AbstractDependencyItem.class))
+ {
+ if (matcher instanceof NameDependencyResolverMatcher == false)
+ throw new IllegalArgumentException("AbstractDependencyItem should be handled by a " + NameDependencyResolverMatcher.class.getName());
+ nameMatcher = (NameDependencyResolverMatcher)matcher;
+ }
}
public void removeMatcher(Class<? extends DependencyItem> clazz)
Modified: projects/kernel/branches/resolver/dependency/src/main/java/org/jboss/dependency/plugins/resolver/indexing/IndexingDependencyResolverFactory.java
===================================================================
--- projects/kernel/branches/resolver/dependency/src/main/java/org/jboss/dependency/plugins/resolver/indexing/IndexingDependencyResolverFactory.java 2010-01-20 20:55:09 UTC (rev 99678)
+++ projects/kernel/branches/resolver/dependency/src/main/java/org/jboss/dependency/plugins/resolver/indexing/IndexingDependencyResolverFactory.java 2010-01-20 20:59:01 UTC (rev 99679)
@@ -25,6 +25,7 @@
import java.util.Map;
import java.util.WeakHashMap;
+import org.jboss.dependency.plugins.AbstractDependencyItem;
import org.jboss.dependency.plugins.AbstractDependencyResolver;
import org.jboss.dependency.spi.Controller;
import org.jboss.dependency.spi.DependencyItem;
@@ -41,6 +42,11 @@
private final Map<Class<? extends DependencyItem>, ResolverMatcherFactory> matchers = new HashMap<Class<? extends DependencyItem>, ResolverMatcherFactory>();
private Map<IndexingDependencyResolver, Boolean> weakResolvers = new WeakHashMap<IndexingDependencyResolver, Boolean>();
+
+ public IndexingDependencyResolverFactory()
+ {
+ addMatcher(AbstractDependencyItem.class, new NameDependencyResolverMatcherFactory());
+ }
public synchronized AbstractDependencyResolver createResolver(Controller controller)
{
Added: projects/kernel/branches/resolver/dependency/src/main/java/org/jboss/dependency/plugins/resolver/indexing/NameDependencyResolverMatcherFactory.java
===================================================================
--- projects/kernel/branches/resolver/dependency/src/main/java/org/jboss/dependency/plugins/resolver/indexing/NameDependencyResolverMatcherFactory.java (rev 0)
+++ projects/kernel/branches/resolver/dependency/src/main/java/org/jboss/dependency/plugins/resolver/indexing/NameDependencyResolverMatcherFactory.java 2010-01-20 20:59:01 UTC (rev 99679)
@@ -0,0 +1,38 @@
+/*
+* 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.dependency.plugins.resolver.indexing;
+
+import org.jboss.dependency.spi.resolver.indexing.ResolverMatcher;
+import org.jboss.dependency.spi.resolver.indexing.ResolverMatcherFactory;
+
+/**
+ *
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public class NameDependencyResolverMatcherFactory implements ResolverMatcherFactory
+{
+ public ResolverMatcher createMatcher()
+ {
+ return new NameDependencyResolverMatcher();
+ }
+}
More information about the jboss-cvs-commits
mailing list