cvs commit: jakarta-commons-sandbox/hivemind/src/test/hivemind/test HiveMindTestCase.java

2003-06-24 Thread hlship
hlship  2003/06/24 12:04:36

  Modified:hivemind/xdocs descriptor.xml configuration.xml
navigation.xml
   hivemind/src/java/org/apache/commons/hivemind/parse
AbstractConfigurator.java DescriptorParser.java
HiveMind_1.0.xsd
AbstractConfigurationDescriptor.java
ServiceRefDescriptor.java IValueProvider.java
XMLDescriptor.java ConfigurationDescriptor.java
AbstractInstanceBuilderDescriptor.java
   hivemind/src/java/org/apache/commons/hivemind
IConfigurationExtensionPoint.java
IConfigurationContribution.java
HiveMindMessages.properties
   hivemind/src/java/org/apache/commons/hivemind/impl
ConfigurationContribution.java
ConfigurationExtensionPoint.java
RegistryBuilder.java
   hivemind/src/test/hivemind/test/config
TestConfiguration.java
   hivemind/src/xsl hivemind.xsl
   hivemind/common links.xml
   hivemind/src/test/hivemind/test/services/impl
DemoService.java
   hivemind/src/test/hivemind/test/services TestServices.java
   hivemind/src/test-data/sample org.example.toolbar.ui.xml
   hivemind/src/test/hivemind/test/parse
TestDescriptorParser.java
   hivemind/src/test/hivemind/test HiveMindTestCase.java
  Added:   hivemind/xdocs index.xml
   hivemind/src/java/org/apache/commons/hivemind/parse
NewDescriptor.java
IConfigurationElementProvider.java
   hivemind/src/test/hivemind/test/config NewInterface.xml
WrongElementType.xml NewDefault.xml
NewElementClass.xml NewFactory.xml
   hivemind/src/test/hivemind/test/parse
ConfigurationElementClass.xml
ConfigurationFactoryId.xml ConfigurationNew.xml
  Removed: hivemind/xdocs intro.xml
  Log:
  Add support for the new element, and for element-class and factory-id in 
configuration.
  
  Revision  ChangesPath
  1.7   +67 -2 jakarta-commons-sandbox/hivemind/xdocs/descriptor.xml
  
  Index: descriptor.xml
  ===
  RCS file: /home/cvs/jakarta-commons-sandbox/hivemind/xdocs/descriptor.xml,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- descriptor.xml20 Jun 2003 14:00:29 -  1.6
  +++ descriptor.xml24 Jun 2003 19:04:31 -  1.7
  @@ -290,6 +290,26 @@
/section
section name=configuration
pThe _configuration; element defines a configuration 
extension point./p
  + 
  + p
  + A configuration extension point allows contributions of 
emelements/em.  The extension
  + point defines the emtype/em of elements that may be 
contributed.
  + 
  + /p
  + 
  + p
  + When the element type is simple strings or numbers, 
the value; element is
  + most convienient for making contributions.  
  + /p
  + 
  +  p
  +  When the element type is complex (a JavaBean whose properties 
may be configured),
  +  it is best to identify a element class (which may be distinct 
from the element type) 
  +  or a element factory; this allows contributors to use the 
new; element to create
  +  contributions, which is simpler than forcing them to use
  +  create-instance; or factory;.
  +  /p
  + 
table
tr
thAttribute/th
  @@ -314,6 +334,24 @@
specified type./td
/tr
tr
  + tdelement-class/td  
  + tdclass name/td
  + tdno/td
  + tdIf specified, this is the element type 
created when using new;. If
  + not specified, then the element type 
is expected to be a class, or
  + new; will cause a runtime error.  
Overriden by codefactory-id/code./td
  +  

cvs commit: jakarta-commons-sandbox/hivemind/src/test/hivemind/test HiveMindTestCase.java

2003-06-20 Thread hlship
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