You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by mc...@apache.org on 2004/06/25 06:44:26 UTC

svn commit: rev 22099 - in incubator/directory/eve/branches/plus: . etc etc/antlr etc/deliverables etc/deliverables/blocks src/java/org/apache/eve/backend src/java/org/apache/eve/backend/jdbm src/java/org/apache/eve/client src/java/org/apache/eve/decoder src/java/org/apache/eve/encoder src/java/org/apache/eve/event/protocol src/java/org/apache/eve/input src/java/org/apache/eve/jndi src/java/org/apache/eve/listener src/java/org/apache/eve/output src/java/org/apache/eve/protocol src/java/org/apache/eve/schema src/java/org/apache/eve/security/auth src/java/org/apache/eve/seda

Author: mcconnell
Date: Thu Jun 24 21:44:26 2004
New Revision: 22099

Added:
   incubator/directory/eve/branches/plus/build.properties   (contents, props changed)
   incubator/directory/eve/branches/plus/etc/
   incubator/directory/eve/branches/plus/etc/antlr/
   incubator/directory/eve/branches/plus/etc/antlr/schema.g
   incubator/directory/eve/branches/plus/etc/deliverables/
   incubator/directory/eve/branches/plus/etc/deliverables/blocks/
   incubator/directory/eve/branches/plus/etc/deliverables/blocks/default.block
   incubator/directory/eve/branches/plus/index.xml
   incubator/directory/eve/branches/plus/src/java/org/apache/eve/backend/NexusModule.xconfig
   incubator/directory/eve/branches/plus/src/java/org/apache/eve/backend/jdbm/JdbmModule.xconfig
   incubator/directory/eve/branches/plus/src/java/org/apache/eve/decoder/DecoderModule.xconfig
   incubator/directory/eve/branches/plus/src/java/org/apache/eve/encoder/EncoderModule.xconfig
   incubator/directory/eve/branches/plus/src/java/org/apache/eve/listener/ListenerModule.xconfig
   incubator/directory/eve/branches/plus/src/java/org/apache/eve/output/OutputModule.xconfig
   incubator/directory/eve/branches/plus/src/java/org/apache/eve/protocol/ProtocolModule.xconfig
   incubator/directory/eve/branches/plus/src/java/org/apache/eve/schema/SchemaModule.xconfig
Removed:
   incubator/directory/eve/branches/plus/default.properties
Modified:
   incubator/directory/eve/branches/plus/   (props changed)
   incubator/directory/eve/branches/plus/build.xml
   incubator/directory/eve/branches/plus/src/java/org/apache/eve/backend/BackendModule.java
   incubator/directory/eve/branches/plus/src/java/org/apache/eve/backend/NexusModule.java
   incubator/directory/eve/branches/plus/src/java/org/apache/eve/backend/jdbm/JdbmModule.java
   incubator/directory/eve/branches/plus/src/java/org/apache/eve/client/ClientModule.java
   incubator/directory/eve/branches/plus/src/java/org/apache/eve/decoder/DecoderModule.java
   incubator/directory/eve/branches/plus/src/java/org/apache/eve/encoder/EncoderModule.java
   incubator/directory/eve/branches/plus/src/java/org/apache/eve/event/protocol/EventModule.java
   incubator/directory/eve/branches/plus/src/java/org/apache/eve/input/InputModule.java
   incubator/directory/eve/branches/plus/src/java/org/apache/eve/jndi/JndiProviderModule.java
   incubator/directory/eve/branches/plus/src/java/org/apache/eve/listener/ListenerModule.java
   incubator/directory/eve/branches/plus/src/java/org/apache/eve/output/OutputModule.java
   incubator/directory/eve/branches/plus/src/java/org/apache/eve/protocol/ProtocolModule.java
   incubator/directory/eve/branches/plus/src/java/org/apache/eve/schema/SchemaModule.java
   incubator/directory/eve/branches/plus/src/java/org/apache/eve/security/auth/AuthenticationManager.java
   incubator/directory/eve/branches/plus/src/java/org/apache/eve/security/auth/AuthenticationModule.java
   incubator/directory/eve/branches/plus/src/java/org/apache/eve/seda/AbstractStage.java
Log:
This is a transient commit - it includes updates to thye code base related to transition from compont to service mode, updates to shift from the phoenix to avalon tag spec, the remove of container specifics from the code base, the the (temporary) addition of a masively simplified (but custom) build procedure.

Added: incubator/directory/eve/branches/plus/build.properties
==============================================================================
--- (empty file)
+++ incubator/directory/eve/branches/plus/build.properties	Thu Jun 24 21:44:26 2004
@@ -0,0 +1 @@
+project.src.main = java

Modified: incubator/directory/eve/branches/plus/build.xml
==============================================================================
--- incubator/directory/eve/branches/plus/build.xml	(original)
+++ incubator/directory/eve/branches/plus/build.xml	Thu Jun 24 21:44:26 2004
@@ -1,759 +1,20 @@
-<?xml version="1.0"?>
-<project name="eve" default="sars" basedir=".">
+<?xml version="1.0" encoding="UTF-8" ?>
 
-	<!-- ============================================================
-                           PROPERTY SETUP
-  ============================================================= -->
+<project name="eve-plus" default="install" basedir="." 
+    xmlns:x="antlib:org.apache.avalon.tools">
 
-	<!-- load properties files -->
-	<property file="${user.home}/build.properties"/>
-	<property file="${user.home}/.ant.properties"/>
-	<property file="${basedir}/ant.properties"/>
-	<property file="${basedir}/../ant.properties"/>
-	<property file="${basedir}/default.properties"/>
-	<property file="${basedir}/../default.properties"/>
-	<property file="${basedir}/../cocoon.properties"/>
+  <x:home index="."/>
+  <import file="${magic.templates}/standard.xml"/>
 
-	<!-- Set the properties for intermediate directory -->
-	<property name="build.dir" value="build"/>
-	<property name="build.lib" value="${build.dir}/lib"/>
-	<property name="build.xdoclet" value="${build.dir}/xdoclet"/>
-	<property name="build.src" value="${build.dir}/src"/>
-	<property name="build.classes" value="${build.dir}/classes"/>
-	<property name="build.javadocs" value="${build.dir}/javadocs"/>
-	<property name="build.docs" value="${build.dir}/docs"/>
-	<property name="build.context" value="${build.dir}/documentation"/>
-	<property name="build.xdocs" value="${build.context}/content/xdocs"/>
-
-	<!-- Set the properties for source directories -->
-	<property name="src.dir" value="src"/>
-	<property name="java.dir" value="${src.dir}/java"/>
-	<property name="manifest.dir" value="${src.dir}/manifest"/>
-	<property name="conf.dir" value="${src.dir}/conf"/>
-	<property name="xdocs.dir" value="${src.dir}/xdocs"/>
-	<property name="dist.base" value="distributions"/>
-  <property name="remote.repo" value="http://cvs.apache.org/repository"/>
-
-  <property environment="env"/>
-
-  <!-- ============================================================
-                   DEPENDENCY JARS PROPERTY SETUP
-  ============================================================= -->
-
-  <property
-    name="ldap-common.jar"
-    value="ldap-common-SNAPSHOT.jar"/>
-
-	<property
-    name="commons-collections.jar"
-    value="commons-collections-2.1.jar"/>
-
-	<property
-    name="commons-lang.jar"
-    value="commons-lang-2.0.jar"/>
-
-	<property
-    name="snacc.jar"
-    value="snacc-2.3.jar"/>
-
-	<property
-    name="antlr.jar"
-    value="antlr-2.7.2.jar"/>
-
-	<property
-    name="avalon-framework-api.jar"
-    value="avalon-framework-api-4.1.5.jar"/>
-
-  <property
-    name="avalon-framework-impl.jar"
-    value="avalon-framework-impl-4.1.5.jar"/>
-
-  <property
-    name="regexp.jar"
-    value="regexp-1.2.jar"/>
-
-  <property
-    name="ldap-snacc-provider.jar"
-    value="ldap-snacc-provider-SNAPSHOT.jar"/>
-
-  <property
-    name="oro.jar"
-    value="oro-2.0.7.jar"/>
-
-  <property
-    name="cornerstone-threads-api.jar"
-    value="cornerstone-threads-api-2.0.jar" />
-
-  <property
-    name="cornerstone-threads-impl.jar"
-    value="cornerstone-threads-impl-2.0.jar" />
-
-  <property
-    name="excalibur-thread.jar"
-    value="excalibur-thread-1.1.1.jar"/>
-
-  <property
-    name="jdbm.jar"
-    value="jdbm-0.12.jar"/>
-
-  <property
-    name="logkit.jar"
-    value="logkit-1.2.jar"/>
-
-  <!-- ============================================================
-                      TOOLS JARS PROPERTY SETUP
-  ============================================================= -->
-
-  <property
-    name="xdoclet.jar"
-    value="xdoclet-20020825.jar"/>
-
-  <property
-    name="xjavadoc.jar"
-    value="xjavadoc-20020825.jar"/>
-
-  <property
-    name="phoenix-client.jar"
-    value="avalon-phoenix-client-4.0.4.jar"/>
-
-  <property
-    name="commons-logging.jar"
-    value="commons-logging-1.0.3.jar"/>
-
-  <property
-    name="log4j.jar"
-    value="log4j-1.2.7.jar"/>
-
-  <property
-    name="velocity.jar"
-    value="velocity-1.3.jar"/>
-
-  <property
-    name="jdom.jar"
-    value="jdom-b7.jar"/>
-
-  <!-- ============================================================
-                           CLASSPATH SETUP
-  ============================================================= -->
-
-	<!-- Set some class paths -->
-	<path id="project.class.path">
-		<pathelement path="${java.class.path}"/>
-		<pathelement path="${build.classes}"/>
-		<pathelement path="${build.lib}/${ldap-common.jar}"/>
-		<pathelement path="${build.lib}/${commons-lang.jar}"/>
-		<pathelement path="${build.lib}/${snacc.jar}"/>
-		<pathelement path="${build.lib}/${antlr.jar}"/>
-		<pathelement path="${build.lib}/${avalon-framework-api.jar}"/>
-		<pathelement path="${build.lib}/${avalon-framework-impl.jar}"/>
-		<pathelement path="${build.lib}/${commons-collections.jar}"/>
-		<pathelement path="${build.lib}/${regexp.jar}"/>
-		<pathelement path="${build.lib}/${oro.jar}"/>
-		<pathelement path="${build.lib}/${cornerstone-threads-api.jar}"/>
-		<pathelement path="${build.lib}/${cornerstone-threads-impl.jar}"/>
-		<pathelement path="${build.lib}/${phoenix-client.jar}"/>
-    <pathelement path="${build.lib}/${excalibur-thread.jar}"/>
-    <pathelement path="${build.lib}/${jdbm.jar}"/>
-    <pathelement path="${build.lib}/${logkit.jar}"/>
-	</path>
-
-	<path id="tools.class.path">
-		<path refid="project.class.path"/>
-    <pathelement location="${build.lib}/${log4j.jar}"/>
-    <pathelement location="${build.lib}/${commons-logging.jar}"/>
-    <pathelement location="${build.lib}/${xdoclet.jar}"/>
-    <pathelement location="${build.lib}/${xjavadoc.jar}"/>
-    <pathelement location="${build.lib}/${phoenix-client.jar}"/>
-    <pathelement location="${build.lib}/${velocity.jar}"/>
-    <pathelement location="${build.lib}/${jdom.jar}"/>
-	</path>
-
-
-  <target name="get-deps">
-    <mkdir dir="${build.lib}"/>
-
-    <!-- ======================================================================
-                              GET TOOL DEPENDENCY JARS
-    ======================================================================= -->
-
-    <get
-      usetimestamp="true"
-      src="${remote.repo}/log4j/jars/${log4j.jar}"
-      dest="${build.lib}/${log4j.jar}"
-      verbose="true"
-      />
-    <get
-      usetimestamp="true"
-      src="${remote.repo}/commons-logging/jars/${commons-logging.jar}"
-      dest="${build.lib}/${commons-logging.jar}"
-      verbose="true"
-      />
-    <get
-      usetimestamp="true"
-      src="${remote.repo}/xdoclet/jars/${xdoclet.jar}"
-      dest="${build.lib}/${xdoclet.jar}"
-      verbose="true"
-      />
-    <get
-      usetimestamp="true"
-      src="${remote.repo}/xjavadoc/jars/${xjavadoc.jar}"
-      dest="${build.lib}/${xjavadoc.jar}"
-      verbose="true"
-      />
-    <get
-      usetimestamp="true"
-      src="${remote.repo}/avalon-phoenix/jars/${phoenix-client.jar}"
-      dest="${build.lib}/${phoenix-client.jar}"
-      verbose="true"
-      />
-    <get
-      usetimestamp="true"
-      src="${remote.repo}/velocity/jars/${velocity.jar}"
-      dest="${build.lib}/${velocity.jar}"
-      verbose="true"
-      />
-    <get
-      usetimestamp="true"
-      src="${remote.repo}/jdom/jars/${jdom.jar}"
-      dest="${build.lib}/${jdom.jar}"
-      verbose="true"
-      />
-
-    <!-- ======================================================================
-                                GET DEPENDENCY JARS
-    ======================================================================= -->
-
-    <get verbose="true" usetimestamp="true"
-      src="${remote.repo}/incubator-directory/jars/${ldap-common.jar}"
-      dest="${build.lib}/${ldap-common.jar}"
-      />
-
-    <get verbose="true" usetimestamp="true"
-      src="${remote.repo}/incubator-directory/jars/${ldap-snacc-provider.jar}"
-      dest="${build.lib}/${ldap-snacc-provider.jar}"
-      />
-
-    <get verbose="true" usetimestamp="true"
-      src="${remote.repo}/commons-lang/jars/${commons-lang.jar}"
-      dest="${build.lib}/${commons-lang.jar}"
-      />
-
-    <get verbose="true" usetimestamp="true"
-      src="http://ldapd.sourceforge.net/maven/repository/snacc4j/jars/${snacc.jar}"
-      dest="${build.lib}/${snacc.jar}"
-      />
-
-    <get verbose="true" usetimestamp="true"
-      src="${remote.repo}/antlr/jars/${antlr.jar}"
-      dest="${build.lib}/${antlr.jar}"
-      />
-
-    <get verbose="true" usetimestamp="true"
-      src="${remote.repo}/avalon-framework/jars/${avalon-framework-api.jar}"
-      dest="${build.lib}/${avalon-framework-api.jar}"
-      />
-
-    <get verbose="true" usetimestamp="true"
-      src="${remote.repo}/avalon-framework/jars/${avalon-framework-impl.jar}"
-      dest="${build.lib}/${avalon-framework-impl.jar}"
-      />
-
-    <get verbose="true" usetimestamp="true"
-      src="${remote.repo}/commons-collections/jars/${commons-collections.jar}"
-      dest="${build.lib}/${commons-collections.jar}"
-      />
-
-    <get verbose="true" usetimestamp="true"
-      src="${remote.repo}/regexp/jars/${regexp.jar}"
-      dest="${build.lib}/${regexp.jar}"
-      />
-
-    <get verbose="true" usetimestamp="true"
-      src="${remote.repo}/oro/jars/${oro.jar}"
-      dest="${build.lib}/${oro.jar}"
-      />
-
-    <get verbose="true" usetimestamp="true"
-      src="${remote.repo}/cornerstone-threads/jars/${cornerstone-threads-api.jar}"
-      dest="${build.lib}/${cornerstone-threads-api.jar}"
-      />
-
-    <get verbose="true" usetimestamp="true"
-      src="${remote.repo}/cornerstone-threads/jars/${cornerstone-threads-impl.jar}"
-      dest="${build.lib}/${cornerstone-threads-impl.jar}"
-      />
-
-    <get verbose="true" usetimestamp="true"
-      src="${remote.repo}/excalibur-thread/jars/${excalibur-thread.jar}"
-      dest="${build.lib}/${excalibur-thread.jar}"
-      />
-
-    <get verbose="true" usetimestamp="true"
-      src="${remote.repo}/jdbm/jars/${jdbm.jar}"
-      dest="${build.lib}/${jdbm.jar}"
-      />
-
-    <get verbose="true" usetimestamp="true"
-      src="${remote.repo}/logkit/jars/${logkit.jar}"
-      dest="${build.lib}/${logkit.jar}"
-      />
+  <target name="prepare" depends="grammars"/>
+
+  <target name="grammars" depends="standard.prepare">
+    <antlr target="target/build/etc/antlr/schema.g" 
+        outputdirectory="target/build/main/org/apache/eve/schema">
+      <classpath>
+        <pathelement path="${magic.home}/main/antlr/jars/antlr-2.7.2.jar"/>
+      </classpath>
+    </antlr>
   </target>
-
-	<!-- ======================================================
-
-
-			       T A R G E T S
-
-
-	======================================================= -->
-
-
-	<!-- ======================================================
-			    C O M P I L A T I O N
-	======================================================= -->
-
-	
-	<target name="grammars" depends="get-deps">
-		<antlr target="src/antlr/schema.g" 
-			   outputdirectory="src/java/org/apache/eve/schema">
-			<classpath refid="tools.class.path"/>
-		</antlr>
-	</target>
-
-
-	<target name="compile" depends="grammars">
-		<mkdir dir="${build.classes}"/>
-
-		<javac srcdir="${java.dir}"
-      destdir="${build.classes}"
-      debug="${build.debug}"
-      optimize="${build.optimize}"
-      deprecation="${build.deprecation}">
-			<classpath refid="project.class.path"/>
-		</javac>
-
-		<copy todir="${build.classes}">
-			<fileset dir="${java.dir}">
-				<exclude name="**/test/**"/>
-				<exclude name="**/*.java"/>
-			</fileset>
-		</copy>
-	</target>
-
-
-	<!-- ======================================================
-	X I N F O   A N D   M A N I F E S T   G E N E R A T I O N 
-	======================================================= -->
-	
-	<target name="test-xdoclet">
-		<available classname="xdoclet.XDocletMain"
-      classpathref="tools.class.path"
-      property="xdoclet.present"/>
-	</target>
-	
-	<target name="phoenix-xdoclet" depends="compile" ><!--if="xdoclet.present"-->
-		<mkdir dir="${build.xdoclet}"/>
-		<taskdef
-      name="phoenix-blocks"
-      classname="org.apache.avalon.phoenix.tools.xdoclet.PhoenixXDoclet"
-      classpathref="tools.class.path"/>
-
-		<phoenix-blocks destdir="${build.xdoclet}">
-			<fileset dir="${java.dir}">
-				<include name="org/apache/eve/event/protocol/*.java"/>
-			</fileset>
-			<blockinfo/>
-			<mxinfo/>
-		</phoenix-blocks>
-
-		<phoenix-blocks destdir="${build.xdoclet}">
-			<fileset dir="${java.dir}">
-				<include name="org/apache/eve/jndi/*.java"/>
-			</fileset>
-			<blockinfo/>
-			<mxinfo/>
-		</phoenix-blocks>
-
-		<phoenix-blocks destdir="${build.xdoclet}">
-			<fileset dir="${java.dir}">
-				<include name="org/apache/eve/input/*.java"/>
-			</fileset>
-			<blockinfo/>
-			<mxinfo/>
-		</phoenix-blocks>
-
-		<phoenix-blocks destdir="${build.xdoclet}">
-			<fileset dir="${java.dir}">
-				<include name="org/apache/eve/output/*.java"/>
-			</fileset>
-			<blockinfo/>
-			<mxinfo/>
-		</phoenix-blocks>
-
-		<phoenix-blocks destdir="${build.xdoclet}">
-			<fileset dir="${java.dir}">
-				<include name="org/apache/eve/encoder/*.java"/>
-			</fileset>
-			<blockinfo/>
-			<mxinfo/>
-		</phoenix-blocks>
-
-		<phoenix-blocks destdir="${build.xdoclet}">
-			<fileset dir="${java.dir}">
-				<include name="org/apache/eve/security/auth/*.java"/>
-			</fileset>
-			<blockinfo/>
-			<mxinfo/>
-		</phoenix-blocks>
-
-		<phoenix-blocks destdir="${build.xdoclet}">
-			<fileset dir="${java.dir}">
-				<include name="org/apache/eve/protocol/*.java"/>
-			</fileset>
-			<blockinfo/>
-			<mxinfo/>
-		</phoenix-blocks>
-
-		<phoenix-blocks destdir="${build.xdoclet}">
-			<fileset dir="${java.dir}">
-				<include name="org/apache/eve/decoder/*.java"/>
-			</fileset>
-			<blockinfo/>
-			<mxinfo/>
-		</phoenix-blocks>
-
-		<phoenix-blocks destdir="${build.xdoclet}">
-			<fileset dir="${java.dir}">
-				<include name="org/apache/eve/client/*.java"/>
-			</fileset>
-			<blockinfo/>
-			<mxinfo/>
-		</phoenix-blocks>
-
-		<phoenix-blocks destdir="${build.xdoclet}">
-			<fileset dir="${java.dir}">
-				<include name="org/apache/eve/schema/*.java"/>
-			</fileset>
-			<blockinfo/>
-			<mxinfo/>
-		</phoenix-blocks>
-
-		<phoenix-blocks destdir="${build.xdoclet}">
-			<fileset dir="${java.dir}">
-				<include name="org/apache/eve/listener/*.java"/>
-			</fileset>
-			<blockinfo/>
-			<mxinfo/>
-		</phoenix-blocks>
-
-		<phoenix-blocks destdir="${build.xdoclet}">
-			<fileset dir="${java.dir}">
-				<include name="org/apache/eve/backend/*.java"/>
-			</fileset>
-			<blockinfo/>
-			<mxinfo/>
-		</phoenix-blocks>
-
-    <phoenix-blocks destdir="${build.xdoclet}">
-      <fileset dir="${java.dir}">
-        <include name="org/apache/eve/backend/jdbm/*.java"/>
-      </fileset>
-      <blockinfo/>
-      <mxinfo/>
-    </phoenix-blocks>
-	</target>
-
-
-	<!-- Make .xinfo and manifest automatically for blocks -->
-	<target name="no-phoenix-xdoclet" depends="compile" unless="xdoclet.present">
-		<mkdir dir="${build.xdoclet}"/>
-		<unzip src="${src.dir}/generated-by-xdoclet.zip" dest="${build.xdoclet}"/>
-	</target>
-
-	<!-- ======================================================
-					        P R O J E C T    J A R S
-	======================================================= -->
-
-	<target name="jars" depends="phoenix-xdoclet">
-    <!--depends="test-xdoclet, phoenix-xdoclet, no-phoenix-xdoclet"-->
-		<mkdir dir="${build.lib}"/>
-
-		<!-- Just jars the individual block packages not the required set of classes 
-			 the core classes need to be jared into a separate core.jar.
-		-->
-
-		<jar jarfile="${build.lib}/core.jar" basedir="${build.classes}">
-			<!-- Include entire package -->
-			<include name="org/apache/eve/**"/>
-
-			<!-- Exclude the blocks jared below -->
-			<exclude name="org/apache/eve/input/*"/>
-			<exclude name="org/apache/eve/output/*"/>
-      <exclude name="org/apache/eve/encoder/*"/>
-			<exclude name="org/apache/eve/event/protocol/*"/>
-			<exclude name="org/apache/eve/security/auth/*"/>
-			<exclude name="org/apache/eve/protocol/*"/>
-			<exclude name="org/apache/eve/decoder/*"/>
-			<exclude name="org/apache/eve/client/*"/>
-			<exclude name="org/apache/eve/schema/*"/>
-			<exclude name="org/apache/eve/listener/*"/>
-			<exclude name="org/apache/eve/backend/*"/>
-		</jar>
-
-		<jar jarfile="${build.lib}/event.jar" basedir="${build.classes}">
-			<include name="org/apache/eve/event/protocol/*"/>
-			<fileset dir="${build.xdoclet}">
-				<include name="org/apache/eve/event/protocol/*.xinfo"/>
-				<include name="org/apache/eve/event/protocol/*.mxinfo"/>
-			</fileset>
-		</jar>
-
-		<jar jarfile="${build.lib}/jndi.jar" basedir="${build.classes}">
-			<include name="org/apache/eve/jndi/*"/>
-			<fileset dir="${build.xdoclet}">
-				<include name="org/apache/eve/jndi/*.xinfo"/>
-				<include name="org/apache/eve/jndi/*.mxinfo"/>
-			</fileset>
-		</jar>
-
-		<jar jarfile="${build.lib}/input.jar" basedir="${build.classes}">
-			<include name="org/apache/eve/input/*"/>
-			<fileset dir="${build.xdoclet}">
-				<include name="org/apache/eve/input/*.xinfo"/>
-				<include name="org/apache/eve/input/*.mxinfo"/>
-			</fileset>
-		</jar>
-
-		<jar jarfile="${build.lib}/output.jar" basedir="${build.classes}">
-			<include name="org/apache/eve/output/*"/>
-			<fileset dir="${build.xdoclet}">
-				<include name="org/apache/eve/output/*.xinfo"/>
-				<include name="org/apache/eve/output/*.mxinfo"/>
-			</fileset>
-		</jar>
-
-		<jar jarfile="${build.lib}/encoder.jar" basedir="${build.classes}">
-			<include name="org/apache/eve/encoder/*"/>
-			<fileset dir="${build.xdoclet}">
-				<include name="org/apache/eve/encoder/*.xinfo"/>
-				<include name="org/apache/eve/encoder/*.mxinfo"/>
-			</fileset>
-		</jar>
-
-		<jar jarfile="${build.lib}/authman.jar" basedir="${build.classes}">
-			<include name="org/apache/eve/security/auth/*"/>
-			<fileset dir="${build.xdoclet}">
-				<include name="org/apache/eve/security/auth/*.xinfo"/>
-				<include name="org/apache/eve/security/auth/*.mxinfo"/>
-			</fileset>
-		</jar>
-
-		<jar jarfile="${build.lib}/protocol.jar" basedir="${build.classes}">
-			<include name="org/apache/eve/protocol/*"/>
-			<fileset dir="${build.xdoclet}">
-				<include name="org/apache/eve/protocol/*.xinfo"/>
-				<include name="org/apache/eve/protocol/*.mxinfo"/>
-			</fileset>
-		</jar>
-
-		<jar jarfile="${build.lib}/decoder.jar" basedir="${build.classes}">
-			<include name="org/apache/eve/decoder/*"/>
-			<fileset dir="${build.xdoclet}">
-				<include name="org/apache/eve/decoder/*.xinfo"/>
-				<include name="org/apache/eve/decoder/*.mxinfo"/>
-			</fileset>
-		</jar>
-
-		<jar jarfile="${build.lib}/client.jar" basedir="${build.classes}">
-			<include name="org/apache/eve/client/*"/>
-			<fileset dir="${build.xdoclet}">
-				<include name="org/apache/eve/client/*.xinfo"/>
-				<include name="org/apache/eve/client/*.mxinfo"/>
-			</fileset>
-		</jar>
-
-		<jar jarfile="${build.lib}/listener.jar" basedir="${build.classes}">
-			<include name="org/apache/eve/listener/*"/>
-			<fileset dir="${build.xdoclet}">
-				<include name="org/apache/eve/listener/*.xinfo"/>
-				<include name="org/apache/eve/listener/*.mxinfo"/>
-			</fileset>
-		</jar>
-
-		<jar jarfile="${build.lib}/schema.jar" basedir="${build.classes}">
-			<include name="org/apache/eve/schema/*"/>
-			<fileset dir="${build.xdoclet}">
-				<include name="org/apache/eve/schema/*.xinfo"/>
-				<include name="org/apache/eve/schema/*.mxinfo"/>
-			</fileset>
-		</jar>
-
-		<jar jarfile="${build.lib}/backend.jar" basedir="${build.classes}">
-			<include name="org/apache/eve/backend/*"/>
-			<fileset dir="${build.xdoclet}">
-				<include name="org/apache/eve/backend/*.xinfo"/>
-				<include name="org/apache/eve/backend/*.mxinfo"/>
-			</fileset>
-		</jar>
-
-    <jar jarfile="${build.lib}/backjdbm.jar" basedir="${build.classes}">
-      <include name="org/apache/eve/backend/jdbm/**"/>
-      <fileset dir="${build.xdoclet}">
-        <include name="org/apache/eve/backend/jdbm/*.xinfo"/>
-        <include name="org/apache/eve/backend/jdbm/*.mxinfo"/>
-      </fileset>
-    </jar>
-	</target>
-
-
-	<!-- ======================================================
-					        C O R E    T A R G E T S
-	======================================================= -->
-
-	<target name="sars" depends="jars">
-    <taskdef name="sar" classname="org.apache.avalon.phoenix.tools.tasks.Sar">
-      <classpath refid="tools.class.path"/>
-    </taskdef>
-
-    <taskdef name="anakia" classname="org.apache.velocity.anakia.AnakiaTask">
-      <classpath refid="tools.class.path"/>
-    </taskdef>
-
-    <sar sarfile="${build.lib}/eve.sar"
-			config="${conf.dir}/config.xml" 
-			environment="${conf.dir}/environment.xml" 
-			assembly="${conf.dir}/assembly.xml">
-
-			<lib dir="src">
-				<include name="schema/**.schema"/>
-			</lib>
-
-			<lib dir="${build.lib}/">
-				<include name="${antlr.jar}"/>
-        <include name="authman.jar"/>
-        <include name="${avalon-framework-api.jar}"/>
-        <include name="${avalon-framework-impl.jar}"/>
-        <include name="${phoenix-client.jar}"/>
-        <include name="backend.jar"/>
-        <include name="backjdbm.jar"/>
-        <include name="client.jar"/>
-        <include name="${commons-collections.jar}"/>
-        <include name="${commons-lang.jar}"/>
-        <include name="${commons-logging.jar}"/>
-        <include name="core.jar"/>
-        <include name="${cornerstone-threads-api.jar}"/>
-        <include name="${cornerstone-threads-impl.jar}"/>
-        <include name="decoder.jar"/>
-        <include name="encoder.jar"/>
-				<include name="event.jar"/>
-        <include name="${excalibur-thread.jar}"/>
-        <include name="input.jar"/>
-        <include name="${jdbm.jar}"/>
-				<include name="jndi.jar"/>
-        <include name="${ldap-common.jar}"/>
-        <include name="${ldap-snacc-provider.jar}"/>
-				<include name="listener.jar"/>
-        <include name="${logkit.jar}"/>
-				<include name="${oro.jar}"/>
-        <include name="output.jar"/>
-        <include name="protocol.jar"/>
-        <include name="${regexp.jar}"/>
-				<include name="schema.jar"/>
-				<include name="${snacc.jar}"/>
-			</lib>
-		</sar>
-
-		<mkdir dir="dist"/>
-		<copy todir="dist">
-			<fileset dir="${build.lib}">
-				<include name="*.sar"/>
-			</fileset>
-		</copy>
-
-		<echo message="done with sars"/>
-	</target>
-
-
-	<!-- ======================================================
-				  I N S T A L L     D E P L O Y
-	======================================================= -->
-
-  <target name="findInstallDir" unless="${install.dir}">
-    <property name="phoenix.home" value="${env.PHOENIX_HOME}"/>
-    <condition property="install.dir" value="${env.PHOENIX_HOME}/apps">
-      <not>
-        <contains string="${phoenix.home}" substring="env.PHOENIX_HOME"/>
-      </not>
-    </condition>
-  </target>
-
-  <target name="doPhoenixInstall"
-    unless="install.dir" depends="findInstallDir" >
-
-    <echo message="PHOENIX_HOME NOT SET!"/>
-    <echo message="CANNOT FIND PHOENIX INSTALLATION!"/>
-    <input
-      message="Would you like to download and install Phoenix into ./dist?"
-      validargs="yes,no"
-      addproperty="install.phoenix"/>
-  </target>
-
-  <target name="installPhoenix" depends="doPhoenixInstall" if="install.phoenix">
-    <get
-      usetimestamp="true" verbose="true"
-      src="${remote.repo}/avalon-phoenix/distributions/phoenix-4.0.4-bin.zip"
-      dest="${dist.dir}/phoenix-4.0.4-bin.zip"/>
-    <unzip src="${dist.dir}/phoenix-4.0.4-bin.zip" dest="${dist.dir}" />
-    <property name="install.dir" value="${dist.dir}/phoenix-4.0.4/apps"/>
-
-    <echo message="+--------------------------------------------------------"/>
-    <echo message=": Set the environment property PHOENIX_HOME: i.e"/>
-    <echo message=": PHOENIX_HOME=${dist.dir}/phoenix-4.0.4"/>
-    <echo message=": export PHOENIX_HOME"/>
-    <echo message=":"/>
-    <echo message=": Start the server using shell scripts or bat files:"/>
-    <echo message=": ${dist.dir}/phoenix-4.0.4/bin/phoenix.sh start"/>
-    <echo message=":"/>
-    <echo message=": NOTE: On UNIX you'll need to chmod +x the shell scripts"/>
-    <echo message="+--------------------------------------------------------"/>
-  </target>
-
-	<target name="install" depends="sars,installPhoenix"
-    description="Installs into Phoenix">
-
-		<echo message="Removing older installation if any from ${install.dir}"/>
-    <delete file="${install.dir}/eve.sar"/>
-    <delete dir="${install.dir}/eve/"/>
-
-    <!-- delete older conflicting thread pool jar -->
-    <delete file="${dist.dir}/phoenix-4.0.4/lib/excalibur-thread-1.1.jar"/>
-
-    <echo message="Installing to ${install.dir}"/>
-		<copy todir="${install.dir}">
-			<fileset dir="${build.lib}">
-				<include name="eve.sar"/>
-			</fileset>
-		</copy>
-	</target>
-
-	<target name="uninstall" depends="findInstallDir"
-    description="Uninstalls from Phoenix">
-		<delete dir="${install.dir}/eve/"/>
-		<delete file="eve.sar" dir="${install.dir}"/>
-	</target>
-
-	<target name="clean" description="Cleans up artifacts from build process">
-		<delete dir="${build.dir}"/>
-		<delete dir="${dist.dir}"/>
-    <delete dir="target"/>
-		<delete dir="test"/>
-		<delete>
-			<fileset dir="." includes="**/*~" defaultexcludes="no"/>
-		</delete>
-		<delete>
-			<fileset dir="src/java/org/apache/eve/schema" 
-				includes="antlr*.*" defaultexcludes="no"/>
-		</delete>
-	</target>
 
 </project>

Added: incubator/directory/eve/branches/plus/etc/antlr/schema.g
==============================================================================
--- (empty file)
+++ incubator/directory/eve/branches/plus/etc/antlr/schema.g	Thu Jun 24 21:44:26 2004
@@ -0,0 +1,309 @@
+header {
+    package org.apache.eve.schema;
+    import java.util.* ;
+}
+
+// ===================================================
+//   TOKENS FOR LDAP SCHEMA SYNTAX LEXER DEFINITIONS
+//
+// -- (c) Apache Software Foundation                                     --
+// -- Please refer to the LICENSE.txt file in the root directory of      --
+// -- any directory project for copyright and distribution information.  --
+//
+//
+// ===================================================
+
+
+class antlrSchemaSyntaxLexer extends Lexer ;
+
+options {
+    k = 4 ;
+    exportVocab=antlrSchema ;
+    charVocabulary = '\3'..'\377' ;
+    caseSensitive = false ;
+    testLiterals = false ;
+}
+
+
+//COMMENT       : '#' (~'\n')* '\n'   
+//  ;
+
+WS  :   (   '#' (~'\n')* '\n' { newline(); }
+        |   ' '
+        |   '\t'
+        |   '\r' '\n' { newline(); }
+        |   '\n'      { newline(); }
+        |   '\r'      { newline(); }
+        )
+        {$setType(Token.SKIP);} //ignore this token
+    ;
+
+OPEN_PAREN      : '(' 
+    ;
+
+CLOSE_PAREN     : ')' 
+    ;
+
+OPEN_BRACKET    : '{' 
+    ;
+
+CLOSE_BRACKET   : '}' 
+    ;
+
+QUOTED_STRING   : '\'' ( ~'\'' )* '\'' 
+    ;
+
+AND             : '$'
+    ;
+
+OID             : 
+        ( '0'..'9' )+ ( '.' ( '0'..'9' )+ )* 
+            ( OPEN_BRACKET ('0' .. '9')+ CLOSE_BRACKET )?
+    ;
+
+IDENTIFIER options { testLiterals=true; }
+    : 
+        ( 'a' .. 'z') ( 'a' .. 'z' | '0' .. '9' | '-')*
+    ;
+
+
+class antlrSchemaParser extends Parser ;
+
+
+tokens {
+    ATTRIBUTE_TYPE          =   "attributetype"         ;
+    NAME_KW                 =   "NAME"                  ;
+    EQUALITY_KW             =   "EQUALITY"              ;
+    ORDERING_KW             =   "ORDERING"              ;
+    SYNTAX_KW               =   "SYNTAX"                ;
+    SINGLEVAL_KW            =   "SINGLE-VALUE"          ;
+    NOUSERMOD_KW            =   "NO-USER-MODIFICATION"  ;
+    USAGE_KW                =   "USAGE"                 ;
+    DESC_KW                 =   "DESC"                  ;
+    MAY_KW                  =   "MAY"                   ;
+    MUST_KW                 =   "MUST"                  ;
+    SUBSTR_KW               =   "SUBSTR"                ;
+    SUP_KW                  =   "SUP"                   ;
+    AUXILIARY_KW            =   "AUXILIARY"             ;
+    STRUCTURAL_KW           =   "STRUCTURAL"            ;
+    ABSTRACT_KW             =   "ABSTRACT"              ;
+}
+
+
+schemafile [SchemaImpl a_schema]:
+{
+    AttributeSpec l_attribute = null ;
+    ObjectClassSpec l_objectClass = null ;
+}
+    ( l_attribute=attributedef 
+        {
+            a_schema.addAttributeSpec(l_attribute) ;
+        }
+    | 
+    l_objectClass=objectclassdef 
+        {
+            a_schema.addObjectClassSpec(l_objectClass) ;
+        }
+    )+ EOF ; 
+
+
+attributedef returns [AttributeSpec l_attribute]
+{
+    l_attribute = new AttributeSpec() ;
+    ArrayList l_nameList = null ;
+}
+    :
+    ATTRIBUTE_TYPE OPEN_PAREN oid:OID l_nameList=namelist 
+        {
+            l_attribute.m_oid = oid.getText() ;
+            l_attribute.m_nameList = l_nameList ;
+        }
+        (   
+        ( "DESC" desc:QUOTED_STRING 
+            {
+                String quoted = desc.getText() ;
+                l_attribute.m_desc = quoted.substring(1, quoted.length() - 1) ;
+            }
+        ) |
+        
+
+        ( "EQUALITY" equality:IDENTIFIER 
+            {
+                l_attribute.m_equality = equality.getText().toLowerCase() ;
+            }
+        ) |
+
+
+        ( "SUBSTR" substr:IDENTIFIER
+            {
+                l_attribute.m_substr = substr.getText().toLowerCase() ;
+            }
+        ) |
+
+
+        ( "ORDERING" ordering:IDENTIFIER
+            {
+                l_attribute.m_ordering = ordering.getText().toLowerCase() ;
+            }
+        ) |
+
+
+        ( "SYNTAX" syntax:OID
+            {
+                l_attribute.m_syntax = syntax.getText() ;
+            }
+        ) |
+
+
+        ( "SINGLE-VALUE" 
+            {
+                l_attribute.m_isSingleValue = true ;
+            }
+        ) |
+
+        ( "NO-USER-MODIFICATION"
+            {
+                l_attribute.m_canUserModify = false ;
+            }
+        ) |
+
+        ( "SUP" sup:IDENTIFIER 
+            {
+                l_attribute.m_superClass = sup.getText().toLowerCase() ;
+            }
+        ) |
+
+
+        ( "USAGE" usage:IDENTIFIER
+            {
+                l_attribute.m_usage = usage.getText().toLowerCase() ;
+            }
+        )           
+        )* CLOSE_PAREN ;
+
+
+objectclassdef returns [ObjectClassSpec l_objectClass]
+{
+    l_objectClass = new ObjectClassSpec() ;
+    ArrayList l_mayList = null ;
+    ArrayList l_mustList = null ;
+    ArrayList l_superClasses = null ;
+    ArrayList l_nameList = null ;
+    
+}
+    :
+    "objectclass" OPEN_PAREN oid:OID l_nameList=namelist
+        {
+            l_objectClass.oid = oid.getText() ;
+            l_objectClass.nameList = l_nameList ;
+        }
+        (
+        ( "DESC" desc:QUOTED_STRING 
+            {
+                String tmp = desc.getText() ;
+                l_objectClass.desc = tmp.substring(1, tmp.length() - 1) ;
+            }
+        ) |
+        ( l_superClasses=superclasslist 
+            {
+                l_objectClass.superClasses = l_superClasses ;
+            }
+        ) |
+        ( "ABSTRACT" 
+            { l_objectClass.type = ObjectClassSpec.ABSTRACT   ; }
+            | "STRUCTURAL" 
+            { l_objectClass.type = ObjectClassSpec.STRUCTURAL ; }
+            | "AUXILIARY" 
+            { l_objectClass.type = ObjectClassSpec.AUXILIARY  ; }
+
+        ) |
+        ( l_mustList=mustlist 
+            {
+                l_objectClass.mustList = l_mustList ;
+            }
+        ) |
+        ( l_mayList=maylist 
+            {
+                l_objectClass.mayList = l_mayList ;
+            }
+        ) 
+        )* CLOSE_PAREN ;
+
+        
+superclasslist returns [ArrayList l_supList]
+{
+    l_supList = new ArrayList() ; 
+}
+    :
+    "SUP"  ( id:IDENTIFIER 
+        {
+            l_supList.add(id.getText().toLowerCase()) ;
+        }
+
+            | OPEN_PAREN id2:IDENTIFIER 
+        {
+            l_supList.add(id2.getText().toLowerCase()) ;
+        }
+        
+            ( AND id3:IDENTIFIER 
+
+        {
+            l_supList.add(id3.getText().toLowerCase()) ;
+        }
+        
+        )* CLOSE_PAREN ) ;
+
+
+namelist returns [ArrayList l_nameList]
+{ 
+    l_nameList = new ArrayList() ; 
+}
+    : 
+    "NAME" ( name:QUOTED_STRING 
+        {
+            String tmp = name.getText() ;
+            tmp = tmp.substring(1, tmp.length() - 1) ;
+            l_nameList.add(tmp) ;
+        }
+
+        | OPEN_PAREN (name2:QUOTED_STRING
+
+        {
+            String tmp = name2.getText() ;
+            tmp = tmp.substring(1, tmp.length() - 1) ;
+            l_nameList.add(tmp) ;
+        }
+
+            )+ CLOSE_PAREN ) ;
+
+
+
+maylist returns [ArrayList l_mayList]
+{ 
+    l_mayList = null ; 
+}
+    : "MAY" ( IDENTIFIER | l_mayList=attributelist ) ;
+
+
+
+mustlist returns [ArrayList l_mustList]
+{ 
+    l_mustList = null ; 
+}
+    : 
+    "MUST" ( IDENTIFIER | l_mustList=attributelist ) ;
+
+
+attributelist returns [ArrayList l_list]
+{ 
+    l_list = new ArrayList() ; 
+}
+    :
+    OPEN_PAREN id:IDENTIFIER 
+        { l_list.add(id.getText().toLowerCase()) ; }
+        ( AND id2:IDENTIFIER { l_list.add(id2.getText().toLowerCase()) ; })* 
+    CLOSE_PAREN ;
+
+
+
+

Added: incubator/directory/eve/branches/plus/etc/deliverables/blocks/default.block
==============================================================================
--- (empty file)
+++ incubator/directory/eve/branches/plus/etc/deliverables/blocks/default.block	Thu Jun 24 21:44:26 2004
@@ -0,0 +1,117 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<container name="eve">
+
+   <!--
+   Eve is not providing any exported services at this time.
+   -->
+   <services>
+   </services>
+
+   <!--
+   Block implementation.
+   -->
+   <classloader>
+     <classpath>
+       <repository>
+
+           <!-- add a filter to the following entries 
+              or better still generate a template automatically -->
+
+           <resource id="avalon-framework:avalon-framework-api" version="4.2.0"/>
+           <resource id="avalon-framework:avalon-framework-impl" version="4.2.0"/>
+           <resource id="avalon-logkit:avalon-logkit" version="2.0.0"/>
+           <resource id="cornerstone-threads:cornerstone-threads-api" version="2.0.0"/>
+           <resource id="excalibur-thread:excalibur-thread-api" version="2.0.0"/>
+           <resource id="commons-collections:commons-collections" version="2.1"/>
+           <resource id="commons-lang:commons-lang" version="2.0"/>
+           <resource id="regexp:regexp" version="1.2"/>
+           <resource id="jdbm:jdbm" version="0.12"/>
+           <resource id="antlr:antlr" version="2.7.2"/>
+           <resource id="oro:oro" version="2.0.7"/>
+  
+           <resource id="incubator-directory:ldap-common" version="SNAPSHOT"/>
+           <resource id="incubator-directory:eve-plus" version="0.0.1"/>
+        </repository>
+     </classpath>
+   </classloader>
+
+   <component name="input" class="org.apache.eve.input.InputModule"/>
+
+   <include name="threads" 
+       id="cornerstone-threads:cornerstone-threads-impl" 
+       version="2.0.0">
+    <targets>
+      <target path="manager">
+        <configuration>
+          <!-- Used by OutputManager for writing to client streams -->
+          <thread-group>
+            <name>output</name>
+            <priority>3</priority>
+            <is-daemon>false</is-daemon>
+            <max-threads>5</max-threads>
+            <min-threads>1</min-threads>
+            <min-spare-threads>3</min-spare-threads>
+          </thread-group>
+          <!-- Used by InputManager for monitoring client connections -->
+          <thread-group>
+            <name>client</name>
+            <priority>3</priority>
+            <is-daemon>false</is-daemon>
+            <max-threads>5</max-threads>
+            <min-threads>1</min-threads>
+            <min-spare-threads>3</min-spare-threads>
+          </thread-group>
+          <!-- Used by ClientManager Stage -->
+          <thread-group>
+            <name>clientstage</name>
+            <priority>3</priority>
+            <is-daemon>false</is-daemon>
+            <max-threads>5</max-threads>
+            <min-threads>1</min-threads>
+            <min-spare-threads>3</min-spare-threads>
+          </thread-group>
+          <!-- Used for the ProtocolEngine processors and should be at least 
+            equal to the 'client' pool if not more -->
+          <thread-group>
+            <name>processor</name>
+            <priority>3</priority>
+            <is-daemon>false</is-daemon>
+            <max-threads>5</max-threads>
+            <min-threads>1</min-threads>
+            <min-spare-threads>3</min-spare-threads>
+          </thread-group>
+          <!-- Used for the Encoder and should be at least 
+            equal to the 'client' pool if not more -->
+          <thread-group>
+            <name>encoder</name>
+            <priority>3</priority>
+            <is-daemon>false</is-daemon>
+            <max-threads>5</max-threads>
+            <min-threads>1</min-threads>
+            <min-spare-threads>3</min-spare-threads>
+          </thread-group>
+          <!-- Used for the Decoder and should be at least 
+             equal to the 'client' pool if not more -->
+          <thread-group>
+            <name>decoder</name>
+            <priority>3</priority>
+            <is-daemon>false</is-daemon>
+            <max-threads>5</max-threads>
+            <min-threads>1</min-threads>
+            <min-spare-threads>3</min-spare-threads>
+          </thread-group>
+          <!-- Everything else -->
+          <thread-group>
+            <name>default</name>
+            <priority>2</priority>
+            <is-daemon>false</is-daemon>
+            <max-threads>4</max-threads>
+            <min-threads>1</min-threads>
+            <min-spare-threads>3</min-spare-threads>
+          </thread-group>
+        </configuration>
+      </target>
+    </targets>
+   </include>
+
+</container>

Added: incubator/directory/eve/branches/plus/index.xml
==============================================================================
--- (empty file)
+++ incubator/directory/eve/branches/plus/index.xml	Thu Jun 24 21:44:26 2004
@@ -0,0 +1,142 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<system>
+
+  <resource>
+    <info>
+      <group>avalon/framework</group>
+      <name>avalon-framework-api</name>
+      <version>4.2.1</version>
+    </info>
+  </resource>
+
+  <resource>
+    <info>
+      <group>avalon/framework</group>
+      <name>avalon-framework-impl</name>
+      <version>4.2.1</version>
+    </info>
+  </resource>
+
+  <resource>
+    <info>
+      <group>avalon/logkit</group>
+      <name>avalon-logkit</name>
+      <version>2.0.0</version>
+    </info>
+  </resource>
+
+  <resource>
+    <info>
+      <group>cornerstone-threads</group>
+      <name>cornerstone-threads-api</name>
+      <version>2.0.0</version>
+    </info>
+  </resource>
+
+  <resource>
+    <info>
+      <group>excalibur-thread</group>
+      <name>excalibur-thread-api</name>
+      <version>2.0.0</version>
+    </info>
+  </resource>
+
+  <resource>
+    <info>
+      <group>incubator-directory</group>
+      <name>ldap-common</name>
+      <version>SNAPSHOT</version>
+    </info>
+  </resource>
+
+  <resource>
+    <info>
+      <group>incubator-directory</group>
+      <name>ldap-snacc-provider</name>
+      <version>SNAPSHOT</version>
+    </info>
+  </resource>
+
+  <resource>
+    <info>
+      <group>commons-collections</group>
+      <name>commons-collections</name>
+      <version>2.1</version>
+    </info>
+  </resource>
+
+  <resource>
+    <info>
+      <group>commons-lang</group>
+      <name>commons-lang</name>
+      <version>2.0</version>
+    </info>
+  </resource>
+
+  <resource>
+    <info>
+      <group>regexp</group>
+      <name>regexp</name>
+      <version>1.2</version>
+    </info>
+  </resource>
+
+  <resource>
+    <info>
+      <group>jdbm</group>
+      <name>jdbm</name>
+      <version>0.12</version>
+    </info>
+  </resource>
+
+  <resource>
+    <info>
+      <group>antlr</group>
+      <name>antlr</name>
+      <version>2.7.2</version>
+    </info>
+  </resource>
+
+  <resource>
+    <info>
+      <group>oro</group>
+      <name>oro</name>
+      <version>2.0.7</version>
+    </info>
+  </resource>
+
+  <resource>
+    <info>
+      <group>avalon/meta</group>
+      <name>avalon-meta-tools</name>
+      <version>1.4.0</version>
+    </info>
+  </resource>
+
+  <project basedir=".">
+    <info>
+      <group>incubator-directory</group>
+      <name>eve-plus</name>
+      <version>0.0.1</version>
+    </info>
+    <dependencies>
+      <include key="avalon-framework-api"/>
+      <include key="avalon-framework-impl"/>
+      <include key="avalon-logkit"/>
+      <include key="cornerstone-threads-api"/>
+      <include key="excalibur-thread-api"/>
+      <include key="ldap-common"/>
+      <include key="commons-collections"/>
+      <include key="regexp"/>
+      <include key="jdbm"/>
+      <include key="antlr"/>
+      <include key="oro"/>
+      <include key="commons-lang"/>
+    </dependencies>
+    <plugins>
+      <include key="avalon-meta-tools"/>
+    </plugins>
+  </project>
+
+</system>

Modified: incubator/directory/eve/branches/plus/src/java/org/apache/eve/backend/BackendModule.java
==============================================================================
--- incubator/directory/eve/branches/plus/src/java/org/apache/eve/backend/BackendModule.java	(original)
+++ incubator/directory/eve/branches/plus/src/java/org/apache/eve/backend/BackendModule.java	Thu Jun 24 21:44:26 2004
@@ -30,8 +30,6 @@
 import org.apache.commons.collections.MultiMap ;
 import org.apache.commons.collections.MultiHashMap ;
 
-import org.apache.avalon.phoenix.BlockContext ;
-
 import org.apache.avalon.framework.context.Context ;
 import org.apache.avalon.framework.service.ServiceManager ;
 import org.apache.avalon.framework.service.ServiceException ;
@@ -39,21 +37,21 @@
 import org.apache.avalon.framework.configuration.Configuration ;
 import org.apache.avalon.framework.configuration.ConfigurationException ;
 
-
 public abstract class BackendModule
     extends AbstractModule
     implements AtomicBackend
 {
     //
     // Configuration Variables
-	//
+    //
 
     protected boolean m_isReadOnly = false ;
     protected Name m_suffix = null ;
 	protected String m_wkdirPath = null ;
     protected Name m_adminUser = null ;
     protected String m_adminPassword = null ;
-    protected BlockContext m_context ;
+    protected Context m_context ;
+    protected File m_basedir ;
 
     protected UnifiedBackend m_nexus = null ;
     protected ClientManager m_clientMan = null ;
@@ -218,13 +216,15 @@
 
     /**
      * All derived modules should call super.service first.
+     * @avalon.dependency key="schema-manager" type="org.apache.eve.schema.SchemaManager"
+     * @avalon.dependency key="nexus" type="org.apache.eve.backend.UnifiedBackend"
      */
     public void service(ServiceManager a_manager)
         throws ServiceException
     {
         m_schemaManager
-            = (SchemaManager) a_manager.lookup(SchemaManager.ROLE) ;
-        m_nexus = (UnifiedBackend) a_manager.lookup(UnifiedBackend.ROLE) ;
+            = (SchemaManager) a_manager.lookup( "schema-manager" ) ;
+        m_nexus = (UnifiedBackend) a_manager.lookup( "nexus" ) ;
     }
 
 
@@ -432,7 +432,7 @@
                 + "> tag! Cannot process config without this mandatory tag." ) ;
         }
 
-		m_wkdirPath = m_context.getBaseDirectory().getAbsolutePath()
+		m_wkdirPath = m_basedir.getAbsolutePath()
             + File.separator + a_config.getChild( WDIR_NODE ).getValue( null ) ;
         File l_dir = new File( m_wkdirPath ) ;
 		if( ! l_dir.exists() )
@@ -455,28 +455,23 @@
 
 
     /**
-     * Looks up the BlockContext to get the base directory for the application.
+     * Looks up the Context to get the base directory for the application.
+     *
+    * @avalon.entry key="urn:avalon:home" type="java.io.File"
      */
     public void contextualize( Context a_context )
         throws ContextException
     {
         super.contextualize( a_context ) ;
 
-        try
-        {
-        	m_context = ( BlockContext ) a_context ;
-            if( getLogger().isDebugEnabled() )
-            {
-        		getLogger().debug( "Got handle on block context with base "
-                    + "directory "
-                    + m_context.getBaseDirectory().getAbsolutePath() ) ;
-            }
-        }
-        catch( ClassCastException e )
+        m_context = a_context ;
+        m_basedir = (File) a_context.get( "urn:avalon:home" );
+
+        if( getLogger().isDebugEnabled() )
         {
-			getLogger().debug( "Context is not an instance of BlockContext!" ) ;
-            throw new ContextException(
-                "Context is not an instance of BlockContext!", e ) ;
+      	getLogger().debug( "Got handle on context with base "
+              + "directory "
+              + m_basedir ) ;
         }
     }
 }

Modified: incubator/directory/eve/branches/plus/src/java/org/apache/eve/backend/NexusModule.java
==============================================================================
--- incubator/directory/eve/branches/plus/src/java/org/apache/eve/backend/NexusModule.java	(original)
+++ incubator/directory/eve/branches/plus/src/java/org/apache/eve/backend/NexusModule.java	Thu Jun 24 21:44:26 2004
@@ -42,10 +42,10 @@
 /**
  * Default backend nexus or unified backend implementation for the server.
  * 
- * @phoenix:block
- * @phoenix:service name="org.apache.eve.backend.UnifiedBackend"
+ * @avalon.component name="nexus" lifestyle="singleton"
+ * @avalon.service type="org.apache.eve.backend.UnifiedBackend"
+ * 
  * @phoenix:mx-topic name="backend-nexus"
- *
  * @author <a href="mailto:aok123@bellsouth.net">Alex Karasulu</a>
  * @author $Author: akarasulu $
  * @version $Revision: 1.26 $
@@ -657,14 +657,14 @@
     /**
      * We use this to get a handle on the schema manager.
      * 
-     * @phoenix:dependency name="org.apache.eve.schema.SchemaManager"
+     * @avalon.dependency key="schema-manager" type="org.apache.eve.schema.SchemaManager"
      * @param a_manager the service manager that we get a BackendManager from
      */
     public void service(ServiceManager a_manager)
         throws ServiceException
     {
         m_schemaMan =
-            (SchemaManager) a_manager.lookup(SchemaManager.ROLE) ;
+            (SchemaManager) a_manager.lookup( "schema-manager" ) ;
         m_schema = m_schemaMan.getCompleteSchema() ;
     }
 

Added: incubator/directory/eve/branches/plus/src/java/org/apache/eve/backend/NexusModule.xconfig
==============================================================================
--- (empty file)
+++ incubator/directory/eve/branches/plus/src/java/org/apache/eve/backend/NexusModule.xconfig	Thu Jun 24 21:44:26 2004
@@ -0,0 +1,45 @@
+<configuration>
+    <RootDSE>
+      <attribute name="namingContexts" value="dc=example,dc=com" />
+
+      <!-- Currently in this config there is no replica 
+      The examples below are of alternative server's that contain
+      the same naming contexts that this server contains.
+      
+      <attribute name="altServer" value="ldap://replica1:389" />
+      <attribute name="altServer" value="ldap://replica2:389" />
+      -->
+
+      <!-- Currently there are no supported extended ops
+      The extention below is RefreshRequest protocol operation defined as an
+      extention for dynamic directories see http://www.ietf.org/rfc/rfc2589.txt
+      for more information.
+
+      <attribute name="supportedExtension" value="1.3.6.1.4.1.1466.101.119.1" />
+      -->
+
+      <!-- Currently there are no supported control ops
+      These below are VLV (Virtual List View) controls and the
+      LDAP Control for a Duplicate Entry Representation of Search Results
+
+      <attribute name="supportedControl" value="2.16.840.1.113730.3.4.9" />
+      <attribute name="supportedControl" value="2.16.840.1.113730.3.4.10" />
+      <attribute name="supportedControl" value="2.16.840.1.113719.1.27.101.1" />
+      <attribute name="supportedControl" value="2.16.840.1.113719.1.27.101.2" />
+      <attribute name="supportedControl" value="2.16.840.1.113719.1.27.101.3" />
+      -->
+
+      <!-- Currently SASL is not implemented yet.
+      The following URL explains more about the SASL mechanisms used:
+      http://www.ietf.org/rfc/rfc2829.txt
+
+      <attribute name="supportedSASLMechanisms" 
+        value="ANONYMOUS PLAIN OTP DIGEST-MD5 CRAM-MD5" />
+      -->
+
+      <attribute name="subschemaSubentry" value="cn=subschema" />
+      <attribute name="supportedLDAPVersion" value="3" />
+      <attribute name="vendorName" value="ASF" />
+      <attribute name="vendorVersion" value="eve-0.01" />
+    </RootDSE>
+</configuration>

Modified: incubator/directory/eve/branches/plus/src/java/org/apache/eve/backend/jdbm/JdbmModule.java
==============================================================================
--- incubator/directory/eve/branches/plus/src/java/org/apache/eve/backend/jdbm/JdbmModule.java	(original)
+++ incubator/directory/eve/branches/plus/src/java/org/apache/eve/backend/jdbm/JdbmModule.java	Thu Jun 24 21:44:26 2004
@@ -39,8 +39,9 @@
 /**
  * Jdbm backend module.
  * 
- * @phoenix:block
- * @phoenix:service name="org.apache.eve.backend.AtomicBackend"
+ * @avalon.component name="backend0" lifestyle="singleton"
+ * @avalon.service type="org.apache.eve.backend.AtomicBackend"
+ *
  * @phoenix:mx-topic name="jdbm-backend"
  */
 public class JdbmModule
@@ -583,14 +584,14 @@
 
 
     /**
-     * @phoenix:dependency name="org.apache.eve.schema.SchemaManager"
-     * @phoenix:dependency name="org.apache.eve.backend.UnifiedBackend"
+     * @avalon.dependency key="schema-manager" type="org.apache.eve.schema.SchemaManager"
+     * @avalon.dependency key="nexus" type="org.apache.eve.backend.UnifiedBackend"
      */
     public void service(ServiceManager a_manager)
         throws ServiceException
     {
         super.service(a_manager) ;
         m_schemaManager =
-            (SchemaManager) a_manager.lookup(SchemaManager.ROLE) ;
+            (SchemaManager) a_manager.lookup( "schema-manager" ) ;
     }
 }

Added: incubator/directory/eve/branches/plus/src/java/org/apache/eve/backend/jdbm/JdbmModule.xconfig
==============================================================================
--- (empty file)
+++ incubator/directory/eve/branches/plus/src/java/org/apache/eve/backend/jdbm/JdbmModule.xconfig	Thu Jun 24 21:44:26 2004
@@ -0,0 +1,40 @@
+<configuration>
+
+    <!-- Backend configuration properties -->
+    <!-- ==================================================================
+    Suffix Entry Definition:
+        
+       The suffix entry is automatically created for the first time
+       when the backend is brought up and it is not found.  If it 
+       already exists then this section is used simply to get the
+       Dn to the backend.
+
+    =================================================================== -->
+
+    <suffix>
+      <attribute name="distinguishedname" value="dc=example,dc=com" />
+      <attribute name="objectclass" value="top" />
+      <attribute name="objectclass" value="domain" />
+      <attribute name="dc" value="example" />
+    </suffix>
+
+    <adminUserDN>cn=admin,dc=example,dc=com</adminUserDN>
+    <adminUserPassword>jPasswordField1</adminUserPassword>
+    <workingDirPath>var/backend0</workingDirPath>
+    <entryCacheSize>1000</entryCacheSize>
+
+    <!-- Specific To Jdbm DB Backend -->
+    <indices>
+      <index name="l"/>
+      <index name="ou"/>
+      <index name="cn"/>
+      <index name="sn"/>
+      <index name="dc"/>
+      <index name="uid"/>
+      <index name="mail"/>
+      <index name="givenName"/>
+      <index name="roomnumber"/>
+      <index name="objectclass"/>
+    </indices>
+
+</configuration>

Modified: incubator/directory/eve/branches/plus/src/java/org/apache/eve/client/ClientModule.java
==============================================================================
--- incubator/directory/eve/branches/plus/src/java/org/apache/eve/client/ClientModule.java	(original)
+++ incubator/directory/eve/branches/plus/src/java/org/apache/eve/client/ClientModule.java	Thu Jun 24 21:44:26 2004
@@ -51,10 +51,10 @@
  * ClientManager service implementation used to manage client sessions and
  * their socket connections.
  * 
- * @phoenix:block
- * @phoenix:service name="org.apache.eve.client.ClientManager"
+ * @avalon.component name="client" lifestyle="singleton"
+ * @avalon.service type="org.apache.eve.client.ClientManager"
+ *
  * @phoenix:mx-topic name="client-manager"
- * 
  * @author <a href="mailto:aok123@bellsouth.net">Alex Karasulu</a>
  * @author $Author: akarasulu $
  * @version $Revision: 1.13 $
@@ -469,30 +469,30 @@
     }
 
 
-	/**
+    /**
      * Gets a handle on various services minux the ThreadManager which is
      * accessed by the service method of the AbstractStage superclass.
      * 
-     * @phoenix:dependency name="org.apache.eve.decoder.Decoder"
-     * @phoenix:dependency name="org.apache.eve.input.InputManager"
-     * @phoenix:dependency name="org.apache.eve.output.OutputManager"
-     * @phoenix:dependency name="org.apache.eve.backend.UnifiedBackend"
-     * @phoenix:dependency name="org.apache.eve.protocol.ProtocolEngine"
-     * @phoenix:dependency name="org.apache.avalon.cornerstone.services.threads.ThreadManager"
+     * @avalon.dependency key="decoder" type="org.apache.eve.decoder.Decoder"
+     * @avalon.dependency key="input" type="org.apache.eve.input.InputManager"
+     * @avalon.dependency key="output" type="org.apache.eve.output.OutputManager"
+     * @avalon.dependency key="nexus" type="org.apache.eve.backend.UnifiedBackend"
+     * @avalon.dependency key="protocol" type="org.apache.eve.protocol.ProtocolEngine"
+     * @avalon.dependency key="thread-manager" 
+     *    type="org.apache.avalon.cornerstone.services.threads.ThreadManager"
      */
     public void service( ServiceManager a_manager )
         throws ServiceException
     {
         super.service( a_manager ) ;
-        m_decoder = ( Decoder ) a_manager.lookup( Decoder.ROLE ) ;
-        m_nexus = ( UnifiedBackend ) a_manager.lookup( UnifiedBackend.ROLE ) ;
-        m_engine = ( ProtocolEngine ) a_manager.lookup( ProtocolEngine.ROLE ) ;
+        m_decoder = ( Decoder ) a_manager.lookup( "decoder" ) ;
+        m_nexus = ( UnifiedBackend ) a_manager.lookup( "nexus" ) ;
+        m_engine = ( ProtocolEngine ) a_manager.lookup( "protocol" ) ;
         m_inputManager = ( InputManager )
-            a_manager.lookup( InputManager.ROLE ) ;
+            a_manager.lookup( "input" ) ;
         m_outputManager = ( OutputManager )
-            a_manager.lookup( OutputManager.ROLE ) ;
+            a_manager.lookup( "output" ) ;
     }
-
 
     /**
      * Initializes this module by registering it with various slave modules like

Modified: incubator/directory/eve/branches/plus/src/java/org/apache/eve/decoder/DecoderModule.java
==============================================================================
--- incubator/directory/eve/branches/plus/src/java/org/apache/eve/decoder/DecoderModule.java	(original)
+++ incubator/directory/eve/branches/plus/src/java/org/apache/eve/decoder/DecoderModule.java	Thu Jun 24 21:44:26 2004
@@ -32,10 +32,10 @@
 /**
  * Decoder service implemented as a stage for ASN.1 Binary encoded LDAPv3 data.
  * 
- * @phoenix:block
+ * @avalon.component name="decoder" lifestyle="singleton"
+ * @avalon.service type="org.apache.eve.decoder.Decoder"
+ *
  * @phoenix:mx-topic name="DecoderModule"
- * @phoenix:service name="org.apache.eve.decoder.Decoder"
- * 
  * @author <a href="mailto:aok123@bellsouth.net">Alex Karasulu</a>
  * @author $Author: akarasulu $
  * @version $Revision: 1.8 $
@@ -172,14 +172,16 @@
      * Grabs handle directly on ProtocolEngine yet super call grabs the
      * ThreadManager.
      * 
-     * @phoenix:dependency name="org.apache.eve.protocol.ProtocolEngine"
-     * @phoenix:dependency name="org.apache.avalon.cornerstone.services.threads.ThreadManager"
+     * 
+     * @avalon.dependency key="protocol" type="org.apache.eve.protocol.ProtocolEngine"
+     * @avalon.dependency key="thread-manager" 
+     *    type="org.apache.avalon.cornerstone.services.threads.ThreadManager"
      */
     public void service( ServiceManager a_manager )
         throws ServiceException
     {
         super.service( a_manager ) ;
-        m_engine = ( ProtocolEngine ) a_manager.lookup( ProtocolEngine.ROLE ) ;
+        m_engine = ( ProtocolEngine ) a_manager.lookup( "protocol" ) ;
     }
 
 

Added: incubator/directory/eve/branches/plus/src/java/org/apache/eve/decoder/DecoderModule.xconfig
==============================================================================
--- (empty file)
+++ incubator/directory/eve/branches/plus/src/java/org/apache/eve/decoder/DecoderModule.xconfig	Thu Jun 24 21:44:26 2004
@@ -0,0 +1,3 @@
+<configuration>
+  <stage name="decoder" poolname="decoder"/>
+</configuration>

Modified: incubator/directory/eve/branches/plus/src/java/org/apache/eve/encoder/EncoderModule.java
==============================================================================
--- incubator/directory/eve/branches/plus/src/java/org/apache/eve/encoder/EncoderModule.java	(original)
+++ incubator/directory/eve/branches/plus/src/java/org/apache/eve/encoder/EncoderModule.java	Thu Jun 24 21:44:26 2004
@@ -32,10 +32,10 @@
 
 /**
  * Encodes Protocol Data Unit (PDU) using Basic Encoding (BER) Rules.
- * 
- * @phoenix:block
- * @phoenix:service name="org.apache.eve.encoder.Encoder"
- * 
+ * 
+ * @avalon.component name="encoder" lifestyle="singleton"
+ * @avalon.service type="org.apache.eve.encoder.Encoder"
+ *
  * @author <a href="mailto:aok123@bellsouth.net">Alex Karasulu</a>
  * @author $Author: akarasulu $
  * @version $Revision: 1.6 $
@@ -209,15 +209,15 @@
      * super method implementation grabs a handler on the cornerstone
      * ThreadManager for getting the stage's thread pool.
      * 
-     * @phoenix:dependency name="org.apache.eve.output.OutputManager"
-     * @phoenix:dependency name="org.apache.avalon.cornerstone.services.threads.ThreadManager"
-	 */
+     * @avalon.dependency key="output" type="org.apache.eve.output.OutputManager"
+     * @avalon.dependency key="thread-manager" 
+     *    type="org.apache.avalon.cornerstone.services.threads.ThreadManager"
+     */
     public void service( ServiceManager a_manager )
         throws ServiceException
     {
         super.service( a_manager ) ;
-        m_outputManager = ( OutputManager )
-            a_manager.lookup( OutputManager.ROLE ) ;
+        m_outputManager = ( OutputManager) a_manager.lookup( "output" ) ;
     }
 
 

Added: incubator/directory/eve/branches/plus/src/java/org/apache/eve/encoder/EncoderModule.xconfig
==============================================================================
--- (empty file)
+++ incubator/directory/eve/branches/plus/src/java/org/apache/eve/encoder/EncoderModule.xconfig	Thu Jun 24 21:44:26 2004
@@ -0,0 +1,4 @@
+<configuration>
+  <stage name="encoder" poolname="encoder"/>
+</configuration>
+

Modified: incubator/directory/eve/branches/plus/src/java/org/apache/eve/event/protocol/EventModule.java
==============================================================================
--- incubator/directory/eve/branches/plus/src/java/org/apache/eve/event/protocol/EventModule.java	(original)
+++ incubator/directory/eve/branches/plus/src/java/org/apache/eve/event/protocol/EventModule.java	Thu Jun 24 21:44:26 2004
@@ -21,8 +21,9 @@
 /**
  * Default synchronous event manager implementation for the server.
  * 
- * @phoenix:block
- * @phoenix:service name="org.apache.eve.event.protocol.EventManager"
+ * @avalon.component name="event" lifestyle="singleton"
+ * @avalon.service type="org.apache.eve.event.protocol.EventManager"
+ * 
  * @phoenix:mx-topic name="backend-nexus"
  */
 public class EventModule

Modified: incubator/directory/eve/branches/plus/src/java/org/apache/eve/input/InputModule.java
==============================================================================
--- incubator/directory/eve/branches/plus/src/java/org/apache/eve/input/InputModule.java	(original)
+++ incubator/directory/eve/branches/plus/src/java/org/apache/eve/input/InputModule.java	Thu Jun 24 21:44:26 2004
@@ -40,9 +40,10 @@
  * doing so is responsible for detecting input on the client Socket's
  * InputStream.
  *
- * @phoenix:block
+ * @avalon.component name="input" lifestyle="singleton"
+ * @avalon.service type="org.apache.eve.input.InputManager"
+ *
  * @phoenix:mx-topic name="InputModule"
- * @phoenix:service name="org.apache.eve.input.InputManager"
  */
 public class InputModule
     extends AbstractModule
@@ -236,17 +237,17 @@
      * Gets a handle on the Decoder and the ThreadManager services which this
      * module depends on.
      * 
-     * @phoenix:dependency name="org.apache.eve.decoder.Decoder"
-     * @phoenix:dependency name="org.apache.avalon.cornerstone.services.threads.ThreadManager"
+     * @avalon.dependency key="decoder" type="org.apache.eve.decoder.Decoder"
+     * @avalon.dependency key="thread-manager" 
+     *    type="org.apache.avalon.cornerstone.services.threads.ThreadManager"
      */
     public void service(ServiceManager a_manager)
         throws ServiceException
     {
         super.service(a_manager) ;
-        m_decoder = (Decoder) a_manager.lookup(Decoder.ROLE) ;
-        m_threadManager = (ThreadManager) a_manager.lookup(ThreadManager.ROLE) ;
+        m_decoder = (Decoder) a_manager.lookup( "decoder" ) ;
+        m_threadManager = (ThreadManager) a_manager.lookup( "thread-manager" );
     }
-
 
     /**
      * Does nothing.

Modified: incubator/directory/eve/branches/plus/src/java/org/apache/eve/jndi/JndiProviderModule.java
==============================================================================
--- incubator/directory/eve/branches/plus/src/java/org/apache/eve/jndi/JndiProviderModule.java	(original)
+++ incubator/directory/eve/branches/plus/src/java/org/apache/eve/jndi/JndiProviderModule.java	Thu Jun 24 21:44:26 2004
@@ -28,10 +28,10 @@
 /**
  * Protocol engine stage: the request processing stage of the pipeline.
  * 
- * @phoenix:block
- * @phoenix:service name="org.apache.eve.jndi.JndiProvider"
- * @phoenix:mx-topic name="JndiProviderModule"
+ * @avalon.component name="jndi" lifestyle="singleton"
+ * @avalon.service type="org.apache.eve.jndi.JndiProvider"
  * 
+ * @phoenix:mx-topic name="JndiProviderModule"
  * @author <a href="mailto:aok123@bellsouth.net">Alex Karasulu</a>
  * @author $Author: akarasulu $
  * @version $Revision: 1.7 $
@@ -146,12 +146,12 @@
     /**
      * Gets a handle on the UnifiedBackend service aka NexusModule.
      *
-     * @phoenix:dependency name="org.apache.eve.backend.UnifiedBackend"
+     * @avalon.dependency key="nexus" type="org.apache.eve.backend.UnifiedBackend"
      */
     public void service( ServiceManager a_manager )
         throws ServiceException
     {
-        m_nexus = ( UnifiedBackend ) a_manager.lookup( UnifiedBackend.ROLE ) ;
+        m_nexus = ( UnifiedBackend ) a_manager.lookup( "nexus" ) ;
     }
 
 

Modified: incubator/directory/eve/branches/plus/src/java/org/apache/eve/listener/ListenerModule.java
==============================================================================
--- incubator/directory/eve/branches/plus/src/java/org/apache/eve/listener/ListenerModule.java	(original)
+++ incubator/directory/eve/branches/plus/src/java/org/apache/eve/listener/ListenerModule.java	Thu Jun 24 21:44:26 2004
@@ -42,9 +42,10 @@
  * module.  In the near future expect the implementation to support multiple
  * server sockets and to optionally sepecify whether SSL is used.
  * 
- * @phoenix:block
+ * @avalon.component name="listener" lifestyle="singleton"
+ * @avalon.service type="org.apache.eve.listener.ServerListener"
+ *
  * @phoenix:mx-topic name="ListenerModule"
- * @phoenix:service name="org.apache.eve.listener.ServerListener"
  */
 public class ListenerModule
     extends AbstractModule
@@ -243,15 +244,15 @@
     }
 
 
-	/**
+    /**
      * Extracts a handle on the system ClientManager from the ServiceManager.
      * 
-     * @phoenix:dependency name="org.apache.eve.client.ClientManager"
+     * @avalon.dependency key="client" type="org.apache.eve.client.ClientManager"
      */
     public void service(ServiceManager a_manager)
         throws ServiceException
     {
-        m_clientManager = (ClientManager) a_manager.lookup(ClientManager.ROLE) ;
+        m_clientManager = (ClientManager) a_manager.lookup( "client" ) ;
     }
 
 

Added: incubator/directory/eve/branches/plus/src/java/org/apache/eve/listener/ListenerModule.xconfig
==============================================================================
--- (empty file)
+++ incubator/directory/eve/branches/plus/src/java/org/apache/eve/listener/ListenerModule.xconfig	Thu Jun 24 21:44:26 2004
@@ -0,0 +1,6 @@
+<configuration>
+  <port>1396</port>
+  <host>localhost</host>
+  <backlog>50</backlog>
+</configuration>
+

Modified: incubator/directory/eve/branches/plus/src/java/org/apache/eve/output/OutputModule.java
==============================================================================
--- incubator/directory/eve/branches/plus/src/java/org/apache/eve/output/OutputModule.java	(original)
+++ incubator/directory/eve/branches/plus/src/java/org/apache/eve/output/OutputModule.java	Thu Jun 24 21:44:26 2004
@@ -9,27 +9,28 @@
 
 package org.apache.eve.output ;
 
-
-import org.apache.eve.seda.AbstractStage ;
-import org.apache.eve.client.ClientKey;
 import java.io.OutputStream;
-import org.apache.eve.event.OutputEvent;
-import java.util.HashMap;
-import java.util.Map;
 import java.io.InputStream;
 import java.io.IOException;
-import org.apache.eve.event.AbstractEventHandler;
+import java.io.BufferedOutputStream;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.EventObject;
+
+import org.apache.eve.client.ClientKey;
 import org.apache.eve.client.ClientManager;
+import org.apache.eve.client.KeyExpiryException;
+import org.apache.eve.event.OutputEvent;
+import org.apache.eve.event.AbstractEventHandler;
+import org.apache.eve.seda.AbstractStage ;
+
 import org.apache.avalon.framework.service.ServiceException;
 import org.apache.avalon.framework.service.ServiceManager;
 import org.apache.avalon.framework.logger.Logger;
-import java.util.EventObject;
-import org.apache.eve.client.KeyExpiryException;
-import java.io.BufferedOutputStream;
 
 /**
- * @phoenix:block
- * @phoenix:service name="org.apache.eve.output.OutputManager"
+ * @avalon.component name="output" lifestyle="singleton"
+ * @avalon.service type="org.apache.eve.output.OutputManager"
  */
 public class OutputModule
     extends AbstractStage
@@ -194,15 +195,4 @@
         return this.getClass().getName() ;
     }
 
-
-    /**
-     * Needed for the javadoclet!
-     * 
-     * @phoenix:dependency name="org.apache.avalon.cornerstone.services.threads.ThreadManager"
-     */
-    public void service(ServiceManager a_manager)
-        throws ServiceException
-    {
-        super.service(a_manager) ;
-    }
 }

Added: incubator/directory/eve/branches/plus/src/java/org/apache/eve/output/OutputModule.xconfig
==============================================================================
--- (empty file)
+++ incubator/directory/eve/branches/plus/src/java/org/apache/eve/output/OutputModule.xconfig	Thu Jun 24 21:44:26 2004
@@ -0,0 +1,3 @@
+<configuration>
+ <stage name="output" poolname="output"/>
+</configuration>

Modified: incubator/directory/eve/branches/plus/src/java/org/apache/eve/protocol/ProtocolModule.java
==============================================================================
--- incubator/directory/eve/branches/plus/src/java/org/apache/eve/protocol/ProtocolModule.java	(original)
+++ incubator/directory/eve/branches/plus/src/java/org/apache/eve/protocol/ProtocolModule.java	Thu Jun 24 21:44:26 2004
@@ -63,8 +63,9 @@
 /**
  * Protocol engine stage: the request processing stage of the pipeline.
  * 
- * @phoenix:block
- * @phoenix:service name="org.apache.eve.protocol.ProtocolEngine"
+ * @avalon.component name="protocol" lifestyle="singleton"
+ * @avalon.service type="org.apache.eve.protocol.ProtocolEngine"
+ *
  * @phoenix:mx-topic name="ProtocolModule"
  */
 public class ProtocolModule
@@ -245,25 +246,26 @@
     /**
      * Need lot of services to get the job done.
      *
-     * @phoenix:dependency name="org.apache.eve.event.protocol.EventManager"
-     * @phoenix:dependency name="org.apache.eve.backend.UnifiedBackend"
-     * @phoenix:dependency name="org.apache.eve.security.auth.AuthenticationManager"
-     * @phoenix:dependency name="org.apache.eve.output.OutputManager"
-     * @phoenix:dependency name="org.apache.eve.encoder.Encoder"
-     * @phoenix:dependency name="org.apache.avalon.cornerstone.services.threads.ThreadManager"
+     * @avalon.dependency key="event" type="org.apache.eve.event.protocol.EventManager"
+     * @avalon.dependency key="nexus" type="org.apache.eve.backend.UnifiedBackend"
+     * @avalon.dependency key="authman" type="org.apache.eve.security.auth.AuthenticationManager"
+     * @avalon.dependency key="encoder" type="org.apache.eve.encoder.Encoder"
+     * @avalon.dependency key="output" type="org.apache.eve.output.OutputManager"
+     * @avalon.dependency key="thread-manager" 
+     *    type="org.apache.avalon.cornerstone.services.threads.ThreadManager"
      */
     public void service( ServiceManager a_manager )
         throws ServiceException
     {
         super.service( a_manager ) ;
-		m_nexus = ( UnifiedBackend ) a_manager.lookup( UnifiedBackend.ROLE ) ;
+		m_nexus = ( UnifiedBackend ) a_manager.lookup( "nexus" ) ;
         m_authManager = ( AuthenticationManager )
-            a_manager.lookup( AuthenticationManager.ROLE ) ;
-        m_encoder = ( Encoder ) a_manager.lookup( Encoder.ROLE ) ;
+            a_manager.lookup( "authman" ) ;
+        m_encoder = ( Encoder ) a_manager.lookup( "encoder" ) ;
         m_outputManager = ( OutputManager )
-            a_manager.lookup( OutputManager.ROLE ) ;
+            a_manager.lookup( "output" ) ;
         m_eventManager = ( EventManager )
-            a_manager.lookup( EventManager.ROLE ) ;
+            a_manager.lookup( "event" ) ;
     }
 
 

Added: incubator/directory/eve/branches/plus/src/java/org/apache/eve/protocol/ProtocolModule.xconfig
==============================================================================
--- (empty file)
+++ incubator/directory/eve/branches/plus/src/java/org/apache/eve/protocol/ProtocolModule.xconfig	Thu Jun 24 21:44:26 2004
@@ -0,0 +1,3 @@
+<configuration>
+  <stage name="protocol" poolname="processor"/>
+</configuration>

Modified: incubator/directory/eve/branches/plus/src/java/org/apache/eve/schema/SchemaModule.java
==============================================================================
--- incubator/directory/eve/branches/plus/src/java/org/apache/eve/schema/SchemaModule.java	(original)
+++ incubator/directory/eve/branches/plus/src/java/org/apache/eve/schema/SchemaModule.java	Thu Jun 24 21:44:26 2004
@@ -26,7 +26,6 @@
 import antlr.RecognitionException ;
 import antlr.TokenStreamException ;
 
-import org.apache.avalon.phoenix.BlockContext ;
 import org.apache.avalon.framework.logger.Logger;
 import org.apache.avalon.framework.context.Context ;
 import org.apache.avalon.framework.context.ContextException ;
@@ -38,8 +37,8 @@
  * Schema manager module/block implementation used to parse schema files and
  * manage DIB schemas and subschema authoritative areas.
  * 
- * @phoenix:block
- * @phoenix:service name="org.apache.eve.schema.SchemaManager"
+ * @avalon.component name="schema-manager" lifestyle="singleton"
+ * @avalon.service type="org.apache.eve.schema.SchemaManager"
  * @testcase org.apache.eve.schema.TestSchemaModule
  */
 public class SchemaModule
@@ -47,7 +46,7 @@
 {
 	public static final String BLOCK_CONFIG_NODE = "schema-manager" ;
 
-    private BlockContext m_context ;
+    private Context m_context ;
     /** all schema definitions in one place */
     private final SchemaImpl m_complete = new SchemaImpl() ;
     /** syntax OID : SyntaxChecker */
@@ -59,6 +58,7 @@
     /** suffix : SchemaImpl */
     private final HashMap m_suffixSchemaMap = new HashMap() ;
 
+    private File m_basedir;
 
     public void enableLogging(Logger a_logger)
     {
@@ -108,23 +108,24 @@
         return SchemaModule.class.getName() ;
     }
 
-
+    /**
+     * Looks up the Context to get the base directory for the application.
+     *
+     * @avalon.entry key="urn:avalon:home" type="java.io.File"
+     */
     public void contextualize(Context a_context)
         throws ContextException
     {
-        super.contextualize(a_context) ;
+        super.contextualize( a_context ) ;
+
+        m_context = a_context ;
+        m_basedir = (File) a_context.get( "urn:avalon:home" );
 
-        try {
-        	m_context = (BlockContext) a_context ;
-            if(getLogger().isDebugEnabled()) {
-        		getLogger().debug("Got handle on block context with base "
-                    + "directory "
-                    + m_context.getBaseDirectory().getAbsolutePath()) ;
-            }
-        } catch(ClassCastException e) {
-			getLogger().debug("Context is not an instance of BlockContext!") ;
-            throw new ContextException(
-                "Context is not an instance of BlockContext!", e) ;
+        if( getLogger().isDebugEnabled() )
+        {
+      	getLogger().debug( "Got handle on context with base "
+              + "directory "
+              + m_basedir ) ;
         }
     }
 
@@ -226,7 +227,7 @@
         // and its contents to the top level directory but updates fail on jar.
         //
 
-		String l_baseDir = m_context.getBaseDirectory().getAbsolutePath() ;
+		String l_baseDir = m_basedir.getAbsolutePath() ;
         l_baseDir = l_baseDir + File.separator + "SAR-INF" + File.separator +
             "lib" ;
 

Added: incubator/directory/eve/branches/plus/src/java/org/apache/eve/schema/SchemaModule.xconfig
==============================================================================
--- (empty file)
+++ incubator/directory/eve/branches/plus/src/java/org/apache/eve/schema/SchemaModule.xconfig	Thu Jun 24 21:44:26 2004
@@ -0,0 +1,65 @@
+
+<configuration>
+  <!--STAGE:I-->
+  <!--files are parsed first to build fileschemas-->
+
+  <schema name="our" filepath="schema/our.schema"/>
+  <schema name="core" filepath="schema/core.schema"/>
+  <schema name="vendor" filepath="schema/vendor.schema"/>
+  <schema name="corba" filepath="schema/corba.schema"/>
+  <schema name="cosine" filepath="schema/cosine.schema"/>
+  <schema name="java" filepath="schema/java.schema"/>
+  <schema name="misc" filepath="schema/misc.schema"/>
+
+  <!--
+  <schema name="nis" filepath="schema/nis.schema"/>
+  <schema name="krb5-kdc" filepath="schema/krb5-kdc.schema"/>
+  -->
+
+  <schema name="inetorgperson" filepath="schema/inetorgperson.schema"/>
+
+  <!--STAGE:II-->
+  <!--built-ins: deepTrimToLower, deepTrim, trim, dnNormalize, asis-->
+  <!--regex version is perl5-->
+
+  <normalization default="asis">
+
+    <normalizer op="deepTrimToLower" rule="caseIgnoreMatch"/>
+    <normalizer op="deepTrimToLower" rule="caseIgnoreListMatch"/>
+    <normalizer op="deepTrimToLower" rule="caseIgnoreIA5Match"/>
+    <normalizer op="deepTrimToLower" rule="objectidentifiermatch"/>
+    <normalizer op="deepTrim" rule="caseExactIA5Match"/>
+    <normalizer op="deepTrim" rule="telephoneNumberMatch"/>
+    <normalizer op="dnNormalize" rule="distinguishedNameMatch"/>
+
+    <normalizer rule="someNewBogusRule">
+      <regex value="s/abc/123/g"/>
+      <regex value="/ /d"/>
+      <regex value="y/def/DEF/"/>
+    </normalizer>
+
+  </normalization>
+
+  <!--STAGE:III-->
+  <!--built-ins: accept, . . ., TBA-->
+  <!--regex version is perl5-->
+  <syntax-checkers default="accept">
+    <!--fictitious: matches yes, Yes, YES etc-->
+    <syntax-checker oid="1.2.34.2.1.2.3.4523.1.56.4.2.34.5345.3">
+      <regex value="/yes/i"/>
+    </syntax-checker>
+  </syntax-checkers>
+
+  <!--STAGE:IV-->
+  <!--SubschemaAdministrativeAreaUsedbybackend0-->
+  <SAA dn="dc=example,dc=com">
+    <schema-ref schema="our"/>
+    <schema-ref schema="core"/>
+    <schema-ref schema="cosine"/>
+    <schema-ref schema="corba"/>
+    <schema-ref schema="java"/>
+    <schema-ref schema="misc"/>
+    <schema-ref schema="inetorgperson"/>
+  </SAA>
+
+</configuration>

Modified: incubator/directory/eve/branches/plus/src/java/org/apache/eve/security/auth/AuthenticationManager.java
==============================================================================
--- incubator/directory/eve/branches/plus/src/java/org/apache/eve/security/auth/AuthenticationManager.java	(original)
+++ incubator/directory/eve/branches/plus/src/java/org/apache/eve/security/auth/AuthenticationManager.java	Thu Jun 24 21:44:26 2004
@@ -11,10 +11,8 @@
 package org.apache.eve.security.auth ;
 
 
-import org.apache.avalon.framework.component.Component ;
 import java.security.Principal ;
 import javax.naming.NamingException ;
-import org.apache.avalon.framework.CascadingException;
 import org.apache.eve.backend.BackendException;
 import javax.naming.Name ;
 import org.apache.eve.security.LdapPrincipal ;
@@ -28,7 +26,6 @@
  * binds via a loginSimple() interface.
  */
 public interface AuthenticationManager
-    extends Component
 {
     public static final String ROLE = AuthenticationManager.class.getName() ;
 

Modified: incubator/directory/eve/branches/plus/src/java/org/apache/eve/security/auth/AuthenticationModule.java
==============================================================================
--- incubator/directory/eve/branches/plus/src/java/org/apache/eve/security/auth/AuthenticationModule.java	(original)
+++ incubator/directory/eve/branches/plus/src/java/org/apache/eve/security/auth/AuthenticationModule.java	Thu Jun 24 21:44:26 2004
@@ -34,8 +34,8 @@
 /**
  * Authenticates users against the backend.
  * 
- * @phoenix:block
- * @phoenix:service name="org.apache.eve.security.auth.AuthenticationManager"
+ * @avalon.component name="authman" lifestyle="singleton"
+ * @avalon.service type="org.apache.eve.security.auth.AuthenticationManager"
  * 
  * @author <a href="mailto:aok123@bellsouth.net">Alex Karasulu</a>
  * @author $Author: akarasulu $
@@ -169,12 +169,12 @@
     /**
      * Need handle on the nexus module - the unified backend.
      *
-     * @phoenix:dependency name="org.apache.eve.backend.UnifiedBackend"
+     * @avalon.dependency key="nexus" type="org.apache.eve.backend.UnifiedBackend"
      */
     public void service(ServiceManager a_manager)
         throws ServiceException
     {
-		m_nexus = (UnifiedBackend) a_manager.lookup(UnifiedBackend.ROLE) ;
+	  m_nexus = (UnifiedBackend) a_manager.lookup( "nexus" ) ;
     }
 }
 

Modified: incubator/directory/eve/branches/plus/src/java/org/apache/eve/seda/AbstractStage.java
==============================================================================
--- incubator/directory/eve/branches/plus/src/java/org/apache/eve/seda/AbstractStage.java	(original)
+++ incubator/directory/eve/branches/plus/src/java/org/apache/eve/seda/AbstractStage.java	Thu Jun 24 21:44:26 2004
@@ -19,8 +19,8 @@
 import org.apache.avalon.framework.service.ServiceException ;
 import org.apache.avalon.framework.CascadingRuntimeException ;
 import org.apache.avalon.framework.configuration.Configuration ;
+import org.apache.avalon.framework.configuration.ConfigurationException ;
 import org.apache.avalon.cornerstone.services.threads.ThreadManager ;
-import org.apache.avalon.framework.configuration.ConfigurationException ;
 
 import org.apache.eve.AbstractModule ;
 import org.apache.eve.event.EventHandler ;
@@ -186,13 +186,18 @@
         super.stop() ;
     }
 
-
+    /**
+     * Declaration of the services that this component is dependent on.
+     *
+     * @avalon.dependency key="thread-manager" 
+     *    type="org.apache.avalon.cornerstone.services.threads.ThreadManager"
+     */
     public void service(ServiceManager a_manager)
         throws ServiceException
     {
         super.service(a_manager) ;
         m_threadManager = (ThreadManager)
-            a_manager.lookup(ThreadManager.ROLE) ;
+            a_manager.lookup( "thread-manager" ) ;
     }