mcconnell 2002/08/21 10:00:53
Modified: assembly build.xml default.properties
assembly/src/java/org/apache/excalibur/merlin/assembly
ContainerManager.java DependencyGraph.java
ProfileRegistry.java TypeManager.java
TypeRegistry.java UnresolvedManagerException.java
assembly/src/java/org/apache/excalibur/merlin/model
Profile.java
assembly/src/java/org/apache/excalibur/merlin/model/verifier
MetaDataVerifier.java
assembly/src/java/org/apache/excalibur/merlin/resource
AbstractLifestyleHandler.java DefaultResource.java
DeploymentHelper.java LifecycleHelper.java
PooledLifestyleHandler.java ResourceProvider.java
SingletonLifestyleHandler.java
ThreadLocalLifestyleHandler.java
TransientLifestyleHandler.java
assembly/src/java/org/apache/excalibur/playground
BasicComponent.java BasicContext.java
assembly/src/xdocs activation.xml assembly.xml classpath.xml
container.xml containers.xml deployment.xml
dictionary.xml export.xml extensions.xml faq.xml
index.xml install.xml kernel.xml list.xml
logging.xml menu.xml support.xml
Log:
Updated to incorporate current Excalibur template and Cocoon doc generation.
Revision Changes Path
1.47 +11 -43 jakarta-avalon-excalibur/assembly/build.xml
Index: build.xml
===================================================================
RCS file: /home/cvs/jakarta-avalon-excalibur/assembly/build.xml,v
retrieving revision 1.46
retrieving revision 1.47
diff -u -r1.46 -r1.47
--- build.xml 21 Aug 2002 01:13:12 -0000 1.46
+++ build.xml 21 Aug 2002 17:00:51 -0000 1.47
@@ -354,59 +354,19 @@
</target>
- <target name="anakia-avail">
- <available classname="org.apache.velocity.anakia.AnakiaTask"
- property="AnakiaTask.present">
- <classpath refid="tools.class.path"/>
- </available>
- </target>
-
- <target name="anakia-check" depends="anakia-avail"
unless="AnakiaTask.present">
- <echo>
- AnakiaTask is not present! Please check to make sure that
- velocity.jar is in your classpath. The easiest way to build
- the documentation is to checkout jakarta-site CVS and specify
- jakarta-site.dir property.
- </echo>
- </target>
-
- <target name="docs" depends="anakia-check" description="Generate
documentation and website">
- <taskdef name="anakia"
- classname="org.apache.velocity.anakia.AnakiaTask">
- <classpath refid="tools.class.path"/>
- </taskdef>
-
- <anakia basedir="${xdocs.dir}"
- destdir="${docs.dir}"
- style="docs.vsl"
- projectfile="stylesheets/project.xml"
- includes="**/*.xml"
- excludes="stylesheets/**"
-
velocitypropertiesfile="../site/src/stylesheets/velocity.properties"
- />
+ <target name="docs" depends="javadocs, xdocs" description="generates all
the Avalon documentation"/>
- <copy todir="${docs.dir}" filtering="off">
- <fileset dir="../site/src" includes="css/*.css" />
- <fileset dir="${xdocs.dir}">
- <include name="**/images/**"/>
- <include name="**/*.gif"/>
- <include name="**/*.jpg"/>
- <include name="**/*.png"/>
- <include name="**/*.css"/>
- <include name="**/*.js"/>
- </fileset>
- </copy>
+ <target name="xdocs" description="generates the xdocs-based
documentation">
+ <ant antfile="${basedir}/../cocoonbuild.xml"/>
</target>
<target name="site" depends="javadocs, docs" description=" Places Docs
ready for hosting on website">
-
<mkdir dir="../site/dist/docs/${dir-name}"/>
<copy todir="../site/dist/docs/${dir-name}">
<fileset dir="${docs.dir}">
<include name="**"/>
</fileset>
</copy>
-
</target>
<!-- Cleans up build and distribution directories -->
@@ -424,5 +384,13 @@
<target name="real-clean" depends="clean" description="Cleans up the
project, including distributions">
<delete dir="${dist.base}" />
</target>
+
+ <target name="patch">
+ <replace dir="src/xdocs"
+ token="subs1"
+ value="s2" >
+ <include name="**/*.xml"/>
+ </replace>
+ </target>
</project>
1.5 +2 -1 jakarta-avalon-excalibur/assembly/default.properties
Index: default.properties
===================================================================
RCS file: /home/cvs/jakarta-avalon-excalibur/assembly/default.properties,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- default.properties 21 Aug 2002 01:16:03 -0000 1.4
+++ default.properties 21 Aug 2002 17:00:51 -0000 1.5
@@ -6,7 +6,7 @@
# Not user-editable; use ant.properties files instead
name=merlin
-Name=Merlin
+Name=Merlin 2 - Dynamic Service Management
dir-name=assembly
version=2.0a
package-version=0.99
@@ -125,6 +125,7 @@
depchecker.prefix=.
# project specific properties
+
lib.dir = lib
extension.dir = extensions
demo.name = demo
1.22 +6 -6
jakarta-avalon-excalibur/assembly/src/java/org/apache/excalibur/merlin/assembly/ContainerManager.java
Index: ContainerManager.java
===================================================================
RCS file:
/home/cvs/jakarta-avalon-excalibur/assembly/src/java/org/apache/excalibur/merlin/assembly/ContainerManager.java,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -r1.21 -r1.22
--- ContainerManager.java 16 Aug 2002 04:55:51 -0000 1.21
+++ ContainerManager.java 21 Aug 2002 17:00:51 -0000 1.22
@@ -54,7 +54,7 @@
import org.apache.excalibur.merlin.model.Resource;
import org.apache.excalibur.merlin.model.builder.ProfileBuilder;
import org.apache.excalibur.merlin.model.builder.ContainerBuilder;
-import org.apache.excalibur.meta.info.PhaseDescriptor;
+import org.apache.excalibur.meta.info.StageDescriptor;
import org.apache.excalibur.meta.info.ServiceDescriptor;
import org.apache.excalibur.meta.info.ReferenceDescriptor;
import org.apache.excalibur.meta.info.DependencyDescriptor;
@@ -666,7 +666,7 @@
return local;
}
- public Profile[] getProfiles( PhaseDescriptor phase )
+ public Profile[] getProfiles( StageDescriptor phase )
{
Profile[] local = getLocalProfiles( phase );
ContainerManager parent = getParentManager();
@@ -693,7 +693,7 @@
* @param phase the phase specification
* @return the selected profile
*/
- public Profile getProfile( PhaseDescriptor phase )
+ public Profile getProfile( StageDescriptor phase )
{
Profile[] profiles = getProfiles( phase );
return getSelector( phase ).select( profiles );
@@ -1025,7 +1025,7 @@
* Returns the set of profiles capable of supporting the supplied phase.
* @return the set of candidate profiles
*/
- private Profile[] getLocalProfiles( PhaseDescriptor phase )
+ private Profile[] getLocalProfiles( StageDescriptor phase )
{
return getTable( phase.getReference() ).getProfiles();
}
@@ -1105,7 +1105,7 @@
}
- private Selector getSelector( PhaseDescriptor phase )
+ private Selector getSelector( StageDescriptor phase )
{
// if the phase declares a selector class then use that,
1.4 +5 -5
jakarta-avalon-excalibur/assembly/src/java/org/apache/excalibur/merlin/assembly/DependencyGraph.java
Index: DependencyGraph.java
===================================================================
RCS file:
/home/cvs/jakarta-avalon-excalibur/assembly/src/java/org/apache/excalibur/merlin/assembly/DependencyGraph.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- DependencyGraph.java 12 Aug 2002 17:36:16 -0000 1.3
+++ DependencyGraph.java 21 Aug 2002 17:00:51 -0000 1.4
@@ -11,7 +11,7 @@
import org.apache.excalibur.merlin.model.Profile;
import org.apache.excalibur.merlin.model.Association;
import org.apache.excalibur.meta.info.DependencyDescriptor;
-import org.apache.excalibur.meta.info.PhaseDescriptor;
+import org.apache.excalibur.meta.info.StageDescriptor;
/**
* <p>Utility class to help aquire a ordered graph of
@@ -256,10 +256,10 @@
// support to the subject profile
//
- final PhaseDescriptor[] phases = profile.getType().getPhases();
+ final StageDescriptor[] phases = profile.getType().getPhases();
for( int i=(phases.length-1); i>-1; i-- )
{
- PhaseDescriptor phase = phases[i];
+ StageDescriptor phase = phases[i];
Profile extension = profile.getExtensionProfile( phase );
if( extension != null )
{
@@ -337,7 +337,7 @@
// as an extension provider
//
- final PhaseDescriptor[] phases = other.getType().getPhases();
+ final StageDescriptor[] phases = other.getType().getPhases();
for( int j = 0; j < phases.length; j++ )
{
Profile extension = other.getExtensionProfile( phases[j] );
1.14 +6 -6
jakarta-avalon-excalibur/assembly/src/java/org/apache/excalibur/merlin/assembly/ProfileRegistry.java
Index: ProfileRegistry.java
===================================================================
RCS file:
/home/cvs/jakarta-avalon-excalibur/assembly/src/java/org/apache/excalibur/merlin/assembly/ProfileRegistry.java,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- ProfileRegistry.java 14 Aug 2002 03:03:35 -0000 1.13
+++ ProfileRegistry.java 21 Aug 2002 17:00:51 -0000 1.14
@@ -27,7 +27,7 @@
import org.apache.excalibur.meta.info.ServiceDescriptor;
import org.apache.excalibur.meta.info.ReferenceDescriptor;
import org.apache.excalibur.meta.info.DependencyDescriptor;
-import org.apache.excalibur.meta.info.PhaseDescriptor;
+import org.apache.excalibur.meta.info.StageDescriptor;
import org.apache.excalibur.meta.info.Type;
import org.apache.excalibur.merlin.model.Profile;
import org.apache.excalibur.merlin.model.Resource;
@@ -170,7 +170,7 @@
* supporting the supplied phase.
* @return the set of candidate component types
*/
- Profile[] getProfiles( PhaseDescriptor phase )
+ Profile[] getProfiles( StageDescriptor phase )
{
return m_manager.getProfiles( phase );
}
@@ -274,10 +274,10 @@
// manager
//
- PhaseDescriptor[] phases = profile.getType().getPhases();
+ StageDescriptor[] phases = profile.getType().getPhases();
for( int i=0; i<phases.length; i++ )
{
- PhaseDescriptor phase = phases[i];
+ StageDescriptor phase = phases[i];
if( profile.getExtension( phase ) == null )
{
boolean ok = assembleManagers( map, profile, context, phase,
visited, pad2 );
@@ -336,7 +336,7 @@
}
private boolean assembleManagers(
- DependencyGraph map, Profile source, Context context, PhaseDescriptor
phase, List visited, String pad )
+ DependencyGraph map, Profile source, Context context, StageDescriptor
phase, List visited, String pad )
throws AssemblyException
{
boolean ok = false;
1.14 +2 -2
jakarta-avalon-excalibur/assembly/src/java/org/apache/excalibur/merlin/assembly/TypeManager.java
Index: TypeManager.java
===================================================================
RCS file:
/home/cvs/jakarta-avalon-excalibur/assembly/src/java/org/apache/excalibur/merlin/assembly/TypeManager.java,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- TypeManager.java 20 Aug 2002 23:23:08 -0000 1.13
+++ TypeManager.java 21 Aug 2002 17:00:51 -0000 1.14
@@ -44,7 +44,7 @@
import
org.apache.avalon.excalibur.packagemanager.impl.DefaultExtensionManager;
import org.apache.excalibur.meta.info.Type;
import org.apache.excalibur.meta.info.ReferenceDescriptor;
-import org.apache.excalibur.meta.info.PhaseDescriptor;
+import org.apache.excalibur.meta.info.StageDescriptor;
import org.apache.excalibur.merlin.model.IncludeDescriptor;
import org.apache.excalibur.merlin.model.LibraryDescriptor;
import org.apache.excalibur.merlin.model.ClasspathDescriptor;
1.9 +3 -3
jakarta-avalon-excalibur/assembly/src/java/org/apache/excalibur/merlin/assembly/TypeRegistry.java
Index: TypeRegistry.java
===================================================================
RCS file:
/home/cvs/jakarta-avalon-excalibur/assembly/src/java/org/apache/excalibur/merlin/assembly/TypeRegistry.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- TypeRegistry.java 16 Aug 2002 04:55:51 -0000 1.8
+++ TypeRegistry.java 21 Aug 2002 17:00:51 -0000 1.9
@@ -22,7 +22,7 @@
import org.apache.excalibur.meta.info.ReferenceDescriptor;
import org.apache.excalibur.meta.info.DependencyDescriptor;
import org.apache.excalibur.meta.info.Type;
-import org.apache.excalibur.meta.info.PhaseDescriptor;
+import org.apache.excalibur.meta.info.StageDescriptor;
import org.apache.excalibur.meta.info.ExtensionDescriptor;
import org.apache.excalibur.meta.info.builder.TypeBuilder;
import org.apache.excalibur.meta.info.builder.BlockBuilder;
@@ -235,7 +235,7 @@
* Returns the set of types matching a supplied phase.
* @return the set of types capable of supporting the stage.
*/
- public Type[] getType( PhaseDescriptor phase )
+ public Type[] getType( StageDescriptor phase )
{
ArrayList list = new ArrayList();
Type[] facilities = getFacilities();
1.3 +7 -7
jakarta-avalon-excalibur/assembly/src/java/org/apache/excalibur/merlin/assembly/UnresolvedManagerException.java
Index: UnresolvedManagerException.java
===================================================================
RCS file:
/home/cvs/jakarta-avalon-excalibur/assembly/src/java/org/apache/excalibur/merlin/assembly/UnresolvedManagerException.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- UnresolvedManagerException.java 12 Aug 2002 02:00:09 -0000 1.2
+++ UnresolvedManagerException.java 21 Aug 2002 17:00:51 -0000 1.3
@@ -8,7 +8,7 @@
package org.apache.excalibur.merlin.assembly;
-import org.apache.excalibur.meta.info.PhaseDescriptor;
+import org.apache.excalibur.meta.info.StageDescriptor;
import org.apache.avalon.framework.CascadingException;
@@ -22,14 +22,14 @@
extends AssemblyException
{
- private PhaseDescriptor m_phase;
+ private StageDescriptor m_phase;
/**
* Construct a new <code>UnresolvedManagerException</code> instance.
*
* @param phase the unresolved phase
*/
- public UnresolvedManagerException( PhaseDescriptor phase )
+ public UnresolvedManagerException( StageDescriptor phase )
{
this( phase, null );
}
@@ -40,7 +40,7 @@
* @param phase the unresolved phase
* @param cause the causal exception
*/
- public UnresolvedManagerException( PhaseDescriptor phase, Throwable
cause )
+ public UnresolvedManagerException( StageDescriptor phase, Throwable
cause )
{
super( getStandardMessage( phase ), cause );
m_phase = phase;
@@ -50,12 +50,12 @@
* Return the dependency description.
* @return the unresolved dependency.
*/
- public PhaseDescriptor getPhase()
+ public StageDescriptor getPhase()
{
return m_phase;
}
- private static String getStandardMessage( PhaseDescriptor phase )
+ private static String getStandardMessage( StageDescriptor phase )
{
return "Unable to resolve an extensions for the phase '"
+ phase.getReference();
1.23 +6 -6
jakarta-avalon-excalibur/assembly/src/java/org/apache/excalibur/merlin/model/Profile.java
Index: Profile.java
===================================================================
RCS file:
/home/cvs/jakarta-avalon-excalibur/assembly/src/java/org/apache/excalibur/merlin/model/Profile.java,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -r1.22 -r1.23
--- Profile.java 18 Aug 2002 04:20:09 -0000 1.22
+++ Profile.java 21 Aug 2002 17:00:51 -0000 1.23
@@ -17,7 +17,7 @@
import org.apache.avalon.framework.context.Context;
import org.apache.excalibur.meta.ConfigurationBuilder;
import org.apache.excalibur.meta.info.Type;
-import org.apache.excalibur.meta.info.PhaseDescriptor;
+import org.apache.excalibur.meta.info.StageDescriptor;
import org.apache.excalibur.merlin.model.Association;
import org.apache.excalibur.configuration.ConfigurationUtil;
import org.apache.excalibur.configuration.CascadingConfiguration;
@@ -489,7 +489,7 @@
* @param phase the identifier of the phase to assign the manager to
* @param resource the reference to the manager
*/
- public void addExtension( PhaseDescriptor phase, Profile profile,
Resource resource )
+ public void addExtension( StageDescriptor phase, Profile profile,
Resource resource )
{
m_managers.put( phase, resource );
m_extensions.put( phase, profile );
@@ -501,7 +501,7 @@
* @param phase the lifecycle phase specification
* @return a reference to the phase extension
*/
- public Resource getExtension( PhaseDescriptor phase )
+ public Resource getExtension( StageDescriptor phase )
{
return (Resource) m_managers.get( phase );
}
@@ -511,7 +511,7 @@
* @param phase the lifecycle phase specification
* @return a reference to the phase extension
*/
- public Type getFacility( PhaseDescriptor phase )
+ public Type getFacility( StageDescriptor phase )
{
Profile profile = getExtensionProfile( phase );
if( profile != null )
@@ -526,7 +526,7 @@
* @param phase the lifecycle phase specification
* @return a reference to the phase extension
*/
- public Profile getExtensionProfile( PhaseDescriptor phase )
+ public Profile getExtensionProfile( StageDescriptor phase )
{
return (Profile) m_extensions.get( phase );
}
1.5 +3 -3
jakarta-avalon-excalibur/assembly/src/java/org/apache/excalibur/merlin/model/verifier/MetaDataVerifier.java
Index: MetaDataVerifier.java
===================================================================
RCS file:
/home/cvs/jakarta-avalon-excalibur/assembly/src/java/org/apache/excalibur/merlin/model/verifier/MetaDataVerifier.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- MetaDataVerifier.java 6 Aug 2002 06:24:16 -0000 1.4
+++ MetaDataVerifier.java 21 Aug 2002 17:00:52 -0000 1.5
@@ -19,7 +19,7 @@
import org.apache.excalibur.meta.info.ContextDescriptor;
import org.apache.excalibur.meta.info.ServiceDescriptor;
import org.apache.excalibur.meta.info.ReferenceDescriptor;
-import org.apache.excalibur.meta.info.PhaseDescriptor;
+import org.apache.excalibur.meta.info.StageDescriptor;
import org.apache.excalibur.meta.verifier.VerifyException;
import org.apache.excalibur.meta.verifier.ComponentVerifier;
@@ -234,7 +234,7 @@
* @throws VerifyException if an error occurs
*/
protected Class[] getPhaseClasses( final String name,
- final PhaseDescriptor[] phases,
+ final StageDescriptor[] phases,
final ClassLoader classLoader )
throws VerifyException
{
1.7 +6 -6
jakarta-avalon-excalibur/assembly/src/java/org/apache/excalibur/merlin/resource/AbstractLifestyleHandler.java
Index: AbstractLifestyleHandler.java
===================================================================
RCS file:
/home/cvs/jakarta-avalon-excalibur/assembly/src/java/org/apache/excalibur/merlin/resource/AbstractLifestyleHandler.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- AbstractLifestyleHandler.java 16 Aug 2002 04:55:51 -0000 1.6
+++ AbstractLifestyleHandler.java 21 Aug 2002 17:00:52 -0000 1.7
@@ -22,7 +22,7 @@
import org.apache.excalibur.merlin.resource.ResourceException;
import org.apache.excalibur.merlin.model.Profile;
import org.apache.excalibur.merlin.model.Resource;
-import org.apache.excalibur.meta.info.PhaseDescriptor;
+import org.apache.excalibur.meta.info.StageDescriptor;
import org.apache.excalibur.meta.info.ExtensionDescriptor;
import org.apache.excalibur.meta.info.Type;
import org.apache.excalibur.meta.info.LoggerDescriptor;
@@ -134,10 +134,10 @@
*/
protected void processAccessStage( Object object ) throws Exception
{
- PhaseDescriptor[] phases = m_profile.getType().getPhases();
+ StageDescriptor[] phases = m_profile.getType().getPhases();
for( int i=0; i<phases.length; i++ )
{
- PhaseDescriptor stage = phases[i];
+ StageDescriptor stage = phases[i];
Context context = (Context) m_provider.createContext( stage );
processExtension( stage, object, true );
}
@@ -150,10 +150,10 @@
*/
protected void processReleaseStage( Object object )
{
- PhaseDescriptor[] phases = m_profile.getType().getPhases();
+ StageDescriptor[] phases = m_profile.getType().getPhases();
for( int i=(phases.length-1); i>-1; i-- )
{
- PhaseDescriptor stage = phases[i];
+ StageDescriptor stage = phases[i];
try
{
processExtension( stage, object, false );
@@ -178,7 +178,7 @@
* @exception Exception if an error occurs during stage execution
*/
private void processExtension(
- PhaseDescriptor stage,
+ StageDescriptor stage,
Object object,
boolean access )
throws Exception
1.5 +2 -2
jakarta-avalon-excalibur/assembly/src/java/org/apache/excalibur/merlin/resource/DefaultResource.java
Index: DefaultResource.java
===================================================================
RCS file:
/home/cvs/jakarta-avalon-excalibur/assembly/src/java/org/apache/excalibur/merlin/resource/DefaultResource.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- DefaultResource.java 14 Aug 2002 10:46:29 -0000 1.4
+++ DefaultResource.java 21 Aug 2002 17:00:52 -0000 1.5
@@ -17,7 +17,7 @@
import org.apache.excalibur.merlin.model.Profile;
import org.apache.excalibur.merlin.model.Resource;
import org.apache.excalibur.meta.info.ServiceDescriptor;
-import org.apache.excalibur.meta.info.PhaseDescriptor;
+import org.apache.excalibur.meta.info.StageDescriptor;
import org.apache.excalibur.meta.info.ExtensionDescriptor;
/**
1.3 +3 -3
jakarta-avalon-excalibur/assembly/src/java/org/apache/excalibur/merlin/resource/DeploymentHelper.java
Index: DeploymentHelper.java
===================================================================
RCS file:
/home/cvs/jakarta-avalon-excalibur/assembly/src/java/org/apache/excalibur/merlin/resource/DeploymentHelper.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- DeploymentHelper.java 14 Aug 2002 10:46:29 -0000 1.2
+++ DeploymentHelper.java 21 Aug 2002 17:00:52 -0000 1.3
@@ -52,7 +52,7 @@
import org.apache.excalibur.meta.info.ContextDescriptor;
import org.apache.excalibur.meta.info.EntryDescriptor;
import org.apache.excalibur.meta.info.ContextDescriptor;
-import org.apache.excalibur.meta.info.PhaseDescriptor;
+import org.apache.excalibur.meta.info.StageDescriptor;
import org.apache.excalibur.meta.info.ExtensionDescriptor;
import org.apache.excalibur.meta.info.LoggerDescriptor;
import org.apache.excalibur.meta.info.Type;
@@ -229,10 +229,10 @@
//
Hashtable table = new Hashtable();
- PhaseDescriptor[] stages = profile.getType().getPhases();
+ StageDescriptor[] stages = profile.getType().getPhases();
for( int i=0; i<stages.length; i++ )
{
- PhaseDescriptor stage = stages[i];
+ StageDescriptor stage = stages[i];
Type type = profile.getFacility( stage );
if( type == null )
1.7 +4 -4
jakarta-avalon-excalibur/assembly/src/java/org/apache/excalibur/merlin/resource/LifecycleHelper.java
Index: LifecycleHelper.java
===================================================================
RCS file:
/home/cvs/jakarta-avalon-excalibur/assembly/src/java/org/apache/excalibur/merlin/resource/LifecycleHelper.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- LifecycleHelper.java 20 Aug 2002 13:19:13 -0000 1.6
+++ LifecycleHelper.java 21 Aug 2002 17:00:52 -0000 1.7
@@ -37,7 +37,7 @@
import org.apache.excalibur.merlin.model.Resource;
import org.apache.excalibur.merlin.model.ContextDirective;
import org.apache.excalibur.meta.info.ContextDescriptor;
-import org.apache.excalibur.meta.info.PhaseDescriptor;
+import org.apache.excalibur.meta.info.StageDescriptor;
import org.apache.excalibur.meta.info.ExtensionDescriptor;
import org.apache.excalibur.meta.info.Type;
@@ -283,16 +283,16 @@
private void handleStageExtensions( Profile profile, ResourceProvider
provider, Object object, boolean create ) throws Exception
{
- PhaseDescriptor[] stages = profile.getType().getPhases();
+ StageDescriptor[] stages = profile.getType().getPhases();
for( int i=0; i<stages.length; i++ )
{
- PhaseDescriptor stage = stages[i];
+ StageDescriptor stage = stages[i];
handleStageExtension( profile, stage, provider, object, create );
}
}
private void handleStageExtension(
- Profile profile, PhaseDescriptor stage, ResourceProvider provider,
Object object, boolean create )
+ Profile profile, StageDescriptor stage, ResourceProvider provider,
Object object, boolean create )
throws Exception
{
Resource resource = profile.getExtension( stage );
1.2 +1 -1
jakarta-avalon-excalibur/assembly/src/java/org/apache/excalibur/merlin/resource/PooledLifestyleHandler.java
Index: PooledLifestyleHandler.java
===================================================================
RCS file:
/home/cvs/jakarta-avalon-excalibur/assembly/src/java/org/apache/excalibur/merlin/resource/PooledLifestyleHandler.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- PooledLifestyleHandler.java 16 Aug 2002 03:09:24 -0000 1.1
+++ PooledLifestyleHandler.java 21 Aug 2002 17:00:52 -0000 1.2
@@ -16,7 +16,7 @@
import org.apache.excalibur.merlin.assembly.ContainerManager;
import org.apache.excalibur.merlin.model.Profile;
import org.apache.excalibur.merlin.model.Resource;
-import org.apache.excalibur.meta.info.PhaseDescriptor;
+import org.apache.excalibur.meta.info.StageDescriptor;
import org.apache.excalibur.meta.info.ExtensionDescriptor;
import org.apache.excalibur.mpool.PoolManager;
import org.apache.excalibur.mpool.Pool;
1.4 +3 -3
jakarta-avalon-excalibur/assembly/src/java/org/apache/excalibur/merlin/resource/ResourceProvider.java
Index: ResourceProvider.java
===================================================================
RCS file:
/home/cvs/jakarta-avalon-excalibur/assembly/src/java/org/apache/excalibur/merlin/resource/ResourceProvider.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- ResourceProvider.java 14 Aug 2002 10:46:29 -0000 1.3
+++ ResourceProvider.java 21 Aug 2002 17:00:52 -0000 1.4
@@ -66,7 +66,7 @@
import org.apache.excalibur.meta.info.EntryDescriptor;
import org.apache.excalibur.meta.info.ExtensionDescriptor;
import org.apache.excalibur.meta.info.LoggerDescriptor;
-import org.apache.excalibur.meta.info.PhaseDescriptor;
+import org.apache.excalibur.meta.info.StageDescriptor;
import org.apache.excalibur.merlin.resource.ResourceException;
import org.apache.excalibur.merlin.assembly.KernelManager;
import org.apache.excalibur.merlin.assembly.ContainerManager;
@@ -206,7 +206,7 @@
* @return a new Context for service
* @throws Exception if an error occurs in standard context creation
*/
- public Context createContext( PhaseDescriptor stage )
+ public Context createContext( StageDescriptor stage )
throws Exception
{
return (Context) m_map.get( stage );
1.5 +1 -1
jakarta-avalon-excalibur/assembly/src/java/org/apache/excalibur/merlin/resource/SingletonLifestyleHandler.java
Index: SingletonLifestyleHandler.java
===================================================================
RCS file:
/home/cvs/jakarta-avalon-excalibur/assembly/src/java/org/apache/excalibur/merlin/resource/SingletonLifestyleHandler.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- SingletonLifestyleHandler.java 14 Aug 2002 10:46:29 -0000 1.4
+++ SingletonLifestyleHandler.java 21 Aug 2002 17:00:52 -0000 1.5
@@ -16,7 +16,7 @@
import org.apache.excalibur.merlin.assembly.ContainerManager;
import org.apache.excalibur.merlin.model.Profile;
import org.apache.excalibur.merlin.model.Resource;
-import org.apache.excalibur.meta.info.PhaseDescriptor;
+import org.apache.excalibur.meta.info.StageDescriptor;
import org.apache.excalibur.meta.info.ExtensionDescriptor;
1.2 +1 -1
jakarta-avalon-excalibur/assembly/src/java/org/apache/excalibur/merlin/resource/ThreadLocalLifestyleHandler.java
Index: ThreadLocalLifestyleHandler.java
===================================================================
RCS file:
/home/cvs/jakarta-avalon-excalibur/assembly/src/java/org/apache/excalibur/merlin/resource/ThreadLocalLifestyleHandler.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- ThreadLocalLifestyleHandler.java 15 Aug 2002 00:54:29 -0000 1.1
+++ ThreadLocalLifestyleHandler.java 21 Aug 2002 17:00:52 -0000 1.2
@@ -16,7 +16,7 @@
import org.apache.excalibur.merlin.assembly.ContainerManager;
import org.apache.excalibur.merlin.model.Profile;
import org.apache.excalibur.merlin.model.Resource;
-import org.apache.excalibur.meta.info.PhaseDescriptor;
+import org.apache.excalibur.meta.info.StageDescriptor;
import org.apache.excalibur.meta.info.ExtensionDescriptor;
1.4 +1 -1
jakarta-avalon-excalibur/assembly/src/java/org/apache/excalibur/merlin/resource/TransientLifestyleHandler.java
Index: TransientLifestyleHandler.java
===================================================================
RCS file:
/home/cvs/jakarta-avalon-excalibur/assembly/src/java/org/apache/excalibur/merlin/resource/TransientLifestyleHandler.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- TransientLifestyleHandler.java 14 Aug 2002 10:46:29 -0000 1.3
+++ TransientLifestyleHandler.java 21 Aug 2002 17:00:52 -0000 1.4
@@ -18,7 +18,7 @@
import org.apache.excalibur.merlin.assembly.ContainerManager;
import org.apache.excalibur.merlin.model.Profile;
import org.apache.excalibur.merlin.model.Resource;
-import org.apache.excalibur.meta.info.PhaseDescriptor;
+import org.apache.excalibur.meta.info.StageDescriptor;
import org.apache.excalibur.meta.info.ExtensionDescriptor;
1.2 +23 -0
jakarta-avalon-excalibur/assembly/src/java/org/apache/excalibur/playground/BasicComponent.java
Index: BasicComponent.java
===================================================================
RCS file:
/home/cvs/jakarta-avalon-excalibur/assembly/src/java/org/apache/excalibur/playground/BasicComponent.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- BasicComponent.java 20 Aug 2002 23:23:08 -0000 1.1
+++ BasicComponent.java 21 Aug 2002 17:00:52 -0000 1.2
@@ -31,6 +31,10 @@
private String m_message;
private File m_home;
+ /**
+ * Supply of the the component context to the component type.
+ * @param context the context value
+ */
public void contextualize( Context context )
{
BasicContextInterface c = (BasicContextInterface) context;
@@ -42,6 +46,10 @@
// Configurable
//=======================================================================
+ /**
+ * Supply of the the component configuration to the type.
+ * @param config the configuration value
+ */
public void configure( Configuration config )
{
getLogger().debug("configure");
@@ -52,6 +60,9 @@
// Initializable
//=======================================================================
+ /**
+ * Initialization of the component type by its container.
+ */
public void initialize()
{
getLogger().debug("initialize");
@@ -64,16 +75,25 @@
// Startable
//=======================================================================
+ /**
+ * Start the component.
+ */
public void start()
{
doPrimeObjective();
}
+ /**
+ * Stop the component.
+ */
public void stop()
{
getLogger().info("stopping");
}
+ /**
+ * Dispose of the component.
+ */
public void dispose()
{
getLogger().debug( "dispose" );
@@ -83,6 +103,9 @@
// BasicService
//=======================================================================
+ /**
+ * Service interface implementation.
+ */
public void doPrimeObjective()
{
getLogger().info( m_message + " from '" + m_location + "'.");
1.2 +8 -1
jakarta-avalon-excalibur/assembly/src/java/org/apache/excalibur/playground/BasicContext.java
Index: BasicContext.java
===================================================================
RCS file:
/home/cvs/jakarta-avalon-excalibur/assembly/src/java/org/apache/excalibur/playground/BasicContext.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- BasicContext.java 20 Aug 2002 23:23:08 -0000 1.1
+++ BasicContext.java 21 Aug 2002 17:00:52 -0000 1.2
@@ -21,11 +21,18 @@
public class BasicContext extends DefaultContext implements
BasicContextInterface
{
+ /**
+ * Creation of a new custom context instance.
+ * @param map the context name/value map
+ * @param parent a possibly parent context
+ */
public BasicContext( Map map, Context parent )
{
super( map, parent );
}
-
+
+ /**
+ */
public String getLocation()
{
try
1.3 +14 -10
jakarta-avalon-excalibur/assembly/src/xdocs/activation.xml
Index: activation.xml
===================================================================
RCS file:
/home/cvs/jakarta-avalon-excalibur/assembly/src/xdocs/activation.xml,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- activation.xml 6 Aug 2002 07:32:23 -0000 1.2
+++ activation.xml 21 Aug 2002 17:00:52 -0000 1.3
@@ -1,29 +1,33 @@
<?xml version="1.0"?>
<document>
- <properties>
+
+ <header>
<title>Activation</title>
- <author email="[EMAIL PROTECTED]">Stephen McConnell</author>
- </properties>
+ <authors>
+ <person name="Stephen McConnell" email="[EMAIL PROTECTED]"/>
+ </authors>
+ </header>
+
<body>
- <section name="Activation Framework">
+ <s1 title="Activation Framework">
<p>
On completion of service assembly phase, the assembled component profiles
are packaged as resources. Each resource is an association of the profile, a
provider (responsible for supplying context arguments, manager and so forth),
and a lifecycle helper.
</p>
- </section>
- <section name="Startup">
+ </s1>
+ <s1 title="Startup">
<p>
On invocation of startup at the kernel level, the root container is started,
resulting in the assessment of each profile. If the profile is declared with
the activate attribute as TRUE, Merlin will invoke instantiation of the service
during the startup phase. Instantiation will be following by startup of the
component at which time the component instance will be supplied with a service
manager (or component manager). Service to which the target component is
dependent will not be activated until the target invokes lookup on the supplied
service manager. Merlin's service/component manager implementation holds
references to the resource and as such, can instantiate services on demand - or
not at all if the dependent service is not required within a particular session.
</p>
<p>If no components request explicit activation, Merlin will simply continue
with a normal shutdown process.
</p>
- </section>
- <section name="Shutdown">
+ </s1>
+ <s1 title="Shutdown">
<p>
Shutdown is normally initiated by the kernel resulting in the orderly
shutdown of running services followed by shutdown of the container hierarchy.
Shutdown signals both the halting of execution of a service and the disposal of
service and container resources.
</p>
- </section>
+ </s1>
</body>
<footer>
1.7 +13 -11 jakarta-avalon-excalibur/assembly/src/xdocs/assembly.xml
Index: assembly.xml
===================================================================
RCS file: /home/cvs/jakarta-avalon-excalibur/assembly/src/xdocs/assembly.xml,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- assembly.xml 19 Aug 2002 23:05:07 -0000 1.6
+++ assembly.xml 21 Aug 2002 17:00:52 -0000 1.7
@@ -1,17 +1,19 @@
<?xml version="1.0"?>
<document>
- <properties>
+ <header>
<title>Assembly</title>
- <author email="[EMAIL PROTECTED]">Stephen McConnell</author>
- </properties>
+ <authors>
+ <person name="Stephen McConnell" email="[EMAIL PROTECTED]"/>
+ </authors>
+ </header>
<body>
- <section name="Assembly Engine">
+ <s1 title="Assembly Engine">
<p>
Merlin assembles component based on explicitly declared services together
with packaged and implicitly derived services. Explicitly declared services
include component profiles declared within a container. Packaged services
include components that are supplied with profile information inside its jar
file. Implicit services are derived from type information together with a
system generated minimal profile. These components are initially identified by
manifest entries that declare the components included within a jar file.
</p>
- </section>
- <section name="Manifest Entries">
+ </s1>
+ <s1 title="Manifest Entries">
<p>
Manifest entries are used to declare the existence of one or more component
implementations within a jar file. An example of a manifest declaration is
included here.
</p>
@@ -44,8 +46,8 @@
Avalon: Type
</pre>
- </section>
- <section name="Candidate Establishment">
+ </s1>
+ <s1 title="Candidate Establishment">
<p>
Service assembly in Merlin is based on the formal declaration of
dependencies by a component type. A component type is Java class with a null
constructor and an associated <class-name>.xinfo file. The xinfo file
contains an XML description of the component. This information includes the
following:
</p>
@@ -68,7 +70,7 @@
<font color="gray"><i><!--
Example of a component meta info external XML form.
The element contains the information required to construct an instance of
-org.apache.excalibur.containerkit.metainfo.ComponentInfo. It includes
+org.apache.excalibur.meta.info.Rtpe. It includes
information about the component type, the service it provides, and the
services it is dependent on.
--></i></font>
@@ -347,7 +349,7 @@
<p><i>Please note that the selection model and interfaces may be changed as
a result of more intensive usage assessment. The current approach of supplying
a non-ordered set of profiles negates the possibility for order upward
searching within a container hierarchy. An alternative approach of delegating
the selection to the container based on a supplier selection handler is under
consideration.
</i></p>
<p>On completion of a selection process a graph of candidates is established
from which the order establishment of services is resolved and Merlin proceeds
with the service <a href="activation.html">activation</a> phase.</p>
- </section>
+ </s1>
</body>
<footer>
<legal>
1.4 +13 -11 jakarta-avalon-excalibur/assembly/src/xdocs/classpath.xml
Index: classpath.xml
===================================================================
RCS file:
/home/cvs/jakarta-avalon-excalibur/assembly/src/xdocs/classpath.xml,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- classpath.xml 19 Aug 2002 23:05:07 -0000 1.3
+++ classpath.xml 21 Aug 2002 17:00:52 -0000 1.4
@@ -1,12 +1,14 @@
<?xml version="1.0"?>
<document>
- <properties>
- <title>Classpath</title>
- <author email="[EMAIL PROTECTED]">Stephen McConnell</author>
- </properties>
+ <header>
+ <title>Classloading</title>
+ <authors>
+ <person name="Stephen McConnell" email="[EMAIL PROTECTED]"/>
+ </authors>
+ </header>
<body>
- <section name="ClassLoader Management">
+ <s1 title="ClassLoader Management">
<p>Merlin provides two structures supporting the deinition of the class
available with the kernel and containers.</p>
<ul>
@@ -14,7 +16,7 @@
<li><a href="#classpath">Classpath</a> - declaration of classpath
strcutures that may be included within kernel or container scope.</li>
</ul>
- <subsection name="Extensions Sub-System">
+ <s2 title="Extensions Sub-System">
<a href="extension"/>
<p>A kernel may contain a single extensions element that declares the
directories in which extension jar files may be located. Extensions are
available to the root classloader and as such are available to all containers.
An example of an extensions declaration is included below.</p>
@@ -42,9 +44,9 @@
</kernel>
</pre>
- </subsection>
+ </s2>
- <subsection name="Classpath Managment">
+ <s2 title="Classpath Managment">
<a href="extension"/>
<p>A classpath declaration may occur at kernel and container scope. A
kernel classpath is accessible by the root container and all subsidiary
containers. A classpath declared at container scope is accessible only to the
immediate container in which the classpath is defined and its subsidiary
containers. An example of a classpath declaration is included below.</p>
@@ -94,8 +96,8 @@
</kernel>
</pre>
- </subsection>
- </section>
+ </s2>
+ </s1>
</body>
<footer>
<legal>
1.3 +11 -9 jakarta-avalon-excalibur/assembly/src/xdocs/container.xml
Index: container.xml
===================================================================
RCS file:
/home/cvs/jakarta-avalon-excalibur/assembly/src/xdocs/container.xml,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- container.xml 20 Jul 2002 05:03:01 -0000 1.2
+++ container.xml 21 Aug 2002 17:00:52 -0000 1.3
@@ -1,20 +1,22 @@
<?xml version="1.0"?>
<document>
- <properties>
- <title>Container</title>
- <author email="[EMAIL PROTECTED]">Stephen McConnell</author>
- </properties>
+ <header>
+ <title>Containers</title>
+ <authors>
+ <person name="Stephen McConnell" email="[EMAIL PROTECTED]"/>
+ </authors>
+ </header>
<body>
- <section name="Container">
+ <s1 title="Container">
<p>The Merlin system provides support for a cascading containers. This
model enables component assemblers to associate jar files under a protected
container scope where each container is associated with its own classloader.</p>
<p>Merlin will handle resolution of service dependencies for
components contained in containers by looking for explicitly declared
components commencing within the local container, and working progressively up
the container hierarchy. If no explicit solutions are resolved, Merlin will
attempt to build an implicit solution based on components declared in the
respective container classpath declarations.</p>
- </section>
+ </s1>
- <section name="Container Model">
+ <s1 title="Container Model">
<p>A new container is created using a container model. The model is
the definition of the container, its classpath, and the profiles of the
components it is responsible for managing. Container models are declared
programmatically or via an XML description.</p>
@@ -30,7 +32,7 @@
</container>
</pre>
- </section>
+ </s1>
</body>
1.3 +10 -8
jakarta-avalon-excalibur/assembly/src/xdocs/containers.xml
Index: containers.xml
===================================================================
RCS file:
/home/cvs/jakarta-avalon-excalibur/assembly/src/xdocs/containers.xml,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- containers.xml 6 Aug 2002 07:32:23 -0000 1.2
+++ containers.xml 21 Aug 2002 17:00:52 -0000 1.3
@@ -1,20 +1,22 @@
<?xml version="1.0"?>
<document>
- <properties>
+ <header>
<title>Containers</title>
- <author email="[EMAIL PROTECTED]">Stephen McConnell</author>
- </properties>
+ <authors>
+ <person name="Stephen McConnell" email="[EMAIL PROTECTED]"/>
+ </authors>
+ </header>
<body>
- <section name="Container">
+ <s1 title="Container">
<p>The Merlin system provides support for a cascading containers. This
model enables component assemblers to associate jar files under a protected
container scope where each container is associated with its own classloader.</p>
<p>Merlin will handle resolution of service dependencies for
components contained in containers by looking for explicitly declared
components commencing within the local container, and working progressively up
the container hierarchy. If no explicit solutions are resolved, Merlin will
attempt to build an implicit solution based on components declared in the
respective container classpath declarations.</p>
- </section>
+ </s1>
- <section name="Container Model">
+ <s1 title="Container Model">
<p>A new container is created using a container model. The model is
the defintion of the container, its classpath, and the profiles of the
components it is responsible for managing. Container models are declared
programmatically or via an XML description.</p>
@@ -30,7 +32,7 @@
</container>
</pre>
- </section>
+ </s1>
</body>
1.4 +10 -8
jakarta-avalon-excalibur/assembly/src/xdocs/deployment.xml
Index: deployment.xml
===================================================================
RCS file:
/home/cvs/jakarta-avalon-excalibur/assembly/src/xdocs/deployment.xml,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- deployment.xml 21 Jul 2002 05:04:10 -0000 1.3
+++ deployment.xml 21 Aug 2002 17:00:52 -0000 1.4
@@ -1,12 +1,14 @@
<?xml version="1.0"?>
<document>
- <properties>
+ <header>
<title>Deployment</title>
- <author email="[EMAIL PROTECTED]">Stephen McConnell</author>
- </properties>
+ <authors>
+ <person name="Stephen McConnell" email="[EMAIL PROTECTED]"/>
+ </authors>
+ </header>
<body>
- <section name="Deployment">
+ <s1 title="Deployment">
<p>Components types deployed under this framework must be declared as formal
component types using a <classname>.xinfo descriptor as defined by the <a
href="api/meta/index.html">Avalon Meta Model,</a>. Components types may also
deployed with default profile criteria and configuration information.</p>
@@ -32,15 +34,15 @@
</li>
</ul>
- </section>
+ </s1>
- <section name="Kernel Definition">
+ <s1 title="Kernel Definition">
<p>Components assembly requires the declaration of at least one
component with the kernel configuration profile. The profile enables the
declaration of a hierarchy of containers and component profiles within
containers. The containers within a hierarchy collaborate to resolve service
dependencies for the components they respectively manage.</p>
<p>Example components and a kernel.xml profile are included in the
distribution.</p>
- </section>
+ </s1>
</body>
1.3 +9 -7
jakarta-avalon-excalibur/assembly/src/xdocs/dictionary.xml
Index: dictionary.xml
===================================================================
RCS file:
/home/cvs/jakarta-avalon-excalibur/assembly/src/xdocs/dictionary.xml,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- dictionary.xml 6 Aug 2002 07:32:23 -0000 1.2
+++ dictionary.xml 21 Aug 2002 17:00:52 -0000 1.3
@@ -1,12 +1,14 @@
<?xml version="1.0"?>
<document>
- <properties>
+ <header>
<title>Dictionary</title>
- <author email="[EMAIL PROTECTED]">Stephen McConnell</author>
- </properties>
+ <authors>
+ <person name="Stephen McConnell" email="[EMAIL PROTECTED]"/>
+ </authors>
+ </header>
<body>
- <section name="Merlin Dictionary">
+ <s1 title="Merlin Dictionary">
<table>
<tr>
@@ -38,7 +40,7 @@
<td><a href="phase"/><p>Phase</p></td>
<td>
<p>A reference to a behavioural extension - sometimes referred to as a
lifecycle phase or lifecycle stage.</p>
-<p>Component types can declare their dependence on providers of lifecycle
extensions through a <a
href="api/meta/org/apache/excalibur/meta/info/PhaseDescriptor.html">PhaseDescriptor</a>.
Examples of a lifecycle phase includes notions such as
<code>Exploitable</code>, <code>Demonstratable</code>, or
<code>Persistable</code>. These interfaces represent extended behavioural
cycles supported by a component, and as such, dependencies that a component has
towards phase extension providers. It is the responsibility of a container to
resolve and provide an appropriate phase provider to service the phase
dependencies published by a component.</p>
+<p>Component types can declare their dependence on providers of lifecycle
extensions through a <a
href="api/meta/org/apache/excalibur/meta/info/StageDescriptor.html">StageDescriptor</a>.
Examples of a lifecycle phase includes notions such as
<code>Exploitable</code>, <code>Demonstratable</code>, or
<code>Persistable</code>. These interfaces represent extended behavioural
cycles supported by a component, and as such, dependencies that a component has
towards phase extension providers. It is the responsibility of a container to
resolve and provide an appropriate phase provider to service the phase
dependencies published by a component.</p>
</td>
</tr>
<tr>
@@ -57,7 +59,7 @@
</tr>
</table>
- </section>
+ </s1>
</body>
<footer>
<legal>
1.3 +9 -7 jakarta-avalon-excalibur/assembly/src/xdocs/export.xml
Index: export.xml
===================================================================
RCS file: /home/cvs/jakarta-avalon-excalibur/assembly/src/xdocs/export.xml,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- export.xml 6 Aug 2002 07:32:23 -0000 1.2
+++ export.xml 21 Aug 2002 17:00:52 -0000 1.3
@@ -1,16 +1,18 @@
<?xml version="1.0"?>
<document>
- <properties>
- <title>Export</title>
- <author email="[EMAIL PROTECTED]">Stephen McConnell</author>
- </properties>
+ <header>
+ <title>Service Export</title>
+ <authors>
+ <person name="Stephen McConnell" email="[EMAIL PROTECTED]"/>
+ </authors>
+ </header>
<body>
- <section name="Service Export">
+ <s1 title="Service Export">
<p>
A Merlin kernel can be considered as a dynamic type in that it can export
services depending on the configuration it is supplied with. The services
established by a kernel are referred to as "exported" services. Exported
services are encapsulated within ResourceDesignator and as such, the client of
an exported service is not aware of the instantiated state of the service.
Client applications utilise the exported service should contain to reference
the ResourceDesignator instance in preference to actual service instantiation
where possible. For example, a server managing a collection of process types
could use a kernel to establish the process component resources from which it
could publish available processes. On reception of a client request for
activation of a process, the server could establish a new process and apply a
service manager that maintains the resource reference. This ensures that
services are only instantiated when actually needed.
</p>
- </section>
+ </s1>
</body>
<footer>
<legal>
1.5 +9 -7
jakarta-avalon-excalibur/assembly/src/xdocs/extensions.xml
Index: extensions.xml
===================================================================
RCS file:
/home/cvs/jakarta-avalon-excalibur/assembly/src/xdocs/extensions.xml,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- extensions.xml 19 Aug 2002 23:05:07 -0000 1.4
+++ extensions.xml 21 Aug 2002 17:00:52 -0000 1.5
@@ -1,12 +1,14 @@
<?xml version="1.0"?>
<document>
- <properties>
- <title>Lifecycle Extensions</title>
- <author email="[EMAIL PROTECTED]">Stephen McConnell</author>
- </properties>
+ <header>
+ <title>Lifestyle Extension</title>
+ <authors>
+ <person name="Stephen McConnell" email="[EMAIL PROTECTED]"/>
+ </authors>
+ </header>
<body>
- <section name="Lifecycle Extensions">
+ <s1 title="Lifecycle Extensions">
<p>Merlin provides support for pluggable lifestyle extensions. Components
can declare dependencies on a lifecycle extension provider under the component
type declaration using the <phases/> element. Component can declare
themselves as providers of lifecycle extension services via the
<extensions/> element.</p>
@@ -65,7 +67,7 @@
</pre>
- </section>
+ </s1>
</body>
<footer>
<legal>
1.6 +15 -13 jakarta-avalon-excalibur/assembly/src/xdocs/faq.xml
Index: faq.xml
===================================================================
RCS file: /home/cvs/jakarta-avalon-excalibur/assembly/src/xdocs/faq.xml,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- faq.xml 14 Aug 2002 10:46:30 -0000 1.5
+++ faq.xml 21 Aug 2002 17:00:52 -0000 1.6
@@ -1,13 +1,15 @@
<?xml version="1.0"?>
<document>
- <properties>
- <title>FAQ</title>
- <author email="[EMAIL PROTECTED]">Stephen McConnell</author>
- </properties>
+ <header>
+ <title>Frequently Asked Questions</title>
+ <authors>
+ <person name="Stephen McConnell" email="[EMAIL PROTECTED]"/>
+ </authors>
+ </header>
<body>
- <section name="Frequently Asked Questions">
- <subsection name="What's the difference between Merlin and Fortress?">
+ <s1 title="Frequently Asked Questions">
+ <s2 title="What's the difference between Merlin and Fortress?">
<p>Merlin and Fortress are very similar in that they both address the
requirement for an embeddable component container. Merlin and Fortress differ
in terms of the requirements that they meet. Fortress focuses on the needs
related to frequent service activation requests based on service interface
request supplied by a client to a service or component manager. Merlin on the
other-hand is more concerned with complex service management systems
establishment.</p>
@@ -15,9 +17,9 @@
<p>User's familiar with the ECM framework will find may aspects of Fortress
familiar. User's that have experience problems related to larger scale
activation ordering, complex configuration, or context dependent components
will find Merlin more appropriate to their needs.</p>
- </subsection>
+ </s2>
- <subsection name="What's the difference between Merlin and Phoenix?">
+ <s2 title="What's the difference between Merlin and Phoenix?">
<p>Merlin and Phoenix can be considered to be derived from the same family
in terms of architecture and notions of "what a component is". Both Merlin and
Phoenix leverage meta-information about a type of component (the .xinfo
resource). Meta information used by Phoenix is described in a
<blockinfo> whereas Merlin uses the more advanced <type> DTD. Plans
for Merlin development include addition of support for the block-info DTD
(enabling execution of Phoenix style components inside Merlin). Both models
share many of the same DTD features and it is expected that Phoenix will
migrate to or at least support the <type> schema in the future. With
this in place, Phoenix based components will be interoperable within Merlin
providing the components do not use Phoenix specific interfaces or classes.
Typically, the two aspect to watch for on Phoenix based components that limit
portability are (a) references to the class BlockContext (which can be
eliminated by using the context key instead of Phoenix specific context
accessors), and (b), the usage of the BlockListener and ApplicationListener
interfaces (both representing Phoenix specific extensions).</p>
@@ -25,9 +27,9 @@
<p>At the overall architecture level Phoenix provides support for pluggable
facilities (cut-down components) to provide support for core services towards a
set of applications. Merlin's goes further by providing the ability for real
"component" based facilities model via embedded <a
href="api/assembly/org/apache/excalibur/merlin/kernel/Kernel.html">kernels</a>
that export services backed by a flexible hierarchical <a
href="api/assembly/org/apache/excalibur/merlin/container/Container.html">container</a>
structure. Based simply on available functionality, Phoenix, is the choice
when selecting an app-server. Merlin on the other-hand demands substantially
less engagement by the end-user and delivers a commensurate reduction in
support overhead.</p>
- </subsection>
+ </s2>
- <subsection name="What's the difference between Containerkit and the
Merlin Meta-Model?">
+ <s2 title="What's the difference between Containerkit and the Merlin
Meta-Model?">
<p>The meta model defined in both Containerkit and Merlin separates out the
notion of type related meta-info from the criteria for instantiation - commonly
referred to a meta-data. The Merlin meta-info API is basically a superset of
the containerkit API. The Merlin meta-info model goes beyond containerkit by
providing explicit declaration of lifecycle extension dependencies, and
lifecycle extension handlers.</p>
<p>The Merlin API used more human friendly naming conventions (e.g. a type
is referred to a <a
href="api/meta/org/apache/excalibur/meta/info/Type.html">Type</a>, a component
profile at the meta-data level is called a <a
href="api/assembly/org/apache/excalibur/merlin/model/Profile.html">Profile</a>,
the association between profiles is called an <a
href="api/assembly/org/apache/excalibur/merlin/model/Association.html">Association</a>
- whereas containerkit references the same entries using more technically
oriented naming conventions - ComponentInfo, ComponentMetaData and
DependencyMetaData respectively). Aside from naming conventions, the Merlin
meta-info model includes a method through which a client can assess a default
configuration associated and packaged with the type, allows dynamic addition of
association, and includes support for formal lifecycle extension management.</p>
@@ -36,9 +38,9 @@
<p>At a packaging level, the Merlin meta-data model is cleanly separated
from the meta-info model (separate jar files), enabling reuse of the meta-info
framework independently of container specific abstractions that occur in the
meta-data layer.</p>
- </subsection>
+ </s2>
- </section>
+ </s1>
</body>
<footer>
<legal>
1.3 +18 -14 jakarta-avalon-excalibur/assembly/src/xdocs/index.xml
Index: index.xml
===================================================================
RCS file: /home/cvs/jakarta-avalon-excalibur/assembly/src/xdocs/index.xml,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- index.xml 20 Jul 2002 05:03:01 -0000 1.2
+++ index.xml 21 Aug 2002 17:00:52 -0000 1.3
@@ -1,13 +1,17 @@
<?xml version="1.0"?>
<document>
- <properties>
- <title>Overview</title>
- <author email="[EMAIL PROTECTED]">Stephen McConnell</author>
- </properties>
+
+ <header>
+ <title>Merlin Overview</title>
+ <authors>
+ <person name="Stephen McConnell" email="[EMAIL PROTECTED]"/>
+ </authors>
+ </header>
+
<body>
- <section name="Introduction">
+ <s1 title="Introduction">
<p>Merlin 2 is a container including a set of services dealing with
the definition
of a system kernel, container hierarchies, component assembly,
component deployment, and
@@ -27,9 +31,9 @@
entries to the container it is managing, and subsequently publish
establish entries
and services (derived from container deployment) towards kernel
clients.</p>
- </section>
+ </s1>
- <section name="Demo">
+ <s1 title="Demo">
<p>The Merlin project includes a number of demonstration components.
One of these
components declares several dependencies, which in turn refer to other
components
@@ -38,22 +42,22 @@
ordering, and the lifecycle processing automatically.</p>
<p>To build and execute the demo, invoke the following commands:</p>
- <pre>
+ <source>
$ ant
$ kernel
- </pre>
- <p>For a description of the demo see the Javadoc document for the <a
href="api/assembly/org/apache/excalibur/merlin/Main.html">Main</a> class.</p>
+ </source>
+ <p>For a description of the demo see the Javadoc document for the <a
href="//api/assembly/org/apache/excalibur/merlin/Main.html">Main</a> class.</p>
- </section>
+ </s1>
- <section name="Status">
+ <s1 title="Status">
<p>Merlin 2.0 is under active ALPHA development. APIs are subject to
change.
Merlin 2.0 is operational and usable for a broad spectrum of
components. However,
work relating to configuration management, context management and
service manager
management.</p>
- </section>
+ </s1>
</body>
1.4 +16 -14 jakarta-avalon-excalibur/assembly/src/xdocs/install.xml
Index: install.xml
===================================================================
RCS file: /home/cvs/jakarta-avalon-excalibur/assembly/src/xdocs/install.xml,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- install.xml 6 Aug 2002 07:32:23 -0000 1.3
+++ install.xml 21 Aug 2002 17:00:52 -0000 1.4
@@ -1,21 +1,23 @@
<?xml version="1.0"?>
<document>
- <properties>
+ <header>
<title>Installation</title>
- <author email="[EMAIL PROTECTED]">Stephen McConnell</author>
- </properties>
+ <authors>
+ <person name="Stephen McConnell" email="[EMAIL PROTECTED]"/>
+ </authors>
+ </header>
<body>
- <section name="Installation">
+ <s1 title="Installation">
- <subsection name="Dependencies">
+ <s2 title="Dependencies">
<p>
Installation of Merlin assumes you have Ant 1.4 or later installed on you
machine.
</p>
<p><a href="http://jakarta.apache.org/ant/index.html">Ant Home Page</a></p>
- </subsection>
- <subsection name="CVS Repository">
+ </s2>
+ <s2 title="CVS Repository">
<p>
The Merlin distribution is available via the Apache CVS server. To access
the server, simply use the following commands (if you are using a GUI CVS
client, configure it appropriately):
@@ -29,8 +31,8 @@
jakarta-avalon-excalibur/assembly
</pre>
- </subsection>
- <subsection name="Build Procedure">
+ </s2>
+ <s2 title="Build Procedure">
<p>
To build the Merlin installation, cd to the location of the Merlin project
(e.g. C:\jakarta-avalon-excalibur\merlin ) and invoke ant.
@@ -39,9 +41,9 @@
$ ant
</pre>
- </subsection>
- </section>
- <section name="Demo">
+ </s2>
+ </s1>
+ <s1 title="Demo">
<p>
To run a demonstration of Merlin run the kernel command file.
@@ -51,7 +53,7 @@
$ kernel
</pre>
- </section>
+ </s1>
</body>
<footer>
<legal>
1.4 +10 -8 jakarta-avalon-excalibur/assembly/src/xdocs/kernel.xml
Index: kernel.xml
===================================================================
RCS file: /home/cvs/jakarta-avalon-excalibur/assembly/src/xdocs/kernel.xml,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- kernel.xml 2 Aug 2002 09:34:56 -0000 1.3
+++ kernel.xml 21 Aug 2002 17:00:52 -0000 1.4
@@ -2,14 +2,16 @@
<document>
- <properties>
+ <header>
<title>Kernel</title>
- <author email="[EMAIL PROTECTED]">Stephen McConnell</author>
- </properties>
+ <authors>
+ <person name="Stephen McConnell" email="[EMAIL PROTECTED]"/>
+ </authors>
+ </header>
<body>
- <section name="Kernel">
+ <s1 title="Kernel">
<p>Merlin separates the notion of a kernel from a container. A kernel
manages resources (Objects) whereas a container manages services. The Merlin
implementation provides a default kernel that manages a container hierarchy.
The <a
href="api/assembly/org/apache/excalibur/merlin/kernel/DefaultKernel.html">DefaultKernel</a>
implementation provides the framework for overall management including
startup, shutting down, extensions management, and other system wide
facilities. The Merlin implementation provides a utility class (<a
href="api/assembly/org/apache/excalibur/merlin/Main.html">Main</a>) that
handles establish of a kernel based on a single command line argument.</p>
@@ -19,9 +21,9 @@
<img src="/images/overview.gif" />
- </section>
+ </s1>
- <section name="Kernel Model">
+ <s1 title="Kernel Model">
<p>A Merlin kernel is created using a kernel model (<a
href="api/assembly/org/apache/excalibur/merlin/model/KernelDescriptor.html">KernelDescriptor</a>).
The model may be defined programmatically or through an XML file. A kernel
XML file contains the definition of kernel execution parameters and a root
container.</p>
@@ -45,7 +47,7 @@
</kernel>
</pre>
-</section>
+</s1>
</body>
1.3 +8 -6 jakarta-avalon-excalibur/assembly/src/xdocs/list.xml
Index: list.xml
===================================================================
RCS file: /home/cvs/jakarta-avalon-excalibur/assembly/src/xdocs/list.xml,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- list.xml 6 Aug 2002 07:32:23 -0000 1.2
+++ list.xml 21 Aug 2002 17:00:52 -0000 1.3
@@ -1,17 +1,19 @@
<?xml version="1.0"?>
<document>
- <properties>
+ <header>
<title>Email</title>
- <author email="[EMAIL PROTECTED]">Stephen McConnell</author>
- </properties>
+ <authors>
+ <person name="Stephen McConnell" email="[EMAIL PROTECTED]"/>
+ </authors>
+ </header>
<body>
- <section name="Mailing Lists">
+ <s1 title="Mailing Lists">
<p>
Merlin is part of the Apache Avalon Project. The <a
href="http://jakarta.apache.org/site/mail2.html#Avalon">Avalon User list</a> is
available for general questions and queries relating to Avalon initiatives.
</p>
- </section>
+ </s1>
</body>
<footer>
1.5 +14 -12 jakarta-avalon-excalibur/assembly/src/xdocs/logging.xml
Index: logging.xml
===================================================================
RCS file: /home/cvs/jakarta-avalon-excalibur/assembly/src/xdocs/logging.xml,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- logging.xml 6 Aug 2002 07:32:23 -0000 1.4
+++ logging.xml 21 Aug 2002 17:00:52 -0000 1.5
@@ -1,17 +1,19 @@
<?xml version="1.0"?>
<document>
- <properties>
+ <header>
<title>Logging</title>
- <author email="[EMAIL PROTECTED]">Stephen McConnell</author>
- </properties>
+ <authors>
+ <person name="Stephen McConnell" email="[EMAIL PROTECTED]"/>
+ </authors>
+ </header>
<body>
- <section name="Logging Sub-System">
+ <s1 title="Logging Sub-System">
<p>Logging services build above the Avalon framework abstract logging
infrastructure. Merlin provides the mechanisms through which logging
hierarchies can be created, logging priorities assigned, and definition of log
event output targets. Logging directives may be includes at the kernel,
container and component levels.</p>
- </section>
+ </s1>
- <section name="Kernel Directives">
+ <s1 title="Kernel Directives">
<p>A kernel may be configured with an option logging system creation
directive. The logging element declares the application wide default logging
priority. A target element enables definition of a logging file to which log
entries will be directed. The target name attribute is the name referenced by
category elements defined within the loggers element. Child category
declarations must include a name (the logging category), and may optionally
include a target and a priority attribute. The target defaults of "default"
which corresponds to a internal default logging target that issue messages to
System.out (unless overridden by a target named default). If the target is
declared inside a category element, it must refer to a named target element.
The priority attribute may container one of the values <code>DEBUG</code>,
<code>INFO</code>, <code>WARN</code> or <code>ERROR</code>. The target must
contain a single file element with the attribute <code>location</code> the
corresponds to the name of the logging file.</p>
<pre>
@@ -80,9 +82,9 @@
</p>
<p>All logging categories declarted at kernel level are scoped relative
to the "kernel" root category. At such, a parameter dealing with a category
such "loader" is equivilent to the full category path "kernel.loader".</p>
- </section>
+ </s1>
- <section name="Container Directives">
+ <s1 title="Container Directives">
<p>A kernel contains a single root container. The name of the container
establishes a top level logging category name. Categories defined within the
scope of a container are always relative to the enclosing container path name.
For example, a logging category of "assembly" inside a root container named
"root" is defining parameters for the logging category "root.assembly".
Sub-containers within a container hierarchy for a category name path. For
example, if a container name "sub" is included in a container named "root", the
containers logging category will be "root.sub". Logging category declarations
scoped within a container will be created relative to the contains category
path.</p>
@@ -129,9 +131,9 @@
</kernel>
</pre>
- </section>
+ </s1>
- <section name="Component Directives">
+ <s1 title="Component Directives">
<p>Component scoped logging directives are relative to the enclosing
component profile declaration. The logging categories are component specific
and will normally be documented as part of the component you are using. The
following example is the logging configuration for the demonstration component
included with the distribution.</p>
<pre>
@@ -166,7 +168,7 @@
</kernel>
</pre>
- </section>
+ </s1>
</body>
<footer>
1.3 +17 -15 jakarta-avalon-excalibur/assembly/src/xdocs/menu.xml
Index: menu.xml
===================================================================
RCS file: /home/cvs/jakarta-avalon-excalibur/assembly/src/xdocs/menu.xml,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- menu.xml 6 Aug 2002 04:10:38 -0000 1.2
+++ menu.xml 21 Aug 2002 17:00:52 -0000 1.3
@@ -10,36 +10,38 @@
<item name="Avalon main" href="http://jakarta.apache.org/avalon"/>
<menu name="Essentials">
- <item name="Overview" href="/index.html"/>
- <item name="Kernel" href="/kernel.html"/>
- <item name="Containers" href="/containers.html"/>
- <item name="Deployment" href="/deployment.html"/>
+ <item name="Overview" href="index.html"/>
+ <item name="Kernel" href="kernel.html"/>
+ <item name="Containers" href="containers.html"/>
+ <item name="Deployment" href="deployment.html"/>
</menu>
<menu name="Getting Started">
- <item name="Installation" href="/install.html"/>
- <item name="Dictionary" href="/dictionary.html"/>
- <item name="FAQ" href="/faq.html"/>
+ <item name="Installation" href="install.html"/>
+ <item name="Dictionary" href="dictionary.html"/>
+ <item name="FAQ" href="faq.html"/>
</menu>
<menu name="Facilities">
- <item name="Logging" href="/logging.html"/>
- <item name="Extensions" href="/extensions.html"/>
- <item name="Classpath" href="/classpath.html"/>
- <item name="Assembly" href="/assembly.html"/>
- <item name="Activation" href="/activation.html"/>
- <item name="Export" href="/export.html"/>
+ <item name="Logging" href="logging.html"/>
+ <item name="Extensions" href="extensions.html"/>
+ <item name="Classpath" href="classpath.html"/>
+ <item name="Assembly" href="assembly.html"/>
+ <item name="Activation" href="activation.html"/>
+ <item name="Export" href="export.html"/>
</menu>
<menu name="Support">
- <item name="Mailing List" href="/list.html"/>
- <item name="Commercial Links" href="/support.html"/>
+ <item name="Mailing List" href="list.html"/>
+ <item name="Commercial Links" href="support.html"/>
</menu>
+ <!--
<menu name="Reference">
<item name="Merlin API" href="/api/assembly/index.html"/>
<item name="Meta-Info API" href="/api/meta/index.html"/>
</menu>
+ -->
</body>
1.4 +11 -15 jakarta-avalon-excalibur/assembly/src/xdocs/support.xml
Index: support.xml
===================================================================
RCS file: /home/cvs/jakarta-avalon-excalibur/assembly/src/xdocs/support.xml,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- support.xml 6 Aug 2002 07:32:23 -0000 1.3
+++ support.xml 21 Aug 2002 17:00:52 -0000 1.4
@@ -1,49 +1,45 @@
<?xml version="1.0"?>
<document>
- <properties>
- <title>Support</title>
- <author email="[EMAIL PROTECTED]">Stephen McConnell</author>
- </properties>
+ <header>
+ <title>Product Support</title>
+ <authors>
+ <person name="Stephen McConnell" email="[EMAIL PROTECTED]"/>
+ </authors>
+ </header>
<body>
- <section name="Commercial Support">
+ <s1 title="Commercial Support">
<p>
Product support for Merlin is available on contract terms through <a
href="http://home.osm.net">OSM SARL</a>.
</p>
- </section>
- <section name="OSM Service Development">
+ </s1>
+ <s1 title="OSM Service Development">
<p>
Business components under development by OSM that leverage the Merlin
service management platform include the following:
</p>
<table width="100%" cellpadding="3" cellspacing="3" border="0">
<tr valign="top" bgcolor="lightsteelblue">
- <td class="mini" width="40">Version</td>
<td class="mini" width="100">Package</td>
<td class="mini">Description</td>
</tr>
<tr valign="top" bgcolor="lightgrey">
- <td class="mini">0.7</td>
<td class="mini"><a
href="http://home.osm.net/doc/discovery/index.html">Registration and
Discovery</a></td>
<td class="mini">Services supporting the registration and
discovery of information and service resources, maintenance of information
(updating, replacement, retraction), and the referral of information and
service descriptions.</td></tr>
<tr valign="top" bgcolor="lightgrey">
- <td class="mini">0.7</td>
<td class="mini"><a
href="http://home.osm.net/doc/collaboration/index.html">Collaboration
Framework</a></td>
<td class="mini">Component providing support for the execution
of collaborative business processes in which the policy concerning rights and
privileges and the sequencing of multiple participants is declared through DPML
(Digital Product Modelling Language).</td></tr>
<tr valign="top" bgcolor="lightgrey">
- <td class="mini">0.8</td>
<td class="mini"><a
href="http://home.osm.net/doc/community/index.html">Community Framework</a></td>
<td class="mini">Component providing support for the management
of shared workspaces and membership semantics based on business roles,
associated community and membership policies, notions of implicit roles,
management of quorums, and control over membership to user
associations.</td></tr>
<tr valign="top" bgcolor="lightgrey">
- <td class="mini">2.1</td>
<td class="mini"><a
href="http://home.osm.net/doc/session/index.html">Session Framework</a></td>
<td class="mini">Service components supporting the
establishment and management of people, places, things and business processes.
The framework supplies a common business model through which business services
may be activated as process, associated to users as tasks, consuming and
producing resources that may be published in provate and shared workspaces,
across a distribution information system.</td></tr>
<tr valign="top" bgcolor="lightgrey">
- <td class="mini">0.9</td>
<td class="mini"><a
href="http://home.osm.net/doc/gateway/index.html">Gateway</a></td>
<td class="mini">Services supporting user centric web based
interaction with business processes, tasks, workspaces, and service
directories. The Gateway services defines a suite of servlet that provide a
consistent view of a user's business context, available resources, and the
characteristics, features, and policies of the resources available and in
use.</td></tr>
</table>
<p><img src="/images/nothing.gif" border="0"/></p>
- </section>
+ </s1>
</body>
<footer>
<legal>
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>