mcconnell 2002/09/14 17:19:37
Modified: assembly build.xml default.properties
assembly/src/java/org/apache/excalibur/merlin/assembly
ContainerManager.java TypeRegistry.java
UnresolvedProviderException.java
assembly/src/java/org/apache/excalibur/merlin/model/verifier
AssemblyVerifier.java MetaDataVerifier.java
assembly/src/java/org/apache/excalibur/merlin/resource
DefaultComponentManager.java DefaultManager.java
DefaultServiceManager.java DeploymentHelper.java
assembly/src/java/org/apache/excalibur/merlin/service
DefaultRegistry.java ServiceURLConnection.java
Removed: assembly/lib corbaloc-1.0.jar openorb-1.3.0.jar orb-2.0.jar
assembly/src/etc activation.mf
assembly/src/etc/activator client.xml server.xml
assembly/src/idl demo.idl
assembly/src/java/org/apache/excalibur/merlin/activation
ActivationException.java
ActivationRuntimeException.java
DefaultRemoteResource.java
DefaultRemoteResourceFactory.java
DefaultRemoteResourceFactory.xinfo
DefaultServantActivator.java Directory.java
Directory.xinfo RemoteResource.java
RemoteResourceFactory.java package.html
assembly/src/java/org/apache/excalibur/playground/activation
ActivationClient.java ActivationClient.xinfo
TestCase.xservice TestServant.java
TestServant.xinfo
assembly/tools openorb_tools-1.3.0.jar
Log:
Removal of CORBA depedencies from the Merlin 2 project (these are isolated
under the activation package and sufficient progress has been achieved in the
core
to be able to introduce this as a pluggable extension.
Revision Changes Path
1.65 +238 -405 jakarta-avalon-excalibur/assembly/build.xml
Index: build.xml
===================================================================
RCS file: /home/cvs/jakarta-avalon-excalibur/assembly/build.xml,v
retrieving revision 1.64
retrieving revision 1.65
diff -u -r1.64 -r1.65
--- build.xml 13 Sep 2002 17:43:13 -0000 1.64
+++ build.xml 15 Sep 2002 00:19:34 -0000 1.65
@@ -2,447 +2,309 @@
<project name="Merlin 2" default="main" basedir=".">
- <property file="${user.home}/build.properties"/>
- <property file="${basedir}/../ant.properties"/>
- <property file="${basedir}/ant.properties"/>
- <property file="${user.home}/.ant.properties"/>
- <property file="${basedir}/../default.properties"/>
- <property file="${basedir}/default.properties"/>
-
- <!-- Classpath for product -->
- <path id="project.class.path">
- <pathelement location="${logkit.jar}"/>
- <pathelement location="${avalon-framework.jar}"/>
- <pathelement location="${excalibur-i18n.jar}"/>
- <pathelement location="${excalibur-configuration.jar}"/>
- <pathelement location="${excalibur-container.jar}"/>
- <pathelement location="${excalibur-meta.jar}"/>
- <pathelement location="${excalibur-extension.jar}"/>
- <pathelement location="${excalibur-logger.jar}"/>
- <pathelement location="${excalibur-event.jar}"/>
- <pathelement location="${build.classes}"/>
- <pathelement location="${checkstyle.jar}"/>
- <pathelement location="${xml-apis.jar}"/>
- <pathelement location="${openorb.jar}"/>
- <pathelement location="${idl-compiler.jar}"/>
- <pathelement location="${orb.jar}"/>
- <pathelement location="${corbaloc.jar}"/>
- <pathelement path="${java.class.path}"/>
- </path>
-
- <path id="tools.class.path">
- <pathelement location="${junit.jar}"/>
- </path>
-
- <path id="test.class.path">
- <pathelement location="${build.testclasses}"/>
- <pathelement location="${junit.jar}"/>
- <path refid="project.class.path"/>
- </path>
- <property name="cp" refid="test.class.path"/>
-
- <target name="main" depends="deploy" description="Build the project"/>
- <target name="rebuild" depends="clean,main" description="Rebuild the
project"/>
-
- <target name="dependencies" description="Check dependencies"
unless="skip.dependencies">
- <ant antfile="${depchecker.prefix}/depchecker.xml"
target="checkCommon"/>
- <ant antfile="${depchecker.prefix}/depchecker.xml"
target="checkLogkit"/>
- <ant antfile="${depchecker.prefix}/depchecker.xml"
target="checkFramework"/>
- <ant antfile="${depchecker.prefix}/depchecker.xml"
target="checkI18N"/>
- <ant antfile="${depchecker.prefix}/depchecker.xml"
target="checkConfiguration"/>
- <ant antfile="${depchecker.prefix}/depchecker.xml"
target="checkContainer"/>
- <ant antfile="${depchecker.prefix}/depchecker.xml"
target="checkMeta"/>
- <ant antfile="${depchecker.prefix}/depchecker.xml"
target="checkExtension"/>
- <ant antfile="${depchecker.prefix}/depchecker.xml"
target="checkLogger"/>
- <ant antfile="${depchecker.prefix}/depchecker.xml"
target="checkEvent"/>
-
- <!-- secondary depedencies -->
-
- <ant antfile="${depchecker.prefix}/depchecker.xml"
target="checkUtil"/>
- <ant antfile="${depchecker.prefix}/depchecker.xml"
target="checkCollections"/>
- <ant antfile="${depchecker.prefix}/depchecker.xml"
target="checkThreadcontext"/>
- <ant antfile="${depchecker.prefix}/depchecker.xml"
target="checkConcurrent"/>
-
- </target>
-
- <target name="dependencies-test" depends="dist-jar, dependencies"
- description="Check unit test dependencies"
unless="skip.dependencies">
- <!-- Need the jar to prevent recursive deps. -->
-
- <ant antfile="${depchecker.prefix}/depchecker.xml"
target="checkJUnit"/>
- </target>
-
- <target name="deploy" depends="jar">
- <mkdir dir="${extension.dir}"/>
- <copy todir="${extension.dir}" file="${build.lib}/${activation.jar}"/>
- <copy todir="${extension.dir}" file="${build.lib}/${jar.name}"/>
- <copy todir="${extension.dir}" file="${logkit.jar}"/>
- <copy todir="${extension.dir}" file="${avalon-framework.jar}"/>
- <copy todir="${extension.dir}" file="${excalibur-i18n.jar}"/>
- <copy todir="${extension.dir}" file="${excalibur-container.jar}"/>
- <copy todir="${extension.dir}" file="${excalibur-configuration.jar}"/>
- <copy todir="${extension.dir}" file="${excalibur-extension.jar}"/>
- <copy todir="${extension.dir}" file="${excalibur-logger.jar}"/>
- <copy todir="${extension.dir}" file="${excalibur-meta.jar}"/>
- <copy todir="${extension.dir}" file="${excalibur-event.jar}"/>
- <copy todir="${extension.dir}" file="${excalibur-collections.jar}"/>
- <copy todir="${extension.dir}" file="${excalibur-concurrent.jar}"/>
- <copy todir="${extension.dir}" file="${excalibur-threadcontext.jar}"/>
- <copy todir="${extension.dir}" file="${excalibur-util.jar}"/>
- <copy todir="${extension.dir}" preservelastmodified="true">
- <fileset dir="${lib.dir}">
- <include name="xerces-2.0.1.jar"/>
- <include name="xml-apis.jar"/>
- <include name="xalan-2.3.1.jar"/>
- <include name="openorb*.jar"/>
- <include name="orb*.jar"/>
- <include name="corbaloc*.jar"/>
- </fileset>
- </copy>
- </target>
-
- <target name="idl.context" depends="dependencies,orb.update">
- <mkdir dir="${build.dir}/src"/>
- <uptodate property="idl.modified" targetfile="${idl.dir}/demo.idl">
- <srcfiles dir="${build.dir}/src">
- <include name="**/*"/>
- </srcfiles>
- </uptodate>
- </target>
-
- <!-- gump debugging -->
- <target name="idl.info" depends="idl.context">
- <available file="${idl-compiler.jar}" property="idl.available"/>
- <echo message="The jar file ${idl-compiler.jar} exists :
${idl.available}"/>
- </target>
-
- <target name="idl" depends="idl.info,idl.context" if="idl.modified">
- <echo message="Generating demo idl."/>
- <java failonerror="true" classname="${idl.class}" fork="true">
- <classpath>
- <path refid="project.class.path"/>
- </classpath>
- <arg line="-silence"/>
- <arg line="-native URL java.net.URL"/>
- <arg line="-d ${build.dir}/src"/>
- <arg line="-I ${idl.dir}"/>
- <arg line="demo.idl" />
- </java>
+ <property file="${user.home}/build.properties"/>
+ <property file="${basedir}/../ant.properties"/>
+ <property file="${basedir}/ant.properties"/>
+ <property file="${user.home}/.ant.properties"/>
+ <property file="${basedir}/../default.properties"/>
+ <property file="${basedir}/default.properties"/>
+
+ <!-- Classpath for product -->
+ <path id="project.class.path">
+ <pathelement location="${logkit.jar}"/>
+ <pathelement location="${avalon-framework.jar}"/>
+ <pathelement location="${excalibur-i18n.jar}"/>
+ <pathelement location="${excalibur-configuration.jar}"/>
+ <pathelement location="${excalibur-container.jar}"/>
+ <pathelement location="${excalibur-meta.jar}"/>
+ <pathelement location="${excalibur-extension.jar}"/>
+ <pathelement location="${excalibur-logger.jar}"/>
+ <pathelement location="${excalibur-event.jar}"/>
+ <pathelement location="${build.classes}"/>
+ <pathelement location="${checkstyle.jar}"/>
+ <pathelement location="${xml-apis.jar}"/>
+ <pathelement path="${java.class.path}"/>
+ </path>
+
+ <target name="main" depends="deploy" description="Build the project"/>
+ <target name="rebuild" depends="clean,main" description="Rebuild the
project"/>
+ <target name="all" depends="rebuild,docs" description="Rebuild the
project"/>
+
+ <target name="dependencies" description="Check dependencies"
unless="skip.dependencies">
+ <ant antfile="${depchecker.prefix}/depchecker.xml" target="checkCommon"/>
+ <ant antfile="${depchecker.prefix}/depchecker.xml" target="checkLogkit"/>
+ <ant antfile="${depchecker.prefix}/depchecker.xml"
target="checkFramework"/>
+ <ant antfile="${depchecker.prefix}/depchecker.xml" target="checkI18N"/>
+ <ant antfile="${depchecker.prefix}/depchecker.xml"
target="checkConfiguration"/>
+ <ant antfile="${depchecker.prefix}/depchecker.xml"
target="checkContainer"/>
+ <ant antfile="${depchecker.prefix}/depchecker.xml" target="checkMeta"/>
+ <ant antfile="${depchecker.prefix}/depchecker.xml"
target="checkExtension"/>
+ <ant antfile="${depchecker.prefix}/depchecker.xml" target="checkLogger"/>
+ <ant antfile="${depchecker.prefix}/depchecker.xml" target="checkEvent"/>
+
+ <!-- secondary depedencies -->
+
+ <ant antfile="${depchecker.prefix}/depchecker.xml" target="checkUtil"/>
+ <ant antfile="${depchecker.prefix}/depchecker.xml"
target="checkCollections"/>
+ <ant antfile="${depchecker.prefix}/depchecker.xml"
target="checkThreadcontext"/>
+ <ant antfile="${depchecker.prefix}/depchecker.xml"
target="checkConcurrent"/>
+
+ </target>
+
+ <target name="dependencies-test" depends="dist-jar, dependencies"
+ description="Check unit test dependencies" unless="skip.dependencies">
+ <!-- Need the jar to prevent recursive deps. -->
+
+ <ant antfile="${depchecker.prefix}/depchecker.xml" target="checkJUnit"/>
+ </target>
+
+ <target name="deploy" depends="jar">
+ <mkdir dir="${extension.dir}"/>
+ <copy todir="${extension.dir}" file="${build.lib}/${jar.name}"/>
+ <copy todir="${extension.dir}" file="${logkit.jar}"/>
+ <copy todir="${extension.dir}" file="${avalon-framework.jar}"/>
+ <copy todir="${extension.dir}" file="${excalibur-i18n.jar}"/>
+ <copy todir="${extension.dir}" file="${excalibur-container.jar}"/>
+ <copy todir="${extension.dir}" file="${excalibur-configuration.jar}"/>
+ <copy todir="${extension.dir}" file="${excalibur-extension.jar}"/>
+ <copy todir="${extension.dir}" file="${excalibur-logger.jar}"/>
+ <copy todir="${extension.dir}" file="${excalibur-meta.jar}"/>
+ <copy todir="${extension.dir}" file="${excalibur-event.jar}"/>
+ <copy todir="${extension.dir}" file="${excalibur-collections.jar}"/>
+ <copy todir="${extension.dir}" file="${excalibur-concurrent.jar}"/>
+ <copy todir="${extension.dir}" file="${excalibur-threadcontext.jar}"/>
+ <copy todir="${extension.dir}" file="${excalibur-util.jar}"/>
+ <copy todir="${extension.dir}" preservelastmodified="true">
+ <fileset dir="${lib.dir}">
+ <include name="xerces-2.0.1.jar"/>
+ <include name="xml-apis.jar"/>
+ <include name="xalan-2.3.1.jar"/>
+ </fileset>
+ </copy>
</target>
<!-- Compiles the source code -->
- <target name="compile" depends="idl,corbaloc.update"
+ <target name="compile" depends="dependencies"
description="Compiles the source code">
- <mkdir dir="${build.classes}"/>
+ <mkdir dir="${build.classes}"/>
- <!-- Compile all classes excluding the tests. -->
- <javac srcdir="${java.dir}"
- destdir="${build.classes}"
- debug="${build.debug}"
- optimize="${build.optimize}"
- deprecation="${build.deprecation}"
- target="1.2">
- <src path="${java.dir}" />
- <src path="${build.dir}/src" />
- <classpath refid="project.class.path" />
- <include name="**/*.java"/>
- </javac>
-
- <!-- copy resources to same location as .class files -->
- <copy todir="${build.classes}">
- <fileset dir="${java.dir}">
- <exclude name="**/*.java"/>
- <exclude name="**/package.html"/>
- </fileset>
- </copy>
-
- </target>
-
-
- <!-- Compiles the unit test source code -->
- <target name="compile-test" depends="compile, dependencies-test"
- description="Compiles the source code">
- <mkdir dir="${build.testsrc}"/>
-
- <!-- Copy over all of the tests applying test filters -->
- <copy todir="${build.testsrc}">
- <fileset dir="${test.dir}"/>
- </copy>
-
- <mkdir dir="${build.testclasses}"/>
-
- <!-- Compile all test classes. -->
- <javac srcdir="${build.testsrc}"
- destdir="${build.testclasses}"
- debug="${build.debug}"
- optimize="${build.optimize}"
- deprecation="${build.deprecation}"
- target="1.2">
- <classpath refid="test.class.path" />
- <include name="**/*.java"/>
- </javac>
-
- <copy todir="${build.testclasses}">
- <fileset dir="${test.dir}">
- <exclude name="**/*.java"/>
- <exclude name="**/package.html"/>
- </fileset>
- </copy>
+ <!-- Compile all classes excluding the tests. -->
+ <javac srcdir="${java.dir}"
+ destdir="${build.classes}"
+ debug="${build.debug}"
+ optimize="${build.optimize}"
+ deprecation="${build.deprecation}"
+ target="1.2">
+ <src path="${java.dir}" />
+ <!--<src path="${build.dir}/src" />-->
+ <classpath refid="project.class.path" />
+ <include name="**/*.java"/>
+ </javac>
+
+ <!-- copy resources to same location as .class files -->
+ <copy todir="${build.classes}">
+ <fileset dir="${java.dir}">
+ <exclude name="**/*.java"/>
+ <exclude name="**/package.html"/>
+ </fileset>
+ </copy>
</target>
<!-- Copies and filters the license. Used by jar and dist -->
<target name="prepare-conf">
- <mkdir dir="${build.conf}"/>
- <copy todir="${build.conf}" flatten="true">
- <fileset dir="../" includes="LICENSE.txt"/>
- <filterset>
- <filter token="year" value="${year}"/>
- </filterset>
- </copy>
+ <mkdir dir="${build.conf}"/>
+ <copy todir="${build.conf}" flatten="true">
+ <fileset dir="../" includes="LICENSE.txt"/>
+ <filterset>
+ <filter token="year" value="${year}"/>
+ </filterset>
+ </copy>
</target>
<!-- Creates all the .jar file -->
<target name="jar" depends="compile, prepare-conf" description="Generates
the jar files">
- <mkdir dir="${build.lib}"/>
+ <mkdir dir="${build.lib}"/>
- <jar jarfile="${build.lib}/${jar.name}"
- basedir="${build.classes}"
- compress="${build.compress}"
- manifest="${src.dir}/etc/project.mf">
- <exclude name="**/test/**"/>
- <exclude name="**/playground/**"/>
- <exclude name="**/activation/**"/>
- <zipfileset dir="${build.conf}" prefix="META-INF/">
- <include name="LICENSE.txt"/>
- </zipfileset>
- </jar>
-
- <jar jarfile="${build.lib}/${demo.jar}"
- basedir="${build.classes}"
- compress="${build.compress}"
- manifest="${src.dir}/etc/demo.mf">
- <exclude name="**/merlin/**"/>
- <zipfileset dir="${build.conf}" prefix="META-INF/">
- <include name="LICENSE.txt"/>
- </zipfileset>
- </jar>
-
- <jar jarfile="${build.lib}/${activation.jar}"
- basedir="${build.classes}"
- compress="${build.compress}"
- manifest="${src.dir}/etc/activation.mf">
- <include name="**/activation/**"/>
- <zipfileset dir="${build.conf}" prefix="META-INF/">
- <include name="LICENSE.txt"/>
- </zipfileset>
- </jar>
+ <jar jarfile="${build.lib}/${jar.name}"
+ basedir="${build.classes}"
+ compress="${build.compress}"
+ manifest="${src.dir}/etc/project.mf">
+ <exclude name="**/test/**"/>
+ <exclude name="**/playground/**"/>
+ <zipfileset dir="${build.conf}" prefix="META-INF/">
+ <include name="LICENSE.txt"/>
+ </zipfileset>
+ </jar>
+
+ <jar jarfile="${build.lib}/${demo.jar}"
+ basedir="${build.classes}"
+ compress="${build.compress}"
+ manifest="${src.dir}/etc/demo.mf">
+ <exclude name="**/merlin/**"/>
+ <zipfileset dir="${build.conf}" prefix="META-INF/">
+ <include name="LICENSE.txt"/>
+ </zipfileset>
+ </jar>
</target>
<!-- Creates all the .sar file -->
<target name="sar" depends="deploy" description="Generates the sar files">
- <mkdir dir="${build.lib}"/>
+ <mkdir dir="${build.lib}"/>
- <jar jarfile="${build.lib}/${sar.name}"
- compress="${build.compress}"
- manifest="${src.dir}/etc/project.mf">
- <zipfileset dir="${build.conf}" prefix="META-INF/">
- <include name="LICENSE.txt"/>
- </zipfileset>
- <zipfileset dir="${src.dir}/etc/conf" prefix="SAR-INF/">
- <include name="assembly.xml"/>
- <include name="config.xml"/>
- <include name="environment.xml"/>
- </zipfileset>
- <zipfileset dir="${extension.dir}" prefix="SAR-INF/lib">
- <include name="*.jar"/>
- </zipfileset>
- </jar>
+ <jar jarfile="${build.lib}/${sar.name}"
+ compress="${build.compress}"
+ manifest="${src.dir}/etc/project.mf">
+ <zipfileset dir="${build.conf}" prefix="META-INF/">
+ <include name="LICENSE.txt"/>
+ </zipfileset>
+ <zipfileset dir="${src.dir}/etc/conf" prefix="SAR-INF/">
+ <include name="assembly.xml"/>
+ <include name="config.xml"/>
+ <include name="environment.xml"/>
+ </zipfileset>
+ <zipfileset dir="${extension.dir}" prefix="SAR-INF/lib">
+ <include name="*.jar"/>
+ </zipfileset>
+ </jar>
</target>
<!-- Creates all the Javadocs -->
<target name="javadocs" depends="compile"
description="Generates the javadocs" unless="skip.javadocs">
- <mkdir dir="${build.javadocs}"/>
- <javadoc packagenames="org.apache.excalibur.merlin.*"
- sourcepath="${java.dir}"
- destdir="${build.javadocs}">
- <classpath refid="project.class.path" />
- <doclet name="com.sun.tools.doclets.standard.Standard">
- <param name="-author"/>
- <param name="-version"/>
- <param name="-doctitle" value="${Name}"/>
- <param name="-windowtitle" value="${Name} API"/>
- <param name="-link"
value="http://java.sun.com/j2se/1.4/docs/api/"/>
- <param name="-link"
value="http://java.sun.com/j2ee/sdk_1.3/techdocs/api/"/>
- <param name="-link"
value="http://jakarta.apache.org/avalon/api/"/>
- <param name="-bottom"
- value=""Copyright © ${year} Apache Jakarta
Project. All Rights Reserved.""/>
- </doclet>
- </javadoc>
- </target>
-
- <target name="test" depends="compile-test" description="Perform the unit
tests" unless="skip.tests">
-
- <echo message="Performing Unit Tests" />
-
- <mkdir dir="${build.tests}"/>
-
- <junit fork="true"
- haltonfailure="${junit.failonerror}"
- printsummary="yes"
- dir="${build.tests}">
- <classpath refid="test.class.path"/>
-
- <formatter type="xml"/> <!-- xml reports for junitreport -->
- <formatter type="plain" usefile="false"/> <!-- text reports for
humans -->
-
- <batchtest todir="${build.tests}">
- <fileset dir="${build.testclasses}">
- <include name="**/test/*TestCase.class"/>
- <exclude name="**/Abstract*"/>
- </fileset>
- </batchtest>
- </junit>
-
- </target>
-
- <target name="test-reports" depends="test" description="Generate Reports
for the unit tests">
-
- <ant antfile="${depchecker.prefix}/depchecker.xml"
target="checkBSF"/>
-
- <mkdir dir="${build.reports}/junit"/>
-
- <junitreport todir="${build.reports}/junit">
- <fileset dir="${build.tests}">
- <include name="TEST-*.xml"/>
- </fileset>
- <report format="frames" todir="${build.reports}/junit"/>
- </junitreport>
-
- <!-- Clean up the xml reports used by the junitreport task -->
- <!--
- <delete>
- <fileset dir="${build.tests}" includes="TEST-*.xml"/>
- <fileset dir="${build.tests}" includes="TESTS-*.xml"/>
- </delete>
- -->
-
+ <mkdir dir="${build.javadocs}"/>
+ <javadoc packagenames="org.apache.excalibur.merlin.*"
+ sourcepath="${java.dir}"
+ destdir="${build.javadocs}">
+ <classpath refid="project.class.path" />
+ <doclet name="com.sun.tools.doclets.standard.Standard">
+ <param name="-author"/>
+ <param name="-version"/>
+ <param name="-doctitle" value="${Name}"/>
+ <param name="-windowtitle" value="${Name} API"/>
+ <param name="-link" value="http://java.sun.com/j2se/1.4/docs/api/"/>
+ <param name="-link"
value="http://java.sun.com/j2ee/sdk_1.3/techdocs/api/"/>
+ <param name="-link" value="http://jakarta.apache.org/avalon/api/"/>
+ <param name="-bottom"
+ value=""Copyright © ${year} Apache Jakarta Project. All
Rights Reserved.""/>
+ </doclet>
+ </javadoc>
</target>
<target name="checkstyle" if="do.checkstyle" description="Checkstyle">
- <!-- this invocation of checkstyle requires that checkstyle be
downloaded and setup -->
- <!-- thats why you are required to define do.checkstyle property to
generate the report -->
- <taskdef name="checkstyle"
- classname="com.puppycrawl.tools.checkstyle.CheckStyleTask">
- <classpath refid="project.class.path"/>
- </taskdef>
- <checkstyle
- lcurlyType="nl"
- lcurlyMethod="nl"
- lcurlyOther="nl"
- rcurly="ignore"
- allowProtected="false"
- allowPackage="false"
- allowNoAuthor="false"
- maxLineLen="250"
- maxMethodLen="180"
- maxConstructorLen="100"
- memberPattern="^m_[a-z][a-zA-Z0-9]*$"
- staticPattern="^c_[a-z][a-zA-Z0-9]*$"
- constPattern="(^c_[a-z][a-zA-Z0-9]*$)|([A-Z_]*$)"
- ignoreImportLen="true"
- allowTabs="false"
- javadocScope="protected"
- ignoreWhitespace="true"
- cacheFile="checkstyle.cache"
- failOnViolation="false"
- ignoreCastWhitespace="true">
- <fileset dir="${java.dir}">
- <include name="**/*.java"/>
- </fileset>
- <formatter type="plain"/>
- <formatter type="xml"
toFile="${build.dir}/checkstyle-results.xml"/>
- </checkstyle>
+ <!-- this invocation of checkstyle requires that checkstyle be
downloaded and setup -->
+ <!-- thats why you are required to define do.checkstyle property to
generate the report -->
+
+ <taskdef name="checkstyle"
+ classname="com.puppycrawl.tools.checkstyle.CheckStyleTask">
+ <classpath refid="project.class.path"/>
+ </taskdef>
+ <checkstyle
+ lcurlyType="nl"
+ lcurlyMethod="nl"
+ lcurlyOther="nl"
+ rcurly="ignore"
+ allowProtected="false"
+ allowPackage="false"
+ allowNoAuthor="false"
+ maxLineLen="250"
+ maxMethodLen="180"
+ maxConstructorLen="100"
+ memberPattern="^m_[a-z][a-zA-Z0-9]*$"
+ staticPattern="^c_[a-z][a-zA-Z0-9]*$"
+ constPattern="(^c_[a-z][a-zA-Z0-9]*$)|([A-Z_]*$)"
+ ignoreImportLen="true"
+ allowTabs="false"
+ javadocScope="protected"
+ ignoreWhitespace="true"
+ cacheFile="checkstyle.cache"
+ failOnViolation="false"
+ ignoreCastWhitespace="true">
+ <fileset dir="${java.dir}">
+ <include name="**/*.java"/>
+ </fileset>
+ <formatter type="plain"/>
+ <formatter type="xml" toFile="${build.dir}/checkstyle-results.xml"/>
+ </checkstyle>
</target>
<target name="checkstyle-report"
- depends="checkstyle"
- if="do.checkstyle"
- description="Generate Checkstyle Report">
-
- <mkdir dir="${build.reports}/checkstyle"/>
- <property name="checkstyle.pathhack" location="."/>
- <style style="${tools.dir}/etc/checkstyle-frames.xsl"
in="${build.dir}/checkstyle-results.xml"
- out="${build.reports}/checkstyle/delete-me.html">
- <param name="pathhack" expression="${checkstyle.pathhack}"/>
- </style>
+ depends="checkstyle"
+ if="do.checkstyle"
+ description="Generate Checkstyle Report">
+
+ <mkdir dir="${build.reports}/checkstyle"/>
+ <property name="checkstyle.pathhack" location="."/>
+ <style style="${tools.dir}/etc/checkstyle-frames.xsl"
in="${build.dir}/checkstyle-results.xml"
+ out="${build.reports}/checkstyle/delete-me.html">
+ <param name="pathhack" expression="${checkstyle.pathhack}"/>
+ </style>
</target>
<!-- Creates the distribution -->
<target name="dist"
- depends="dist-jar, test-reports, checkstyle-report, javadocs"
- description="Generates a distribution (jar + javadocs + unit tests +
checkstyle reports)">
+ depends="dist-jar, checkstyle-report, javadocs"
+ description="Generates a distribution (jar + javadocs + unit tests +
checkstyle reports)">
- <copy file="${build.conf}/LICENSE.txt" todir="${dist.dir}"/>
- <copy file="../KEYS" todir="${dist.dir}"/>
+ <copy file="${build.conf}/LICENSE.txt" todir="${dist.dir}"/>
+ <copy file="../KEYS" todir="${dist.dir}"/>
- <zip zipfile="${dist.dir}/src.zip" compress="false">
- <zipfileset dir="src/java"/>
- </zip>
+ <zip zipfile="${dist.dir}/src.zip" compress="false">
+ <zipfileset dir="src/java"/>
+ </zip>
- <mkdir dir="${dist.base}"/>
+ <mkdir dir="${dist.base}"/>
- <zip zipfile="${dist.base}/${dist.name}.zip" compress="true">
- <zipfileset dir="${dist.dir}" prefix="${dist.name}"/>
- </zip>
+ <zip zipfile="${dist.base}/${dist.name}.zip" compress="true">
+ <zipfileset dir="${dist.dir}" prefix="${dist.name}"/>
+ </zip>
- <delete dir="${dist.dir}" />
+ <delete dir="${dist.dir}" />
</target>
<!-- Creates a mini jar-only distribution -->
<target name="dist-jar" depends="jar">
- <mkdir dir="${dist.dir}"/>
- <copy todir="${dist.dir}">
- <fileset dir="${build.lib}">
- <include name="*.jar"/>
- </fileset>
- </copy>
+ <mkdir dir="${dist.dir}"/>
+ <copy todir="${dist.dir}">
+ <fileset dir="${build.lib}">
+ <include name="*.jar"/>
+ </fileset>
+ </copy>
</target>
<!-- Creates a minimal distribution -->
<target name="dist.lite"
- depends="dist-jar, test, javadocs"
- description="Generates a minimal distribution (jar + javadocs)">
+ depends="dist-jar, javadocs"
+ description="Generates a minimal distribution (jar + javadocs)">
- <copy file="../LICENSE.txt" todir="${dist.dir}"/>
- <copy file="../KEYS" todir="${dist.dir}"/>
+ <copy file="../LICENSE.txt" todir="${dist.dir}"/>
+ <copy file="../KEYS" todir="${dist.dir}"/>
</target>
<target name="docs" depends="javadocs, xdocs"
- description="generates all the Avalon documentation"/>
+ description="generates all the Avalon documentation"/>
<target name="xdocs" description="generates the xdocs-based documentation">
- <ant antfile="${basedir}/../cocoonbuild.xml"/>
+ <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>
+ 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 -->
@@ -458,38 +320,9 @@
</target>
<target name="real-clean" depends="clean"
- description="Cleans up the project, including distributions">
+ description="Cleans up the project, including distributions">
<delete dir="${dist.base}" />
</target>
-
- <!--
- Update the local copy of the corbaloc resolver.
- -->
-
- <target name="corbaloc.context">
- <available property="corbaloc.available"
- file="${apps.dir}/enterprise/corbaloc/build/corbaloc-1.0.jar"/>
- </target>
-
- <target name="corbaloc.update" depends="corbaloc.context"
if="corbaloc.available">
- <copy toDir="${lib.dir}"
file="${apps.dir}/enterprise/corbaloc/build/corbaloc-1.0.jar"/>
- </target>
-
- <!--
- Update the local copy of the ORB.
- -->
-
- <target name="orb.context">
- <available property="orb.available"
- file="${apps.dir}/enterprise/orb/dist/orb-2.0.jar"/>
- </target>
-
- <target name="orb.update" depends="orb.context" if="orb.available">
- <copy toDir="${lib.dir}"
file="${apps.dir}/enterprise/orb/build/orb-2.0.jar"/>
- <copy toDir="${lib.dir}"
file="${apps.dir}/enterprise/orb/lib/openorb_tools-1.3.0.jar"/>
- <copy toDir="${local-tools.dir}"
file="${apps.dir}/enterprise/orb/lib/openorb-1.3.0.jar"/>
- </target>
-
<!--
Misc. utilities.
1.15 +8 -8 jakarta-avalon-excalibur/assembly/default.properties
Index: default.properties
===================================================================
RCS file: /home/cvs/jakarta-avalon-excalibur/assembly/default.properties,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -r1.14 -r1.15
--- default.properties 11 Sep 2002 16:38:31 -0000 1.14
+++ default.properties 15 Sep 2002 00:19:34 -0000 1.15
@@ -129,15 +129,15 @@
# project specific properties
lib.dir = lib
-openorb.jar = ${lib.dir}/openorb-1.3.0.jar
-orb.jar = ${lib.dir}/orb-2.0.jar
-corbaloc.jar = ${lib.dir}/corbaloc-1.0.jar
+#openorb.jar = ${lib.dir}/openorb-1.3.0.jar
+#orb.jar = ${lib.dir}/orb-2.0.jar
+#corbaloc.jar = ${lib.dir}/corbaloc-1.0.jar
-local-tools.dir = tools
-idl-compiler.jar = ${local-tools.dir}/openorb_tools-1.3.0.jar
-idl.class = org.openorb.compiler.IdlCompiler
+#local-tools.dir = tools
+#idl-compiler.jar = ${local-tools.dir}/openorb_tools-1.3.0.jar
+#idl.class = org.openorb.compiler.IdlCompiler
-idl.dir = ${src.dir}/idl
+#idl.dir = ${src.dir}/idl
extension.dir = extensions
demo.name = demo
demo.jar = ${demo.name}.jar
@@ -148,5 +148,5 @@
# avalon apps reference
excalibur.dir = ./..
-apps.dir = ${excalibur.dir}/../jakarta-avalon-apps
+#apps.dir = ${excalibur.dir}/../jakarta-avalon-apps
1.34 +7 -7
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.33
retrieving revision 1.34
diff -u -r1.33 -r1.34
--- ContainerManager.java 11 Sep 2002 11:39:25 -0000 1.33
+++ ContainerManager.java 15 Sep 2002 00:19:36 -0000 1.34
@@ -644,7 +644,7 @@
// service descriptor
//
- addProfile( services[i].getService(), profile );
+ addProfile( services[i].getReference(), profile );
}
ExtensionDescriptor[] extensions = profile.getType().getExtensions();
@@ -746,7 +746,7 @@
public Profile getProfile( DependencyDescriptor dependency )
{
Selector selector = getSelector( dependency );
- return getProfile( dependency.getService(), selector );
+ return getProfile( dependency.getReference(), selector );
}
/**
@@ -1263,7 +1263,7 @@
{
final String message =
"No solution for the dependency: "
- + dependency.getService() + " in profile: " + profile
+ + dependency.getReference() + " in profile: " +
profile
+ ", for the role: " + dependency.getRole();
profile.setEnabled( false );
@@ -1281,7 +1281,7 @@
{
final String message =
"Empty selection for the dependency: "
- + dependency.getService() + " in profile: " + profile
+ + dependency.getReference() + " in profile: " +
profile
+ ", for the role: " + dependency.getRole();
profile.setEnabled( false );
@@ -1426,7 +1426,7 @@
{
boolean ok = false;
getLogger().debug( pad + "resolving dependency: " +
dependency.getRole() );
- Profile[] profiles = getProfiles( dependency.getService() );
+ Profile[] profiles = getProfiles( dependency.getReference() );
for( int i=0; i<profiles.length; i++ )
{
Profile profile = profiles[i];
@@ -1569,7 +1569,7 @@
// otherwise, look for a default service type selector - if none
// use the DefaultSelector
- return getSelector( dependency.getService(),
dependency.getAttribute("avalon:selector") );
+ return getSelector( dependency.getReference(),
dependency.getAttribute("avalon:selector") );
}
private void logDependency( Logger logger, String lead, Profile[] result
)
1.15 +8 -13
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.14
retrieving revision 1.15
diff -u -r1.14 -r1.15
--- TypeRegistry.java 13 Sep 2002 14:57:33 -0000 1.14
+++ TypeRegistry.java 15 Sep 2002 00:19:36 -0000 1.15
@@ -153,7 +153,8 @@
/**
* Return the set of interface classes for a given type that are declared
- * or default to the "native" service access protocol and "implements"
+ * or default to the "native" service access protocol and where the
+ * service access model is undefined (i.e. native implementation).
* access mode.
*
* @param type the component type
@@ -166,16 +167,10 @@
for( int i=0; i<services.length; i++ )
{
ServiceDescriptor service = services[i];
- if(
service.getAttribute("avalon:service.protocol","native").equals("native") )
+ if((
service.getAttribute("avalon:service.protocol","native").equals("native") )
+ && ( service.getAttribute("avalon:service.accessor", null ) ==
null ) )
{
- if(
service.getAttribute("avalon.service:mode","implements").equals("implements") )
- {
- vector.add( getServiceClass( services[i] ) );
- }
- else
- {
- // its a dynamic lookup access policy
- }
+ vector.add( getServiceClass( services[i] ) );
}
}
return (Class[]) vector.toArray( new Class[0] );
@@ -215,7 +210,7 @@
*/
protected Class getServiceClass( ServiceDescriptor service ) throws
TypeRuntimeException
{
- final String classname = service.getService().getClassname();
+ final String classname = service.getReference().getClassname();
try
{
return m_classloader.loadClass( classname );
@@ -302,7 +297,7 @@
ServiceDescriptor[] services = type.getServices();
for( int i=0; i<services.length; i++ )
{
- register( services[i].getService(), type );
+ register( services[i].getReference(), type );
}
if( type.getExtensions().length > 0 )
{
1.4 +2 -2
jakarta-avalon-excalibur/assembly/src/java/org/apache/excalibur/merlin/assembly/UnresolvedProviderException.java
Index: UnresolvedProviderException.java
===================================================================
RCS file:
/home/cvs/jakarta-avalon-excalibur/assembly/src/java/org/apache/excalibur/merlin/assembly/UnresolvedProviderException.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- UnresolvedProviderException.java 22 Aug 2002 13:43:01 -0000 1.3
+++ UnresolvedProviderException.java 15 Sep 2002 00:19:36 -0000 1.4
@@ -56,7 +56,7 @@
private static String getStandardMessage( DependencyDescriptor
dependency )
{
return "Unable to resolve a provider for the dependency '"
- + dependency.getService() + "' for the role: " +
dependency.getRole();
+ + dependency.getReference() + "' for the role: " +
dependency.getRole();
}
}
1.5 +3 -3
jakarta-avalon-excalibur/assembly/src/java/org/apache/excalibur/merlin/model/verifier/AssemblyVerifier.java
Index: AssemblyVerifier.java
===================================================================
RCS file:
/home/cvs/jakarta-avalon-excalibur/assembly/src/java/org/apache/excalibur/merlin/model/verifier/AssemblyVerifier.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- AssemblyVerifier.java 29 Jul 2002 06:14:33 -0000 1.4
+++ AssemblyVerifier.java 15 Sep 2002 00:19:36 -0000 1.5
@@ -252,7 +252,7 @@
final String providerName = roles[ i
].getProvider().getProfile().getName();
final String roleName = roles[ i ].getRole();
final ReferenceDescriptor service =
- info.getDependency( roleName ).getService();
+ info.getDependency( roleName ).getReference();
//Get the other component that is providing service
final Profile provider = getProfile( providerName, others );
@@ -455,7 +455,7 @@
{
for( int i = 0; i < candidates.length; i++ )
{
- final ReferenceDescriptor other = candidates[ i ].getService();
+ final ReferenceDescriptor other = candidates[ i ].getReference();
if( service.matches( other ) )
{
return true;
1.7 +2 -2
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.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- MetaDataVerifier.java 23 Aug 2002 06:25:13 -0000 1.6
+++ MetaDataVerifier.java 15 Sep 2002 00:19:36 -0000 1.7
@@ -209,7 +209,7 @@
final Class[] classes = new Class[ services.length ];
for( int i = 0; i < services.length; i++ )
{
- final ReferenceDescriptor service = services[ i ].getService();
+ final ReferenceDescriptor service = services[ i ].getReference();
final String classname = service.getClassname();
try
{
1.3 +3 -2
jakarta-avalon-excalibur/assembly/src/java/org/apache/excalibur/merlin/resource/DefaultComponentManager.java
Index: DefaultComponentManager.java
===================================================================
RCS file:
/home/cvs/jakarta-avalon-excalibur/assembly/src/java/org/apache/excalibur/merlin/resource/DefaultComponentManager.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- DefaultComponentManager.java 16 Aug 2002 04:55:51 -0000 1.2
+++ DefaultComponentManager.java 15 Sep 2002 00:19:37 -0000 1.3
@@ -13,6 +13,7 @@
import org.apache.avalon.framework.component.Component;
import org.apache.avalon.framework.component.ComponentException;
import org.apache.avalon.framework.component.ComponentManager;
+import org.apache.excalibur.merlin.model.Profile;
/**
* Internal helper class the implements the <code>ComponentLocator</code>
interface and
@@ -23,9 +24,9 @@
extends DefaultManager
implements ComponentManager
{
- public DefaultComponentManager( Map providers )
+ public DefaultComponentManager( Profile profile ) throws Exception
{
- super( providers );
+ super( profile );
}
public boolean hasComponent( String role )
1.5 +134 -8
jakarta-avalon-excalibur/assembly/src/java/org/apache/excalibur/merlin/resource/DefaultManager.java
Index: DefaultManager.java
===================================================================
RCS file:
/home/cvs/jakarta-avalon-excalibur/assembly/src/java/org/apache/excalibur/merlin/resource/DefaultManager.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- DefaultManager.java 9 Sep 2002 04:33:53 -0000 1.4
+++ DefaultManager.java 15 Sep 2002 00:19:37 -0000 1.5
@@ -10,9 +10,15 @@
package org.apache.excalibur.merlin.resource;
import java.util.Map;
+import java.util.HashMap;
import java.util.Hashtable;
+import java.lang.reflect.Method;
import org.apache.excalibur.merlin.model.Resource;
-
+import org.apache.excalibur.merlin.model.Profile;
+import org.apache.excalibur.meta.info.ServiceDescriptor;
+import org.apache.excalibur.meta.info.DependencyDescriptor;
+import org.apache.excalibur.merlin.model.Association;
+import org.apache.excalibur.meta.info.Type;
/**
* Internal helper class the handles the functional requirements of
@@ -35,10 +41,11 @@
/**
* Creation of a new manager.
* @param providers the resource map
+ * @exception if an error occurs while mapping the service providers to
roles
*/
- public DefaultManager( Map providers )
+ public DefaultManager( Profile profile ) throws Exception
{
- m_providers = providers;
+ m_providers = getServices( profile );
}
/**
@@ -57,8 +64,8 @@
*/
public Object get( String role ) throws ResourceException
{
- Resource resource = (Resource) m_providers.get( role );
- if( resource == null )
+ ServiceProviderHolder holder = (ServiceProviderHolder)
m_providers.get( role );
+ if( holder == null )
{
throw new ResourceException(
"Could not locate a provider for the role: " + role );
@@ -66,14 +73,14 @@
try
{
- Object object = resource.access();
- m_mapping.put( object, resource );
+ Object object = holder.getObject();
+ m_mapping.put( object, holder.getResource() );
return object;
}
catch( Throwable e )
{
final String error = "Unexpected exception while resolving the
service from "
- + resource.getPath() + " for the role: " + role;
+ + holder.getResource().getPath() + " for the role: " + role;
throw new ResourceException( error, e );
}
}
@@ -98,4 +105,123 @@
}
}
+ /**
+ * Prepare a map of the dependent services keyed by role name.
+ * @param profile the profile referencing a type declaring dependecies
+ * @return a map of the services
+ * @exception Exception if unable to locate a required service provider
+ */
+ private Map getServices( Profile profile ) throws Exception
+ {
+ if( profile == null )
+ {
+ throw new NullPointerException("profile");
+ }
+ final Type type = profile.getType();
+ if( type == null )
+ {
+ throw new NullPointerException("type");
+ }
+
+ final DependencyDescriptor[] dependencies = type.getDependencies();
+ final HashMap services = new HashMap();
+ for( int i = 0; i < dependencies.length; i++ )
+ {
+ DependencyDescriptor dependency = dependencies[i];
+ final String role = dependency.getRole();
+
+ final Association association = profile.getAssociation( role );
+ if( association == null )
+ {
+ final String error = "Missing association for the role: " +
role
+ + " in the profile: " + profile.getName();
+ throw new ResourceException( error );
+ }
+ Resource provider = association.getProvider();
+ ServiceDescriptor service =
+ provider.getProfile().getType().getService(
dependency.getReference() );
+ String accessor = getAccessorOperation( service );
+
+ services.put( role, new ServiceProviderHolder( provider,
accessor, role ) );
+ }
+ return services;
+ }
+
+ private String getAccessorOperation( ServiceDescriptor service )
+ {
+ if( service == null )
+ {
+ throw new NullPointerException("service");
+ }
+ return service.getAttribute( "avalon:service.accessor", null );
+ }
+
+ private class ServiceProviderHolder
+ {
+ private Resource m_resource;
+ private String m_role;
+ private String m_accessor;
+
+ ServiceProviderHolder( Resource resource, String accessor, String
role )
+ {
+ if( resource == null )
+ {
+ throw new NullPointerException( "resource" );
+ }
+ if( role == null )
+ {
+ throw new NullPointerException( "role" );
+ }
+
+ m_role = role;
+ m_resource = resource;
+ m_accessor = accessor;
+ }
+
+ Resource getResource()
+ {
+ return m_resource;
+ }
+
+ String getRole()
+ {
+ return m_role;
+ }
+
+ String getAccessor()
+ {
+ return m_accessor;
+ }
+
+ /**
+ * Invokes a accessor method on an object established by a resource
using the
+ * accessor method declared under the service attribute
"avalon:service.accessor".
+ */
+ Object getObject()
+ throws Exception
+ {
+ Object object = m_resource.access();
+ if( m_accessor == null )
+ {
+ return object;
+ }
+
+ //
+ // this object does not directly implement the service, instead,
we access the
+ // the service via an accessor operation that takes no arguments
and returns
+ // the service object instance
+ //
+
+ try
+ {
+ Method method = object.getClass().getMethod( m_accessor, new
Class[0] );
+ return method.invoke( object, new Object[0] );
+ }
+ catch( Throwable e )
+ {
+ throw new ResourceException( "Invocation exception, method:
" + m_accessor
+ + ", class: " + object.getClass().getName(), e );
+ }
+ }
+ }
}
1.3 +4 -2
jakarta-avalon-excalibur/assembly/src/java/org/apache/excalibur/merlin/resource/DefaultServiceManager.java
Index: DefaultServiceManager.java
===================================================================
RCS file:
/home/cvs/jakarta-avalon-excalibur/assembly/src/java/org/apache/excalibur/merlin/resource/DefaultServiceManager.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- DefaultServiceManager.java 20 Aug 2002 23:23:08 -0000 1.2
+++ DefaultServiceManager.java 15 Sep 2002 00:19:37 -0000 1.3
@@ -12,6 +12,7 @@
import java.util.Map;
import org.apache.avalon.framework.service.ServiceException;
import org.apache.avalon.framework.service.ServiceManager;
+import org.apache.excalibur.merlin.model.Profile;
/**
* Internal helper class the implements the <code>ServiceManager</code>
interface and
@@ -24,10 +25,11 @@
{
/**
* Construct a new ServiceManager.
+ * @param profile the component profile
*/
- public DefaultServiceManager( Map providers )
+ public DefaultServiceManager( Profile profile ) throws Exception
{
- super( providers );
+ super( profile );
}
/**
1.9 +2 -43
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.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- DeploymentHelper.java 12 Sep 2002 11:05:52 -0000 1.8
+++ DeploymentHelper.java 15 Sep 2002 00:19:37 -0000 1.9
@@ -550,8 +550,7 @@
{
throw new NullPointerException("profile");
}
- final Map services = getServices( profile );
- final DefaultComponentManager componentManager = new
DefaultComponentManager( services );
+ final DefaultComponentManager componentManager = new
DefaultComponentManager( profile );
return componentManager;
}
@@ -569,8 +568,7 @@
{
throw new NullPointerException("profile");
}
- final Map services = getServices( profile );
- final DefaultServiceManager serviceManager = new
DefaultServiceManager( services );
+ final DefaultServiceManager serviceManager = new
DefaultServiceManager( profile );
return serviceManager;
}
@@ -614,43 +612,4 @@
return parameters;
}
- /**
- * Prepare a map of the dependent services keyed by role name.
- * @param profile the profile referencing a type declaring dependecies
- * @return a map of the services
- * @exception Exception if unable to locate a required service provider
- */
- private Map getServices( Profile profile ) throws Exception
- {
- if( profile == null )
- {
- throw new NullPointerException("profile");
- }
- getLogger().debug("preparing services for profile: " + profile );
- final Type type = profile.getType();
- if( type == null )
- {
- throw new NullPointerException("type");
- }
-
- final DependencyDescriptor[] dependencies = type.getDependencies();
- final HashMap services = new HashMap();
- for( int i = 0; i < dependencies.length; i++ )
- {
- DependencyDescriptor dependency = dependencies[i];
- final String role = dependency.getRole();
- final Association association = profile.getAssociation( role );
- if( association == null )
- {
- final String error = "Missing association for the role: " +
role
- + " in the profile: " + profile.getName();
- throw new ResourceException( error );
- }
- else
- {
- services.put( role, association.getProvider() );
- }
- }
- return services;
- }
}
1.3 +10 -2
jakarta-avalon-excalibur/assembly/src/java/org/apache/excalibur/merlin/service/DefaultRegistry.java
Index: DefaultRegistry.java
===================================================================
RCS file:
/home/cvs/jakarta-avalon-excalibur/assembly/src/java/org/apache/excalibur/merlin/service/DefaultRegistry.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- DefaultRegistry.java 11 Sep 2002 06:57:24 -0000 1.2
+++ DefaultRegistry.java 15 Sep 2002 00:19:37 -0000 1.3
@@ -71,7 +71,15 @@
{
throw new NullPointerException( "domain" );
}
- URL.setURLStreamHandlerFactory( new ServiceURLFactory( domain, this
) );
+ try
+ {
+ URL.setURLStreamHandlerFactory( new ServiceURLFactory( domain,
this ) );
+ }
+ catch( Error e )
+ {
+ // handler is already registered
+ }
+
m_base = new URL("service", domain, -1, "/");
}
1.3 +2 -2
jakarta-avalon-excalibur/assembly/src/java/org/apache/excalibur/merlin/service/ServiceURLConnection.java
Index: ServiceURLConnection.java
===================================================================
RCS file:
/home/cvs/jakarta-avalon-excalibur/assembly/src/java/org/apache/excalibur/merlin/service/ServiceURLConnection.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- ServiceURLConnection.java 9 Sep 2002 13:34:50 -0000 1.2
+++ ServiceURLConnection.java 15 Sep 2002 00:19:37 -0000 1.3
@@ -41,7 +41,7 @@
/**
* Creation of a new <code>ServiceURLConnection</code> handler.
- * @param url the corbaloc URL
+ * @param url the base URL
*/
public ServiceURLConnection( URL url, Registry registry )
{
@@ -64,7 +64,7 @@
}
//
- // make sure that we are only dealing with the strict corbaloc URL
+ // make sure that we are only dealing with the strict URL
// (i.e. no query or ref elements in the URL)
//
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>