Commit 605945b8 authored by Gwenael Cattez's avatar Gwenael Cattez

Add new method to the introspection module :

- get details about WS,REST,RMI,JSON_RPC,JMS,UPnP
- get details about methods of an interface
- add,remove and set attribute on a binding
- invoke method on a interface
parent ff4c2a94
<?xml version="1.0" encoding="UTF-8"?>
<ecore:EPackage xmi:version="2.0"
xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="introspection"
nsURI="http://resources.introspection.remote.frascati.ow2.org" nsPrefix="frascati-introspection">
<eClassifiers xsi:type="ecore:EClass" name="Node">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Component" eSuperTypes="#//Node">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="status" lowerBound="1"
eType="#//ComponentStatus"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="component" upperBound="-1"
eType="#//Component" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="property" upperBound="-1"
eType="#//Property" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="reference" upperBound="-1"
eType="#//Port" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="service" upperBound="-1"
eType="#//Port" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Interface" eSuperTypes="#//Node">
<eStructuralFeatures xsi:type="ecore:EReference" name="method" lowerBound="1"
upperBound="-1" eType="#//Method" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="clazz" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Binding" eSuperTypes="#//Node">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" lowerBound="1" eType="#//BindingKind"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="attribute" upperBound="-1"
eType="#//Attribute" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Method">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="result" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="parameter" upperBound="-1"
eType="#//Parameter" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="intent" upperBound="-1"
eType="#//Component" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="name" eType="#//Component"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="exception" upperBound="-1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Parameter" eSuperTypes="#//Node">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="type" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Port" eSuperTypes="#//Node">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="wiredTo" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="bindings" upperBound="-1"
eType="#//Binding" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="implementedInterface" lowerBound="1"
eType="#//Interface" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Property" eSuperTypes="#//Attribute"/>
<eClassifiers xsi:type="ecore:EEnum" name="ComponentStatus">
<eLiterals name="STARTED"/>
<eLiterals name="STOPPED" value="1"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Attribute" eSuperTypes="#//Node">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="BindingKind">
<eLiterals name="WS"/>
<eLiterals name="Rest" value="1"/>
<eLiterals name="Rmi" value="2"/>
<eLiterals name="JMS" value="3"/>
<eLiterals name="JsonRPC" value="4"/>
</eClassifiers>
</ecore:EPackage>
<?xml version="1.0" encoding="UTF-8"?>
<ecore:EPackage xmi:version="2.0"
xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="introspection"
nsURI="http://resources.introspection.remote.frascati.ow2.org" nsPrefix="frascati-introspection">
<eClassifiers xsi:type="ecore:EClass" name="Node">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Component" eSuperTypes="#//Node">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="status" lowerBound="1"
eType="#//ComponentStatus"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="component" upperBound="-1"
eType="#//Component" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="property" upperBound="-1"
eType="#//Property" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="reference" upperBound="-1"
eType="#//Port" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="service" upperBound="-1"
eType="#//Port" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Interface" eSuperTypes="#//Node">
<eStructuralFeatures xsi:type="ecore:EReference" name="method" lowerBound="1"
upperBound="-1" eType="#//Method" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="clazz" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Binding" eSuperTypes="#//Node">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" lowerBound="1" eType="#//BindingKind"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="attribute" upperBound="-1"
eType="#//Attribute" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Method">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="result" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="parameter" upperBound="-1"
eType="#//Parameter" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="intent" upperBound="-1"
eType="#//Component" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="name" eType="#//Component"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="exception" upperBound="-1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Parameter" eSuperTypes="#//Node">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="type" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Port" eSuperTypes="#//Node">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="wiredTo" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="bindings" upperBound="-1"
eType="#//Binding" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="implementedInterface" lowerBound="1"
eType="#//Interface" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Property" eSuperTypes="#//Attribute"/>
<eClassifiers xsi:type="ecore:EEnum" name="ComponentStatus">
<eLiterals name="STARTED"/>
<eLiterals name="STOPPED" value="1"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Attribute" eSuperTypes="#//Node">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="BindingKind">
<eLiterals name="WS"/>
<eLiterals name="Rest" value="1"/>
<eLiterals name="Rmi" value="2"/>
<eLiterals name="JMS" value="3"/>
<eLiterals name="JsonRPC" value="4"/>
<eLiterals name="Upnp" value="5" literal="Upnp"/>
<eLiterals name="Jgroups" value="6" literal="Jgroups"/>
<eLiterals name="JNA" value="7"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="EEnum0"/>
</ecore:EPackage>
<?xml version="1.0" encoding="UTF-8"?>
<genmodel:GenModel xmi:version="2.0"
xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/frascati-introspection-api/src"
modelPluginID="frascati-introspection-api" modelName="Sca-resources" importerID="org.eclipse.emf.importer.ecore"
complianceLevel="5.0" copyrightFields="false">
<foreignModel>sca-resources.ecore</foreignModel>
<genPackages prefix="Introspection" disposableProviderFactory="true" ecorePackage="sca-resources.ecore#/">
<genEnums typeSafeEnumCompatible="false" ecoreEnum="sca-resources.ecore#//ComponentStatus">
<genEnumLiterals ecoreEnumLiteral="sca-resources.ecore#//ComponentStatus/STARTED"/>
<genEnumLiterals ecoreEnumLiteral="sca-resources.ecore#//ComponentStatus/STOPPED"/>
</genEnums>
<genEnums typeSafeEnumCompatible="false" ecoreEnum="sca-resources.ecore#//BindingKind">
<genEnumLiterals ecoreEnumLiteral="sca-resources.ecore#//BindingKind/WS"/>
<genEnumLiterals ecoreEnumLiteral="sca-resources.ecore#//BindingKind/Rest"/>
<genEnumLiterals ecoreEnumLiteral="sca-resources.ecore#//BindingKind/Rmi"/>
<genEnumLiterals ecoreEnumLiteral="sca-resources.ecore#//BindingKind/JMS"/>
<genEnumLiterals ecoreEnumLiteral="sca-resources.ecore#//BindingKind/JsonRPC"/>
</genEnums>
<genClasses ecoreClass="sca-resources.ecore#//Node">
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute sca-resources.ecore#//Node/name"/>
</genClasses>
<genClasses ecoreClass="sca-resources.ecore#//Component">
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute sca-resources.ecore#//Component/status"/>
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference sca-resources.ecore#//Component/component"/>
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference sca-resources.ecore#//Component/property"/>
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference sca-resources.ecore#//Component/reference"/>
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference sca-resources.ecore#//Component/service"/>
</genClasses>
<genClasses ecoreClass="sca-resources.ecore#//Interface">
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference sca-resources.ecore#//Interface/method"/>
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute sca-resources.ecore#//Interface/clazz"/>
</genClasses>
<genClasses ecoreClass="sca-resources.ecore#//Binding">
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute sca-resources.ecore#//Binding/kind"/>
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference sca-resources.ecore#//Binding/attribute"/>
</genClasses>
<genClasses ecoreClass="sca-resources.ecore#//Method">
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute sca-resources.ecore#//Method/result"/>
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference sca-resources.ecore#//Method/parameter"/>
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference sca-resources.ecore#//Method/intent"/>
<genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference sca-resources.ecore#//Method/name"/>
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute sca-resources.ecore#//Method/exception"/>
</genClasses>
<genClasses ecoreClass="sca-resources.ecore#//Parameter">
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute sca-resources.ecore#//Parameter/type"/>
</genClasses>
<genClasses ecoreClass="sca-resources.ecore#//Port">
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute sca-resources.ecore#//Port/wiredTo"/>
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference sca-resources.ecore#//Port/bindings"/>
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference sca-resources.ecore#//Port/implementedInterface"/>
</genClasses>
<genClasses ecoreClass="sca-resources.ecore#//Property"/>
<genClasses ecoreClass="sca-resources.ecore#//Attribute">
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute sca-resources.ecore#//Attribute/value"/>
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute sca-resources.ecore#//Attribute/type"/>
</genClasses>
</genPackages>
</genmodel:GenModel>
<?xml version="1.0" encoding="UTF-8"?>
<genmodel:GenModel xmi:version="2.0"
xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/frascati-introspection-api/src"
modelPluginID="frascati-introspection-api" modelName="Sca-resources" importerID="org.eclipse.emf.importer.ecore"
complianceLevel="5.0" copyrightFields="false">
<foreignModel>sca-resources.ecore</foreignModel>
<genPackages prefix="Introspection" disposableProviderFactory="true" ecorePackage="sca-resources.ecore#/">
<genEnums typeSafeEnumCompatible="false" ecoreEnum="sca-resources.ecore#//ComponentStatus">
<genEnumLiterals ecoreEnumLiteral="sca-resources.ecore#//ComponentStatus/STARTED"/>
<genEnumLiterals ecoreEnumLiteral="sca-resources.ecore#//ComponentStatus/STOPPED"/>
</genEnums>
<genEnums typeSafeEnumCompatible="false" ecoreEnum="sca-resources.ecore#//BindingKind">
<genEnumLiterals ecoreEnumLiteral="sca-resources.ecore#//BindingKind/WS"/>
<genEnumLiterals ecoreEnumLiteral="sca-resources.ecore#//BindingKind/Rest"/>
<genEnumLiterals ecoreEnumLiteral="sca-resources.ecore#//BindingKind/Rmi"/>
<genEnumLiterals ecoreEnumLiteral="sca-resources.ecore#//BindingKind/JMS"/>
<genEnumLiterals ecoreEnumLiteral="sca-resources.ecore#//BindingKind/JsonRPC"/>
<genEnumLiterals ecoreEnumLiteral="sca-resources.ecore#//BindingKind/Upnp"/>
<genEnumLiterals ecoreEnumLiteral="sca-resources.ecore#//BindingKind/Jgroups"/>
<genEnumLiterals ecoreEnumLiteral="sca-resources.ecore#//BindingKind/JNA"/>
</genEnums>
<genClasses ecoreClass="sca-resources.ecore#//Node">
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute sca-resources.ecore#//Node/name"/>
</genClasses>
<genClasses ecoreClass="sca-resources.ecore#//Component">
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute sca-resources.ecore#//Component/status"/>
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference sca-resources.ecore#//Component/component"/>
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference sca-resources.ecore#//Component/property"/>
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference sca-resources.ecore#//Component/reference"/>
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference sca-resources.ecore#//Component/service"/>
</genClasses>
<genClasses ecoreClass="sca-resources.ecore#//Interface">
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference sca-resources.ecore#//Interface/method"/>
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute sca-resources.ecore#//Interface/clazz"/>
</genClasses>
<genClasses ecoreClass="sca-resources.ecore#//Binding">
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute sca-resources.ecore#//Binding/kind"/>
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference sca-resources.ecore#//Binding/attribute"/>
</genClasses>
<genClasses ecoreClass="sca-resources.ecore#//Method">
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute sca-resources.ecore#//Method/result"/>
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference sca-resources.ecore#//Method/parameter"/>
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference sca-resources.ecore#//Method/intent"/>
<genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference sca-resources.ecore#//Method/name"/>
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute sca-resources.ecore#//Method/exception"/>
</genClasses>
<genClasses ecoreClass="sca-resources.ecore#//Parameter">
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute sca-resources.ecore#//Parameter/type"/>
</genClasses>
<genClasses ecoreClass="sca-resources.ecore#//Port">
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute sca-resources.ecore#//Port/wiredTo"/>
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference sca-resources.ecore#//Port/bindings"/>
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference sca-resources.ecore#//Port/implementedInterface"/>
</genClasses>
<genClasses ecoreClass="sca-resources.ecore#//Property"/>
<genClasses ecoreClass="sca-resources.ecore#//Attribute">
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute sca-resources.ecore#//Attribute/value"/>
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute sca-resources.ecore#//Attribute/type"/>
</genClasses>
</genPackages>
</genmodel:GenModel>
......@@ -26,13 +26,16 @@
package org.ow2.frascati.remote.introspection;
import java.util.Collection;
import javax.ws.rs.Consumes;
import javax.ws.rs.DELETE;
import javax.ws.rs.FormParam;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.PUT;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.POST;
import javax.ws.rs.core.MultivaluedMap;
import org.osoa.sca.annotations.Service;
import org.ow2.frascati.remote.introspection.resources.Component;
import org.ow2.frascati.remote.introspection.resources.Port;
......@@ -57,7 +60,7 @@ public interface RemoteScaDomain
@GET
@Path("/components")
@Produces({"application/xml", "application/json"})
Collection<Component> getDomainComposites();
public Collection<Component> getDomainComposites();
/**
* Get full information on the component given as parameter.
......@@ -67,7 +70,7 @@ public interface RemoteScaDomain
@GET
@Path("/component/{id:.*}")
@Produces({"application/xml", "application/json"})
Component getComponent(@PathParam("id") String id);
public Component getComponent(@PathParam("id") String id);
/**
* Get children of the component given as parameter.
......@@ -77,29 +80,75 @@ public interface RemoteScaDomain
@GET
@Path("/component/{id:.*}/subcomponents")
@Produces({"application/xml", "application/json"})
Collection<Component> getSubComponents(@PathParam("id") String id);
public Collection<Component> getSubComponents(@PathParam("id") String id);
@GET
@Path("/port/{id:.*}")
@Produces({"application/xml", "application/json"})
Port getInterface(@PathParam("id") String id);
public Port getInterface(@PathParam("id") String id);
/**
* Invoke a method on a Fractal interface
*
* @param id of the fractal interface that hold the method
* @param params contain the name of the method to invoke (methodName) and the parameters (Parameter+index, eg Parameter0)
* @return a String representing the response of the invocation
*/
@POST
@Path("/port/{id:.*}")
@Consumes("application/x-www-form-urlencoded")
public String invokeMethod(@PathParam("id") String id ,MultivaluedMap<String, String> params);
@POST
@Path("/component/{id:.*}/start")
boolean startComponent(@PathParam("id") String id);
public boolean startComponent(@PathParam("id") String id);
@POST
@Path("/component/{id:.*}/stop")
boolean stopComponent(@PathParam("id") String id);
public boolean stopComponent(@PathParam("id") String id);
@GET
@Path("/property/{componentPath:.*}/{propertyName}")
@Produces({"application/xml", "application/json"})
Property getProperty(@PathParam("componentPath") String componentPath, @PathParam("propertyName") String propertyName);
public Property getProperty(@PathParam("componentPath") String componentPath, @PathParam("propertyName") String propertyName);
@POST
@Path("/property/{componentPath:.*}/{propertyName}")
void setProperty(@PathParam("componentPath") String componentPath, @PathParam("propertyName") String propertyName, @FormParam("value") String value);
public void setProperty(@PathParam("componentPath") String componentPath, @PathParam("propertyName") String propertyName, @FormParam("value") String value);
// ...
/**
* Create a binding on a Fractal interface
*
* @param id, id of the fractal interface that will hold the binding
* @param params, parameters to build the binding containing the kind of binding to create and the specifics parameters
*/
@POST
@Path("/binding/{id:.*}/")
@Consumes("application/x-www-form-urlencoded")
public void addBinding(@PathParam("id") String id ,MultivaluedMap<String, String> params);
/**
* Remove a binding at a position from a Fractal interface
*
* @param id, id of the fractal interface that hold the binding
* @param position, position of the binding in the binding list of the interface
*/
@DELETE
@Path("/binding/{id:.*}/")
public void removeBinding(@PathParam("id") String id , @FormParam("position") int position);
/**
* Set an attribute of a binding hold by a Fractal Component
*
* @param id, id of the fractal interface that will be modified
* @param position , position of the binding in the binding list of the interface
* @param attribute, the name of the attribute to change
* @param newValue, the new value to assign
*/
@PUT
@Path("/binding/{id:.*}/")
public void setBindingAttribute(@PathParam("id") String id ,@FormParam("position") int position,@FormParam("attribute") String attribute,@FormParam("newValue") String newValue);
}
......@@ -116,7 +116,48 @@
<version>${project.version}</version>
</dependency>
<!-- OW2 FraSCAti Remote Introspection API. -->
<!-- OW2 FraSCAti Binding UPnP -->
<dependency>
<groupId>org.ow2.frascati.upnp</groupId>
<artifactId>frascati-binding-upnp</artifactId>
<version>${project.version}</version>
</dependency>
<!-- OW2 FraSCAti Binding JGroups -->
<dependency>
<groupId>org.ow2.frascati.gcs</groupId>
<artifactId>frascati-binding-jgroups</artifactId>
<version>${project.version}</version>
</dependency>
<!-- <dependency> -->
<!-- <groupId>org.objectweb.fractal.bf.connectors</groupId> -->
<!-- <artifactId>fractal-bf-connectors-groupcomm-jgroups</artifactId> -->
<!-- <version>0.2-SNAPSHOT</version> -->
<!-- </dependency> -->
<!-- OW2 FraSCAti Binding JMS -->
<dependency>
<groupId>org.ow2.frascati</groupId>
<artifactId>frascati-binding-jms</artifactId>
<version>${project.version}</version>
</dependency>
<!-- OW2 FraSCAti Binding JNA -->
<dependency>
<groupId>org.ow2.frascati.native</groupId>
<artifactId>frascati-binding-jna</artifactId>
<version>${project.version}</version>
</dependency>
<!-- OW2 FraSCAti Binding JNA -->
<dependency>
<groupId>org.ow2.frascati</groupId>
<artifactId>frascati-binding-rmi</artifactId>
<version>${project.version}</version>
</dependency>
<!-- OW2 FraSCAti Remote Introspection API. -->
<dependency>
<groupId>org.ow2.frascati</groupId>
<artifactId>frascati-introspection-api</artifactId>
......
......@@ -36,6 +36,14 @@
<interface.java interface="org.ow2.frascati.assembly.factory.api.CompositeManager"/>
</reference>
<reference name="classloader-manager" target="assembly-factory/classloader-manager">
<interface.java interface="org.ow2.frascati.assembly.factory.api.ClassLoaderManager"/>
</reference>
<reference name="binding-factory" target="binding-factory/binding-factory">
<interface.java interface="org.objectweb.fractal.bf.BindingFactory"/>
</reference>
</component>
</composite>
......@@ -37,6 +37,14 @@
<interface.java interface="org.ow2.frascati.assembly.factory.api.CompositeManager"/>
</reference>
<reference name="classloader-manager" promote="introspection/classloader-manager">
<interface.java interface="org.ow2.frascati.assembly.factory.api.ClassLoaderManager"/>
</reference>
<reference name="binding-factory" promote="introspection/binding-factory">
<interface.java interface="org.objectweb.fractal.bf.BindingFactory"/>
</reference>
<component name="introspection">
<implementation.java class="org.ow2.frascati.remote.introspection.RemoteScaDomainImpl"/>
<service name="RemoteScaDomain">
......@@ -48,6 +56,12 @@
<reference name="frascati-domain">
<interface.java interface="org.ow2.frascati.assembly.factory.api.CompositeManager"/>
</reference>
<reference name="classloader-manager">
<interface.java interface="org.ow2.frascati.assembly.factory.api.ClassLoaderManager"/>
</reference>
<reference name="binding-factory">
<interface.java interface="org.objectweb.fractal.bf.BindingFactory"/>
</reference>
</component>
</composite>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment