OW2 Consortium
Search OW2 Mail Archive: 

Advanced Search - Powered by Google


Mail Archive Home | fractal-commits List | July 2008 Index

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

[fractal-commits] [8311] tags: [maven-release-plugin] copy for tag FRACTAL_BF_03


Title: [8311] tags: [maven-release-plugin] copy for tag FRACTAL_BF_03
Revision
8311
Author
ervalerio
Date
2008-07-23 12:23:41 +0200 (Wed, 23 Jul 2008)

Log Message

[maven-release-plugin]  copy for tag FRACTAL_BF_03

Added Paths

Removed Paths

Diff

Copied: tags/FRACTAL_BF_03 (from rev 7841, sandbox/ervalerio/fractal-bf)

Deleted: tags/FRACTAL_BF_03/.settings/org.eclipse.jdt.core.prefs (7841 => 8311)


--- sandbox/ervalerio/fractal-bf/.settings/org.eclipse.jdt.core.prefs	2008-06-03 22:16:40 UTC (rev 7841)
+++ tags/FRACTAL_BF_03/.settings/org.eclipse.jdt.core.prefs	2008-07-23 10:23:41 UTC (rev 8311)
@@ -1,3 +0,0 @@
-#Wed May 21 12:37:37 CEST 2008
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=ignore

Copied: tags/FRACTAL_BF_03/.settings/org.eclipse.jdt.core.prefs (from rev 7872, sandbox/ervalerio/fractal-bf/.settings/org.eclipse.jdt.core.prefs) (0 => 8311)


--- tags/FRACTAL_BF_03/.settings/org.eclipse.jdt.core.prefs	                        (rev 0)
+++ tags/FRACTAL_BF_03/.settings/org.eclipse.jdt.core.prefs	2008-07-23 10:23:41 UTC (rev 8311)
@@ -0,0 +1,3 @@
+#Tue Jun 03 23:46:07 CEST 2008
+eclipse.preferences.version=1
+org.eclipse.jdt.core.builder.cleanOutputFolder=ignore

Copied: tags/FRACTAL_BF_03/.settings/org.maven.ide.eclipse.prefs (from rev 7872, sandbox/ervalerio/fractal-bf/.settings/org.maven.ide.eclipse.prefs) (0 => 8311)


--- tags/FRACTAL_BF_03/.settings/org.maven.ide.eclipse.prefs	                        (rev 0)
+++ tags/FRACTAL_BF_03/.settings/org.maven.ide.eclipse.prefs	2008-07-23 10:23:41 UTC (rev 8311)
@@ -0,0 +1,9 @@
+#Tue Jun 03 23:46:05 CEST 2008
+activeProfiles=
+eclipse.preferences.version=1
+filterResources=false
+includeModules=false
+resolveWorkspaceProjects=true
+resourceFilterGoals=process-resources resources\:testResources
+useMavenFolders=false
+version=1

Deleted: tags/FRACTAL_BF_03/README.txt (7841 => 8311)


--- sandbox/ervalerio/fractal-bf/README.txt	2008-06-03 22:16:40 UTC (rev 7841)
+++ tags/FRACTAL_BF_03/README.txt	2008-07-23 10:23:41 UTC (rev 8311)
@@ -1,119 +0,0 @@
-============================================================================
-Fractal Binding Factory.
-Copyright (C) 2007-2008 INRIA, SARDES
-
-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: Valerio.Schiavoni@xxxxxxxxx
-
-Author: Valerio Schiavoni
-
-============================================================================
-
-Fractal Binding Factory 0.2
---------------------
-
-The Binding Factory provides support for establishing remote connections between
-Fractal components using diverse protocols. The Binding Factory can expose a Fractal
-server interface as a webservice or can register it into a RMI registry, or can make it
-available for group-RPC, and so on, each one via the same APIs.
-
-Table of content
-----------------
-  1. Requirements
-  2. Introduction
-  3. Compiling and installing Fractal Binding Factory artifacts
-  4. Running the sample applications
-  5. Using the Fractal Binding Factory via FractalADL
-  6. Using the Fractal Binding Factory via the Fractal Binding Factory APIs
-  7. Developing a new plugin
-  8. References
-  
-1. Requirements
----------------
-Maven 2.0.x is required to compile and run the Fractal Binding Factory.
-See http://maven.apache.org for instructions on downloading and using Maven.
-
-2. Introduction
----------------
-The Fractal Binding Factory is decoupled in several main maven artifacts
- 
- - the fractal-bf-core : This is the main module containing implementation
-   of the binding factory APIs allowing to load plugins and to generate stub and skeletons
- 
- - the fractal-bf-adl : an extension to the Fractal ADL to be able to use
-   the binding factory API as easily as possible
-   
- - the connectors : also known as plugins, this module stores the currently available plugins
-  the binding factory; 
-
-Severals sample applications are also available in th examples/ directory.
-
-
-3. Compiling and installing Fractal Binding Factory artifacts
-------------------------------------------------------
-To compile and install all the modules in your Maven
-local repository, from the root directory of the Fractal Binding Factory, type:
-mvn clean install
-
-
-4. Running the sample applications
-----------------------------------
-Samples applications are available in the examples/
-directory. Read the README.txt file into each of the directories for
-detailed explanations.
-
-
-5. Using the Fractal Binding Factory via FractalADL
---------------------------------------------------------
-The fractal-bf-adl module provides an extension the Fractal ADL toolchain to easily use
-the Fractal Binding Factory. Consider the following ADL example, taken from the
-examples/helloworld module:
-
-01 <!DOCTYPE definition PUBLIC "-//objectweb.org//DTD Fractal ADL 2.0//EN" "classpath://org/objectweb/fractal/bf/adl/xml/standard-bf.dtd">
-02 <definition name="org.objectweb.fractal.bf.Service">
-03 <interface name="service" role="server" signature="org.objectweb.fractal.bf.Service" />
-04	<component name="service">
-05		<interface name="service" role="server"
-06			signature="org.objectweb.fractal.bf.Service" />
-07		<content class="org.objectweb.fractal.bf.ServiceImpl" />
-08	</component>
-09	<binding client="this.service" server="service.service" />
-10    <exporter type="ws" interface="service.service">
-11		<parameter name="address" value="http://localhost:8080/Service" />
-12	</exporter>
-13 </definition>
-
-
-6. Using the Fractal Binding Factory via the Fractal Binding Factory APIs
-----------------------------------------------------------------
-
-TODO
-
-7. Developing a new plugin
-----------------------------------------------------------------
-
-TODO
-
-8. References
--------------
- - Maven    : http://maven.apache.org
- - Fractal      : http://fractal.objectweb.org
- - FractalADL :
-
-
-For any question concerning the Fractal Binding Factory, please contact
-valerio.schiavoni@xxxxxxxxx
-Date of creation of this file: May 30, 2008.
\ No newline at end of file

Copied: tags/FRACTAL_BF_03/README.txt (from rev 8262, sandbox/ervalerio/fractal-bf/README.txt) (0 => 8311)


--- tags/FRACTAL_BF_03/README.txt	                        (rev 0)
+++ tags/FRACTAL_BF_03/README.txt	2008-07-23 10:23:41 UTC (rev 8311)
@@ -0,0 +1,325 @@
+============================================================================
+Fractal Binding Factory.
+Copyright (C) 2007-2008 INRIA, SARDES
+
+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: Valerio.Schiavoni@xxxxxxxxx
+
+Author: Valerio Schiavoni
+
+============================================================================
+
+Fractal Binding Factory 0.3
+---------------------------
+
+The Fractal Binding Factory (BF, from now on) provides support for establishing remote 
+bindings between Fractal components using diverse protocols. The BF can expose a Fractal
+server interface as a web service or can register it into a RMI registry, or can make it
+available for group-RPC, and so on, each one via the same APIs. Also, it can transparently
+bind Fractal client interfaces to remotely available web services, or to services available
+into an RMI registry, and so on.
+
+Table of content
+----------------
+  1. Introduction
+  2. Compiling and installing the BF artifacts
+  3. Running the sample applications
+  4. Using the BF via its extension to FractalADL
+  5. Using the BF via the Java APIs
+  6. How to develop a new plugin
+  7. References
+  
+1. Introduction
+---------------
+The BF is a general purpose framework aimed at establishing remote bindings between Fractal components.
+Its design is built upon the "export-bind" pattern (see: http://sardes.inrialpes.fr/papers/files/05-Krakowiak-CFSE-eng.pdf
+for further details). 
+Two main entities are made available by the BF:
+ - exporters: these entities are able to export a given interface so that it's available through
+  some distributed communication protocol;
+ - binders: these entities can establish a so-called "distributed binding" between a local interface and a previously
+  exported one, using some distributed communication protocol;
+
+These two key entities are available at different levels throughout the BF: when using FractalADL (see Sec.4), the user
+can declare <exporter> and <binder> elements; when using the Java APIs (see Sec.5), two operations (export/bind) are 
+made available to the developer.
+
+The specific semantic of the export and bind operations is protocol specific: exporting an interface using a 
+soap-protocol means to let it accepts remote calls through web-service clients; doing so
+using a rmi protocol means to register it into an RMI registry, and so on.
+
+The result of an export operation is the generation of a so-called skeleton; conversely, the result of a bind
+operation is a so-called stub. Stubs and skeletons are themselves Fractal components: this brings all the features
+deriving from a Fractal personality (for instance, it is possible to manage them through tools like Fractal Explorer).
+Currently, most of the generation of the code for these components is done at runtime, leveraging JDK's dynamic proxies
+or other bytecode generation mechanisms. 
+
+It would be technically possible to pre-generate the source-code of stub and skeleton components, but such feature 
+is not currently available.
+
+
+2. Compiling and installing BF artifacts
+------------------------------------------------------
+The BF sources is organized into several Maven modules, among which:
+ 
+ - fractal-bf-core: it's the main module, it contains the default implementation
+   of the BF APIs allowing; it also contains the APIs to be implemented to provide 
+   new plugins;
+    
+ - fractal-bf-adl: an extension to the Fractal ADL to use
+   the BF;
+   
+ - connectors: this module stores the currently available  implementations of  connectors, to be used
+   by the core module; third parties connectors can be used as well;
+
+ - examples: a set of examples (the inevitable "helloworld", and many others), showcasing how to use the
+   BF APIs, the ADL extension, and how to configure your projects accordingly;
+ 
+To compile and install the latest SNAPSHOT versions of all BF modules in your
+local Maven repository:
+ 
+ svn co svn+ssh://svn.forge.objectweb.org/svnroot/fractal/sandbox/ervalerio/fractal-bf fractal-bf-parent
+ cd fractal-bf-parent
+ mvn install
+ 
+ 2.1 Importing BF artifacts into your Maven-based project
+ ------------------------------------------------------
+If you don't want to compile the BF sources, and your project is based on the Maven build tool management, it is
+very easy to import the required libraries into your project.
+
+Add the OW2 repositories in your pom.xml file:
+ <!--OW2 repositories -->
+	<repositories>
+		<repository>
+			<id>objectweb-release</id>
+			<name>ObjectWeb Maven Repository</name>
+			<url>http://maven.objectweb.org/maven2</url>
+			<releases>
+				<enabled>true</enabled>
+			</releases>
+			<snapshots>
+				<enabled>false</enabled>
+			</snapshots>
+		</repository>
+		<repository>
+			<id>objectweb-snapshot</id>
+			<name>ObjectWeb Maven Repository</name>
+			<url>http://maven.objectweb.org/maven2-snapshot</url>
+			<releases>
+				<enabled>false</enabled>
+			</releases>
+			<snapshots>
+				<enabled>true</enabled>
+				<updatePolicy>daily</updatePolicy>
+			</snapshots>
+		</repository>
+	</repositories>
+	
+ 
+ Add the following dependencies in your pom.xml file:
+ 
+ <dependency>
+	 <groupId>org.objectweb.fractal.bf</groupId>
+	 <artifactId>fractal-bf-core</artifactId>
+	 <version>0.3</version>
+</dependency>
+<dependency>
+	<groupId> org.objectweb.fractal.bf </groupId>
+	<artifactId>fractal-bf-adl</artifactId>
+	<version>0.3</version>
+</dependency>
+<dependency>
+	<groupId>org.objectweb.fractal.bf.connectors</groupId>
+	<artifactId>fractal-bf-connectors-soap-cxf</artifactId>
+	<version>0.3</version>
+</dependency>
+
+3. Running the sample applications
+----------------------------------
+Samples applications are available in the examples/
+directory. Read the README.txt file into each of the directories for
+detailed explanations. 
+
+
+4. Using the BF via FractalADL
+--------------------------------------------------------
+The fractal-bf-adl module provides an extension the Fractal ADL toolchain, and it is the preferred way to 
+use the BF into your Fractal application.
+
+Consider the following ADL example:
+
+01 <!DOCTYPE definition PUBLIC "-//objectweb.org//DTD Fractal ADL 2.0//EN" "classpath://org/objectweb/fractal/bf/adl/xml/standard-bf.dtd">
+02 <definition name="org.objectweb.fractal.bf.Services">
+03 <interface name="print" role="server" signature="org.objectweb.fractal.bf.Print" />
+04	<component name="service">
+05		<interface name="print" role="server"
+06			signature="org.objectweb.fractal.bf.Print" />
+07		<content class="org.objectweb.fractal.bf.PrintImpl" />
+08	</component>
+09	<binding client="this.print" server="service.print" />
+10  <exporter type="ws" interface="service.print">
+11		<parameter name="address" value="http://localhost:8080/Print" />
+12	</exporter>
+13 </definition>
+
+Line 01 specifies the  standard-bf.dtd to declare in order to use BF: this DTD is an extension to the 
+default FractalADL standard.dtd, adding two more elements (namely, exporter and binder elements). This
+dtd file is available when importing the fractal-bf-adl module.
+ 
+Line 02 defines a composite component named 'Services'
+
+Line 03 defines an external 'print' server interface, whose java type is 'org.objectweb.fractal.bf.Print'.
+
+Lines 04-08 define a 'service' component with a server interface whose name is 'print'. 
+
+Line 09 defines an internal binding between the external 'print' server interface and the 'print' server
+interface of the 'service' component.
+
+Lines 10-12 define an 'exporter' element: two required attributes must be provided:
+ -type: a unique string identifier, used by the BF plugin resolver to load the appropriate plugin
+ -interface: a unique identifier for the interface to export; in this case, the 'service.print' identifies
+  the 'print' interface declared by the 'service' component
+
+Line 11 define a 'parameter' element: plugins might declare any number of <parameter> elements. Each parameter
+element requires two attributes:
+ - name : the name of attribute
+ - value: the value for the attribute
+ Parameter names are plugin-specifics. Using the Java APIs it's possible to retrieve the list of required attributes
+ declared by a plugin (see following section for further details).  
+ 
+== Maven users ==
+To use the fractal-bf-module, add the following dependency to your Maven-based pom.xml :
+
+<dependency>
+	<groupId> org.objectweb.fractal.bf </groupId>
+	<artifactId>fractal-bf-adl</artifactId>
+	<version>0.3</version>
+</dependency>
+
+5. Using the BF via the Java APIs
+----------------------------------------------------------------
+
+The following code shows a possible use of the Java APIs offered by the BF to export a server interface
+through the web-service plugin. The example assumes that the following ADL file is available in the classpath:
+
+01 <!DOCTYPE definition PUBLIC "-//objectweb.org//DTD Fractal ADL 2.0//EN" "classpath://org/objectweb/fractal/bf/adl/xml/standard.dtd">
+02 <definition name="org.objectweb.fractal.bf.Services">
+03 <interface name="print" role="server" signature="org.objectweb.fractal.bf.Print" />
+04	<component name="printer">
+05		<interface name="print" role="server"
+06			signature="org.objectweb.fractal.bf.Print" />
+07		<content class="org.objectweb.fractal.bf.PrintImpl" />
+08	</component>
+09	<binding client="this.print" server="printer.print" />
+10 </definition>
+
+The following java code is functionally equivalent to the ADL version shown before:
+it will load the above ADL file using the FractalADL factory, retrieve the BF and
+export its print interface as a web service. The main difference is that the ADL file is not using
+the dtd provided by the fractal-bf-adl module,i.e. this is a classical ADL file.
+
+public class BFDemo {
+  public static void main(String[] args) throws Exception{
+    Factory adlFactory = FactoryFactory.getFactory(FactoryFactory.FRACTAL_BACKEND);
+    Component services = (Component) adlFactory.newComponent("org.objectweb.fractal.bf.Services",new HashMap());
+    Component printer = ContentControllerHelper.getSubComponentByName(services,"printer");
+    Map<String, String> exportHints = new HashMap<String, String>();
+    exportHints.put(ExportMode.EXPORT_MODE, "ws");
+    exportHints.put("address", "http://localhost:8080/Service");
+    BindingFactory bindingFactory = BindingFactoryHelper.getBindingFactory();
+    bindingFactory.export(printer,"print",exportHints);
+  }
+}
+
+6. Developing a new connector
+----------------------------------------------------------------
+
+This section intends to provide guidelines and a simple walk-through to develop
+a new connector. Because of a plugin-based architecture of the core module of 
+the BF, connectors are considered as plugins: thus, the terms connector and plugin
+will be used interchangeably.
+
+** Please note that the following guide is based on version 0.3 of the BF APIs. **
+
+a) Define a unique ID. 
+ Example: "rss"
+
+b) Define the feed type
+ Example: version=atom1/atom2/etc
+
+c) Create a class modeling the export hints and provide getter/setter methods for them:
+ Example:
+public class RssExportHints implements ExportHints {
+   String version;
+   String feedType;
+   public String getVersion(){return this.version};
+   public void setVersion(String v){this.version=v};
+   ...
+}
+
+d) Create a class modeling the import hints and provide getter/setter methods for them:
+ Example:
+public class RssBindHints implements BindHints {
+ String version;
+ String feedType;
+   public String getVersion(){return this.version};
+   public void setVersion(String v){this.version=v};
+   ...
+}
+
+e) Extend the AbstractBindingFactoryPlugin class:
+ Example:
+public class RssConnector 
+    extends AbstractBindingFactoryPlugin<RssExportHints,RssBindHints>{
+  
+  public RssConnector{} //required
+  
+  public String getPluginIdentifier() {
+		return "rss";
+	}
+  public ExportHints getExportHints() {
+		RssExportHints rssExportHints = new RssExportHints();
+		rssExportHints.setVersion(this.initialHints.get("version"));
+		return rssExportHints;
+	}
+  public BindHints getBindHints() {
+		RssBindHints rssBindHints = new RssBindHints();
+		rssBindHints.setVersion(this.initialHints.get("version"));
+		return rssBindHints;
+	}
+	
+  public Component createSkel(String interfaceName, Object serverItf,
+			Component owner, RssExportHints rssExportHints)
+			throws SkeletonGenerationException {
+            ....
+  }
+}
+
+7. References
+-------------
+ - Maven      : http://maven.apache.org
+ - Fractal    : http://fractal.objectweb.org
+ - FractalADL : http://fractal.objectweb.org/fractaladl/index.html
+
+
+For any question concerning the Fractal Binding Factory, please contact
+valerio.schiavoni@xxxxxxxxx
+
+Questions concerning Fractal in general can be asked to the official mailing-list:
+http://mail.ow2.org/wws/info/fractal
+
+Last update of this file: July 14, 2008
+Date of creation of this file: May 30, 2008.

Deleted: tags/FRACTAL_BF_03/RELEASE_NOTES.txt (7841 => 8311)


--- sandbox/ervalerio/fractal-bf/RELEASE_NOTES.txt	2008-06-03 22:16:40 UTC (rev 7841)
+++ tags/FRACTAL_BF_03/RELEASE_NOTES.txt	2008-07-23 10:23:41 UTC (rev 8311)
@@ -1,27 +0,0 @@
-Fractal-BF 0.2
---------------
-* rmi plugin still broken (use at your own risk)
-* module 'util' removed: its functionalities are internal to the core module
-* API changes for plugin developers
-* core and ws modules use context  classloaders to load the classes required to generate stubs and skeletons
-* itests reorganized: every integration tests is now in the itests/ module
-Fixed issue:
-http://www.scorware.org/projects/SCOrWare/bugtracker/WS_plugin_depends_on_SNAPSHOT_version_of_Apache_CXF
-http://www.scorware.org/projects/SCOrWare/bugtracker/binding_factory_artifactId_should_start_with_fractal-bf_
-http://www.scorware.org/projects/SCOrWare/bugtracker/binding_ws_can_t_see_external_web_services
-http://www.scorware.org/projects/SCOrWare/bugtracker/ClassNotFoundException_if_classes_are_in_jar
-
-Fractal-BF 0.1
---------------
-* first release
-* plugins: 
-  - tcp-dream : TCP-based  ad-hoc RPC protocol, based on Dream (http://dream.objectweb.org);
-  - soap-cxf: webservice plugin, based on Apache CXF 2.0.6 (http://cxf.apache.org/);
-  - groupcomm-jgroups: export an interface so that it joins the specified group; this is useful to perform group RPC;
-  - rmi: export of interfaces into a local/remote Java RMI registry; the interface to be exported must be a subclass of java.rmi.Remote;
-* helloworld with primitive datatypes and complex showing how to use the soap-cxf/groupcomm-jgroups;
-* prototype of integration with Fractal Explorer
-* prototype of Hardware Description Language (HDL)
-* Fractal ADL extension
-
-Deployed on OW2 repositories May 20, 2008

Copied: tags/FRACTAL_BF_03/RELEASE_NOTES.txt (from rev 8302, sandbox/ervalerio/fractal-bf/RELEASE_NOTES.txt) (0 => 8311)


--- tags/FRACTAL_BF_03/RELEASE_NOTES.txt	                        (rev 0)
+++ tags/FRACTAL_BF_03/RELEASE_NOTES.txt	2008-07-23 10:23:41 UTC (rev 8311)
@@ -0,0 +1,53 @@
+Fractal-BF 0.4
+--------------
+* moved project into fractal trunk
+
+Fractal-BF 0.3
+--------------
+* first working version of RMI plugin
+* added one more example showing how to use the RMI plugin when dealing with interfaces to export or bind that
+  do not extends java.rmi.Remote
+* added one more example showing how to use the BF with a different fractal provider other than Julia.
+* significantly improving various README files
+* cleanup logging
+* stub/skeletons are added to the parent component instead of the topmost (request by Damien)
+* web-service plugin: upgrade to Apache CXF version 2.0.7
+* test suite upgrade to easymock 2.4
+* added more integration tests, in particular with different membranes (tinfi)
+
+Fixed issues:
+http://www.scorware.org/projects/SCOrWare/bugtracker/Standalone_WS_error_null_paramters
+http://www.scorware.org/projects/SCOrWare/bugtracker/AF_WS_bindings_Handling_exceptions_
+http://www.scorware.org/projects/SCOrWare/bugtracker/RmiConnectorException_on_the_helloworld-rmi_example
+http://www.scorware.org/projects/SCOrWare/bugtracker/Test_Case_Error_on_WebService_if_used_with_new_SCA_domain_for_each_testing_method_
+
+Fractal-BF 0.2
+--------------
+* RMI plugin still broken (use at your own risk)
+* module 'util' removed: its functionalities are internal to the core module
+* API changes for plugin developers
+* core and ws modules use context  classloaders to load the classes required to generate stubs and skeletons
+* itests reorganized: every integration tests is now in the itests/ module
+
+Fixed issues:
+http://www.scorware.org/projects/SCOrWare/bugtracker/WS_plugin_depends_on_SNAPSHOT_version_of_Apache_CXF
+http://www.scorware.org/projects/SCOrWare/bugtracker/binding_factory_artifactId_should_start_with_fractal-bf_
+http://www.scorware.org/projects/SCOrWare/bugtracker/binding_ws_can_t_see_external_web_services
+http://www.scorware.org/projects/SCOrWare/bugtracker/ClassNotFoundException_if_classes_are_in_jar
+
+Deployed on OW2 repositories June 3, 2008
+
+Fractal-BF 0.1
+--------------
+* first release
+* plugins: 
+  - tcp-dream : TCP-based  ad-hoc RPC protocol, based on Dream (http://dream.objectweb.org);
+  - soap-cxf: webservice plugin, based on Apache CXF 2.0.6 (http://cxf.apache.org/);
+  - groupcomm-jgroups: export an interface so that it joins the specified group; this is useful to perform group RPC;
+  - rmi: export of interfaces into a local/remote Java RMI registry; the interface to be exported must be a subclass of java.rmi.Remote;
+* helloworld with primitive datatypes and complex showing how to use the soap-cxf/groupcomm-jgroups;
+* prototype of integration with Fractal Explorer
+* prototype of Hardware Description Language (HDL)
+* Fractal ADL extension
+
+Deployed on OW2 repositories May 20, 2008

Deleted: tags/FRACTAL_BF_03/adl/.settings/org.eclipse.jdt.core.prefs (7841 => 8311)


--- sandbox/ervalerio/fractal-bf/adl/.settings/org.eclipse.jdt.core.prefs	2008-06-03 22:16:40 UTC (rev 7841)
+++ tags/FRACTAL_BF_03/adl/.settings/org.eclipse.jdt.core.prefs	2008-07-23 10:23:41 UTC (rev 8311)
@@ -1,3 +0,0 @@
-#Wed May 21 12:38:05 CEST 2008
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=ignore

Copied: tags/FRACTAL_BF_03/adl/.settings/org.eclipse.jdt.core.prefs (from rev 7860, sandbox/ervalerio/fractal-bf/adl/.settings/org.eclipse.jdt.core.prefs) (0 => 8311)


--- tags/FRACTAL_BF_03/adl/.settings/org.eclipse.jdt.core.prefs	                        (rev 0)
+++ tags/FRACTAL_BF_03/adl/.settings/org.eclipse.jdt.core.prefs	2008-07-23 10:23:41 UTC (rev 8311)
@@ -0,0 +1,3 @@
+#Tue Jun 03 23:46:35 CEST 2008
+eclipse.preferences.version=1
+org.eclipse.jdt.core.builder.cleanOutputFolder=ignore

Deleted: tags/FRACTAL_BF_03/adl/pom.xml (7841 => 8311)


--- sandbox/ervalerio/fractal-bf/adl/pom.xml	2008-06-03 22:16:40 UTC (rev 7841)
+++ tags/FRACTAL_BF_03/adl/pom.xml	2008-07-23 10:23:41 UTC (rev 8311)
@@ -1,161 +0,0 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-	<modelVersion>4.0.0</modelVersion>
-	<parent>
-		<groupId>org.objectweb.fractal.bf</groupId>
-		<artifactId>fractal-bf-parent</artifactId>
-		<version>0.3-SNAPSHOT</version>
-	</parent>
-	<artifactId>fractal-bf-adl</artifactId>
-	<version>0.3-SNAPSHOT</version>
-	<packaging>jar</packaging>
-	<name>Fractal-BF: ADL extension</name>
-	<description>
-		Extend Fractal-ADL to specify binding protocols.
-	</description>
-	<dependencies>
-
-		<dependency>
-			<groupId>org.objectweb.fractal</groupId>
-			<artifactId>fractal-api</artifactId>
-		</dependency>
-
-		<dependency>
-			<groupId>org.objectweb.fractal.bf</groupId>
-			<artifactId>fractal-bf-core</artifactId>
-			<version>${project.version}</version>
-		</dependency>
-
-		<dependency>
-			<groupId>org.objectweb.fractal.fractaladl</groupId>
-			<artifactId>fractal-adl</artifactId>
-		</dependency>
-
-		<dependency>
-			<groupId>org.objectweb.fractal.fractaladl</groupId>
-			<artifactId>task-framework</artifactId>
-		</dependency>
-
-		<dependency>
-			<groupId>org.objectweb.fractal.fractaladl</groupId>
-			<artifactId>task-deployment</artifactId>
-		</dependency>
-
-		<dependency>
-			<groupId>org.objectweb.fractal.fractaladl</groupId>
-			<artifactId>ast-core</artifactId>
-		</dependency>
-
-		<!-- tests -->
-		<dependency>
-			<groupId>org.objectweb.fractal.bf.testing</groupId>
-			<artifactId>fractal-bf-testing-fixtures</artifactId>
-			<version>${project.version}</version>
-			<scope>test</scope>
-		</dependency>
-
-
-		<dependency>
-			<groupId>junit</groupId>
-			<artifactId>junit</artifactId>
-			<scope>test</scope>
-		</dependency>
-	</dependencies>
-
-	<build>
-		<plugins>
-			<plugin>
-				<groupId>org.apache.maven.plugins</groupId>
-				<artifactId>maven-compiler-plugin</artifactId>
-				<configuration>
-					<source>1.5</source>
-					<target>1.5</target>
-				</configuration>
-			</plugin>
-
-			<plugin>
-				<groupId>org.apache.maven.plugins</groupId>
-				<artifactId>maven-surefire-plugin</artifactId>
-				<version>2.4</version>
-
-			</plugin>
-
-
-			<plugin>
-				<groupId>org.apache.maven.plugins</groupId>
-				<artifactId>maven-checkstyle-plugin</artifactId>
-				<configuration>
-					<configLocation>
-						${basedir}/src/main/config/dream_checks.xml
-					</configLocation>
-				</configuration>
-			</plugin>
-
-			<plugin>
-				<groupId>org.apache.maven.plugins</groupId>
-				<artifactId>maven-dependency-plugin</artifactId>
-				<version>2.0</version>
-			</plugin>
-		</plugins>
-
-	</build>
-
-
-
-	<scm>
-		<connection>scm:svn:svn://svn.forge.objectweb.org/svnroot/fractal/sandbox/ervalerio/fractal-bf//adl</connection>
-		<url>http://svn.forge.objectweb.org/cgi-bin/viewcvs.cgi/fractal/sandbox/ervalerio/fractal-bf//adl</url>
-	</scm>
-
-	<developers>
-		<developer>
-			<id>vschiavoni</id>
-			<name>Valerio Schiavoni</name>
-			<organization>INRIA Rhone-Alpes</organization>
-			<organizationUrl>
-				http://sardes.inrialpes.fr
-			</organizationUrl>
-			<email>valerio.schiavoni@xxxxxxxxx</email>
-			<roles>
-				<role>Engineer</role>
-			</roles>
-			<url>http://jroller.com/page/vschiavoni</url>
-		</developer>
-	</developers>
-
-	<repositories>
-		<repository>
-			<id>codehaus</id>
-			<name>Codehaus maven repository</name>
-			<url>http://repository.codehaus.org/</url>
-		</repository>
-	</repositories>
-
-	<reporting>
-		<plugins>
-			<plugin>
-				<groupId>org.apache.maven.plugins</groupId>
-				<artifactId>maven-checkstyle-plugin</artifactId>
-				<configuration>
-					<configLocation>
-						${basedir}/src/main/config/dream_checks.xml
-					</configLocation>
-				</configuration>
-			</plugin>
-			<plugin>
-				<groupId>org.apache.maven.plugins</groupId>
-				<artifactId>maven-surefire-report-plugin</artifactId>
-			</plugin>
-			<plugin>
-				<groupId>org.codehaus.mojo</groupId>
-				<artifactId>cobertura-maven-plugin</artifactId>
-			</plugin>
-		</plugins>
-	</reporting>
-
-	<distributionManagement>
-		<site>
-			<id>${server.id}</id>
-			<url>${distribution.url}/adl</url>
-		</site>
-	</distributionManagement>
-</project>
\ No newline at end of file

Copied: tags/FRACTAL_BF_03/adl/pom.xml (from rev 8310, sandbox/ervalerio/fractal-bf/adl/pom.xml) (0 => 8311)


--- tags/FRACTAL_BF_03/adl/pom.xml	                        (rev 0)
+++ tags/FRACTAL_BF_03/adl/pom.xml	2008-07-23 10:23:41 UTC (rev 8311)
@@ -0,0 +1,161 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<parent>
+		<groupId>org.objectweb.fractal.bf</groupId>
+		<artifactId>fractal-bf-parent</artifactId>
+		<version>0.3</version>
+	</parent>
+	<artifactId>fractal-bf-adl</artifactId>
+	<version>0.3</version>
+	<packaging>jar</packaging>
+	<name>Fractal-BF: ADL extension</name>
+	<description>
+		Extend Fractal-ADL to specify binding protocols.
+	</description>
+	<dependencies>
+
+		<dependency>
+			<groupId>org.objectweb.fractal</groupId>
+			<artifactId>fractal-api</artifactId>
+		</dependency>
+
+		<dependency>
+			<groupId>org.objectweb.fractal.bf</groupId>
+			<artifactId>fractal-bf-core</artifactId>
+			<version>${project.version}</version>
+		</dependency>
+
+		<dependency>
+			<groupId>org.objectweb.fractal.fractaladl</groupId>
+			<artifactId>fractal-adl</artifactId>
+		</dependency>
+
+		<dependency>
+			<groupId>org.objectweb.fractal.fractaladl</groupId>
+			<artifactId>task-framework</artifactId>
+		</dependency>
+
+		<dependency>
+			<groupId>org.objectweb.fractal.fractaladl</groupId>
+			<artifactId>task-deployment</artifactId>
+		</dependency>
+
+		<dependency>
+			<groupId>org.objectweb.fractal.fractaladl</groupId>
+			<artifactId>ast-core</artifactId>
+		</dependency>
+
+		<!-- tests -->
+		<dependency>
+			<groupId>org.objectweb.fractal.bf.testing</groupId>
+			<artifactId>fractal-bf-testing-fixtures</artifactId>
+			<version>${project.version}</version>
+			<scope>test</scope>
+		</dependency>
+
+
+		<dependency>
+			<groupId>junit</groupId>
+			<artifactId>junit</artifactId>
+			<scope>test</scope>
+		</dependency>
+	</dependencies>
+
+	<build>
+		<plugins>
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-compiler-plugin</artifactId>
+				<configuration>
+					<source>1.5</source>
+					<target>1.5</target>
+				</configuration>
+			</plugin>
+
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-surefire-plugin</artifactId>
+				<version>2.4</version>
+
+			</plugin>
+
+
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-checkstyle-plugin</artifactId>
+				<configuration>
+					<configLocation>
+						${basedir}/src/main/config/dream_checks.xml
+					</configLocation>
+				</configuration>
+			</plugin>
+
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-dependency-plugin</artifactId>
+				<version>2.0</version>
+			</plugin>
+		</plugins>
+
+	</build>
+
+
+
+	<scm>
+		<connection>scm:svn:svn+ssh://svn.forge.objectweb.org/svnroot/fractal/tags/FRACTAL_BF_03//adl</connection>
+		<url>scm:svn:svn+ssh://svn.forge.objectweb.org/svnroot/fractal/tags/FRACTAL_BF_03//adl</url>
+	</scm>
+
+	<developers>
+		<developer>
+			<id>vschiavoni</id>
+			<name>Valerio Schiavoni</name>
+			<organization>INRIA Rhone-Alpes</organization>
+			<organizationUrl>
+				http://sardes.inrialpes.fr
+			</organizationUrl>
+			<email>valerio.schiavoni@xxxxxxxxx</email>
+			<roles>
+				<role>Engineer</role>
+			</roles>
+			<url>http://jroller.com/page/vschiavoni</url>
+		</developer>
+	</developers>
+
+	<repositories>
+		<repository>
+			<id>codehaus</id>
+			<name>Codehaus maven repository</name>
+			<url>http://repository.codehaus.org/</url>
+		</repository>
+	</repositories>
+
+	<reporting>
+		<plugins>
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-checkstyle-plugin</artifactId>
+				<configuration>
+					<configLocation>
+						${basedir}/src/main/config/dream_checks.xml
+					</configLocation>
+				</configuration>
+			</plugin>
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-surefire-report-plugin</artifactId>
+			</plugin>
+			<plugin>
+				<groupId>org.codehaus.mojo</groupId>
+				<artifactId>cobertura-maven-plugin</artifactId>
+			</plugin>
+		</plugins>
+	</reporting>
+
+	<distributionManagement>
+		<site>
+			<id>${server.id}</id>
+			<url>${distribution.url}/adl</url>
+		</site>
+	</distributionManagement>
+</project>
\ No newline at end of file

Deleted: tags/FRACTAL_BF_03/adl/src/main/java/org/objectweb/fractal/bf/adl/exporter/StaticExporterBuilder.java (7841 => 8311)


--- sandbox/ervalerio/fractal-bf/adl/src/main/java/org/objectweb/fractal/bf/adl/exporter/StaticExporterBuilder.java	2008-06-03 22:16:40 UTC (rev 7841)
+++ tags/FRACTAL_BF_03/adl/src/main/java/org/objectweb/fractal/bf/adl/exporter/StaticExporterBuilder.java	2008-07-23 10:23:41 UTC (rev 8311)
@@ -1,46 +0,0 @@
-
-package org.objectweb.fractal.bf.adl.exporter;
-
-import java.io.PrintWriter;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.logging.Logger;
-
-import org.objectweb.fractal.bf.BindingFactoryException;
-import org.objectweb.fractal.bf.adl.common.Parameter;
-
-/**
- * Exporter builder meant to be used with the static backed of the Fractal-BF
- * ADL.
- */
-public class StaticExporterBuilder implements ExporterBuilder
-{
-  Logger log = Logger.getLogger(StaticExporterBuilder.class.getCanonicalName());
-
-  /**
-   * @see org.objectweb.fractal.bf.adl.exporter.ExporterBuilder#export(java.lang.String,
-   *      java.lang.Object, java.util.List, java.lang.String, java.lang.Object)
-   */
-  public void export(String itfName, Object component,
-      List<Parameter> parameters, String type, Object context)
-      throws BindingFactoryException
-  {
-    PrintWriter pw = (PrintWriter) ((Map<?,?>) context).get("printwriter");
-    log.info("PrintWriter for static exporter builder: " + pw);
-
-    pw.write(Map.class.getCanonicalName()
-        + "<String,String> exportHints = new "
-        + HashMap.class.getCanonicalName() + "<String,String>();\n");
-    for (Parameter p : parameters)
-    {
-      // xportHints.put(p.getName(), p.getValue());
-      pw.write("exportHints.put(\"" + p.getName() + "\",\"" + p.getValue()
-          + "\");\n");
-    }
-    pw.write("BindingFactory bf = BindingFactoryHelper.getBindingFactory();\n");
-    pw.write("Component component = (Component)" + component + ";\n");
-    pw.write("bf.export(component, \"" + itfName + "\", exportHints);\n");
-  }
-
-}

Copied: tags/FRACTAL_BF_03/adl/src/main/java/org/objectweb/fractal/bf/adl/exporter/StaticExporterBuilder.java (from rev 7861, sandbox/ervalerio/fractal-bf/adl/src/main/java/org/objectweb/fractal/bf/adl/exporter/StaticExporterBuilder.java) (0 => 8311)


--- tags/FRACTAL_BF_03/adl/src/main/java/org/objectweb/fractal/bf/adl/exporter/StaticExporterBuilder.java	                        (rev 0)
+++ tags/FRACTAL_BF_03/adl/src/main/java/org/objectweb/fractal/bf/adl/exporter/StaticExporterBuilder.java	2008-07-23 10:23:41 UTC (rev 8311)
@@ -0,0 +1,45 @@
+package org.objectweb.fractal.bf.adl.exporter;
+
+import java.io.PrintWriter;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.logging.Logger;
+
+import org.objectweb.fractal.bf.BindingFactoryException;
+import org.objectweb.fractal.bf.adl.common.Parameter;
+
+/**
+ * Exporter builder meant to be used with the static backed of the Fractal-BF
+ * ADL.
+ */
+public class StaticExporterBuilder implements ExporterBuilder {
+	Logger log = Logger.getLogger(StaticExporterBuilder.class
+			.getCanonicalName());
+
+	/**
+	 * @see org.objectweb.fractal.bf.adl.exporter.ExporterBuilder#export(java.lang.String,
+	 *      java.lang.Object, java.util.List, java.lang.String,
+	 *      java.lang.Object)
+	 */
+	public void export(String itfName, Object component,
+			List<Parameter> parameters, String type, Object context)
+			throws BindingFactoryException {
+		PrintWriter pw = (PrintWriter) ((Map<?, ?>) context).get("printwriter");
+		log.finest("PrintWriter for static exporter builder: " + pw);
+
+		pw.write(Map.class.getCanonicalName()
+				+ "<String,String> exportHints = new "
+				+ HashMap.class.getCanonicalName() + "<String,String>();\n");
+		for (Parameter p : parameters) {
+			// xportHints.put(p.getName(), p.getValue());
+			pw.write("exportHints.put(\"" + p.getName() + "\",\""
+					+ p.getValue() + "\");\n");
+		}
+		pw
+				.write("BindingFactory bf = BindingFactoryHelper.getBindingFactory();\n");
+		pw.write("Component component = (Component)" + component + ";\n");
+		pw.write("bf.export(component, \"" + itfName + "\", exportHints);\n");
+	}
+
+}

Deleted: tags/FRACTAL_BF_03/adl/src/site/site.xml (7841 => 8311)


--- sandbox/ervalerio/fractal-bf/adl/src/site/site.xml	2008-06-03 22:16:40 UTC (rev 7841)
+++ tags/FRACTAL_BF_03/adl/src/site/site.xml	2008-07-23 10:23:41 UTC (rev 8311)
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!-- 
-	* 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
--->
-<project name="Fractal-BF">
-  <skin>
-    <groupId>org.ow2.fractal.distribution.skin</groupId>
-    <artifactId>fractal-skin</artifactId>
-    <version>1.0</version>
-  </skin>
-  
-  <bannerLeft>
-    <name>Fractal-BF ADL</name>
-  </bannerLeft>
-  <body>
-    <menu name="Fractal-BF ADL"> 
-      <item name="Fractal Homepage" href="" />
-      <item name="Home" href=""
-      <item name="Documentation" href=""
-    </menu>
-
-    <menu ref="reports"/>
-  </body>
-</project>
\ No newline at end of file

Copied: tags/FRACTAL_BF_03/adl/src/site/site.xml (from rev 8113, sandbox/ervalerio/fractal-bf/adl/src/site/site.xml) (0 => 8311)


--- tags/FRACTAL_BF_03/adl/src/site/site.xml	                        (rev 0)
+++ tags/FRACTAL_BF_03/adl/src/site/site.xml	2008-07-23 10:23:41 UTC (rev 8311)
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!-- 
+    * 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
+-->
+
+<project name="FRACTAL-BF-ADL">
+  <skin>
+    <groupId>org.ow2.fractal.distribution.skin</groupId>
+    <artifactId>fractal-skin</artifactId>
+    <version>1.0</version>
+  </skin>
+ 
+    <body>
+        <menu name="Fractal-BF ADL" inherit="none">
+          <item name="Home" href=""
+          <item name="Documentation" href=""
+          <item name="Index" href="" />
+        </menu>
+
+        <menu ref="reports" />
+        <menu ref="parent" />
+    </body>
+</project>

Deleted: tags/FRACTAL_BF_03/adl/todo.txt (7841 => 8311)


--- sandbox/ervalerio/fractal-bf/adl/todo.txt	2008-06-03 22:16:40 UTC (rev 7841)
+++ tags/FRACTAL_BF_03/adl/todo.txt	2008-07-23 10:23:41 UTC (rev 8311)
@@ -1 +0,0 @@
-- upgrade to fractal-adl 2.3 

Copied: tags/FRACTAL_BF_03/connectors (from rev 7884, sandbox/ervalerio/fractal-bf/connectors)

Deleted: tags/FRACTAL_BF_03/connectors/pom.xml (7884 => 8311)


--- sandbox/ervalerio/fractal-bf/connectors/pom.xml	2008-06-08 17:03:26 UTC (rev 7884)
+++ tags/FRACTAL_BF_03/connectors/pom.xml	2008-07-23 10:23:41 UTC (rev 8311)
@@ -1,35 +0,0 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>org.objectweb.fractal.bf</groupId>
-        <artifactId>fractal-bf-parent</artifactId>
-        <version>0.3-SNAPSHOT</version>
-    </parent>
-    <groupId>org.objectweb.fractal.bf.connectors</groupId>
-    <artifactId>fractal-bf-connectors-parent</artifactId>
-    <packaging>pom</packaging>
-    <description>Fractal Binding Factory Connectors</description>
-    <name>Fractal-BF: Connectors Parent Module</name>
-
-    <scm>
-        <connection>scm:svn:svn://svn.forge.objectweb.org/svnroot/fractal/sandbox/ervalerio/fractal-bf//connectors</connection>
-        <url>http://svn.forge.objectweb.org/cgi-bin/viewcvs.cgi/fractal/sandbox/ervalerio/fractal-bf//connectors</url>
-    </scm>
-
-
-    <modules>
-        <!-- <module>tcp-dream</module> -->
-        <module>soap-cxf</module>
-        <!-- <module>groupcomm-jgroups</module> -->
-        <module>rmi</module>
-    </modules>
-
-    <distributionManagement>
-        <site>
-            <id>${server.id}</id>
-            <url>
-                ${distribution.url}/connectors
-            </url>
-        </site>
-    </distributionManagement>
-</project>

Copied: tags/FRACTAL_BF_03/connectors/pom.xml (from rev 8310, sandbox/ervalerio/fractal-bf/connectors/pom.xml) (0 => 8311)


--- tags/FRACTAL_BF_03/connectors/pom.xml	                        (rev 0)
+++ tags/FRACTAL_BF_03/connectors/pom.xml	2008-07-23 10:23:41 UTC (rev 8311)
@@ -0,0 +1,35 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.objectweb.fractal.bf</groupId>
+        <artifactId>fractal-bf-parent</artifactId>
+        <version>0.3</version>
+    </parent>
+    <groupId>org.objectweb.fractal.bf.connectors</groupId>
+    <artifactId>fractal-bf-connectors-parent</artifactId>
+    <packaging>pom</packaging>
+    <description>Fractal Binding Factory Connectors</description>
+    <name>Fractal-BF: Connectors Parent Module</name>
+
+    <scm>
+        <connection>scm:svn:svn+ssh://svn.forge.objectweb.org/svnroot/fractal/tags/FRACTAL_BF_03//connectors</connection>
+        <url>scm:svn:svn+ssh://svn.forge.objectweb.org/svnroot/fractal/tags/FRACTAL_BF_03//connectors</url>
+    </scm>
+
+
+    <modules>
+        <!-- <module>tcp-dream</module> -->
+        <module>soap-cxf</module>
+        <!-- <module>groupcomm-jgroups</module> -->
+        <module>rmi</module>
+    </modules>
+
+    <distributionManagement>
+        <site>
+            <id>${server.id}</id>
+            <url>
+                ${distribution.url}/connectors
+            </url>
+        </site>
+    </distributionManagement>
+</project>

Copied: tags/FRACTAL_BF_03/connectors/rmi (from rev 8221, sandbox/ervalerio/fractal-bf/connectors/rmi)

Deleted: tags/FRACTAL_BF_03/connectors/rmi/pom.xml (8221 => 8311)


--- sandbox/ervalerio/fractal-bf/connectors/rmi/pom.xml	2008-07-10 15:33:31 UTC (rev 8221)
+++ tags/FRACTAL_BF_03/connectors/rmi/pom.xml	2008-07-23 10:23:41 UTC (rev 8311)
@@ -1,77 +0,0 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-	<modelVersion>4.0.0</modelVersion>
-	<parent>
-		<groupId>org.objectweb.fractal.bf.connectors</groupId>
-		<artifactId>fractal-bf-connectors-parent</artifactId>
-		<version>0.3-SNAPSHOT</version>
-	</parent>
-	<artifactId>fractal-bf-connectors-rmi</artifactId>
-	<packaging>jar</packaging>
-	<description>
-		Binding Factory plugin for JavaRMI.
-	</description>
-	<name>Fractal-BF: JavaRMI binding</name>
-
-	<scm>
-		<connection>scm:svn:svn://svn.forge.objectweb.org/svnroot/fractal/sandbox/ervalerio/fractal-bf//connectors/rmi</connection>
-		<url>http://svn.forge.objectweb.org/cgi-bin/viewcvs.cgi/fractal/sandbox/ervalerio/fractal-bf//connectors/rmi</url>
-	</scm>
-
-	<build>
-		<finalName>
-			fractal-bf-connectors-${pom.artifactId}-${pom.version}
-		</finalName>
-		<plugins>
-			<plugin>
-				<artifactId>maven-dependency-plugin</artifactId>
-				<version>2.0</version>
-			</plugin>
-		
-		</plugins>
-	</build>
-
-	<dependencies>
-
-		<!-- use the core package to reference bf APIs. maybe an api package
-			can be designed as well-->
-		<dependency>
-			<groupId>org.objectweb.fractal.bf</groupId>
-			<artifactId>fractal-bf-core</artifactId>
-			<version>${project.version}</version>
-		</dependency>
-	
-		<dependency>
-			<groupId>asm</groupId>
-			<artifactId>asm</artifactId>
-			<version>3.1</version>
-		</dependency>
-
-		<!-- tests -->
-		<dependency>
-			<groupId>junit</groupId>
-			<artifactId>junit</artifactId>
-			<scope>test</scope>
-		</dependency>
-
-
-		<dependency>
-			<groupId>org.objectweb.fractal.bf.testing</groupId>
-			<artifactId>fractal-bf-testing-fixtures</artifactId>
-			<version>${project.version}</version>
-			<scope>test</scope>
-		</dependency>
-		<dependency>
-			<groupId>commons-io</groupId>
-			<artifactId>commons-io</artifactId>
-			<version>1.4</version>
-		</dependency>
-
-	</dependencies>
-
-	<distributionManagement>
-		<site>
-			<id>${server.id}</id>
-			<url>${distribution.url}/connectors/rmi</url>
-		</site>
-	</distributionManagement>
-</project>

Copied: tags/FRACTAL_BF_03/connectors/rmi/pom.xml (from rev 8310, sandbox/ervalerio/fractal-bf/connectors/rmi/pom.xml) (0 => 8311)


--- tags/FRACTAL_BF_03/connectors/rmi/pom.xml	                        (rev 0)
+++ tags/FRACTAL_BF_03/connectors/rmi/pom.xml	2008-07-23 10:23:41 UTC (rev 8311)
@@ -0,0 +1,84 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<parent>
+		<groupId>org.objectweb.fractal.bf.connectors</groupId>
+		<artifactId>fractal-bf-connectors-parent</artifactId>
+		<version>0.3</version>
+	</parent>
+	<artifactId>fractal-bf-connectors-rmi</artifactId>
+	<packaging>jar</packaging>
+	<description>
+		Binding Factory plugin for JavaRMI.
+	</description>
+	<name>Fractal-BF: JavaRMI Connector</name>
+
+	<scm>
+		<connection>scm:svn:svn+ssh://svn.forge.objectweb.org/svnroot/fractal/tags/FRACTAL_BF_03//connectors/rmi</connection>
+		<url>scm:svn:svn+ssh://svn.forge.objectweb.org/svnroot/fractal/tags/FRACTAL_BF_03//connectors/rmi</url>
+	</scm>
+
+	<build>
+		<finalName>
+			fractal-bf-connectors-${pom.artifactId}-${pom.version}
+		</finalName>
+		<plugins>
+			<plugin>
+				<artifactId>maven-dependency-plugin</artifactId>
+				<version>2.0</version>
+			</plugin>
+		
+		</plugins>
+	</build>
+
+	<dependencies>
+
+		<!-- use the core package to reference bf APIs. maybe an api package
+			can be designed as well-->
+		<dependency>
+			<groupId>org.objectweb.fractal.bf</groupId>
+			<artifactId>fractal-bf-core</artifactId>
+			<version>${project.version}</version>
+		</dependency>
+	
+		<dependency>
+			<groupId>asm</groupId>
+			<artifactId>asm</artifactId>
+			<version>3.1</version>
+		</dependency>
+
+		<!-- tests -->
+		<dependency>
+			<groupId>junit</groupId>
+			<artifactId>junit</artifactId>
+			<scope>test</scope>
+		</dependency>
+
+		<dependency>
+			<groupId>org.objectweb.fractal.bf.testing</groupId>
+			<artifactId>fractal-bf-testing-fixtures-juliac</artifactId>
+			<version>${project.version}</version>
+			<scope>test</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.objectweb.fractal.bf.testing</groupId>
+			<artifactId>fractal-bf-testing-fixtures-tinfi</artifactId>
+			<version>${project.version}</version>
+			<scope>test</scope>
+		</dependency>
+
+		<dependency>
+			<groupId>org.objectweb.fractal.juliac</groupId>
+			<artifactId>juliac-runtime</artifactId>
+			<version>2.0.2</version>
+			<scope>test</scope>
+		</dependency>
+
+	</dependencies>
+
+	<distributionManagement>
+		<site>
+			<id>${server.id}</id>
+			<url>${distribution.url}/connectors/rmi</url>
+		</site>
+	</distributionManagement>
+</project>

Deleted: tags/FRACTAL_BF_03/connectors/rmi/src/main/java/org/objectweb/fractal/bf/connectors/rmi/RmiBindHints.java (8221 => 8311)


--- sandbox/ervalerio/fractal-bf/connectors/rmi/src/main/java/org/objectweb/fractal/bf/connectors/rmi/RmiBindHints.java	2008-07-10 15:33:31 UTC (rev 8221)
+++ tags/FRACTAL_BF_03/connectors/rmi/src/main/java/org/objectweb/fractal/bf/connectors/rmi/RmiBindHints.java	2008-07-23 10:23:41 UTC (rev 8311)
@@ -1,72 +0,0 @@
-/**
- * Fractal Binding Factory.
- * Copyright (C) 2007-2008 INRIA, SARDES
-
- * 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: Valerio.Schiavoni@xxxxxxxxx
- * 
- * Author: Valerio Schiavoni
- * 
- */
-package org.objectweb.fractal.bf.connectors.rmi;
-
-import org.objectweb.fractal.bf.BindHints;
-
-/**
- * 
- */
-public class RmiBindHints implements BindHints {
-	private String host;
-	private String port;
-	private String serviceName;
-
-	/**
-	 * @see org.objectweb.fractal.bf.ExportId#getExportMode()
-	 */
-	public String getExportMode() {
-		return "rmi";
-	}
-
-	public final String getHost() {
-		return host;
-	}
-
-	public final void setHost(String host) {
-		this.host = host;
-	}
-
-	public final String getPort() {
-		return port;
-	}
-
-	public final void setPort(String port) {
-		this.port = port;
-	}
-
-	public final String getServiceName() {
-		return serviceName;
-	}
-
-	public final void setServiceName(String serviceName) {
-		this.serviceName = serviceName;
-	}
-
-	@Override
-	public String toString() {
-		return "RmiBindHints{host:" + host + ";port:" + port + ";serviceName:"
-				+ serviceName + "}";
-	}
-}

Copied: tags/FRACTAL_BF_03/connectors/rmi/src/main/java/org/objectweb/fractal/bf/connectors/rmi/RmiBindHints.java (from rev 8290, sandbox/ervalerio/fractal-bf/connectors/rmi/src/main/java/org/objectweb/fractal/bf/connectors/rmi/RmiBindHints.java) (0 => 8311)


--- tags/FRACTAL_BF_03/connectors/rmi/src/main/java/org/objectweb/fractal/bf/connectors/rmi/RmiBindHints.java	                        (rev 0)
+++ tags/FRACTAL_BF_03/connectors/rmi/src/main/java/org/objectweb/fractal/bf/connectors/rmi/RmiBindHints.java	2008-07-23 10:23:41 UTC (rev 8311)
@@ -0,0 +1,72 @@
+/**
+ * Fractal Binding Factory.
+ * Copyright (C) 2007-2008 INRIA, SARDES
+
+ * 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: Valerio.Schiavoni@xxxxxxxxx
+ * 
+ * Author: Valerio Schiavoni
+ * 
+ */
+package org.objectweb.fractal.bf.connectors.rmi;
+
+import org.objectweb.fractal.bf.BindHints;
+
+/**
+ * The RMI bind hints.
+ */
+public class RmiBindHints implements BindHints {
+	private String host;
+	private String port;
+	private String serviceName;
+
+	/**
+	 * @see org.objectweb.fractal.bf.ExportId#getExportMode()
+	 */
+	public String getExportMode() {
+		return "rmi";
+	}
+
+	public final String getHost() {
+		return host;
+	}
+
+	public final void setHost(String host) {
+		this.host = host;
+	}
+
+	public final String getPort() {
+		return port;
+	}
+
+	public final void setPort(String port) {
+		this.port = port;
+	}
+
+	public final String getServiceName() {
+		return serviceName;
+	}
+
+	public final void setServiceName(String serviceName) {
+		this.serviceName = serviceName;
+	}
+
+	@Override
+	public String toString() {
+		return "RmiBindHints{host:" + host + ";port:" + port + ";serviceName:"
+				+ serviceName + "}";
+	}
+}

Deleted: tags/FRACTAL_BF_03/connectors/rmi/src/main/java/org/objectweb/fractal/bf/connectors/rmi/RmiConnector.java (8221 => 8311)


--- sandbox/ervalerio/fractal-bf/connectors/rmi/src/main/java/org/objectweb/fractal/bf/connectors/rmi/RmiConnector.java	2008-07-10 15:33:31 UTC (rev 8221)
+++ tags/FRACTAL_BF_03/connectors/rmi/src/main/java/org/objectweb/fractal/bf/connectors/rmi/RmiConnector.java	2008-07-23 10:23:41 UTC (rev 8311)
@@ -1,228 +0,0 @@
-/**
- * Fractal Binding Factory.
- * Copyright (C) 2007-2008 INRIA, SARDES
-
- * 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: Valerio.Schiavoni@xxxxxxxxx
- * 
- * Author: Valerio Schiavoni
- * 
- */
-package org.objectweb.fractal.bf.connectors.rmi;
-
-import java.util.HashMap;
-import java.util.Map;
-import java.util.logging.Logger;
-
-import org.objectweb.fractal.adl.Factory;
-import org.objectweb.fractal.adl.FactoryFactory;
-import org.objectweb.fractal.api.Component;
-import org.objectweb.fractal.bf.AbstractBindingFactoryPlugin;
-import org.objectweb.fractal.bf.BindHints;
-import org.objectweb.fractal.bf.BindingFactoryException;
-import org.objectweb.fractal.bf.SkeletonGenerationException;
-import org.objectweb.fractal.bf.proxies.StubComponentFactory;
-import org.objectweb.fractal.util.Fractal;
-
-/**
- * A plugin to import and export fractal interfaces through the Java RMI
- * protocol.
- * 
- * @since 0.3
- */
-public class RmiConnector extends
-		AbstractBindingFactoryPlugin<RmiExportHints, RmiBindHints> {
-
-	Logger log = Logger.getLogger(RmiConnector.class.getCanonicalName());
-
-	/**
-	 * here to please Julia.
-	 */
-	public RmiConnector() {
-		this.initialHints = new HashMap<String, String>();
-	}
-
-	public RmiConnector(Map<String, String> hints) {
-		this.initialHints = hints;
-	}
-
-	/**
-	 * @see org.objectweb.fractal.bf.BindingFactoryPlugin#finalizeSkeleton(org.objectweb.fractal.api.Component,
-	 *      java.util.Map)
-	 */
-	public void finalizeSkeleton(Component skel,
-			Map<String, String> finalizationHints)
-			throws BindingFactoryException {
-
-		log.warning("RMI FinalizationHints map currently ignored");
-
-		try {
-			RmiConnectorAttributes rca = (RmiConnectorAttributes) skel
-					.getFcInterface(RmiConnectorAttributes.RMI_CONNECTOR_ATTRIBUTES);
-
-			rca.startRmi();
-
-		} catch (Exception e) {
-			throw new RmiConnectorException(e);
-		}
-
-	}
-
-	/**
-	 * @see org.objectweb.fractal.bf.BindingFactoryPlugin#getStubComponentFactory()
-	 */
-	public StubComponentFactory getStubComponentFactory() {
-		return new RmiConnectorStubComponentFactoryImpl();
-	}
-
-	/**
-	 * @see org.objectweb.fractal.bf.BindingFactoryPlugin#createSkel(java.lang.String,
-	 *      java.lang.Object, org.objectweb.fractal.api.Component,
-	 *      org.objectweb.fractal.bf.ExportHints)
-	 */
-	public Component createSkel(String interfaceName, Object serverItf,
-			Component owner, RmiExportHints exportHints)
-			throws SkeletonGenerationException {
-		log.info("RmiConnector - Creating skeleton.");
-
-		String name = exportHints.getServiceName();
-		String host = exportHints.getHost();
-		String port = exportHints.getPort();
-
-		log
-				.info("Export hints being used to create the skeleton: \n serviceName: "
-						+ name + "\n host:" + host + "\n port:" + port);
-
-		// a fractal component whose content is a rmi skeleton.
-		Component compRmiSkel = null;
-
-		try {
-
-			Factory adlFactory = FactoryFactory
-					.getFactory(FactoryFactory.FRACTAL_BACKEND);
-
-			compRmiSkel = (Component) adlFactory.newComponent(
-					"org.objectweb.fractal.bf.connectors.rmi.RmiServerBridge",
-					null);
-
-			// start the skeleton
-			Fractal.getLifeCycleController(compRmiSkel).startFc();
-
-			RmiConnectorAttributes rmiServiceAttributes = (RmiConnectorAttributes) compRmiSkel
-					.getFcInterface(RmiConnectorAttributes.RMI_CONNECTOR_ATTRIBUTES);
-			rmiServiceAttributes.setServiceName(name);
-			rmiServiceAttributes.setHost(host);
-			rmiServiceAttributes.setPort(port);
-			/*
-			 * this should not be necessary if the ADL factory could take into
-			 * account instance of parameter objects
-			 */
-			rmiServiceAttributes.setServiceObject(serverItf);
-
-		} catch (Exception e) {
-
-			throw new SkeletonGenerationException(
-					"Some error occurred while exporting using the JavaRMI plugin ",
-					e);
-		}
-		log.info("RmiConnector - skeleton created.");
-		return compRmiSkel;
-	}
-
-	/**
-	 * @see org.objectweb.fractal.bf.BindingFactoryPlugin#getExportHints()
-	 */
-	public RmiExportHints getExportHints() {
-		RmiExportHints rmiExportHints = new RmiExportHints();
-
-		log.fine("Initial hints: " + this.initialHints.toString());
-
-		String registryHost = computeRegistryHost();
-		rmiExportHints.setHost(registryHost);
-
-		String registryPort = computeRegistryPort();
-		rmiExportHints.setPort(registryPort);
-
-		String serviceName = computeServiceName();
-		rmiExportHints.setServiceName(serviceName);
-		return rmiExportHints;
-	}
-
-	/**
-	 * @see org.objectweb.fractal.bf.BindingFactoryPlugin#getBindHints()
-	 */
-	public BindHints getBindHints() {
-		RmiBindHints rmiBindHints = new RmiBindHints();
-		String registryHost = computeRegistryHost();
-		rmiBindHints.setHost(registryHost);
-
-		String registryPort = computeRegistryPort();
-		rmiBindHints.setPort(registryPort);
-
-		String serviceName = computeServiceName();
-		rmiBindHints.setServiceName(serviceName);
-		return rmiBindHints;
-	}
-
-	/**
-	 * @return
-	 */
-	private String computeServiceName() {
-		String serviceName = initialHints
-				.get(RmiConnectorConstants.SERVICE_NAME);
-		log.finer("Service name: " + serviceName);
-		return serviceName;
-	}
-
-	/**
-	 * @return
-	 */
-	private String computeRegistryPort() {
-		String registryPort = initialHints
-				.get(RmiConnectorConstants.JAVA_RMI_REGISTRY_PORT);
-		if (registryPort == null) {
-			log
-					.warning("You didn't specify the port for the RMI registry, the default port [1099] will be used");
-			registryPort = "1099";
-		}
-		return registryPort;
-	}
-
-	/**
-	 * @return
-	 */
-	private String computeRegistryHost() {
-		String registryHost = initialHints
-				.get(RmiConnectorConstants.JAVA_RMI_REGISTRY_HOST_ADDRESS);
-		if (registryHost == null) {
-			log
-					.warning("You didn't specify "
-							+ RmiConnectorConstants.JAVA_RMI_REGISTRY_HOST_ADDRESS
-							+ ", will use '"
-							+ RmiConnectorConstants.JAVA_RMI_REGISTRY_HOST_ADDRESS_DEFAULT
-							+ "' ");
-			registryHost = RmiConnectorConstants.JAVA_RMI_REGISTRY_HOST_ADDRESS_DEFAULT;
-		}
-		return registryHost;
-	}
-
-	/**
-	 * @see org.objectweb.fractal.bf.BindingFactoryPlugin#getPluginIdentifier()
-	 */
-	public String getPluginIdentifier() {
-		return "rmi";
-	}
-}

Copied: tags/FRACTAL_BF_03/connectors/rmi/src/main/java/org/objectweb/fractal/bf/connectors/rmi/RmiConnector.java (from rev 8298, sandbox/ervalerio/fractal-bf/connectors/rmi/src/main/java/org/objectweb/fractal/bf/connectors/rmi/RmiConnector.java) (0 => 8311)


--- tags/FRACTAL_BF_03/connectors/rmi/src/main/java/org/objectweb/fractal/bf/connectors/rmi/RmiConnector.java	                        (rev 0)
+++ tags/FRACTAL_BF_03/connectors/rmi/src/main/java/org/objectweb/fractal/bf/connectors/rmi/RmiConnector.java	2008-07-23 10:23:41 UTC (rev 8311)
@@ -0,0 +1,244 @@
+/**
+ * Fractal Binding Factory.
+ * Copyright (C) 2007-2008 INRIA, SARDES
+
+ * 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: Valerio.Schiavoni@xxxxxxxxx
+ * 
+ * Author: Valerio Schiavoni
+ * 
+ */
+package org.objectweb.fractal.bf.connectors.rmi;
+
+import java.util.HashMap;
+import java.util.Map;
+import java.util.logging.Logger;
+
+import org.objectweb.fractal.api.Component;
+import org.objectweb.fractal.api.factory.GenericFactory;
+import org.objectweb.fractal.api.type.ComponentType;
+import org.objectweb.fractal.api.type.InterfaceType;
+import org.objectweb.fractal.api.type.TypeFactory;
+import org.objectweb.fractal.bf.AbstractBindingFactoryPlugin;
+import org.objectweb.fractal.bf.BindHints;
+import org.objectweb.fractal.bf.BindingFactoryException;
+import org.objectweb.fractal.bf.SkeletonGenerationException;
+import org.objectweb.fractal.bf.proxies.StubComponentFactory;
+import org.objectweb.fractal.util.Fractal;
+
+/**
+ * A plugin to import and export fractal interfaces through the Java RMI
+ * protocol.
+ * 
+ * @since 0.3
+ */
+public class RmiConnector extends
+		AbstractBindingFactoryPlugin<RmiExportHints, RmiBindHints> {
+
+	Logger log = Logger.getLogger(RmiConnector.class.getCanonicalName());
+	private Component bootstrap;
+	private TypeFactory typeFactory;
+	private GenericFactory cf;
+
+	/**
+	 * here to please Fractal..
+	 */
+	public RmiConnector() {
+		this.initialHints = new HashMap<String, String>();
+		try {
+			bootstrap = Fractal.getBootstrapComponent();
+			typeFactory = Fractal.getTypeFactory(bootstrap);
+			cf = Fractal.getGenericFactory(bootstrap);
+		} catch (Exception e) {
+			throw new RmiConnectorException(e);
+		}
+
+	}
+
+	/**
+	 * @see org.objectweb.fractal.bf.BindingFactoryPlugin#finalizeSkeleton(org.objectweb.fractal.api.Component,
+	 *      java.util.Map)
+	 */
+	public void finalizeSkeleton(Component skel,
+			Map<String, String> finalizationHints)
+			throws BindingFactoryException {
+
+	}
+
+	/**
+	 * @see org.objectweb.fractal.bf.BindingFactoryPlugin#getStubComponentFactory()
+	 */
+	public StubComponentFactory getStubComponentFactory() {
+		return new RmiConnectorStubComponentFactoryImpl();
+	}
+
+	/**
+	 * @see org.objectweb.fractal.bf.BindingFactoryPlugin#createSkel(java.lang.String,
+	 *      java.lang.Object, org.objectweb.fractal.api.Component,
+	 *      org.objectweb.fractal.bf.ExportHints)
+	 */
+	public Component createSkel(String interfaceName, Object serverItf,
+			Component owner, RmiExportHints exportHints)
+			throws SkeletonGenerationException {
+		log.info("RmiConnector - Creating skeleton.");
+		log.finest("ServerItf ref: " + serverItf + " Owner: " + owner);
+
+		String name = exportHints.getServiceName();
+		String host = exportHints.getHost();
+		String port = exportHints.getPort();
+
+		log.info("RmiConnector, export hints: \n serviceName: " + name
+				+ "\n host:" + host + "\n port:" + port);
+
+		// a fractal component whose content is a rmi skeleton.
+		Component rmiServerBridge = null;
+
+		try {
+
+			ComponentType rmiServerBridgeType = typeFactory
+					.createFcType(new InterfaceType[] {
+							typeFactory
+									.createFcItfType(
+											"attribute-controller",
+											"org.objectweb.fractal.bf.connectors.rmi.RmiConnectorAttributes",
+											false, false, false),
+							// typeFactory.createFcItfType("service",
+							// "org.objectweb.fractal.api.Interface",
+							// true, false, false),
+							typeFactory.createFcItfType("delegate",
+									"org.objectweb.fractal.api.Component",
+									true, true, false) });
+			rmiServerBridge = cf.newFcInstance(rmiServerBridgeType,
+					"primitive",
+					"org.objectweb.fractal.bf.connectors.rmi.RmiServerBridge");
+
+			Fractal.getNameController(rmiServerBridge).setFcName(
+					"org.objectweb.fractal.bf.connectors.rmi.RmiServerBridge");
+
+			/*
+			 * Set the required attributes
+			 */
+			RmiConnectorAttributes rmiServiceAttributes = (RmiConnectorAttributes) Fractal
+					.getAttributeController(rmiServerBridge);
+			rmiServiceAttributes.setServiceName(name);
+			rmiServiceAttributes.setHost(host);
+			rmiServiceAttributes.setPort(port);
+
+			/*
+			 * Set the binding between the rmiServerBridge and the service
+			 * object
+			 */
+			// Interface i = (Interface) rmiServerBridge
+			// .getFcInterface(RmiServerBridge.SERVICE_CLIENT_ITF_NAME);
+			// BindingController bc = Fractal
+			// .getBindingController(rmiServerBridge);
+			// bc.bindFc(RmiServerBridge.SERVICE_CLIENT_ITF_NAME, serverItf);
+			rmiServiceAttributes.setServiceObject(serverItf);
+			// start the skeleton
+			Fractal.getLifeCycleController(rmiServerBridge).startFc();
+
+		} catch (Exception e) {
+
+			throw new SkeletonGenerationException(
+					"Some error occurred while exporting using the JavaRMI plugin ",
+					e);
+		}
+		log.info("RmiConnector - skeleton created.");
+		return rmiServerBridge;
+	}
+
+	/**
+	 * @see org.objectweb.fractal.bf.BindingFactoryPlugin#getExportHints()
+	 */
+	public RmiExportHints getExportHints() {
+		RmiExportHints rmiExportHints = new RmiExportHints();
+
+		String registryHost = computeRegistryHost();
+		rmiExportHints.setHost(registryHost);
+
+		String registryPort = computeRegistryPort();
+		rmiExportHints.setPort(registryPort);
+
+		String serviceName = computeServiceName();
+		rmiExportHints.setServiceName(serviceName);
+		return rmiExportHints;
+	}
+
+	/**
+	 * @see org.objectweb.fractal.bf.BindingFactoryPlugin#getBindHints()
+	 */
+	public BindHints getBindHints() {
+		RmiBindHints rmiBindHints = new RmiBindHints();
+		String registryHost = computeRegistryHost();
+		rmiBindHints.setHost(registryHost);
+
+		String registryPort = computeRegistryPort();
+		rmiBindHints.setPort(registryPort);
+
+		String serviceName = computeServiceName();
+		rmiBindHints.setServiceName(serviceName);
+		return rmiBindHints;
+	}
+
+	/**
+	 * @return
+	 */
+	private String computeServiceName() {
+		String serviceName = initialHints
+				.get(RmiConnectorConstants.SERVICE_NAME);
+		log.finer("Service name: " + serviceName);
+		return serviceName;
+	}
+
+	/**
+	 * @return
+	 */
+	private String computeRegistryPort() {
+		String registryPort = initialHints
+				.get(RmiConnectorConstants.JAVA_RMI_REGISTRY_PORT);
+		if (registryPort == null) {
+			log
+					.warning("You didn't specify the port for the RMI registry, the default port [1099] will be used");
+			registryPort = "1099";
+		}
+		return registryPort;
+	}
+
+	/**
+	 * @return
+	 */
+	private String computeRegistryHost() {
+		String registryHost = initialHints
+				.get(RmiConnectorConstants.JAVA_RMI_REGISTRY_HOST_ADDRESS);
+		if (registryHost == null) {
+			log
+					.warning("You didn't specify "
+							+ RmiConnectorConstants.JAVA_RMI_REGISTRY_HOST_ADDRESS
+							+ ", will use '"
+							+ RmiConnectorConstants.JAVA_RMI_REGISTRY_HOST_ADDRESS_DEFAULT
+							+ "' ");
+			registryHost = RmiConnec