[jboss-cvs] JBossAS SVN: r97072 - projects/kernel/trunk/dependency/src/main/java/org/jboss/dependency/plugins.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Fri Nov 27 02:44:17 EST 2009
Author: alesj
Date: 2009-11-27 02:44:17 -0500 (Fri, 27 Nov 2009)
New Revision: 97072
Modified:
projects/kernel/trunk/dependency/src/main/java/org/jboss/dependency/plugins/AbstractControllerContext.java
Log:
Get minimal scope level from default scope key - not assuming anything.
Modified: projects/kernel/trunk/dependency/src/main/java/org/jboss/dependency/plugins/AbstractControllerContext.java
===================================================================
--- projects/kernel/trunk/dependency/src/main/java/org/jboss/dependency/plugins/AbstractControllerContext.java 2009-11-27 07:36:03 UTC (rev 97071)
+++ projects/kernel/trunk/dependency/src/main/java/org/jboss/dependency/plugins/AbstractControllerContext.java 2009-11-27 07:44:17 UTC (rev 97072)
@@ -23,10 +23,12 @@
import java.io.PrintWriter;
import java.io.StringWriter;
+import java.util.Collection;
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
+import java.util.TreeSet;
import static org.jboss.dependency.plugins.tracker.TrackerConstants.NOOP;
import org.jboss.dependency.spi.Controller;
@@ -42,6 +44,7 @@
import org.jboss.metadata.spi.MetaData;
import org.jboss.metadata.spi.scope.CommonLevels;
import org.jboss.metadata.spi.scope.CommonLevelsUtil;
+import org.jboss.metadata.spi.scope.Scope;
import org.jboss.metadata.spi.scope.ScopeKey;
import org.jboss.metadata.spi.scope.ScopeLevel;
import org.jboss.util.JBossObject;
@@ -56,6 +59,23 @@
*/
public class AbstractControllerContext extends JBossObject implements ControllerContext, ContextTracking
{
+ /**The default's minimal scope level */
+ private static final ScopeLevel DEFAULT_MINIMAL;
+
+ static
+ {
+ Collection<Scope> scopes = ScopeKey.DEFAULT_SCOPE.getScopes();
+ Set<ScopeLevel> levels = new TreeSet<ScopeLevel>();
+ if (scopes != null && scopes.isEmpty() == false)
+ {
+ for (Scope scope : scopes)
+ levels.add(scope.getScopeLevel());
+ }
+ if (levels.isEmpty())
+ throw new IllegalArgumentException("Default scope key doesn't have minimal level: " + scopes);
+ DEFAULT_MINIMAL = levels.iterator().next();
+ }
+
/** The name */
private Object name;
@@ -387,8 +407,7 @@
ct = metaData.getMetaData(ContextTracker.class);
if (ct == null)
{
- // go all the way up to default scope, get min level -- default should have single scope?
- List<ScopeLevel> levels = CommonLevelsUtil.getSubLevels(ScopeKey.DEFAULT_SCOPE.getMaxScopeLevel());
+ List<ScopeLevel> levels = CommonLevelsUtil.getSubLevels(DEFAULT_MINIMAL);
int instanceIndex = levels.indexOf(CommonLevels.INSTANCE);
for (int i = instanceIndex; i >= 0 && ct == null; i--)
{
More information about the jboss-cvs-commits
mailing list