hlship 2003/06/20 07:00:30
Modified:hivemind/src/java/org/apache/commons/hivemind/impl
BaseModule.java ConfigurationExtensionPoint.java
ServiceExtensionPoint.java
hivemind/src/test/hivemind/test/services TestServices.java
hivemind/xdocs descriptor.xml navigation.xml
hivemind project.xml maven.xml
hivemind/common links.xml
hivemind/src/xsl hivemind.xsl
hivemind/src/java/org/apache/commons/hivemind
HiveMindMessages.properties
hivemind/src/test/hivemind/test/config
TestConfiguration.java
hivemind/src/test/hivemind/test HiveMindTestCase.java
Added: hivemind/src/test/hivemind/test/services
RecursiveService.xml
hivemind/xdocs registry.xml
hivemind/src/test-data/sample org.example.boostrap.xml
org.example.toolbar.ui.xml
hivemind/src/test/hivemind/test/config
RecursiveConfiguration.xml
Removed: hivemind/src/test-data/sample sample-registry.xml
Log:
Add checks for recursive service and configuration builds.
Improve generation of registry documentation (to use chunked output).
Revision ChangesPath
1.4 +1 -3
jakarta-commons-sandbox/hivemind/src/java/org/apache/commons/hivemind/impl/BaseModule.java
Index: BaseModule.java
===
RCS file:
/home/cvs/jakarta-commons-sandbox/hivemind/src/java/org/apache/commons/hivemind/impl/BaseModule.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- BaseModule.java 4 Jun 2003 23:52:48 - 1.3
+++ BaseModule.java 20 Jun 2003 14:00:29 - 1.4
@@ -112,8 +112,6 @@
private Map _configurations;
-// TODO: checks for recursive service build!
-
public void addServiceExtensionPoint(IServiceExtensionPoint point)
{
if (_serviceExtensionPoints == null)
1.6 +24 -3
jakarta-commons-sandbox/hivemind/src/java/org/apache/commons/hivemind/impl/ConfigurationExtensionPoint.java
Index: ConfigurationExtensionPoint.java
===
RCS file:
/home/cvs/jakarta-commons-sandbox/hivemind/src/java/org/apache/commons/hivemind/impl/ConfigurationExtensionPoint.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- ConfigurationExtensionPoint.java 10 Jun 2003 17:57:08 - 1.5
+++ ConfigurationExtensionPoint.java 20 Jun 2003 14:00:29 - 1.6
@@ -93,6 +93,7 @@
private Class _elementType;
private String _elementTypeName;
private boolean _cacheElements;
+private boolean _building;
protected void extendDescription(ToStringBuilder builder)
{
@@ -179,7 +180,27 @@
return _sharedConfigurationContributions;
}
-public List constructConfiguration()
+public synchronized List constructConfiguration()
+{
+if (_building)
+throw new ApplicationRuntimeException(
+HiveMind.format(
+ConfigurationExtensionPoint.recursive-configuration,
+getExtensionPointId()));
+
+try
+{
+_building = true;
+
+return constructConfigurationInner();
+}
+finally
+{
+_building = false;
+}
+}
+
+protected List constructConfigurationInner()
{
if (LOG.isDebugEnabled())
LOG.debug(Constructing configuration + getExtensionPointId());
@@ -300,7 +321,7 @@
LOG.error(message);
}
-
+
public boolean getCacheElements()
{
return _cacheElements;
1.6 +23 -2
jakarta-commons-sandbox/hivemind/src/java/org/apache/commons/hivemind/impl/ServiceExtensionPoint.java
Index: ServiceExtensionPoint.java
===
RCS file:
/home/cvs/jakarta-commons-sandbox/hivemind/src/java/org/apache/commons/hivemind/impl/ServiceExtensionPoint.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- ServiceExtensionPoint.java9 Jun 2003 22:23:09 - 1.5
+++ ServiceExtensionPoint.java20 Jun 2003 14:00:29 - 1.6
@@ -89,6 +89,7 @@
private List _interceptorContributions;
private List _sortedInterceptorContributions;
private boolean _required;
+private boolean _building;
protected void extendDescription(ToStringBuilder builder)
{
@@ -210,7 +211,27 @@
return _sortedInterceptorContributions;
}
-public Object