OW2 Consortium
Search OW2 Mail Archive: 

Advanced Search - Powered by Google


Mail Archive Home | gotm-commits List | December 2004 Index

<--  Date Index  --> <--  Thread Index  -->

CVS update of fractal-xdoclet (41 files)


    Date: Thursday, December 16, 2004 @ 17:57:19
  Author: rouvoy
    Path: /cvsroot/gotm/fractal-xdoclet

   Added: .classpath .cvsignore .project
          .settings/org.eclipse.core.resources.prefs build.xml
          example/.cvsignore example/build.properties example/build.xml
          example/lib/asm/asm.jar example/lib/fractal-adl/dtdparser.jar
          example/lib/fractal-adl/fractal-adl.jar
          example/lib/fractal-adl/ow_deployment_scheduling.jar
          example/lib/fractal/fractal.jar example/lib/fractal/naming.jar
          example/lib/julia/julia-asm.jar
          example/lib/julia/julia-mixins.jar
          example/lib/julia/julia-runtime.jar
          example/lib/monolog/LICENSE.log4j
          example/lib/monolog/LICENSE.monolog
          example/lib/monolog/log4j-1.2.8.jar
          example/lib/monolog/ow_monolog.jar
          example/lib/utils/ow_util_trace.jar
          example/src/fractal/org/objectweb/fractal/example/HelloWorld.fractal
          
          
example/src/fractal/org/objectweb/fractal/example/SharedHelloWorld.fractal
           example/src/java/org/objectweb/fractal/example/api/Main.java
          example/src/java/org/objectweb/fractal/example/api/Service.java
          
example/src/java/org/objectweb/fractal/example/api/ServiceAttributes.java
          
          example/src/java/org/objectweb/fractal/example/lib/ClientImpl.java
          
          example/src/java/org/objectweb/fractal/example/lib/ServerImpl.java
           example/src/julia/julia.cfg
          example/src/monolog/monolog.properties
          lib/xdoclet/commons-collections-2.0.jar
          lib/xdoclet/commons-logging.jar lib/xdoclet/log4j.jar
          lib/xdoclet/xdoclet-1.3-SNAPSHOT.jar lib/xdoclet/xdoclet-xml.xdt
          lib/xdoclet/xjavadoc-1.1.jar
          src/java/org/objectweb/fractal/xdoclet/FcAdlSubTask.java
          src/java/org/objectweb/fractal/xdoclet/FractalTagsHandler.java
          src/xdt/FractalADLDescriptor.xdt src/xml/module.xml

* Initial Import of the fractal-xdoclet module.
* This module defines xdoclet tags for generating Fractal Architecture 
Description Files for the primitive components.


----------------------------------------------------------------------------+
 .classpath                                                                 | 
  16 
 .cvsignore                                                                 | 
   1 
 .project                                                                   | 
  17 
 .settings/org.eclipse.core.resources.prefs                                 | 
   9 
 build.xml                                                                  | 
 185 +++
 example/.cvsignore                                                         | 
   1 
 example/build.properties                                                   | 
  21 
 example/build.xml                                                          | 
 233 +++
 example/lib/asm/asm.jar                                                    | 
   <<Binary file>>
 example/lib/fractal-adl/dtdparser.jar                                      | 
   <<Binary file>>
 example/lib/fractal-adl/fractal-adl.jar                                    | 
   <<Binary file>>
 example/lib/fractal-adl/ow_deployment_scheduling.jar                       | 
   <<Binary file>>
 example/lib/fractal/fractal.jar                                            | 
   <<Binary file>>
 example/lib/fractal/naming.jar                                             | 
   <<Binary file>>
 example/lib/julia/julia-asm.jar                                            | 
   <<Binary file>>
 example/lib/julia/julia-mixins.jar                                         | 
   <<Binary file>>
 example/lib/julia/julia-runtime.jar                                        | 
   <<Binary file>>
 example/lib/monolog/LICENSE.log4j                                          | 
  48 
 example/lib/monolog/LICENSE.monolog                                        | 
 504 ++++++++
 example/lib/monolog/log4j-1.2.8.jar                                        | 
   <<Binary file>>
 example/lib/monolog/ow_monolog.jar                                         | 
   <<Binary file>>
 example/lib/utils/ow_util_trace.jar                                        | 
   <<Binary file>>
 example/src/fractal/org/objectweb/fractal/example/HelloWorld.fractal       | 
  11 
 example/src/fractal/org/objectweb/fractal/example/SharedHelloWorld.fractal | 
  11 
 example/src/java/org/objectweb/fractal/example/api/Main.java               | 
  36 
 example/src/java/org/objectweb/fractal/example/api/Service.java            | 
  38 
 example/src/java/org/objectweb/fractal/example/api/ServiceAttributes.java  | 
  55 
 example/src/java/org/objectweb/fractal/example/lib/ClientImpl.java         | 
  91 +
 example/src/java/org/objectweb/fractal/example/lib/ServerImpl.java         | 
  90 +
 example/src/julia/julia.cfg                                                | 
 613 ++++++++++
 example/src/monolog/monolog.properties                                     | 
  54 
 lib/xdoclet/commons-collections-2.0.jar                                    | 
   <<Binary file>>
 lib/xdoclet/commons-logging.jar                                            | 
   <<Binary file>>
 lib/xdoclet/log4j.jar                                                      | 
   <<Binary file>>
 lib/xdoclet/xdoclet-1.3-SNAPSHOT.jar                                       | 
   <<Binary file>>
 lib/xdoclet/xdoclet-xml.xdt                                                | 
  32 
 lib/xdoclet/xjavadoc-1.1.jar                                               | 
   <<Binary file>>
 src/java/org/objectweb/fractal/xdoclet/FcAdlSubTask.java                   | 
 125 ++
 src/java/org/objectweb/fractal/xdoclet/FractalTagsHandler.java             | 
 329 +++++
 src/xdt/FractalADLDescriptor.xdt                                           | 
  45 
 src/xml/module.xml                                                         | 
   7 
 41 files changed, 2572 insertions(+)


Index: fractal-xdoclet/.classpath
diff -u /dev/null fractal-xdoclet/.classpath:1.1
--- /dev/null   Thu Dec 16 17:57:19 2004
+++ fractal-xdoclet/.classpath  Thu Dec 16 17:57:18 2004
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+       <classpathentry kind="src" path="src/java"/>
+       <classpathentry kind="src" path="example/src/fractal"/>
+       <classpathentry kind="src" path="src/xml"/>
+       <classpathentry kind="src" path="example/src/java"/>
+       <classpathentry kind="src" path="src/xdt"/>
+       <classpathentry kind="con" 
path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+       <classpathentry sourcepath="/xdoclet-all/xdoclet/core/src" kind="lib" 
path="lib/xdoclet/xdoclet-1.3-SNAPSHOT.jar"/>
+       <classpathentry sourcepath="/xdoclet-all/xjavadoc/src" kind="lib" 
path="lib/xdoclet/xjavadoc-1.1.jar"/>
+       <classpathentry kind="lib" path="lib/xdoclet/commons-logging.jar"/>
+       <classpathentry kind="src" path="/fractal-template"/>
+       <classpathentry kind="lib" path="example/lib/fractal/fractal.jar"/>
+       <classpathentry kind="lib" 
path="example/lib/julia/julia-runtime.jar"/>
+       <classpathentry kind="output" path="build/class"/>
+</classpath>
Index: fractal-xdoclet/.cvsignore
diff -u /dev/null fractal-xdoclet/.cvsignore:1.1
--- /dev/null   Thu Dec 16 17:57:19 2004
+++ fractal-xdoclet/.cvsignore  Thu Dec 16 17:57:18 2004
@@ -0,0 +1 @@
+build
Index: fractal-xdoclet/.project
diff -u /dev/null fractal-xdoclet/.project:1.1
--- /dev/null   Thu Dec 16 17:57:19 2004
+++ fractal-xdoclet/.project    Thu Dec 16 17:57:18 2004
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+       <name>fractal-xdoclet</name>
+       <comment></comment>
+       <projects>
+       </projects>
+       <buildSpec>
+               <buildCommand>
+                       <name>org.eclipse.jdt.core.javabuilder</name>
+                       <arguments>
+                       </arguments>
+               </buildCommand>
+       </buildSpec>
+       <natures>
+               <nature>org.eclipse.jdt.core.javanature</nature>
+       </natures>
+</projectDescription>
Index: fractal-xdoclet/.settings/org.eclipse.core.resources.prefs
diff -u /dev/null 
fractal-xdoclet/.settings/org.eclipse.core.resources.prefs:1.1
--- /dev/null   Thu Dec 16 17:57:19 2004
+++ fractal-xdoclet/.settings/org.eclipse.core.resources.prefs  Thu Dec 16 
17:57:19 2004
@@ -0,0 +1,9 @@
+#Thu Dec 16 16:52:31 CET 2004
+encoding//example/build/class/org/objectweb/fractal/example/lib/FcServerImpl.fractal=ISO-8859-1
+encoding//example/build/class/org/objectweb/fractal/example/api/FcMain.fractal=ISO-8859-1
+encoding//example/src/fractal/org/objectweb/fractal/example/SharedHelloWorld.fractal=ISO-8859-1
+encoding//example/src/fractal/org/objectweb/fractal/example/HelloWorld.fractal=ISO-8859-1
+eclipse.preferences.version=1
+encoding//src/xdt/FractalADLDescriptor.xdt=ISO-8859-1
+encoding//example/build/class/org/objectweb/fractal/example/api/FcService.fractal=ISO-8859-1
+encoding//example/build/class/org/objectweb/fractal/example/lib/FcClientImpl.fractal=UTF-8
Index: fractal-xdoclet/build.xml
diff -u /dev/null fractal-xdoclet/build.xml:1.1
--- /dev/null   Thu Dec 16 17:57:19 2004
+++ fractal-xdoclet/build.xml   Thu Dec 16 17:57:18 2004
@@ -0,0 +1,185 @@
+<!-- ==================================================================== -->
+
+<!-- ObjectWeb GoTM is an open Tx Monitor Project                         -->
+<!-- Contact: http://www.objectweb.org                                    -->
+
+<!-- This library is free software; you can redistribute it and/or        -->
+<!-- modify it under the terms of the GNU Lesser General Public           -->
+<!-- License as published by the Free Software Foundation; either         -->
+<!-- version 2.1 of the License, or any later version.                    -->
+
+<!-- This library is distributed in the hope that it will be useful,      -->
+<!-- but WITHOUT ANY WARRANTY; without even the implied warranty of       -->
+<!-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU     -->
+<!-- Lesser General Public License for more details.                      -->
+
+<!-- You should have received a copy of the GNU Lesser General Public     -->
+<!-- License along with this library; if not, write to the Free Software  -->
+<!-- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 -->
+<!-- USA                                                                  -->
+
+<!-- Initial developer(s): Romain Rouvoy.                                 -->
+<!-- Contributor(s): ______________________________________.              -->
+
+<!-- $Id: build.xml,v 1.1 2004/12/16 16:57:18 rouvoy Exp $ -->
+<!-- ==================================================================== -->
+
+<project name="fractal-xdoclet" default="xdoclet-all">
+       <description>GoTM Project [gotm.objectweb.org] - Fractal 
Xdoclet</description>
+
+       <!-- ==================== -->
+       <!-- PROPERTY DEFINITIONS -->
+       <!-- ==================== -->
+
+       <property name="src.dir" value="src" />
+       <property name="doc.dir" value="doc" />
+       <property name="class.dir" value="class" />
+       <property name="lib.dir" value="lib" />
+       <property name="ant.dir" value="ant" />
+       <property name="meta.dir" value="META-INF" />
+
+       <property name="java.dir" value="${src.dir}/java" />
+       <property name="xml.dir" value="${src.dir}/xml" />
+       <property name="xdt.dir" value="${src.dir}/xdt" />
+
+       <property name="build.dir" value="${basedir}/build" />
+       <property name="dist.dir" value="${basedir}/dist" />
+
+       <property name="fractalxdoclet.jar" value="fractal-xdoclet.jar" />
+       <property name="fractalxdoclet.version" value="0.1" />
+       <property name="project.dist" value="FractalXdoclet" />
+
+       <!-- ================ -->
+       <!-- PATH DEFINITIONS -->
+       <!-- ================ -->
+
+       <path id="classpath">
+               <fileset dir="${build.dir}/${lib.dir}" includes="**/*.jar" />
+               <pathelement location="${build.dir}/${class.dir}" />
+       </path>
+
+       <!-- ================== -->
+       <!-- TARGET DEFINITIONS -->
+       <!-- ================== -->
+
+       <target name="xdoclet-all" description="xdoclet-clean + 
xdoclet-build">
+               <antcall target="xdoclet-clean" />
+               <antcall target="xdoclet-build" />
+       </target>
+
+       <target name="-xdoclet-prepare">
+    <mkdir dir="${build.dir}/${lib.dir}" />
+               <copy todir="${build.dir}/${lib.dir}">
+                       <mapper type="flatten" />
+                       <fileset dir="${basedir}/${lib.dir}" 
includes="**/*.jar" />
+               </copy>
+       </target>
+
+       <target name="xdoclet-compile" depends="-xdoclet-prepare" 
description="Compiles Fractal library.">
+               <mkdir dir="${build.dir}/${class.dir}" />
+               <javac srcdir="${basedir}/${java.dir}" 
destdir="${build.dir}/${class.dir}" debug="on">
+                       <classpath refid="classpath" />
+                       <include 
name="org/objectweb/fractal/xdoclet/**/*.java" />
+               </javac>
+       </target>
+
+       <target name="xdoclet-deploy" depends="xdoclet-compile">
+               <taskdef name="xdoclet" classname="xdoclet.DocletTask" 
classpathref="classpath" />
+               <property name="build.xdoc" 
value="${build.dir}/${class.dir}/${meta.dir}" />
+               <mkdir dir="${build.xdoc}" />
+               <xdoclet destdir="${build.xdoc}" verbose="true">
+                       <fileset dir="${java.dir}">
+                               <include name="**/*Handler.java" />
+                               <include name="**/*SubTask.java" />
+                       </fileset>
+                       <template 
templateFile="${basedir}/${lib.dir}/xdoclet/xdoclet-xml.xdt" 
destinationFile="xdoclet.xml" />
+               </xdoclet>
+               <copy todir="${build.xdoc}">
+                       <fileset dir="${xml.dir}" includes="**/*.xml" />
+               </copy>
+               <property name="build.res" 
value="${build.dir}/${class.dir}/org/objectweb/fractal/xdoclet/resources" />
+               <mkdir dir="${build.res}" />
+               <copy todir="${build.res}">
+                       <fileset dir="${xdt.dir}" includes="**/*.xdt" />
+               </copy>
+       </target>
+
+       <target name="xdoclet-build" depends="xdoclet-deploy" 
description="Builds Fractal framework.">
+               <jar destfile="${build.dir}/${lib.dir}/${fractalxdoclet.jar}">
+                       <fileset dir="${build.dir}/${class.dir}" 
includes="**/*" />
+               </jar>
+       </target>
+
+       <target name="xdoclet-jdoc" depends="-xdoclet-prepare" 
description="Generates the javadoc.">
+               <javadoc destdir="${build.dir}/${doc.dir}" author="true" 
version="true" use="true" private="true" windowtitle="Fractal Library." 
overview="${doc.dir}/overview.html" classpathref="classpath">
+                       <packageset dir="${basedir}/${java.dir}" 
defaultexcludes="yes">
+                               <include name="**/*" />
+                       </packageset>
+                       <doctitle>
+                               <![CDATA[<h1>XDoclet Library - v. 
${fractalxdoclet.version}</h1>]]>
+        <![CDATA[<h2>Library Specification</h2>]]>
+      </doctitle>
+       <tag name="todo" scope="all" description="To do: " />
+       <tag name="fractal.adl" scope="all" description="Fractal ADL 
Identifier: " />
+
+       <group title="Fractal Libraries">
+               <package name="org.objectweb.fractal.lib.*" />
+       </group>
+
+       <link href="http://java.sun.com/j2se/1.4.2/docs/api/"; />
+</javadoc>
+<replace file="${build.dir}/${doc.dir}/overview-summary.html" token="DO NOT 
REMOVE THIS LINE (will be automatically removed)." />
+<copy todir="${build.dir}/${doc.dir}">
+       <fileset dir="${basedir}/${doc.dir}" includes="uml/*.png" />
+</copy>
+</target>
+
+
+<target name="xdoclet-dist-src" description="Builds the source 
distribution.">
+<property name="dist-src" 
value="${project.dist}-${fractalxdoclet.version}-src" />
+<property name="dist-src.dir" value="${dist.dir}/${dist-src}" />
+<mkdir dir="${dist-src.dir}" />
+<copy todir="${dist-src.dir}" file="${basedir}/build.xml" />
+<mkdir dir="${dist-src.dir}/${src.dir}" />
+<copy todir="${dist-src.dir}/${src.dir}">
+       <fileset dir="${basedir}/${src.dir}" includes="**/*" />
+</copy>
+<mkdir dir="${dist-src.dir}/${doc.dir}" />
+<copy todir="${dist-src.dir}/${doc.dir}">
+       <fileset dir="${basedir}/${doc.dir}" includes="**/*" />
+</copy>
+<zip zipfile="${dist.dir}/${dist-src}.zip">
+       <fileset dir="${dist.dir}" includes="${dist-src}/**/*" />
+</zip>
+<tar destfile="${dist.dir}/${dist-src}.tar" longfile="gnu">
+       <tarfileset dir="${dist.dir}" includes="${dist-src}/**/*" />
+</tar>
+<gzip src="${dist.dir}/${dist-src}.tar" 
zipfile="${dist.dir}/${dist-src}.tar.gz" />
+<bzip2 src="${dist.dir}/${dist-src}.tar" 
zipfile="${dist.dir}/${dist-src}.tar.bz2" />
+</target>
+
+<target name="xdoclet-dist-bin" depends="xdoclet-build,xdoclet-jdoc" 
description="Builds the binary distribution.">
+<property name="dist-bin" 
value="${project.dist}-${fractalxdoclet.version}-bin" />
+<property name="dist-bin.dir" value="${dist.dir}/${dist-bin}" />
+<mkdir dir="${dist-bin.dir}" />
+<copy todir="${dist-bin.dir}">
+       <fileset dir="${build.dir}" includes="${doc.dir}/**/*" />
+       <fileset dir="${build.dir}" includes="${lib.dir}/**/*" />
+</copy>
+<zip zipfile="${dist.dir}/${dist-bin}.zip">
+       <fileset dir="${dist.dir}" includes="${dist-bin}/**/*" />
+</zip>
+<tar destfile="${dist.dir}/${dist-bin}.tar" longfile="gnu">
+       <tarfileset dir="${dist.dir}" includes="${dist-bin}/**/*" />
+</tar>
+<gzip src="${dist.dir}/${dist-bin}.tar" 
zipfile="${dist.dir}/${dist-bin}.tar.gz" />
+<bzip2 src="${dist.dir}/${dist-bin}.tar" 
zipfile="${dist.dir}/${dist-bin}.tar.bz2" />
+</target>
+
+<target name="xdoclet-dist" depends="xdoclet-dist-src,xdoclet-dist-bin" 
description="build all distributions" />
+
+<target name="xdoclet-clean" description="clean Fractal framework">
+<delete dir="${build.dir}" failonerror="no" />
+<delete dir="${dist.dir}" failonerror="no" />
+</target>
+</project>
\ No newline at end of file
Index: fractal-xdoclet/example/.cvsignore
diff -u /dev/null fractal-xdoclet/example/.cvsignore:1.1
--- /dev/null   Thu Dec 16 17:57:19 2004
+++ fractal-xdoclet/example/.cvsignore  Thu Dec 16 17:57:18 2004
@@ -0,0 +1 @@
+build
Index: fractal-xdoclet/example/build.properties
diff -u /dev/null fractal-xdoclet/example/build.properties:1.1
--- /dev/null   Thu Dec 16 17:57:19 2004
+++ fractal-xdoclet/example/build.properties    Thu Dec 16 17:57:18 2004
@@ -0,0 +1,21 @@
+# JVM arguments
+# add "-Djulia.loader.gen.log=err" to log the generated classes
+# add "-Djulia.loader.gen.dir=/tmp" to store the generated classes on disk
+
+run.jvm.parameters \
+  -Dfractal.provider=org.objectweb.fractal.julia.Julia \
+  -Djulia.loader=org.objectweb.fractal.julia.loader.DynamicLoader \
+  -Djulia.config=src/julia/julia.cfg
+
+# Java class to be launched
+
+run.classname org.objectweb.fractal.adl.Launcher
+
+# Application arguments
+# add "parser" to build the components automatically, by using a parser
+# add "templates" to build the components through templates
+# add "wrapper" to add an additional composite around each primitive
+
+run.parameters -fractal org.objectweb.fractal.example.HelloWorld r
+#run.parameters -fractal org.objectweb.fractal.example.ClientServerImpl r
+#run.parameters -fractal org.objectweb.fractal.example.SharedHelloWorld r
Index: fractal-xdoclet/example/build.xml
diff -u /dev/null fractal-xdoclet/example/build.xml:1.1
--- /dev/null   Thu Dec 16 17:57:19 2004
+++ fractal-xdoclet/example/build.xml   Thu Dec 16 17:57:18 2004
@@ -0,0 +1,233 @@
+<!-- ==================================================================== -->
+
+<!-- ObjectWeb GoTM is an open Tx Monitor Project                         -->
+<!-- Contact: http://www.objectweb.org                                    -->
+
+<!-- This library is free software; you can redistribute it and/or        -->
+<!-- modify it under the terms of the GNU Lesser General Public           -->
+<!-- License as published by the Free Software Foundation; either         -->
+<!-- version 2.1 of the License, or any later version.                    -->
+
+<!-- This library is distributed in the hope that it will be useful,      -->
+<!-- but WITHOUT ANY WARRANTY; without even the implied warranty of       -->
+<!-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU     -->
+<!-- Lesser General Public License for more details.                      -->
+
+<!-- You should have received a copy of the GNU Lesser General Public     -->
+<!-- License along with this library; if not, write to the Free Software  -->
+<!-- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 -->
+<!-- USA                                                                  -->
+
+<!-- Initial developer(s): Romain Rouvoy.                                 -->
+<!-- Contributor(s): ______________________________________.              -->
+
+<!-- $Id: build.xml,v 1.1 2004/12/16 16:57:18 rouvoy Exp $ -->
+<!-- ==================================================================== -->
+
+<project name="example-template" default="example-all">
+       <description>GoTM Project [gotm.objectweb.org] - Fractal XDoclet 
example</description>
+
+       <!-- ==================== -->
+       <!-- PROPERTY DEFINITIONS -->
+       <!-- ==================== -->
+
+       <property name="src.dir"     value="src"/>
+       <property name="doc.dir"     value="doc"/>
+       <property name="class.dir"   value="class"/>
+       <property name="lib.dir"     value="lib"/>
+       <property name="julia.dir"   value="julia"/>
+       <property name="fractal.dir" value="fractal"/>
+       <property name="ant.dir"     value="ant"/>
+
+       <property name="java.dir" value="${src.dir}/java"/>
+       <property name="log.dir"  value="${src.dir}/monolog"/>
+
+       <property name="build.dir" value="${basedir}/build"/>
+  <property name="dist.dir"  value="${basedir}/dist"/>
+
+       <property name="project.jar"       value="xdoclet-example.jar"/>
+       <property name="project.version"   value="0.1"/>
+       <property name="project.dist"      value="XDocletExample"/>
+
+  <property file="build.properties"/> 
+       <!-- ================ -->
+       <!-- PATH DEFINITIONS -->
+       <!-- ================ -->
+
+       <path id="classpath">
+               <fileset dir="${build.dir}/${lib.dir}" includes="**/*.jar"/>
+               <pathelement location="${build.dir}/${class.dir}"/>
+       </path>
+
+       <!-- ================== -->
+       <!-- TARGET DEFINITIONS -->
+       <!-- ================== -->
+
+       <target name="example-all" description="example-clean + 
example-build">
+               <antcall target="example-clean"/>
+               <antcall target="example-build"/>
+       </target>
+
+       <target name="-example-prepare">
+               <copy todir="${build.dir}/${lib.dir}">
+                       <mapper type="flatten"/>
+                       <fileset dir="${basedir}/${lib.dir}" 
includes="**/*.*"/>
+               </copy>
+               <mkdir dir="${build.dir}/${julia.dir}"/>
+               <copy todir="${build.dir}/${julia.dir}">
+                       <fileset dir="${basedir}/${src.dir}/${julia.dir}" 
includes="**/*"/>
+               </copy>
+               <copy todir="${build.dir}/${class.dir}">
+                       <fileset dir="${basedir}/${log.dir}" includes="**/*"/>
+               </copy>
+       </target>
+  
+       <target name="example-compile" depends="-example-prepare"
+   description="Compiles Fractal library.">
+               <mkdir dir="${build.dir}/${class.dir}"/>
+               <javac srcdir="${basedir}/${java.dir}" 
+          destdir="${build.dir}/${class.dir}" debug="on">
+                       <classpath refid="classpath"/>
+                       <include 
name="org/objectweb/fractal/example/**/*.java"/>
+               </javac>
+       </target>
+
+  <target name="-doclet-init">
+    <ant dir="${basedir}/.." target="xdoclet-build"/>
+    <copy todir="${build.dir}/${ant.dir}">
+      <fileset dir="${build.dir}/${lib.dir}"/>
+    </copy>
+    <delete dir="${build.dir}/${class.dir}" failonerror="false"/>
+    <delete dir="${build.dir}/${lib.dir}" failonerror="false"/>
+    <taskdef name="xdoclet" classname="xdoclet.DocletTask">
+      <classpath>
+        <fileset dir="${build.dir}/${ant.dir}" includes="*.jar"/>
+      </classpath>
+    </taskdef>
+  </target>
+
+  <target name="example-doclet" depends="-doclet-init"
+   description="Generates Fractal ADL file with xdoclet">
+    <mkdir dir="${build.dir}/${class.dir}"/> 
+    <xdoclet destdir="${build.dir}/${class.dir}" 
excludedtags="@version,@author,@todo">
+      <fileset dir="${basedir}/${java.dir}" 
includes="org/objectweb/fractal/example/**/*.java"/>
+      <fractal-adl dtd="standard.dtd"/>
+    </xdoclet>     
+  </target> 
+  
+       <target name="example-fractal" 
depends="example-doclet,example-compile">
+               <mkdir dir="${build.dir}/${fractal.dir}"/>
+               <copy todir="${build.dir}/${class.dir}" failonerror="false">
+                       <fileset dir="${basedir}/${src.dir}/${fractal.dir}">
+                               <include name="**/*.fractal"/>
+                       </fileset>
+               </copy>
+       </target>
+
+       <target name="example-build" depends="example-fractal" 
+   description="Builds Fractal framework.">
+               <jar destfile="${build.dir}/${lib.dir}/${project.jar}">
+                       <fileset dir="${build.dir}/${class.dir}" 
includes="**/*"/>
+               </jar>
+       </target>
+
+  <target name="example-execute" depends="example-build"
+   description="Run the Fractal example">
+    <java classname="${run.classname}"
+          classpathref="classpath"
+          fork="yes"
+          failonerror="yes">
+       <jvmarg line="${run.jvm.parameters}"/>
+       <arg line="${run.parameters}"/>
+    </java>
+  </target>
+
+  
+       <target name="example-jdoc" depends="-example-prepare"
+   description="Generates the javadoc.">
+               <javadoc destdir="${build.dir}/${doc.dir}" author="true" 
version="true"
+                 use="true" private="true" windowtitle="XDoclet Example 
Library."
+            overview="${doc.dir}/overview.html" classpathref="classpath">
+                       <packageset dir="${basedir}/${java.dir}" 
defaultexcludes="yes">
+                               <include name="**/*" />
+                       </packageset>
+                       <doctitle>
+                               <![CDATA[<h1>XDoclet Example- v. 
${project.version}</h1>]]>
+        <![CDATA[<h2>Library Specification</h2>]]>
+      </doctitle>
+           <tag name="todo"        scope="all" description="To do: "/>
+      <tag name="fractal.adl" scope="all" description="Fractal ADL 
Identifier: "/>
+
+      <group title="Example interfaces">
+        <package name="org.objectweb.fractal.example.api.*"/>
+      </group>
+      <group title="Example components">
+        <package name="org.objectweb.fractal.example.lib.*"/>
+      </group>
+
+      <link href="http://java.sun.com/j2se/1.4.2/docs/api/"/>
+      <link 
href="http://fractal.objectweb.org/current/doc/javadoc/fractal/"/>
+      <link href="http://monolog.objectweb.org/jdoc/ow_util_log/"/>  
+    </javadoc>
+    <replace file="${build.dir}/${doc.dir}/overview-summary.html"
+            token="DO NOT REMOVE THIS LINE (will be automatically 
removed)."/>
+    <copy todir="${build.dir}/${doc.dir}">
+      <fileset dir="${basedir}/${doc.dir}" includes="uml/*.png"/>
+    </copy>
+  </target>
+
+
+  <target name="example-dist-src" description="Builds the source 
distribution.">
+    <property name="dist-src" value="${project.dist}-${project.version}-src" 
/>
+    <property name="dist-src.dir" value="${dist.dir}/${dist-src}" />
+    <mkdir dir="${dist-src.dir}" />
+    <copy todir="${dist-src.dir}" file="${basedir}/build.xml" />
+    <mkdir dir="${dist-src.dir}/${src.dir}" />
+    <copy todir="${dist-src.dir}/${src.dir}">
+      <fileset dir="${basedir}/${src.dir}" includes="**/*" />
+    </copy>
+    <mkdir dir="${dist-src.dir}/${doc.dir}" />
+    <copy todir="${dist-src.dir}/${doc.dir}">
+      <fileset dir="${basedir}/${doc.dir}" includes="**/*" />
+    </copy>
+    <zip zipfile="${dist.dir}/${dist-src}.zip">
+      <fileset dir="${dist.dir}" includes="${dist-src}/**/*" />
+    </zip>
+    <tar destfile="${dist.dir}/${dist-src}.tar" longfile="gnu">
+      <tarfileset dir="${dist.dir}" includes="${dist-src}/**/*" />
+    </tar>
+    <gzip src="${dist.dir}/${dist-src}.tar" 
+      zipfile="${dist.dir}/${dist-src}.tar.gz" />
+    <bzip2 src="${dist.dir}/${dist-src}.tar" 
+       zipfile="${dist.dir}/${dist-src}.tar.bz2" />
+  </target>
+
+  <target name="example-dist-bin" depends="example-build,example-jdoc" 
+   description="Builds the binary distribution.">
+    <property name="dist-bin"     
value="${project.dist}-${project.version}-bin"/>
+    <property name="dist-bin.dir" value="${dist.dir}/${dist-bin}"/>
+    <mkdir dir="${dist-bin.dir}"/>
+    <copy todir="${dist-bin.dir}">
+      <fileset dir="${build.dir}" includes="${doc.dir}/**/*"/>
+      <fileset dir="${build.dir}" includes="${lib.dir}/**/*"/>
+    </copy>
+    <zip zipfile="${dist.dir}/${dist-bin}.zip">
+      <fileset dir="${dist.dir}" includes="${dist-bin}/**/*"/>
+    </zip>
+    <tar destfile="${dist.dir}/${dist-bin}.tar" longfile="gnu">
+      <tarfileset dir="${dist.dir}" includes="${dist-bin}/**/*"/>
+    </tar>
+    <gzip src="${dist.dir}/${dist-bin}.tar" 
+      zipfile="${dist.dir}/${dist-bin}.tar.gz"/>
+    <bzip2 src="${dist.dir}/${dist-bin}.tar" 
+       zipfile="${dist.dir}/${dist-bin}.tar.bz2"/>
+  </target>
+
+  <target name="example-dist" depends="example-dist-src,example-dist-bin" 
+   description="build all distributions"/>
+
+  <target name="example-clean" description="clean Fractal framework">
+    <delete dir="${build.dir}" failonerror="no"/>
+    <delete dir="${dist.dir}" failonerror="no"/>
+  </target>
+</project>
\ No newline at end of file
Index: fractal-xdoclet/example/lib/asm/asm.jar
cvs rdiff: failed to read diff file header /tmp/cvsGsFOHa for asm.jar,v: end 
of file
Index: fractal-xdoclet/example/lib/fractal-adl/dtdparser.jar
cvs rdiff: failed to read diff file header /tmp/cvsV7zVyb for 
dtdparser.jar,v: end of file
Index: fractal-xdoclet/example/lib/fractal-adl/fractal-adl.jar
cvs rdiff: failed to read diff file header /tmp/cvsAAjtrc for 
fractal-adl.jar,v: end of file
Index: fractal-xdoclet/example/lib/fractal-adl/ow_deployment_scheduling.jar
cvs rdiff: failed to read diff file header /tmp/cvsXHGmF6 for 
ow_deployment_scheduling.jar,v: end of file
Index: fractal-xdoclet/example/lib/fractal/fractal.jar
cvs rdiff: failed to read diff file header /tmp/cvs6LPlo7 for fractal.jar,v: 
end of file
Index: fractal-xdoclet/example/lib/fractal/naming.jar
cvs rdiff: failed to read diff file header /tmp/cvstxroa8 for naming.jar,v: 
end of file
Index: fractal-xdoclet/example/lib/julia/julia-asm.jar
cvs rdiff: failed to read diff file header /tmp/cvsqplrY8 for 
julia-asm.jar,v: end of file
Index: fractal-xdoclet/example/lib/julia/julia-mixins.jar
cvs rdiff: failed to read diff file header /tmp/cvsV2UxZg for 
julia-mixins.jar,v: end of file
Index: fractal-xdoclet/example/lib/julia/julia-runtime.jar
cvs rdiff: failed to read diff file header /tmp/cvsOWsGOh for 
julia-runtime.jar,v: end of file
Index: fractal-xdoclet/example/lib/monolog/LICENSE.log4j
diff -u /dev/null fractal-xdoclet/example/lib/monolog/LICENSE.log4j:1.1
--- /dev/null   Thu Dec 16 17:57:19 2004
+++ fractal-xdoclet/example/lib/monolog/LICENSE.log4j   Thu Dec 16 17:57:18 
2004
@@ -0,0 +1,48 @@
+/*
+ * 
============================================================================
+ *                   The Apache Software License, Version 1.1
+ * 
============================================================================
+ * 
+ *    Copyright (C) 1999 The Apache Software Foundation. All rights reserved.
+ * 
+ * Redistribution and use in source and binary forms, with or without 
modifica-
+ * tion, are permitted provided that the following conditions are met:
+ * 
+ * 1. Redistributions of  source code must  retain the above copyright  
notice,
+ *    this list of conditions and the following disclaimer.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright 
notice,
+ *    this list of conditions and the following disclaimer in the 
documentation
+ *    and/or other materials provided with the distribution.
+ * 
+ * 3. The end-user documentation included with the redistribution, if any, 
must
+ *    include  the following  acknowledgment:  "This product includes  
software
+ *    developed  by the  Apache Software Foundation  
(http://www.apache.org/)."
+ *    Alternately, this  acknowledgment may  appear in the software itself,  
if
+ *    and wherever such third-party acknowledgments normally appear.
+ * 
+ * 4. The names "log4j" and  "Apache Software Foundation"  must not be used 
to
+ *    endorse  or promote  products derived  from this  software without  
prior
+ *    written permission. For written permission, please contact
+ *    apache@xxxxxxxxxxx
+ * 
+ * 5. Products  derived from this software may not  be called "Apache", nor 
may
+ *    "Apache" appear  in their name,  without prior written permission  of 
the
+ *    Apache Software Foundation.
+ * 
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED 
WARRANTIES,
+ * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY 
AND
+ * FITNESS  FOR A PARTICULAR  PURPOSE ARE  DISCLAIMED.  IN NO  EVENT SHALL  
THE
+ * APACHE SOFTWARE  FOUNDATION  OR ITS CONTRIBUTORS  BE LIABLE FOR  ANY 
DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL  DAMAGES 
(INCLU-
+ * DING, BUT NOT LIMITED TO, PROCUREMENT  OF SUBSTITUTE GOODS OR SERVICES; 
LOSS
+ * OF USE, DATA, OR  PROFITS; OR BUSINESS  INTERRUPTION)  HOWEVER CAUSED AND 
ON
+ * ANY  THEORY OF LIABILITY,  WHETHER  IN CONTRACT,  STRICT LIABILITY,  OR 
TORT
+ * (INCLUDING  NEGLIGENCE OR  OTHERWISE) ARISING IN  ANY WAY OUT OF THE  USE 
OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * This software  consists of voluntary contributions made  by many 
individuals
+ * on  behalf of the Apache Software  Foundation.  For more  information on 
the 
+ * Apache Software Foundation, please see <http://www.apache.org/>.
+ *
+ */
Index: fractal-xdoclet/example/lib/monolog/LICENSE.monolog
diff -u /dev/null fractal-xdoclet/example/lib/monolog/LICENSE.monolog:1.1
--- /dev/null   Thu Dec 16 17:57:19 2004
+++ fractal-xdoclet/example/lib/monolog/LICENSE.monolog Thu Dec 16 17:57:18 
2004
@@ -0,0 +1,504 @@
+                 GNU LESSER GENERAL PUBLIC LICENSE
+                      Version 2.1, February 1999
+
+ Copyright (C) 1991, 1999 Free Software Foundation, Inc.
+     59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+[This is the first released version of the Lesser GPL.  It also counts
+ as the successor of the GNU Library Public License, version 2, hence
+ the version number 2.1.]
+
+                           Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
+
+  This license, the Lesser General Public License, applies to some
+specially designated software packages--typically libraries--of the
+Free Software Foundation and other authors who decide to use it.  You
+can use it too, but we suggest you first think carefully about whether
+this license or the ordinary General Public License is the better
+strategy to use in any particular case, based on the explanations below.
+
+  When we speak of free software, we are referring to freedom of use,
+not price.  Our General Public Licenses are designed to make sure that
+you have the freedom to distribute copies of free software (and charge
+for this service if you wish); that you receive source code or can get
+it if you want it; that you can change the software and use pieces of
+it in new free programs; and that you are informed that you can do
+these things.
+
+  To protect your rights, we need to make restrictions that forbid
+distributors to deny you these rights or to ask you to surrender these
+rights.  These restrictions translate to certain responsibilities for
+you if you distribute copies of the library or if you modify it.
+
+  For example, if you distribute copies of the library, whether gratis
+or for a fee, you must give the recipients all the rights that we gave
+you.  You must make sure that they, too, receive or can get the source
+code.  If you link other code with the library, you must provide
+complete object files to the recipients, so that they can relink them
+with the library after making changes to the library and recompiling
+it.  And you must show them these terms so they know their rights.
+
+  We protect your rights with a two-step method: (1) we copyright the
+library, and (2) we offer you this license, which gives you legal
+permission to copy, distribute and/or modify the library.
+
+  To protect each distributor, we want to make it very clear that
+there is no warranty for the free library.  Also, if the library is
+modified by someone else and passed on, the recipients should know
+that what they have is not the original version, so that the original
+author's reputation will not be affected by problems that might be
+introduced by others.
+
+  Finally, software patents pose a constant threat to the existence of
+any free program.  We wish to make sure that a company cannot
+effectively restrict the users of a free program by obtaining a
+restrictive license from a patent holder.  Therefore, we insist that
+any patent license obtained for a version of the library must be
+consistent with the full freedom of use specified in this license.
+
+  Most GNU software, including some libraries, is covered by the
+ordinary GNU General Public License.  This license, the GNU Lesser
+General Public License, applies to certain designated libraries, and
+is quite different from the ordinary General Public License.  We use
+this license for certain libraries in order to permit linking those
+libraries into non-free programs.
+
+  When a program is linked with a library, whether statically or using
+a shared library, the combination of the two is legally speaking a
+combined work, a derivative of the original library.  The ordinary
+General Public License therefore permits such linking only if the
+entire combination fits its criteria of freedom.  The Lesser General
+Public License permits more lax criteria for linking other code with
+the library.
+
+  We call this license the "Lesser" General Public License because it
+does Less to protect the user's freedom than the ordinary General
+Public License.  It also provides other free software developers Less
+of an advantage over competing non-free programs.  These disadvantages
+are the reason we use the ordinary General Public License for many
+libraries.  However, the Lesser license provides advantages in certain
+special circumstances.
+
+  For example, on rare occasions, there may be a special need to
+encourage the widest possible use of a certain library, so that it becomes
+a de-facto standard.  To achieve this, non-free programs must be
+allowed to use the library.  A more frequent case is that a free
+library does the same job as widely used non-free libraries.  In this
+case, there is little to gain by limiting the free library to free
+software only, so we use the Lesser General Public License.
+
+  In other cases, permission to use a particular library in non-free
+programs enables a greater number of people to use a large body of
+free software.  For example, permission to use the GNU C Library in
+non-free programs enables many more people to use the whole GNU
+operating system, as well as its variant, the GNU/Linux operating
+system.
+
+  Although the Lesser General Public License is Less protective of the
+users' freedom, it does ensure that the user of a program that is
+linked with the Library has the freedom and the wherewithal to run
+that program using a modified version of the Library.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.  Pay close attention to the difference between a
+"work based on the library" and a "work that uses the library".  The
+former contains code derived from the library, whereas the latter must
+be combined with the library in order to run.
+
+                 GNU LESSER GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License Agreement applies to any software library or other
+program which contains a notice placed by the copyright holder or
+other authorized party saying it may be distributed under the terms of
+this Lesser General Public License (also called "this License").
+Each licensee is addressed as "you".
+
+  A "library" means a collection of software functions and/or data
+prepared so as to be conveniently linked with application programs
+(which use some of those functions and data) to form executables.
+
+  The "Library", below, refers to any such software library or work
+which has been distributed under these terms.  A "work based on the
+Library" means either the Library or any derivative work under
+copyright law: that is to say, a work containing the Library or a
+portion of it, either verbatim or with modifications and/or translated
+straightforwardly into another language.  (Hereinafter, translation is
+included without limitation in the term "modification".)
+
+  "Source code" for a work means the preferred form of the work for
+making modifications to it.  For a library, complete source code means
+all the source code for all modules it contains, plus any associated
+interface definition files, plus the scripts used to control compilation
+and installation of the library.
+
+  Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running a program using the Library is not restricted, and output from
+such a program is covered only if its contents constitute a work based
+on the Library (independent of the use of the Library in a tool for
+writing it).  Whether that is true depends on what the Library does
+and what the program that uses the Library does.
+  
+  1. You may copy and distribute verbatim copies of the Library's
+complete source code as you receive it, in any medium, provided that
+you conspicuously and appropriately publish on each copy an
+appropriate copyright notice and disclaimer of warranty; keep intact
+all the notices that refer to this License and to the absence of any
+warranty; and distribute a copy of this License along with the
+Library.
+
+  You may charge a fee for the physical act of transferring a copy,
+and you may at your option offer warranty protection in exchange for a
+fee.
+
+  2. You may modify your copy or copies of the Library or any portion
+of it, thus forming a work based on the Library, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) The modified work must itself be a software library.
+
+    b) You must cause the files modified to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    c) You must cause the whole of the work to be licensed at no
+    charge to all third parties under the terms of this License.
+
+    d) If a facility in the modified Library refers to a function or a
+    table of data to be supplied by an application program that uses
+    the facility, other than as an argument passed when the facility
+    is invoked, then you must make a good faith effort to ensure that,
+    in the event an application does not supply such function or
+    table, the facility still operates, and performs whatever part of
+    its purpose remains meaningful.
+
+    (For example, a function in a library to compute square roots has
+    a purpose that is entirely well-defined independent of the
+    application.  Therefore, Subsection 2d requires that any
+    application-supplied function or table used by this function must
+    be optional: if the application does not supply it, the square
+    root function must still compute square roots.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Library,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Library, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Library.
+
+In addition, mere aggregation of another work not based on the Library
+with the Library (or with a work based on the Library) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may opt to apply the terms of the ordinary GNU General Public
+License instead of this License to a given copy of the Library.  To do
+this, you must alter all the notices that refer to this License, so
+that they refer to the ordinary GNU General Public License, version 2,
+instead of to this License.  (If a newer version than version 2 of the
+ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.)  Do not make any other change in
+these notices.
+
+  Once this change is made in a given copy, it is irreversible for
+that copy, so the ordinary GNU General Public License applies to all
+subsequent copies and derivative works made from that copy.
+
+  This option is useful when you wish to copy part of the code of
+the Library into a program that is not a library.
+
+  4. You may copy and distribute the Library (or a portion or
+derivative of it, under Section 2) in object code or executable form
+under the terms of Sections 1 and 2 above provided that you accompany
+it with the complete corresponding machine-readable source code, which
+must be distributed under the terms of Sections 1 and 2 above on a
+medium customarily used for software interchange.
+
+  If distribution of object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the
+source code from the same place satisfies the requirement to
+distribute the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  5. A program that contains no derivative of any portion of the
+Library, but is designed to work with the Library by being compiled or
+linked with it, is called a "work that uses the Library".  Such a
+work, in isolation, is not a derivative work of the Library, and
+therefore falls outside the scope of this License.
+
+  However, linking a "work that uses the Library" with the Library
+creates an executable that is a derivative of the Library (because it
+contains portions of the Library), rather than a "work that uses the
+library".  The executable is therefore covered by this License.
+Section 6 states terms for distribution of such executables.
+
+  When a "work that uses the Library" uses material from a header file
+that is part of the Library, the object code for the work may be a
+derivative work of the Library even though the source code is not.
+Whether this is true is especially significant if the work can be
+linked without the Library, or if the work is itself a library.  The
+threshold for this to be true is not precisely defined by law.
+
+  If such an object file uses only numerical parameters, data
+structure layouts and accessors, and small macros and small inline
+functions (ten lines or less in length), then the use of the object
+file is unrestricted, regardless of whether it is legally a derivative
+work.  (Executables containing this object code plus portions of the
+Library will still fall under Section 6.)
+
+  Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
+Any executables containing that work also fall under Section 6,
+whether or not they are linked directly with the Library itself.
+
+  6. As an exception to the Sections above, you may also combine or
+link a "work that uses the Library" with the Library to produce a
+work containing portions of the Library, and distribute that work
+under terms of your choice, provided that the terms permit
+modification of the work for the customer's own use and reverse
+engineering for debugging such modifications.
+
+  You must give prominent notice with each copy of the work that the
+Library is used in it and that the Library and its use are covered by
+this License.  You must supply a copy of this License.  If the work
+during execution displays copyright notices, you must include the
+copyright notice for the Library among them, as well as a reference
+directing the user to the copy of this License.  Also, you must do one
+of these things:
+
+    a) Accompany the work with the complete corresponding
+    machine-readable source code for the Library including whatever
+    changes were used in the work (which must be distributed under
+    Sections 1 and 2 above); and, if the work is an executable linked
+    with the Library, with the complete machine-readable "work that
+    uses the Library", as object code and/or source code, so that the
+    user can modify the Library and then relink to produce a modified
+    executable containing the modified Library.  (It is understood
+    that the user who changes the contents of definitions files in the
+    Library will not necessarily be able to recompile the application
+    to use the modified definitions.)
+
+    b) Use a suitable shared library mechanism for linking with the
+    Library.  A suitable mechanism is one that (1) uses at run time a
+    copy of the library already present on the user's computer system,
+    rather than copying library functions into the executable, and (2)
+    will operate properly with a modified version of the library, if
+    the user installs one, as long as the modified version is
+    interface-compatible with the version that the work was made with.
+
+    c) Accompany the work with a written offer, valid for at
+    least three years, to give the same user the materials
+    specified in Subsection 6a, above, for a charge no more
+    than the cost of performing this distribution.
+
+    d) If distribution of the work is made by offering access to copy
+    from a designated place, offer equivalent access to copy the above
+    specified materials from the same place.
+
+    e) Verify that the user has already received a copy of these
+    materials or that you have already sent this user a copy.
+
+  For an executable, the required form of the "work that uses the
+Library" must include any data and utility programs needed for
+reproducing the executable from it.  However, as a special exception,
+the materials to be distributed need not include anything that is
+normally distributed (in either source or binary form) with the major
+components (compiler, kernel, and so on) of the operating system on
+which the executable runs, unless that component itself accompanies
+the executable.
+
+  It may happen that this requirement contradicts the license
+restrictions of other proprietary libraries that do not normally
+accompany the operating system.  Such a contradiction means you cannot
+use both them and the Library together in an executable that you
+distribute.
+
+  7. You may place library facilities that are a work based on the
+Library side-by-side in a single library together with other library
+facilities not covered by this License, and distribute such a combined
+library, provided that the separate distribution of the work based on
+the Library and of the other library facilities is otherwise
+permitted, and provided that you do these two things:
+
+    a) Accompany the combined library with a copy of the same work
+    based on the Library, uncombined with any other library
+    facilities.  This must be distributed under the terms of the
+    Sections above.
+
+    b) Give prominent notice with the combined library of the fact
+    that part of it is a work based on the Library, and explaining
+    where to find the accompanying uncombined form of the same work.
+
+  8. You may not copy, modify, sublicense, link with, or distribute
+the Library except as expressly provided under this License.  Any
+attempt otherwise to copy, modify, sublicense, link with, or
+distribute the Library is void, and will automatically terminate your
+rights under this License.  However, parties who have received copies,
+or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance.
+
+  9. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Library or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Library (or any work based on the
+Library), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+  10. Each time you redistribute the Library (or any work based on the
+Library), the recipient automatically receives a license from the
+original licensor to copy, distribute, link with or modify the Library
+subject to these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties with
+this License.
+
+  11. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Library at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Library by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply,
+and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  12. If the distribution and/or use of the Library is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Library under this License may add
+an explicit geographical distribution limitation excluding those countries,
+so that distribution is permitted only in or among countries not thus
+excluded.  In such case, this License incorporates the limitation as if
+written in the body of this License.
+
+  13. The Free Software Foundation may publish revised and/or new
+versions of the Lesser General Public License from time to time.
+Such new versions will be similar in spirit to the present version,
+but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Library
+specifies a version number of this License which applies to it and
+"any later version", you have the option of following the terms and
+conditions either of that version or of any later version published by
+the Free Software Foundation.  If the Library does not specify a
+license version number, you may choose any version ever published by
+the Free Software Foundation.
+
+  14. If you wish to incorporate parts of the Library into other free
+programs whose distribution conditions are incompatible with these,
+write to the author to ask for permission.  For software which is
+copyrighted by the Free Software Foundation, write to the Free
+Software Foundation; we sometimes make exceptions for this.  Our
+decision will be guided by the two goals of preserving the free status
+of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+                           NO WARRANTY
+
+  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
+LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.
+
+                    END OF TERMS AND CONDITIONS
+
+           How to Apply These Terms to Your New Libraries
+
+  If you develop a new library, and you want it to be of the greatest
+possible use to the public, we recommend making it free software that
+everyone can redistribute and change.  You can do so by permitting
+redistribution under these terms (or, alternatively, under the terms of the
+ordinary General Public License).
+
+  To apply these terms, attach the following notices to the library.  It is
+safest to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least the
+"copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the library's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+
+    This library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Lesser General Public
+    License as published by the Free Software Foundation; either
+    version 2.1 of the License, or (at your option) any later version.
+
+    This library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Lesser General Public License for more details.
+
+    You should have received a copy of the GNU Lesser General Public
+    License along with this library; if not, write to the Free Software
+    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+Also add information on how to contact you by electronic and paper mail.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the library, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the
+  library `Frob' (a library for tweaking knobs) written by James Random 
Hacker.
+
+  <signature of Ty Coon>, 1 April 1990
+  Ty Coon, President of Vice
+
+That's all there is to it!
+
+
Index: fractal-xdoclet/example/lib/monolog/log4j-1.2.8.jar
cvs rdiff: failed to read diff file header /tmp/cvshIJ9Sd for 
log4j-1.2.8.jar,v: end of file
Index: fractal-xdoclet/example/lib/monolog/ow_monolog.jar
cvs rdiff: failed to read diff file header /tmp/cvseIdLSf for 
ow_monolog.jar,v: end of file
Index: fractal-xdoclet/example/lib/utils/ow_util_trace.jar
cvs rdiff: failed to read diff file header /tmp/cvs1UIgZn for 
ow_util_trace.jar,v: end of file
Index: 
fractal-xdoclet/example/src/fractal/org/objectweb/fractal/example/HelloWorld.fractal
diff -u /dev/null 
fractal-xdoclet/example/src/fractal/org/objectweb/fractal/example/HelloWorld.fractal:1.1
--- /dev/null   Thu Dec 16 17:57:19 2004
+++ 
fractal-xdoclet/example/src/fractal/org/objectweb/fractal/example/HelloWorld.fractal
        Thu Dec 16 17:57:18 2004
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!DOCTYPE definition PUBLIC "-//objectweb.org//DTD Fractal ADL 2.0//EN" 
"classpath://org/objectweb/fractal/adl/xml/basic.dtd">
+
+<definition name="org.objectweb.fractal.example.HelloWorld">
+  <interface name="r" role="server" signature="java.lang.Runnable"/>
+  <component name="client" 
definition="org.objectweb.fractal.example.lib.FcClientImpl"/>
+  <component name="server" 
definition="org.objectweb.fractal.example.lib.FcServerImpl(-->,2)"/>
+
+  <binding client="this.r" server="client.r"/>
+  <binding client="client.s" server="server.s"/>
+</definition>
Index: 
fractal-xdoclet/example/src/fractal/org/objectweb/fractal/example/SharedHelloWorld.fractal
diff -u /dev/null 
fractal-xdoclet/example/src/fractal/org/objectweb/fractal/example/SharedHelloWorld.fractal:1.1
--- /dev/null   Thu Dec 16 17:57:19 2004
+++ 
fractal-xdoclet/example/src/fractal/org/objectweb/fractal/example/SharedHelloWorld.fractal
  Thu Dec 16 17:57:18 2004
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!DOCTYPE definition PUBLIC "-//objectweb.org//DTD Fractal ADL 2.0//EN" 
"classpath://org/objectweb/fractal/adl/xml/basic.dtd">
+
+<definition name="org.objectweb.fractal.example.SharedHelloWorld">
+  <interface name="r" role="server" signature="java.lang.Runnable"/>
+  <component name="a" definition="org.objectweb.fractal.example.HelloWorld"/>
+  <component name="b" definition="org.objectweb.fractal.example.HelloWorld">
+    <component name="server" definition="a/server"/>
+  </component>
+  <binding client="this.r" server="a.r"/>
+</definition>
Index: 
fractal-xdoclet/example/src/java/org/objectweb/fractal/example/api/Main.java
diff -u /dev/null 
fractal-xdoclet/example/src/java/org/objectweb/fractal/example/api/Main.java:1.1
--- /dev/null   Thu Dec 16 17:57:19 2004
+++ 
fractal-xdoclet/example/src/java/org/objectweb/fractal/example/api/Main.java  
      Thu Dec 16 17:57:18 2004
@@ -0,0 +1,36 @@
+package org.objectweb.fractal.example.api;
+/***
+ * Julia: France Telecom's implementation of the Fractal API
+ * Copyright (C) 2001-2002 France Telecom R&D
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ * Contact: Eric.Bruneton@xxxxxxxxxxxxxxxxxxxx
+ *
+ * Author: Eric Bruneton
+ */
+
+/**
+ * @author <a href="mailto:Romain.Rouvoy@xxxxxxx";>Romain Rouvoy</a>
+ * @version $Revision: 1.1 $
+ * @created 14 déc. 2004
+ * @fractal server="m"
+ */
+public interface Main {
+    /**
+     * @param args
+     */
+    void main (String[] args);
+}
Index: 
fractal-xdoclet/example/src/java/org/objectweb/fractal/example/api/Service.java
diff -u /dev/null 
fractal-xdoclet/example/src/java/org/objectweb/fractal/example/api/Service.java:1.1
--- /dev/null   Thu Dec 16 17:57:19 2004
+++ 
fractal-xdoclet/example/src/java/org/objectweb/fractal/example/api/Service.java
     Thu Dec 16 17:57:18 2004
@@ -0,0 +1,38 @@
+/***
+ * Julia: France Telecom's implementation of the Fractal API
+ * Copyright (C) 2001-2002 France Telecom R&D
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ * Contact: Eric.Bruneton@xxxxxxxxxxxxxxxxxxxx
+ *
+ * Author: Eric Bruneton
+ */
+package org.objectweb.fractal.example.api;
+
+/**
+ * @author <a href="mailto:Romain.Rouvoy@xxxxxxx";>Romain Rouvoy</a>
+ * @version $Revision: 1.1 $
+ * @created 14 déc. 2004
+ * @fractal server="s"
+ * @fractal server="serv"
+ */
+public interface Service
+{
+    /**
+     * @param msg
+     */
+    void print (String msg);
+}
Index: 
fractal-xdoclet/example/src/java/org/objectweb/fractal/example/api/ServiceAttributes.java
diff -u /dev/null 
fractal-xdoclet/example/src/java/org/objectweb/fractal/example/api/ServiceAttributes.java:1.1
--- /dev/null   Thu Dec 16 17:57:19 2004
+++ 
fractal-xdoclet/example/src/java/org/objectweb/fractal/example/api/ServiceAttributes.java
   Thu Dec 16 17:57:18 2004
@@ -0,0 +1,55 @@
+/***
+ * Julia: France Telecom's implementation of the Fractal API
+ * Copyright (C) 2001-2002 France Telecom R&D
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ * Contact: Eric.Bruneton@xxxxxxxxxxxxxxxxxxxx
+ *
+ * Author: Eric Bruneton
+ */
+package org.objectweb.fractal.example.api;
+
+import org.objectweb.fractal.api.control.AttributeController;
+
+/**
+ * @author <a href="mailto:Romain.Rouvoy@xxxxxxx";>Romain Rouvoy</a>
+ * @version $Revision: 1.1 $
+ * @created 14 déc. 2004
+ * @fractal server="attribute-controller"
+ */
+public interface ServiceAttributes 
+extends AttributeController 
+{
+    /**
+     * @return the value of the header.
+     */
+    String getHeader();
+    
+    /**
+     * @param header the value of the header.
+     */
+    void setHeader(String header);
+    
+    /**
+     * @return the value of the counter.
+     */
+    int getCount();
+    
+    /**
+     * @param count the counter value.
+     */
+    void setCount(int count);
+}
Index: 
fractal-xdoclet/example/src/java/org/objectweb/fractal/example/lib/ClientImpl.java
diff -u /dev/null 
fractal-xdoclet/example/src/java/org/objectweb/fractal/example/lib/ClientImpl.java:1.1
--- /dev/null   Thu Dec 16 17:57:19 2004
+++ 
fractal-xdoclet/example/src/java/org/objectweb/fractal/example/lib/ClientImpl.java
  Thu Dec 16 17:57:18 2004
@@ -0,0 +1,91 @@
+/***
+ * Julia: France Telecom's implementation of the Fractal API
+ * Copyright (C) 2001-2002 France Telecom R&D
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ * Contact: Eric.Bruneton@xxxxxxxxxxxxxxxxxxxx
+ *
+ * Author: Eric Bruneton
+ */
+package org.objectweb.fractal.example.lib;
+
+import org.objectweb.fractal.api.control.BindingController;
+import org.objectweb.fractal.example.api.Main;
+import org.objectweb.fractal.example.api.Service;
+
+/**
+ * @author <a href="mailto:Romain.Rouvoy@xxxxxxx";>Romain Rouvoy</a>
+ * @version $Revision: 1.1 $
+ * @created 14 déc. 2004
+ * @fractal server="r" signature="java.lang.Runnable"
+ * @fractal client="s" signature="org.objectweb.fractal.example.api.Service"
+ */
+public class ClientImpl 
+implements Runnable, Main, BindingController 
+{
+    
+    /** Comment for <code>service</code> */
+    private Service service;
+    
+    /* (non-Javadoc)
+     * @see org.objectweb.fractal.example.api.Main#main(java.lang.String[])
+     */
+    public void main (final String[] args) {
+        this.service.print("hello world");
+    }
+    
+    /* (non-Javadoc)
+     * @see org.objectweb.fractal.api.control.BindingController#listFc()
+     */
+    public String[] listFc () {
+        return new String[] { "s" };
+    }
+    
+    /* (non-Javadoc)
+     * @see 
org.objectweb.fractal.api.control.BindingController#lookupFc(java.lang.String)
+     */
+    public Object lookupFc (final String cItf) {
+        if (cItf.equals("s")) {
+            return this.service;
+        }
+        return null;
+    }
+    
+    /* (non-Javadoc)
+     * @see 
org.objectweb.fractal.api.control.BindingController#bindFc(java.lang.String, 
java.lang.Object)
+     */
+    public void bindFc (final String cItf, final Object sItf) {
+        if (cItf.equals("s")) {
+            this.service = (Service)sItf;
+        }
+    }
+    
+    /* (non-Javadoc)
+     * @see 
org.objectweb.fractal.api.control.BindingController#unbindFc(java.lang.String)
+     */
+    public void unbindFc (final String cItf) {
+        if (cItf.equals("s")) {
+            this.service = null;
+        }
+    }
+
+    /* (non-Javadoc)
+     * @see java.lang.Runnable#run()
+     */
+    public void run() {
+        this.service.print("hello world");
+    }
+}
Index: 
fractal-xdoclet/example/src/java/org/objectweb/fractal/example/lib/ServerImpl.java
diff -u /dev/null 
fractal-xdoclet/example/src/java/org/objectweb/fractal/example/lib/ServerImpl.java:1.1
--- /dev/null   Thu Dec 16 17:57:19 2004
+++ 
fractal-xdoclet/example/src/java/org/objectweb/fractal/example/lib/ServerImpl.java
  Thu Dec 16 17:57:18 2004
@@ -0,0 +1,90 @@
+/***
+ * Julia: France Telecom's implementation of the Fractal API
+ * Copyright (C) 2001-2002 France Telecom R&D
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ * Contact: Eric.Bruneton@xxxxxxxxxxxxxxxxxxxx
+ *
+ * Author: Eric Bruneton
+ */
+package org.objectweb.fractal.example.lib;
+
+import org.objectweb.fractal.example.api.Service;
+import org.objectweb.fractal.example.api.ServiceAttributes;
+
+/**
+ * @author <a href="mailto:Romain.Rouvoy@xxxxxxx";>Romain Rouvoy</a>
+ * @version $Revision: 1.1 $
+ * @created 14 déc. 2004
+ * @fractal
+ */
+public class ServerImpl 
+implements Service, ServiceAttributes 
+{
+    /** 
+     * @fractal argument="head" 
+     */
+    private String header = "";
+    
+    /**
+     * @fractal argument="counter" 
+     */
+    private int count = 0;
+    
+    /* (non-Javadoc)
+     * @see org.objectweb.fractal.example.api.Service#print(java.lang.String)
+     */
+    public void print(final String msg) {
+        new Exception() {
+            public String toString () {
+                return "Server: print method called";
+            }
+        }.printStackTrace();
+        System.err.println("Server: begin printing...");
+        for (int i = 0; i < this.count; ++i) {
+            System.err.println(this.header + msg);
+        }
+        System.err.println("Server: print done.");
+    }
+    
+    /* (non-Javadoc)
+     * @see org.objectweb.fractal.example.api.ServiceAttributes#getHeader()
+     */
+    public String getHeader() {
+        return this.header;
+    }
+    
+    /* (non-Javadoc)
+     * @see 
org.objectweb.fractal.example.api.ServiceAttributes#setHeader(java.lang.String)
+     */
+    public void setHeader(final String header) {
+        this.header = header;
+    }
+    
+    /* (non-Javadoc)
+     * @see org.objectweb.fractal.example.api.ServiceAttributes#getCount()
+     */
+    public int getCount() {
+        return this.count;
+    }
+    
+    /* (non-Javadoc)
+     * @see org.objectweb.fractal.example.api.ServiceAttributes#setCount(int)
+     */
+    public void setCount(final int count) {
+        this.count = count;
+    }
+}
Index: fractal-xdoclet/example/src/julia/julia.cfg
diff -u /dev/null fractal-xdoclet/example/src/julia/julia.cfg:1.1
--- /dev/null   Thu Dec 16 17:57:19 2004
+++ fractal-xdoclet/example/src/julia/julia.cfg Thu Dec 16 17:57:18 2004
@@ -0,0 +1,613 @@
+###############################################################################
+# STANDARD JULIA CONFIGURATION FILE - DO NOT EDIT
+#
+# PUT NEW OR OVERRIDEN DEFINITIONS AT THE END OF THE FILE, OR IN OTHER FILES
+###############################################################################
+
+# 
-----------------------------------------------------------------------------
+# INTERFACE CLASS GENERATORS
+# 
-----------------------------------------------------------------------------
+
+# default class generator, generates sub classes of BasicComponentInterface
+
+(interface-class-generator
+  (org.objectweb.fractal.julia.asm.InterfaceClassGenerator
+    org.objectweb.fractal.julia.BasicComponentInterface
+  )
+)
+
+# 
-----------------------------------------------------------------------------
+# CONTROLLER INTERFACES
+#
+# each definition must be of the form (interface-name interface-signature)
+# 
-----------------------------------------------------------------------------
+
+# Component interface
+
+(component-itf
+  (component org.objectweb.fractal.api.Component)
+)
+
+# TypeFactory interface
+
+(type-factory-itf
+  (type-factory org.objectweb.fractal.api.type.TypeFactory)
+)
+
+# GenericFactory interface
+
+(generic-factory-itf
+  (generic-factory org.objectweb.fractal.api.factory.GenericFactory)
+)
+
+# Factory interface
+
+(factory-itf
+  # choose one of the following definitions:
+  # the first one provides only the Fractal Factory interface
+  # the second one provides a Julia extension of the Factory interface
+  # (factory org.objectweb.fractal.api.factory.Factory)
+  (factory org.objectweb.fractal.julia.factory.Template)
+)
+
+(julia-factory-itf
+  (/template org.objectweb.fractal.julia.factory.Template)
+)
+
+# AttributeController interface
+
+(attribute-controller-itf
+  (attribute org.objectweb.fractal.api.control.AttributeController)
+)
+
+(julia-attribute-controller-itf
+  (/cloneable-attribute-controller 
org.objectweb.fractal.julia.control.attribute.CloneableAttributeController)
+)
+
+# BindingController interface
+
+(binding-controller-itf
+  (binding-controller org.objectweb.fractal.api.control.BindingController)
+)
+
+# ContentController interface
+
+(content-controller-itf
+  (content-controller org.objectweb.fractal.api.control.ContentController)
+)
+
+# SuperController interface
+
+(super-controller-itf
+  # choose one of the following definitions:
+  # the first one provides only the Fractal SuperController interface
+  # the second one provides a Julia extension of the SuperController 
interface
+  # (super-controller org.objectweb.fractal.api.control.SuperController)
+  (super-controller 
org.objectweb.fractal.julia.control.content.SuperControllerNotifier)
+)
+
+(julia-super-controller-itf
+  (/super-controller-notifier 
org.objectweb.fractal.julia.control.content.SuperControllerNotifier)
+)
+
+# LifeCycleController interface
+
+(lifecycle-controller-itf
+  # choose one of the following definitions:
+  # the first one provides only the Fractal LifeCycleController interface
+  # the second one provides a Julia extension of the LifeCycleController 
interface
+  # (lifecycle-controller 
org.objectweb.fractal.api.control.LifeCycleController)
+  (lifecycle-controller 
org.objectweb.fractal.julia.control.lifecycle.LifeCycleCoordinator)
+)
+
+(julia-lifecycle-controller-itf
+  (/lifecycle-coordinator 
org.objectweb.fractal.julia.control.lifecycle.LifeCycleCoordinator)
+)
+
+# NameController interface
+
+(name-controller-itf
+  (name-controller org.objectweb.fractal.api.control.NameController)
+)
+
+# 
-----------------------------------------------------------------------------
+# CONTROLLER OBJECTS
+#
+# each definition must be an object descriptor
+# 
-----------------------------------------------------------------------------
+
+# Component implementation
+
+(component-impl
+  ((org.objectweb.fractal.julia.asm.MixinClassGenerator
+    ComponentImpl
+    org.objectweb.fractal.julia.BasicControllerMixin
+    org.objectweb.fractal.julia.BasicComponentMixin
+    # to check type related constraints, and for collection interfaces 
support:
+    org.objectweb.fractal.julia.TypeComponentMixin
+  ))
+)
+
+# TypeFactory implementation
+
+(type-factory-impl
+  ((org.objectweb.fractal.julia.asm.MixinClassGenerator
+    TypeFactoryImpl
+    org.objectweb.fractal.julia.BasicControllerMixin
+    org.objectweb.fractal.julia.type.BasicTypeFactoryMixin
+  ))
+)
+
+# GenericFactory implementation
+
+(generic-factory-impl
+  ((org.objectweb.fractal.julia.asm.MixinClassGenerator
+    GenericFactoryImpl
+    org.objectweb.fractal.julia.BasicControllerMixin
+    org.objectweb.fractal.julia.BasicInitializableMixin
+    org.objectweb.fractal.julia.loader.UseLoaderMixin
+    org.objectweb.fractal.julia.type.UseTypeFactoryMixin
+    org.objectweb.fractal.julia.factory.BasicGenericFactoryMixin
+    # to check the component content descriptor with the Java Reflection API:
+    org.objectweb.fractal.julia.factory.CheckGenericFactoryMixin
+  ))
+)
+
+# Factory implementation (for template components)
+
+(factory-impl
+  ((org.objectweb.fractal.julia.asm.MixinClassGenerator
+    FactoryImpl
+    org.objectweb.fractal.julia.BasicControllerMixin
+    org.objectweb.fractal.julia.UseComponentMixin
+    org.objectweb.fractal.julia.factory.BasicTemplateMixin
+    # to copy the template's attributes to the components it creates:
+    
org.objectweb.fractal.julia.control.attribute.UseCloneableAttributeControllerMixin
+    org.objectweb.fractal.julia.factory.AttributeTemplateMixin
+    # to copy the template's name to the components it creates:
+    org.objectweb.fractal.julia.control.name.UseNameControllerMixin
+    org.objectweb.fractal.julia.factory.NameTemplateMixin
+  ))
+)
+
+# Factory implementation (for singleton template components)
+
+(singleton-factory-impl
+  ((org.objectweb.fractal.julia.asm.MixinClassGenerator
+    SingletonFactoryImpl
+    org.objectweb.fractal.julia.BasicControllerMixin
+    org.objectweb.fractal.julia.UseComponentMixin
+    org.objectweb.fractal.julia.factory.BasicTemplateMixin
+    # to copy the template's attributes to the components it creates:
+    
org.objectweb.fractal.julia.control.attribute.UseCloneableAttributeControllerMixin
+    org.objectweb.fractal.julia.factory.AttributeTemplateMixin
+    # to copy the template's name to the components it creates:
+    org.objectweb.fractal.julia.control.name.UseNameControllerMixin
+    org.objectweb.fractal.julia.factory.NameTemplateMixin
+    # to provide the singleton semantics to the template:
+    org.objectweb.fractal.julia.factory.SingletonTemplateMixin
+  ))
+)
+
+# BindingController implementation (for primitive components without content)
+
+(primitive-binding-controller-impl
+  ((org.objectweb.fractal.julia.asm.MixinClassGenerator
+    PrimitiveBindingControllerImpl
+    org.objectweb.fractal.julia.BasicControllerMixin
+    org.objectweb.fractal.julia.control.binding.BasicBindingControllerMixin
+    # to initialize the BasicBindingControllerMixin from the component's 
type:
+    org.objectweb.fractal.julia.control.binding.TypeBasicBindingMixin
+    # to check some basic pre conditions (interface not already bound, ...)
+    org.objectweb.fractal.julia.UseComponentMixin
+    org.objectweb.fractal.julia.control.binding.CheckBindingMixin
+    # to check type related constraints for bindings:
+    org.objectweb.fractal.julia.control.binding.TypeBindingMixin
+    # to check content related constraints for bindings:
+    org.objectweb.fractal.julia.control.content.UseSuperControllerMixin
+    org.objectweb.fractal.julia.control.binding.ContentBindingMixin
+    # to check lifecycle related constraints for bindings:
+    org.objectweb.fractal.julia.control.lifecycle.UseLifeCycleControllerMixin
+    org.objectweb.fractal.julia.control.binding.LifeCycleBindingMixin
+  ))
+)
+
+# BindingController implementation (for primitive components with content)
+
+(container-binding-controller-impl
+  ((org.objectweb.fractal.julia.asm.MixinClassGenerator
+    ContainerBindingControllerImpl
+    org.objectweb.fractal.julia.BasicControllerMixin
+    
org.objectweb.fractal.julia.control.binding.ContainerBindingControllerMixin
+    # to skip Interface objects before delegating to the encapsulated 
component:
+    # 
org.objectweb.fractal.julia.control.binding.OptimizedContainerBindingMixin
+    # to manage output interceptors:
+    org.objectweb.fractal.julia.UseComponentMixin
+    org.objectweb.fractal.julia.control.binding.InterceptorBindingMixin
+    # to check some basic pre conditions (interface not already bound, ...)
+    org.objectweb.fractal.julia.control.binding.CheckBindingMixin
+    # to check type related constraints for bindings:
+    org.objectweb.fractal.julia.control.binding.TypeBindingMixin
+    # to check content related constraints for bindings:
+    org.objectweb.fractal.julia.control.content.UseSuperControllerMixin
+    org.objectweb.fractal.julia.control.binding.ContentBindingMixin
+    # to check lifecycle related constraints for bindings:
+    org.objectweb.fractal.julia.control.lifecycle.UseLifeCycleControllerMixin
+    org.objectweb.fractal.julia.control.binding.LifeCycleBindingMixin
+  ))
+)
+
+# BindingController implementation (for composite components)
+
+(composite-binding-controller-impl
+  ((org.objectweb.fractal.julia.asm.MixinClassGenerator
+    CompositeBindingControllerImpl
+    org.objectweb.fractal.julia.BasicControllerMixin
+    org.objectweb.fractal.julia.control.binding.BasicBindingControllerMixin
+    # to initialize the BasicBindingControllerMixin from the component's 
type:
+    org.objectweb.fractal.julia.control.binding.TypeBasicBindingMixin
+    # to check some basic pre conditions (interface not already bound, ...)
+    org.objectweb.fractal.julia.UseComponentMixin
+    org.objectweb.fractal.julia.control.binding.CheckBindingMixin
+    # to check type related constraints for bindings:
+    org.objectweb.fractal.julia.control.binding.TypeBindingMixin
+    # to check content related constraints for bindings:
+    org.objectweb.fractal.julia.control.content.UseSuperControllerMixin
+    org.objectweb.fractal.julia.control.binding.ContentBindingMixin
+    # to check lifecycle related constraints for bindings:
+    org.objectweb.fractal.julia.control.lifecycle.UseLifeCycleControllerMixin
+    org.objectweb.fractal.julia.control.binding.LifeCycleBindingMixin
+    # to manage the getFcItfImpl links of the Interface objects:
+    # choose one of ComponentBindingMixin and OptimizedCompositeBindingMixin
+    # (the last one creates and updates shortcuts links when possible)
+    org.objectweb.fractal.julia.control.content.UseContentControllerMixin
+    # org.objectweb.fractal.julia.control.binding.CompositeBindingMixin
+    
org.objectweb.fractal.julia.control.binding.OptimizedCompositeBindingMixin
+  ))
+)
+
+# ContentController implementation
+
+(content-controller-impl
+  ((org.objectweb.fractal.julia.asm.MixinClassGenerator
+    ContentControllerImpl
+    org.objectweb.fractal.julia.BasicControllerMixin
+    org.objectweb.fractal.julia.UseComponentMixin
+    org.objectweb.fractal.julia.control.content.BasicContentControllerMixin
+    # to check some basic pre conditions, and to prevent hierarchy cycles:
+    org.objectweb.fractal.julia.control.content.CheckContentMixin
+    # to check type related constraints in getFcInternalInterface:
+    org.objectweb.fractal.julia.control.content.TypeContentMixin
+    # to check binding locality related constraints in removeFcSubComponent:
+    org.objectweb.fractal.julia.control.content.BindingContentMixin
+    # to check lifecycle related constraints:
+    org.objectweb.fractal.julia.control.lifecycle.UseLifeCycleControllerMixin
+    org.objectweb.fractal.julia.control.content.LifeCycleContentMixin
+    # to notify sub components when they are added or removed from this 
component:
+    org.objectweb.fractal.julia.control.content.SuperContentMixin
+  ))
+)
+
+# SuperController implementation
+
+(super-controller-impl
+  ((org.objectweb.fractal.julia.asm.MixinClassGenerator
+    SuperControllerImpl
+    org.objectweb.fractal.julia.BasicControllerMixin
+    org.objectweb.fractal.julia.control.content.BasicSuperControllerMixin
+  ))
+)
+
+# LifeCycleController implementation (for primitive or composite components)
+
+(lifecycle-controller-impl
+  ((org.objectweb.fractal.julia.asm.MixinClassGenerator
+    LifeCycleControllerImpl
+    org.objectweb.fractal.julia.BasicControllerMixin
+    org.objectweb.fractal.julia.UseComponentMixin
+    
org.objectweb.fractal.julia.control.lifecycle.BasicLifeCycleCoordinatorMixin
+    
org.objectweb.fractal.julia.control.lifecycle.BasicLifeCycleControllerMixin
+    # to check that mandatory client interfaces are bound in startFc:
+    org.objectweb.fractal.julia.control.lifecycle.TypeLifeCycleMixin
+    # to notify the encapsulated component (if present) when its state 
changes:
+    org.objectweb.fractal.julia.control.lifecycle.ContainerLifeCycleMixin
+  ))
+)
+
+# LifeCycleController implementation (for composite components only)
+
+(composite-lifecycle-controller-impl
+  ((org.objectweb.fractal.julia.asm.MixinClassGenerator
+    CompositeLifeCycleControllerImpl
+    org.objectweb.fractal.julia.BasicControllerMixin
+    org.objectweb.fractal.julia.UseComponentMixin
+    
org.objectweb.fractal.julia.control.lifecycle.BasicLifeCycleCoordinatorMixin
+    
org.objectweb.fractal.julia.control.lifecycle.OptimizedLifeCycleControllerMixin
+    # to check that mandatory client interfaces are bound in startFc:
+    org.objectweb.fractal.julia.control.lifecycle.TypeLifeCycleMixin
+  ))
+)
+
+# NameController implementation
+
+(name-controller-impl
+  ((org.objectweb.fractal.julia.asm.MixinClassGenerator
+    NameControllerImpl
+    org.objectweb.fractal.julia.BasicControllerMixin
+    org.objectweb.fractal.julia.control.name.BasicNameControllerMixin
+  ))
+)
+
+# 
-----------------------------------------------------------------------------
+# CONTROLLER DESCRIPTORS
+# 
-----------------------------------------------------------------------------
+
+(optimizationLevel
+  # choose one of the following optimization options:
+  none
+  # mergeControllers
+  # mergeControllersAndInterceptors
+  # mergeControllersAndContent
+  # mergeControllersInterceptorsAndContent
+)
+
+(bootstrap
+  (
+    'interface-class-generator
+    (
+      'component-itf
+      'type-factory-itf
+      'generic-factory-itf
+      (loader org.objectweb.fractal.julia.loader.Loader)
+    )
+    (
+      'component-impl
+      'type-factory-impl
+      'generic-factory-impl
+      # choose one of the following classes:
+      # the first one loads all classes from the classpath
+      # the second one can generate missing classes on the fly, dynamically
+      # org.objectweb.fractal.julia.loader.BasicLoader
+      org.objectweb.fractal.julia.loader.DynamicLoader
+    )
+    (
+      # no interceptors
+    )
+    org.objectweb.fractal.julia.asm.MergeClassGenerator
+    none
+  )
+)
+
+(primitive
+  (
+    'interface-class-generator
+    (
+      'component-itf
+      'binding-controller-itf
+      'super-controller-itf
+      # only if super-controller-itf does not designate the Julia interface:
+      # 'julia-super-controller-itf
+      'lifecycle-controller-itf
+      # only if lifecycle-controller-itf does not designate the Julia 
interface:
+      # 'julia-lifecycle-controller-itf
+      'name-controller-itf
+    )
+    (
+      'component-impl
+      'container-binding-controller-impl
+      'super-controller-impl
+      'lifecycle-controller-impl
+      'name-controller-impl
+    )
+    (
+      (org.objectweb.fractal.julia.asm.InterceptorClassGenerator
+        org.objectweb.fractal.julia.asm.LifeCycleCodeGenerator
+      )
+    )
+    org.objectweb.fractal.julia.asm.MergeClassGenerator
+    'optimizationLevel
+  )
+)
+
+(parametricPrimitive
+  'primitive
+)
+
+(composite
+  (
+    'interface-class-generator
+    (
+      'component-itf
+      'binding-controller-itf
+      'content-controller-itf
+      'super-controller-itf
+      # only if super-controller-itf does not designate the Julia interface:
+      # 'julia-super-controller-itf
+      'lifecycle-controller-itf
+      # only if lifecycle-controller-itf does not designate the Julia 
interface:
+      # 'julia-lifecycle-controller-itf
+      'name-controller-itf
+    )
+    (
+      'component-impl
+      'composite-binding-controller-impl
+      'content-controller-impl
+      'super-controller-impl
+      'composite-lifecycle-controller-impl
+      'name-controller-impl
+    )
+    (
+      # no interceptors
+    )
+    org.objectweb.fractal.julia.asm.MergeClassGenerator
+    'optimizationLevel
+  )
+)
+
+(parametricComposite
+  (
+    'interface-class-generator
+    (
+      'component-itf
+      'binding-controller-itf
+      'content-controller-itf
+      'super-controller-itf
+      # only if super-controller-itf does not designate the Julia interface:
+      # 'julia-super-controller-itf
+      'lifecycle-controller-itf
+      # only if lifecycle-controller-itf does not designate the Julia 
interface:
+      # 'julia-lifecycle-controller-itf
+      'name-controller-itf
+    )
+    (
+      'component-impl
+      ((org.objectweb.fractal.julia.asm.AttributeControllerClassGenerator
+        ('attributeControllerInterface)
+      ))
+      'composite-binding-controller-impl
+      'content-controller-impl
+      'super-controller-impl
+      'composite-lifecycle-controller-impl
+      'name-controller-impl
+    )
+    (
+      # no interceptors
+    )
+    org.objectweb.fractal.julia.asm.MergeClassGenerator
+    'optimizationLevel
+  )
+)
+
+(primitiveTemplate
+  (
+    'interface-class-generator
+    (
+      'component-itf
+      'binding-controller-itf
+      'super-controller-itf
+      # only if super-controller-itf does not designate the Julia interface:
+      # 'julia-super-controller-itf
+      'name-controller-itf
+      'factory-itf
+      # only if factory-itf does not designate the Julia interface:
+      # 'julia-factory-itf
+    )
+    (
+      'component-impl
+      'primitive-binding-controller-impl
+      'super-controller-impl
+      'name-controller-impl
+      'factory-impl
+    )
+    (
+      # no interceptors
+    )
+    org.objectweb.fractal.julia.asm.MergeClassGenerator
+    'optimizationLevel
+  )
+)
+
+(parametricPrimitiveTemplate
+  (
+    'interface-class-generator
+    (
+      'component-itf
+      'julia-attribute-controller-itf
+      'binding-controller-itf
+      'super-controller-itf
+      # only if super-controller-itf does not designate the Julia interface:
+      # 'julia-super-controller-itf
+      'name-controller-itf
+      'factory-itf
+      # only if factory-itf does not designate the Julia interface:
+      # 'julia-factory-itf
+    )
+    (
+      'component-impl
+      ((org.objectweb.fractal.julia.asm.AttributeControllerClassGenerator
+        ('attributeControllerInterface)
+      ))
+      'primitive-binding-controller-impl
+      'super-controller-impl
+      'name-controller-impl
+      'factory-impl
+    )
+    (
+      # no interceptors
+    )
+    org.objectweb.fractal.julia.asm.MergeClassGenerator
+    'optimizationLevel
+  )
+)
+
+(compositeTemplate
+  (
+    'interface-class-generator
+    (
+      'component-itf
+      'binding-controller-itf
+      'content-controller-itf
+      'super-controller-itf
+      # only if super-controller-itf does not designate the Julia interface:
+      # 'julia-super-controller-itf
+      'name-controller-itf
+      'factory-itf
+      # only if factory-itf does not designate the Julia interface:
+      # 'julia-factory-itf
+    )
+    (
+      'component-impl
+      'composite-binding-controller-impl
+      'content-controller-impl
+      'super-controller-impl
+      'name-controller-impl
+      'factory-impl
+    )
+    (
+      # no interceptors
+    )
+    org.objectweb.fractal.julia.asm.MergeClassGenerator
+    'optimizationLevel
+  )
+)
+
+(parametricCompositeTemplate
+  (
+    'interface-class-generator
+    (
+      'component-itf
+      'julia-attribute-controller-itf
+      'binding-controller-itf
+      'content-controller-itf
+      'super-controller-itf
+      # only if super-controller-itf does not designate the Julia interface:
+      # 'julia-super-controller-itf
+      'name-controller-itf
+      'factory-itf
+      # only if factory-itf does not designate the Julia interface:
+      # 'julia-factory-itf
+    )
+    (
+      'component-impl
+      ((org.objectweb.fractal.julia.asm.AttributeControllerClassGenerator
+        ('attributeControllerInterface)
+      ))
+      'composite-binding-controller-impl
+      'content-controller-impl
+      'super-controller-impl
+      'name-controller-impl
+      'factory-impl
+    )
+    (
+      # no interceptors
+    )
+    org.objectweb.fractal.julia.asm.MergeClassGenerator
+    'optimizationLevel
+  )
+)
+
+###############################################################################
+# CUSTOM CONFIGURATION INFORMATION
+###############################################################################
+
+# no custom definitions
Index: fractal-xdoclet/example/src/monolog/monolog.properties
diff -u /dev/null fractal-xdoclet/example/src/monolog/monolog.properties:1.1
--- /dev/null   Thu Dec 16 17:57:19 2004
+++ fractal-xdoclet/example/src/monolog/monolog.properties      Thu Dec 16 
17:57:19 2004
@@ -0,0 +1,54 @@
+# ==================================================================== 
+#                                                                      
+# GoTM: GoTM is an open Transaction Monitor                                  
             
+# Copyright (C) 2000-2004 INRIA - USTL - LIFL - GOAL                   
+# Contact: gotm@xxxxxxxxxxxxx                                       
+#                                                                      
+# This library is free software; you can redistribute it and/or        
+# modify it under the terms of the GNU Lesser General Public           
+# License as published by the Free Software Foundation; either         
+# version 2.1 of the License, or any later version.                    
+#                                                                      
+# This library is distributed in the hope that it will be useful,      
+# but WITHOUT ANY WARRANTY; without even the implied warranty of       
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU     
+# Lesser General Public License for more details.                      
+#                                                                      
+# You should have received a copy of the GNU Lesser General Public     
+# License along with this library; if not, write to the Free Software  
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 
+# USA                                                                  
+#                                                                      
+# Initial developer(s): Romain Rouvoy                                  
+# Contributor(s):                                                      
+#                                                                      
+# ==================================================================== 
+# $Id: monolog.properties,v 1.1 2004/12/16 16:57:19 rouvoy Exp $ 
+# ==================================================================== 
+# Log configuration file #
+
+# Define which wrapper to use (= log4j)
+log.config.classname 
org.objectweb.util.monolog.wrapper.log4j.MonologLoggerFactory
+
+# tty : simple console handler
+handler.tty.type Console
+handler.tty.output System.out
+#handler.tty.pattern  <%h> [%-3t{1}]: %m%n
+handler.tty.pattern [%-3t{1}]: %m%n
+
+# logf : file handler with extended headers
+#handler.logf.type File
+#handler.logf.output gotm.log
+#handler.logf.pattern  <%-3t{1}> [%10r] %7p - %m%n
+
+# root definition for all loggers
+logger.root.handler.0 tty
+logger.root.level DEBUG
+
+# Launcher Traces for handlers:
+# o tty --> prints logs to the standart output
+# o logf --> prints log to a file (monolog.log)
+
+logger.org.objectweb.gotm.handler.0 tty
+logger.org.objectweb.gotm.additivity false
+logger.org.objectweb.gotm.level DEBUG
Index: fractal-xdoclet/lib/xdoclet/commons-collections-2.0.jar
cvs rdiff: failed to read diff file header /tmp/cvsRG8vlw for 
commons-collections-2.0.jar,v: end of file
Index: fractal-xdoclet/lib/xdoclet/commons-logging.jar
cvs rdiff: failed to read diff file header /tmp/cvsO8q2mx for 
commons-logging.jar,v: end of file
Index: fractal-xdoclet/lib/xdoclet/log4j.jar
cvs rdiff: failed to read diff file header /tmp/cvshd5fcr for log4j.jar,v: 
end of file
Index: fractal-xdoclet/lib/xdoclet/xdoclet-1.3-SNAPSHOT.jar
cvs rdiff: failed to read diff file header /tmp/cvs4dkM9s for 
xdoclet-1.3-SNAPSHOT.jar,v: end of file
Index: fractal-xdoclet/lib/xdoclet/xdoclet-xml.xdt
diff -u /dev/null fractal-xdoclet/lib/xdoclet/xdoclet-xml.xdt:1.1
--- /dev/null   Thu Dec 16 17:57:19 2004
+++ fractal-xdoclet/lib/xdoclet/xdoclet-xml.xdt Thu Dec 16 17:57:18 2004
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+<!DOCTYPE xdoclet-module PUBLIC "-//XDoclet Team//DTD XDoclet Module 
1.0//EN" "http://xdoclet.sourceforge.net/dtd/xdoclet-module_1_0.dtd";>
+-->
+
+<XDtComment:comment>
+This template builds the deployment descriptor for modules
+</XDtComment:comment>
+
+<xdoclet-module>
+    <!--
+    <XDtClass:forAllClasses>
+    <XDtClass:fullClassName/>
+    </XDtClass:forAllClasses>
+    -->
+
+   <XDtClass:forAllClasses type="xdoclet.template.TemplateTagHandler" 
abstract="false">
+    <taghandler
+        namespace="<XDtClass:classTagValue tagName="xdoclet.taghandler" 
paramName="namespace" mandatory="true"/>"
+        class="<XDtClass:fullClassName/>"
+    />
+   </XDtClass:forAllClasses>
+
+   <XDtClass:forAllClasses type="xdoclet.SubTask" abstract="false">
+    <subtask
+        name="<XDtClass:classTagValue tagName="ant.element" paramName="name" 
 mandatory="true"/>"
+        implementation-class="<XDtClass:fullClassName/>"
+        parent-task-class="<XDtClass:classTagValue tagName="ant.element" 
paramName="parent" mandatory="true"/>"
+    />
+   </XDtClass:forAllClasses>
+</xdoclet-module>
Index: fractal-xdoclet/lib/xdoclet/xjavadoc-1.1.jar
cvs rdiff: failed to read diff file header /tmp/cvssfHFcC for 
xjavadoc-1.1.jar,v: end of file
Index: 
fractal-xdoclet/src/java/org/objectweb/fractal/xdoclet/FcAdlSubTask.java
diff -u /dev/null 
fractal-xdoclet/src/java/org/objectweb/fractal/xdoclet/FcAdlSubTask.java:1.1
--- /dev/null   Thu Dec 16 17:57:19 2004
+++ fractal-xdoclet/src/java/org/objectweb/fractal/xdoclet/FcAdlSubTask.java  
  Thu Dec 16 17:57:19 2004
@@ -0,0 +1,125 @@
+/*====================================================================
+
+GoTM: GoTM is an open Transaction Monitor
+Copyright (C) 2000-2004 INRIA & USTL - LIFL - GOAL
+Contact: gotm-team@xxxxxxxxxxxxx
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or any later version.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
+USA
+
+Initial developer(s): Romain Rouvoy.
+Contributor(s): .
+
+---------------------------------------------------------------------
+$Id: FcAdlSubTask.java,v 1.1 2004/12/16 16:57:19 rouvoy Exp $
+====================================================================*/
+package org.objectweb.fractal.xdoclet;
+
+import xdoclet.TemplateSubTask;
+
+/**
+ * @author <a href="mailto:Romain.Rouvoy@xxxxxxx";>Romain Rouvoy</a>
+ * @version $Revision: 1.1 $
+ * @created 15 déc. 2004
+ * @ant.element name="fractal-adl" parent="xdoclet.DocletTask" 
display-name="Standard Subtask for Fractal ADL generation"
+ */
+public class FcAdlSubTask 
+extends TemplateSubTask 
+{
+    private final static String FC_ADL_DTD = "basic.dtd";
+    private final static String FC_ADL_DEFAULT_TEMPLATE = 
"resources/FractalADLDescriptor.xdt";
+    private final static String FC_PREFIX = "Fc";
+    
+    private String dtd = FC_ADL_DTD;
+    private String prefix = FC_PREFIX ;
+    private String suffix = "" ;
+    private String templateController ;
+    private String controller ;
+    
+    /**
+     * @return Returns the prefix.
+     */
+    public final String getPrefix() {
+        return this.prefix;
+    }
+    /**
+     * @param prefix The prefix to set.
+     */
+    public final void setPrefix(final String prefix) {
+        this.prefix = prefix;
+    }
+    /**
+     * @return Returns the suffix.
+     */
+    public final String getSuffix() {
+        return this.suffix;
+    }
+    /**
+     * @param suffix The suffix to set.
+     */
+    public final void setSuffix(final String suffix) {
+        this.suffix = suffix;
+    }
+    /**
+     * @return Returns the controller.
+     */
+    public final String getController() {
+        return this.controller;
+    }
+
+    /**
+     * @param controller The controller to set.
+     */
+    public final void setController(final String controller) {
+        this.controller = controller;
+    }
+
+    /**
+     * @return Returns the templateController.
+     */
+    public final String getTemplateController() {
+        return this.templateController;
+    }
+    
+    /**
+     * @param templateController The templateController to set.
+     */
+    public final void setTemplateController(final String templateController) 
{
+        this.templateController = templateController;
+    }
+    /**
+     * @return Returns the dtd.
+     */
+    public final String getDtd() {
+        return this.dtd;
+    }
+
+    /**
+     * @param dtd The dtd to set.
+     */
+    public final void setDtd(final String dtd) {
+        this.dtd = dtd;
+    }
+
+    /**
+     * Default Constructor.
+     */
+    public FcAdlSubTask() {
+        super();
+        
super.setTemplateURL(getClass().getResource(FC_ADL_DEFAULT_TEMPLATE));
+        super.setDestinationFile(getPrefix()+"{0}"+getSuffix()+".fractal");
+        super.setHavingClassTag("fractal");
+    }
+}
Index: 
fractal-xdoclet/src/java/org/objectweb/fractal/xdoclet/FractalTagsHandler.java
diff -u /dev/null 
fractal-xdoclet/src/java/org/objectweb/fractal/xdoclet/FractalTagsHandler.java:1.1
--- /dev/null   Thu Dec 16 17:57:19 2004
+++ 
fractal-xdoclet/src/java/org/objectweb/fractal/xdoclet/FractalTagsHandler.java
      Thu Dec 16 17:57:19 2004
@@ -0,0 +1,329 @@
+/*====================================================================
+ 
+ GoTM: GoTM is an open Transaction Monitor
+ Copyright (C) 2000-2004 INRIA & USTL - LIFL - GOAL
+ Contact: gotm-team@xxxxxxxxxxxxx
+ 
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or any later version.
+ 
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ Lesser General Public License for more details.
+ 
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
+ USA
+ 
+ Initial developer(s): Romain Rouvoy.
+ Contributor(s): .
+ 
+ ---------------------------------------------------------------------
+ $Id: FractalTagsHandler.java,v 1.1 2004/12/16 16:57:19 rouvoy Exp $
+ ====================================================================*/
+package org.objectweb.fractal.xdoclet;
+
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Iterator;
+import java.util.Properties;
+
+import org.apache.commons.logging.Log;
+
+import xdoclet.XDocletException;
+import xdoclet.tagshandler.ClassTagsHandler;
+import xdoclet.util.LogUtil;
+import xjavadoc.XClass;
+import xjavadoc.XField;
+
+/**
+ * Tags relating to Fractal components being processed and class-level 
attributes.
+ * @author <a href="mailto:Romain.Rouvoy@xxxxxxx";>Romain Rouvoy</a>
+ * @version $Revision: 1.1 $
+ * @xdoclet.taghandler namespace="Fractal"
+ */
+public class FractalTagsHandler 
+extends ClassTagsHandler 
+{
+    /**
+     * @param itf the interface to check.
+     * @return true if the requested interface is an AttributeController 
interface.
+     */
+    protected boolean isAttributeController(XClass itf) {
+        return 
itf.isImplementingInterface("org.objectweb.fractal.api.control.AttributeController");
+    }
+    
+    /**
+     * @param itf the interface to check.
+     * @return true if the interface is a controller.
+     */
+    protected boolean isController(XClass itf) {
+        if(isAttributeController(itf))
+            return true;
+        if(itf.isA("org.objectweb.fractal.api.control.BindingController"))
+            return true;
+        if(itf.isA("org.objectweb.fractal.api.control.LifeCycleController"))
+            return true;
+        return false;
+    }
+
+    /**
+     * @return the list of server interfaces (without controllers).
+     */
+    protected List getFcInterfaces() {
+        Iterator initial = getCurrentClass().getInterfaces().iterator();
+        List itfs = new LinkedList();
+        while(initial.hasNext()) {
+            XClass itf = (XClass) initial.next();
+            if (!isController(itf))
+                itfs.add(itf);
+        }
+        return itfs;
+    }
+    
+    /**
+     * @return An iterator on the server interfaces.
+     */
+    protected Iterator interfaceIterator() {
+        return getFcInterfaces().iterator();
+    }
+    
+    /**
+     * @return true if the component has server interfaces (controllers are 
not considered).
+     */
+    protected boolean ifHasInterfaces() {
+        try {
+            return !getFcInterfaces().isEmpty();            
+        } catch (NullPointerException ex) { return false; }
+    }
+    
+    protected boolean ifHasSuperComponent() {
+        try {
+            return (getCurrentClass().getSuperclass() != null);
+        } catch (NullPointerException ex) { return false; }
+    }
+
+    
+    /**
+     * @param template the url of the generated file.
+     * @throws XDocletException
+     * @doc.tag type="block"
+     */
+    public void ifHasInterfaces(String template) throws XDocletException {
+        if (ifHasInterfaces()||ifHasSuperComponent()) generate(template);
+    } 
+
+    /**
+     * @param template the url of the generated file.
+     * @throws XDocletException
+     * @doc.tag type="block"
+     */
+    public void ifHasAttributeController(String template) throws 
XDocletException {
+        XClass oldClass = getCurrentClass();
+        Iterator initial = oldClass.getInterfaces().iterator();
+        while(initial.hasNext()) {
+            XClass itf = (XClass) initial.next();
+            if (isAttributeController(itf)) {
+//                pushCurrentClass(itf);
+                generate(template);
+            }
+        }
+//        setCurrentClass(oldClass);
+    }
+    
+    
+    
+    /**
+     * Iterates over all implemented server interfaces.
+     * @param template the url of the generated file.
+     * @throws XDocletException
+     * @doc.tag type="block"
+     */
+    public void forAllInterfaces(String template) throws XDocletException {
+        XClass oldClass = getCurrentClass();
+        Log log = LogUtil.getLog(FractalTagsHandler.class, 
"forAllInterfaces");
+
+        for (Iterator i = interfaceIterator();i.hasNext();) {
+            setCurrentClass((XClass)i.next());
+            log.debug("Interface identified "+getCurrentClass().getName());
+            generate(template);            
+        }
+        setCurrentClass(oldClass);
+    }
+    
+    
+    /**
+     * @param template The body of the block tag
+     * @param attributes The attributes of the template tag
+     * @throws XDocletException
+     * @doc.tag type="block"
+     * @doc.param name="tagName" optional="false" description="The tag name."
+     * @doc.param name="paramName" description="The parameter name. If not 
specified, then the raw
+     *      content of the tag is returned."
+     */
+    public void forAllInterfacesWithTag(String template, Properties 
attributes) throws XDocletException {
+        XClass oldClass = getCurrentClass();
+        Log log = LogUtil.getLog(FractalTagsHandler.class, 
"forAllInterfaces");
+        for (Iterator i = interfaceIterator();i.hasNext();) {
+            setCurrentClass((XClass)i.next());
+            log.debug("Interface identified: "+getCurrentClass().getName());
+            if (hasTag(attributes, FOR_CLASS)) {
+                generate(template);            
+            }
+        }
+        setCurrentClass(oldClass);        
+    }
+    
+    /**
+     * @param template The body of the block tag
+     * @param attributes The attributes of the template tag
+     * @throws XDocletException
+     * @doc.tag type="block"
+     * @doc.param name="tagName" optional="false" description="The tag name."
+     * @doc.param name="paramName" description="The parameter name. If not 
specified, then the raw
+     *      content of the tag is returned."
+     */
+    public void forAllInterfacesWithoutTag(String template, Properties 
attributes) throws XDocletException {
+        XClass oldClass = getCurrentClass();
+        Log log = LogUtil.getLog(FractalTagsHandler.class, 
"forAllInterfaces");
+
+        for (Iterator i = interfaceIterator();i.hasNext();) {
+            setCurrentClass((XClass)i.next());
+            log.debug("Interface identified: "+getCurrentClass().getName());
+            if (!hasTag(attributes, FOR_CLASS)) {
+                generate(template);            
+            }
+        }
+        setCurrentClass(oldClass);        
+    }
+        
+    /**
+     * @return the short name of the component.
+     * @throws XDocletException
+     * @doc.tag type="content"
+     */
+    public String componentName() throws XDocletException {
+        return "Fc"+className();
+    }
+    
+    /**
+     * @return the full component name
+     * @throws XDocletException
+     * @doc.tag type="content"
+     */
+    public String fullComponentName() throws XDocletException {
+        return fullClassName().replaceAll(className(), componentName());
+    }
+    
+    /**
+     * @return return the default name of the interface.
+     * @throws XDocletException
+     * @doc.tag type="content"
+     */
+    public String interfaceName() throws XDocletException {
+        return className().toLowerCase();
+    }
+    
+    /**
+     * @return the full classname of the interface implementing the 
AttributeController
+     * @throws XDocletException
+     * @doc.tag type="content"
+     */
+    public String fullAttributeController() throws XDocletException {
+        Iterator initial = getCurrentClass().getInterfaces().iterator();
+        while(initial.hasNext()) {
+            XClass itf = (XClass) initial.next();
+            if (isAttributeController(itf))
+                return itf.getQualifiedName();
+        }
+        throw new XDocletException("No AttributeController is defined.");
+    }
+    
+    /**
+     * @param current
+     * @param buffer the buffer to fill.
+     * @param attributes the attributes
+     * @throws XDocletException
+     */
+    protected void appendDefinition(XClass current, StringBuffer buffer, 
final Properties attributes) throws XDocletException{
+        boolean first = (buffer.length()==0);
+        setCurrentClass(current);
+        if (hasTag(attributes, FOR_CLASS)) {
+            if (!first) buffer.append(",");
+            buffer.append(fullComponentName());
+        }
+    }
+    
+    /**
+     * @return
+     * @param attributes
+     * @throws XDocletException
+     * @doc.tag type="content"
+     */
+    public String extendClause(Properties attributes) throws 
XDocletException{
+        XClass oldClass = getCurrentClass();
+        StringBuffer buffer = new StringBuffer();
+        if (ifHasSuperComponent())
+            appendDefinition(getCurrentClass().getSuperclass(),buffer, 
attributes);
+        setCurrentClass(oldClass);        
+        for (Iterator i = interfaceIterator();i.hasNext();)