[jboss-cvs] JBossAS SVN: r75215 - projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/dependency.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Mon Jun 30 09:37:55 EDT 2008
Author: alesj
Date: 2008-06-30 09:37:54 -0400 (Mon, 30 Jun 2008)
New Revision: 75215
Added:
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/dependency/InstallScopeAction.java
Removed:
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/dependency/AliasScopeAction.java
Modified:
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/dependency/ScopedKernelController.java
Log:
[JBMICROCONT-309]; fix uninstall on install scope action.
Deleted: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/dependency/AliasScopeAction.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/dependency/AliasScopeAction.java 2008-06-30 13:13:25 UTC (rev 75214)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/dependency/AliasScopeAction.java 2008-06-30 13:37:54 UTC (rev 75215)
@@ -1,86 +0,0 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2006, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt 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.plugins.action.SimpleControllerContextAction;
-import org.jboss.dependency.spi.Controller;
-import org.jboss.dependency.spi.ControllerContext;
-import org.jboss.kernel.spi.dependency.KernelController;
-import org.jboss.kernel.spi.metadata.KernelMetaDataRepository;
-import org.jboss.metadata.plugins.loader.memory.MemoryMetaDataLoader;
-import org.jboss.metadata.spi.repository.MutableMetaDataRepository;
-import org.jboss.metadata.spi.retrieval.MetaDataItem;
-import org.jboss.metadata.spi.retrieval.MetaDataRetrieval;
-import org.jboss.metadata.spi.scope.ScopeKey;
-
-/**
- * Alias scope action.
- *
- * @author <a href="ales.justin at jboss.com">Ales Justin</a>
- */
-public class AliasScopeAction extends SimpleControllerContextAction<ControllerContext>
-{
- protected ControllerContext contextCast(ControllerContext context)
- {
- return context;
- }
-
- protected boolean validateContext(ControllerContext context)
- {
- return true;
- }
-
- protected void installAction(ControllerContext context) throws Throwable
- {
- KernelController controller = (KernelController)context.getController();
- KernelMetaDataRepository repository = controller.getKernel().getMetaDataRepository();
- ScopeKey scopeKey = context.getScopeInfo().getInstallScope();
- if (scopeKey != null)
- {
- MutableMetaDataRepository mmdr = repository.getMetaDataRepository();
- MetaDataRetrieval mdr = mmdr.getMetaDataRetrieval(scopeKey);
- if (mdr == null)
- {
- mdr = new MemoryMetaDataLoader(scopeKey);
- mmdr.addMetaDataRetrieval(mdr);
- }
- MetaDataItem<ScopedKernelController> controllerItem = mdr.retrieveMetaData(ScopedKernelController.class);
- ScopedKernelController scopedController;
- if (controllerItem != null)
- scopedController = controllerItem.getValue();
- else
- throw new IllegalArgumentException("Scoped controller should exist: " + scopeKey);
-
- scopedController.addScopedControllerContext(context);
- }
- }
-
- protected void uninstallAction(ControllerContext context)
- {
- Controller controller = context.getController();
- if (controller instanceof ScopedKernelController == false)
- throw new IllegalArgumentException("Current controller should be scoped: " + controller);
-
- ScopedKernelController scopedController = (ScopedKernelController)controller;
- scopedController.removeScopedControllerContext(context);
- }
-}
\ No newline at end of file
Copied: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/dependency/InstallScopeAction.java (from rev 75214, projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/dependency/AliasScopeAction.java)
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/dependency/InstallScopeAction.java (rev 0)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/dependency/InstallScopeAction.java 2008-06-30 13:37:54 UTC (rev 75215)
@@ -0,0 +1,109 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2006, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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.plugins.action.SimpleControllerContextAction;
+import org.jboss.dependency.spi.Controller;
+import org.jboss.dependency.spi.ControllerContext;
+import org.jboss.dependency.spi.ScopeInfo;
+import org.jboss.kernel.spi.dependency.KernelController;
+import org.jboss.kernel.spi.metadata.KernelMetaDataRepository;
+import org.jboss.metadata.plugins.loader.memory.MemoryMetaDataLoader;
+import org.jboss.metadata.spi.repository.MutableMetaDataRepository;
+import org.jboss.metadata.spi.retrieval.MetaDataItem;
+import org.jboss.metadata.spi.retrieval.MetaDataRetrieval;
+import org.jboss.metadata.spi.scope.ScopeKey;
+
+/**
+ * Install scope action.
+ *
+ * @author <a href="ales.justin at jboss.com">Ales Justin</a>
+ */
+public class InstallScopeAction extends SimpleControllerContextAction<ControllerContext>
+{
+ protected ControllerContext contextCast(ControllerContext context)
+ {
+ return context;
+ }
+
+ protected boolean validateContext(ControllerContext context)
+ {
+ return true;
+ }
+
+ /**
+ * Get install scope key.
+ *
+ * @param context the context
+ * @return install scope key
+ */
+ protected ScopeKey getScopeKey(ControllerContext context)
+ {
+ ScopeInfo scopeInfo = context.getScopeInfo();
+ if (scopeInfo != null)
+ return scopeInfo.getInstallScope();
+
+ return null;
+ }
+
+ protected void installAction(ControllerContext context) throws Throwable
+ {
+ ScopeKey scopeKey = getScopeKey(context);
+ if (scopeKey != null)
+ {
+ Controller controller = context.getController();
+ if (controller instanceof KernelController == false)
+ throw new IllegalArgumentException("Can only handle kernel controller: " + controller);
+
+ KernelController kernelController = (KernelController)controller;
+ KernelMetaDataRepository repository = kernelController.getKernel().getMetaDataRepository();
+ MutableMetaDataRepository mmdr = repository.getMetaDataRepository();
+ MetaDataRetrieval mdr = mmdr.getMetaDataRetrieval(scopeKey);
+ if (mdr == null)
+ {
+ mdr = new MemoryMetaDataLoader(scopeKey);
+ mmdr.addMetaDataRetrieval(mdr);
+ }
+ MetaDataItem<ScopedKernelController> controllerItem = mdr.retrieveMetaData(ScopedKernelController.class);
+ ScopedKernelController scopedController;
+ if (controllerItem != null)
+ scopedController = controllerItem.getValue();
+ else
+ throw new IllegalArgumentException("Scoped controller should exist: " + scopeKey);
+
+ scopedController.addScopedControllerContext(context);
+ }
+ }
+
+ protected void uninstallAction(ControllerContext context)
+ {
+ if (getScopeKey(context) != null)
+ {
+ Controller controller = context.getController();
+ if (controller instanceof ScopedKernelController == false)
+ throw new IllegalArgumentException("Current controller should be scoped: " + controller);
+
+ ScopedKernelController scopedController = (ScopedKernelController)controller;
+ scopedController.removeScopedControllerContext(context);
+ }
+ }
+}
\ No newline at end of file
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/dependency/ScopedKernelController.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/dependency/ScopedKernelController.java 2008-06-30 13:13:25 UTC (rev 75214)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/dependency/ScopedKernelController.java 2008-06-30 13:37:54 UTC (rev 75215)
@@ -57,7 +57,7 @@
public class ScopedKernelController extends AbstractKernelController
{
/** Alias scope action instance */
- private static final AliasScopeAction ALIAS_SCOPE_ACTION = new AliasScopeAction();
+ private static final InstallScopeAction ALIAS_SCOPE_ACTION = new InstallScopeAction();
protected Kernel parentKernel;
private ScopeKey scopeKey;
More information about the jboss-cvs-commits
mailing list