[jboss-cvs] JBossAS SVN: r100740 - in projects/kernel/branches/resolver: dependency/src/main/java/org/jboss/dependency/plugins and 2 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Tue Feb 9 06:14:28 EST 2010
Author: kabir.khan at jboss.com
Date: 2010-02-09 06:14:28 -0500 (Tue, 09 Feb 2010)
New Revision: 100740
Modified:
projects/kernel/branches/resolver/
projects/kernel/branches/resolver/dependency/src/main/java/org/jboss/dependency/plugins/AbstractScopeInfo.java
projects/kernel/branches/resolver/jmx-mc-int/src/main/java/org/jboss/system/microcontainer/DescribeAction.java
projects/kernel/branches/resolver/kernel/src/test/resources/org/jboss/test/kernel/deployment/xml/test/QualifierBeanWithEnableds.xml
Log:
Merged revisions 100652,100669,100690,100692,100695,100699 via svnmerge from
https://svn.jboss.org/repos/jbossas/projects/kernel/trunk
.......
r100652 | alesj | 2010-02-06 14:17:53 +0000 (Sat, 06 Feb 2010) | 1 line
[JBKERNEL-89]; add MDR population for ServiceControllerContext.
.......
r100669 | alesj | 2010-02-07 22:45:53 +0000 (Sun, 07 Feb 2010) | 1 line
[JBKERNEL-90]; fix MDR init for contexts - lazy metadata get.
.......
r100690 | alesj | 2010-02-08 09:12:20 +0000 (Mon, 08 Feb 2010) | 1 line
[JBKERNEL-90]; only keep ref on the owning context.
.......
r100692 | kabir.khan at jboss.com | 2010-02-08 10:21:14 +0000 (Mon, 08 Feb 2010) | 1 line
Use normal characters in xml and tests to avoid encoding issues
.......
r100695 | alesj | 2010-02-08 12:31:10 +0000 (Mon, 08 Feb 2010) | 1 line
Add more info - so it's not random.
.......
r100699 | alesj | 2010-02-08 14:24:40 +0000 (Mon, 08 Feb 2010) | 1 line
Repeat previous get.
.......
Property changes on: projects/kernel/branches/resolver
___________________________________________________________________
Name: svnmerge-integrated
- /projects/kernel/trunk:1-100410
+ /projects/kernel/trunk:1-100738
Modified: projects/kernel/branches/resolver/dependency/src/main/java/org/jboss/dependency/plugins/AbstractScopeInfo.java
===================================================================
--- projects/kernel/branches/resolver/dependency/src/main/java/org/jboss/dependency/plugins/AbstractScopeInfo.java 2010-02-09 11:07:02 UTC (rev 100739)
+++ projects/kernel/branches/resolver/dependency/src/main/java/org/jboss/dependency/plugins/AbstractScopeInfo.java 2010-02-09 11:14:28 UTC (rev 100740)
@@ -43,6 +43,7 @@
* AbstractScopeInfo.
*
* @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @author <a href="ales.justin at jboss.com">Ales Justin</a>
* @version $Revision: 1.1 $
*/
public class AbstractScopeInfo implements ScopeInfo
@@ -59,12 +60,15 @@
/** The install scope */
private ScopeKey installScope;
+ /** The added scopes */
+ private CopyOnWriteArraySet<ScopeKey> addedScopes = new CopyOnWriteArraySet<ScopeKey>();
+
/** The repository */
- private MutableMetaDataRepository repository;
+ private volatile MutableMetaDataRepository repository;
- /** The added scopes */
- private CopyOnWriteArraySet<ScopeKey> addedScopes = new CopyOnWriteArraySet<ScopeKey>();
-
+ /** The owning context */
+ private volatile ControllerContext context;
+
/**
* Create a new AbstractScopeInfo.
*
@@ -110,13 +114,24 @@
{
if (repository == null)
return null;
-
- return repository.getMetaData(getScope());
+
+ MetaData metaData = repository.getMetaData(getScope());
+ if (metaData == null && context != null)
+ {
+ initMetaDataRetrieval(repository, context);
+ metaData = repository.getMetaData(getScope());
+ }
+ return metaData;
}
public void addMetaData(MutableMetaDataRepository repository, ControllerContext context)
{
this.repository = repository;
+
+ // only keep ref on the owning context
+ if (context != null && context.getScopeInfo() == this)
+ this.context = context;
+
ScopeKey scope = getMutableScope();
MetaDataRetrieval retrieval = repository.getMetaDataRetrieval(scope);
MutableMetaDataLoader mutable;
@@ -130,7 +145,7 @@
{
mutable = getMutableMetaDataLoader(retrieval);
}
-
+
if (mutable == null)
{
log.warn("MetaData context is not mutable: " + retrieval + " for " + context.toShortString());
@@ -176,8 +191,11 @@
}
}
addedScopes.clear();
+
+ if (context != null && context.getScopeInfo() == this)
+ this.context = null;
+
this.repository = null;
-
}
/**
Modified: projects/kernel/branches/resolver/jmx-mc-int/src/main/java/org/jboss/system/microcontainer/DescribeAction.java
===================================================================
--- projects/kernel/branches/resolver/jmx-mc-int/src/main/java/org/jboss/system/microcontainer/DescribeAction.java 2010-02-09 11:07:02 UTC (rev 100739)
+++ projects/kernel/branches/resolver/jmx-mc-int/src/main/java/org/jboss/system/microcontainer/DescribeAction.java 2010-02-09 11:14:28 UTC (rev 100740)
@@ -22,33 +22,56 @@
package org.jboss.system.microcontainer;
import org.jboss.dependency.spi.ControllerState;
+import org.jboss.kernel.Kernel;
+import org.jboss.kernel.spi.metadata.KernelMetaDataRepository;
+import org.jboss.metadata.spi.repository.MutableMetaDataRepository;
+import org.jboss.system.ServiceController;
/**
* DescribeAction.
- * This does not do anything. Called when installing to/uninstalling from the
+ * Populate MDR with context info.
+ * Called when installing to/uninstalling from the
* {@link ControllerState#DESCRIBED} state.
*
* @see ServiceControllerContextActions
* @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @author <a href="ales.justin at jboss.org">Ales Justin</a>
* @version $Revision$
*/
public class DescribeAction extends ServiceControllerContextAction
{
/**
- * No-op
+ * Get kernel metadata repository.
+ *
+ * @param context the service controller context
+ * @return kernel metadata reposiory
+ */
+ protected KernelMetaDataRepository getRepository(ServiceControllerContext context)
+ {
+ ServiceController controller = context.getServiceController();
+ Kernel kernel = controller.getKernel();
+ return kernel.getMetaDataRepository();
+ }
+
+ /**
+ * Push context to MDR.
*
* @param context The ServiceControllerContext we are installing
*/
public void installAction(ServiceControllerContext context) throws Throwable
{
+ KernelMetaDataRepository repository = getRepository(context);
+ repository.addMetaData(context);
}
/**
- * No-op
+ * Remove context form MDR.
*
* @param context The ServiceControllerContext we are uninstalling
*/
public void uninstallAction(ServiceControllerContext context)
{
+ KernelMetaDataRepository repository = getRepository(context);
+ repository.removeMetaData(context);
}
}
Modified: projects/kernel/branches/resolver/kernel/src/test/resources/org/jboss/test/kernel/deployment/xml/test/QualifierBeanWithEnableds.xml
===================================================================
--- projects/kernel/branches/resolver/kernel/src/test/resources/org/jboss/test/kernel/deployment/xml/test/QualifierBeanWithEnableds.xml 2010-02-09 11:07:02 UTC (rev 100739)
+++ projects/kernel/branches/resolver/kernel/src/test/resources/org/jboss/test/kernel/deployment/xml/test/QualifierBeanWithEnableds.xml 2010-02-09 11:14:28 UTC (rev 100740)
@@ -4,12 +4,12 @@
<qualifier>
<javabean xmlns="urn:jboss:javabean:2.0" class="java.lang.String">
<constructor>
- <parameter>123</parameter>
+ <parameter paramClass="java.lang.String">123</parameter>
</constructor>
</javabean>
<javabean xmlns="urn:jboss:javabean:2.0" class="java.lang.String">
<constructor>
- <parameter>abc</parameter>
+ <parameter paramClass="java.lang.String">abc</parameter>
</constructor>
</javabean>
</qualifier>
More information about the jboss-cvs-commits
mailing list