CHOReVOLUTION Studio and Synthesis Processor Development Guide
Table of content
CHOReVOLUTION Studio
Requirements
- Install Apache Maven on your system
- Install Git on your system
CHOReVOLUTION Studio Source code
In order to provide the source code needs to modify/extend the CHOReVOLUTION Studio, the source code can be checked out anonymously over HTTPs by doing:
$ git clone https://gitlab.ow2.org/chorevolution/chorevolution-studio.git
$ cd chorevolution-studio
For all Operation Systems
Setting the Environment:
- Download Eclipse Modeling Tools (Neon version)
Figure 1
- Start your Eclipse Ide
Figure 2
The developer need to install the following software:
- Click-Left Help menu item, see figure below:
Figure 3
- Install M2Eclipse plugin:
- Click-Left Add, see Figure 4.
Figure 4
- Type a name into the Name text box, see Figure below.
- If the software site is located on the web, type the Web Site location (URL) of the site into the Location text box. You may also paste or drag and drop a URL from a web browser into this text box, see Figure below.
- If the software site is in your local file system (including a CD), click Local... to specify the directory location of the site.
- If the software site is in your local file system but is packaged as a jar or zip file, click Archive... to specify the name of the file.
Figure 5
- Click-Left Ok.
Figure 6
- Select the plugin and Click Next. You will see the Install Details view.
Figure 7
- Click-left Next and Accepts the license terms.
Figure 8
- Click Finish.
Following the same steps the developer must:
2. Install Eclipse Java Web Developer Tools plugin ( Web Site Location: http://download.eclipse.org/releases/neon (contained in the category: "Web, XML, Java EE and OSGi Enterprise Development"))
3. Install M2Eclipse connector Tycho plugin ( Web Site Location: http://repo1.maven.org/maven2/.m2e/connectors/m2eclipse-tycho/0.9.0/N/LATEST/ )
4. Install Sirius plugin ( Web Site Location: http://download.eclipse.org/sirius/updates/releases/4.1.1/neon/ )
5. Install BPMN2 modeler plugin ( Web Site Location: http://download.eclipse.org/bpmn2-modeler/updates/neon/1.3.2 )
6. install CHOReVOLUTION Modeling Notations plugin ( Web Site Location: http://nexus.disim.univaq.it/content/sites/chorevolution-modeling-notations/ )
Building
In order to generate the CHOReVOLUTION Studio bundle:
- From within the check-out directory, go in chorevolution-studio/extra/eu.chorevolution.studio.eclipse.core.configurator folder:
$ mvn clean - From within the chorevolution-studio/ folder:
$ mvn clean verify -Pbuild-ide - Get your bundle located in:
$ chorevolution-studio/releng/eu.chorevolution.studio.eclipse.product/target/products
Synthesis Processor
Requirements
- Install Apache Maven on your system
- Install Git on your system
Synthesis processor Source code
In order to provide the source code needs to modify/extend the Synthesis Processor, the source code can be checked out anonymously over HTTPs by doing:
$ git clone https://gitlab.ow2.org/chorevolution/synthesis-processor.git
$ cd synthesis-processor
Building
In order to use the Synthesis Processor Rest API:
- From within the check-out directory, go in synthesisprocessor-rest folder:
- $ mvn clean verify
- $ cd target
- $ unzip synthesisprocessor-rest-1.0.0-SNAPSHOT.zip
- $ cd synthesisprocessor-rest-1.0.0-SNAPSHOT
Start Apache Tomcat:
- GNU / Linux, Mac OS X
- $ chmod 755 ./bin/*.sh
- $ ./bin/startup.sh
- Windows
- > bin/startup.bat
Test Synthesis Processor
The default port for Synthesis Processor Tomcat is 9091. After starting Tomcat on your local machine, you can validate if Tomcat is running the URL:
Figure 71
Synthesis Processor REST API
Access
Methods
[ Jump to Models ]Table of Contents
BindingComponentGenerator
ChoreographyArchitectureGenerator
ChoreographyDeploymentDescriptorGenerator
ChoreographyProjectionGenerator
ChoreographyValidator
CoordinationDelegateGenerator
post /coordinationdelegategenerator/generateCoordinationDelegateClient
post /coordinationdelegategenerator/generateCoordinationDelegateConsumer
post /coordinationdelegategenerator/generateCoordinationDelegateProsumer
post /coordinationdelegategenerator/generateWSDLCoordinationDelegateClient
post /coordinationdelegategenerator/generateWSDLCoordinationDelegateProsumer
Default
SecurityFilterGenerator
post /securityfiltergenerator/generateSecurityFilterClient
post /securityfiltergenerator/generateSecurityFilterProvider
BindingComponentGenerator
post /bindingComponentGenerator/generateBindingComponent
Consumes
This API call consumes the following media types via the Content-Type request header:application/xml
application/json
Request body
Return type
Example data
{
"wsdlContent" : [ "" ],
"bindingComponentContent" : [ "" ],
"location" : "aeiou"
}
Produces
This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.application/xml
application/json
Responses
200
successful operation BindingComponentGeneratorResponseChoreographyArchitectureGenerator
post /choreographyarchitecturegenerator/generateChoreographyArchitecture
Consumes
This API call consumes the following media types via the Content-Type request header:application/xml
application/json
Request body
Return type
Example data
{
"choreographyArchitectureContent" : [ "" ]
}
Produces
This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.application/xml
application/json
Responses
200
successful operation ChoreographyArchitectureGeneratorResponseChoreographyDeploymentDescriptorGenerator
post /choreographydeploymentdescriptorgenerator/generateChoreographyDeploymentDescriptor
Consumes
This API call consumes the following media types via the Content-Type request header:application/xml
application/json
Request body
Return type
Example data
{
"choreographyDeploymentDescriptorContent" : [ "" ]
}
Produces
This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.application/xml
application/json
Responses
200
successful operation ChoreographyDeploymentDescriptorGeneratorResponseChoreographyProjectionGenerator
post /choreographyprojectiongenerator/generateChoreographyProjection
Consumes
This API call consumes the following media types via the Content-Type request header:application/xml
application/json
Request body
Return type
Example data
{
"bpmn2Content" : [ "" ]
}
Produces
This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.application/xml
application/json
Responses
200
successful operation ChoreographyProjectionGeneratorResponseChoreographyValidator
post /choreographyvalidator/validateChoreography
Consumes
This API call consumes the following media types via the Content-Type request header:application/xml
application/json
Request body
Return type
Example data
true
string
Example data
{
"choreographyValidated" : true,
"errors" : [ "aeiou" ]
}
Produces
This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.application/xml
application/json
Responses
200
successful operation ChoreographyValidatorResponseCoordinationDelegateGenerator
post /coordinationdelegategenerator/generateCoordinationDelegateClient
Consumes
This API call consumes the following media types via the Content-Type request header:application/xml
application/json
Request body
Return type
Example data
{
"consumerWsdlContent" : [ "" ],
"wsdlContent" : [ "" ],
"name" : "aeiou",
"location" : "aeiou",
"consumerContent" : [ "" ]
}
Produces
This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.application/xml
application/json
Responses
200
successful operation CoordinationDelegateGeneratorResponsepost /coordinationdelegategenerator/generateCoordinationDelegateConsumer
Consumes
This API call consumes the following media types via the Content-Type request header:application/xml
application/json
Request body
Return type
Example data
{
"consumerWsdlContent" : [ "" ],
"wsdlContent" : [ "" ],
"name" : "aeiou",
"location" : "aeiou",
"consumerContent" : [ "" ]
}
Produces
This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.application/xml
application/json
Responses
200
successful operation CoordinationDelegateGeneratorResponsepost /coordinationdelegategenerator/generateCoordinationDelegateProsumer
Consumes
This API call consumes the following media types via the Content-Type request header:application/xml
application/json
Request body
Return type
Example data
{
"consumerWsdlContent" : [ "" ],
"wsdlContent" : [ "" ],
"name" : "aeiou",
"location" : "aeiou",
"consumerContent" : [ "" ]
}
Produces
This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.application/xml
application/json
Responses
200
successful operation CoordinationDelegateGeneratorResponsepost /coordinationdelegategenerator/generateWSDLCoordinationDelegateClient
Consumes
This API call consumes the following media types via the Content-Type request header:application/xml
application/json
Request body
Return type
Example data
{
"consumerWsdlContent" : [ "" ],
"wsdlContent" : [ "" ],
"name" : "aeiou",
"location" : "aeiou",
"consumerContent" : [ "" ]
}
Produces
This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.application/xml
application/json
Responses
200
successful operation CoordinationDelegateGeneratorResponsepost /coordinationdelegategenerator/generateWSDLCoordinationDelegateProsumer
Consumes
This API call consumes the following media types via the Content-Type request header:application/xml
application/json
Request body
Return type
Example data
{
"consumerWsdlContent" : [ "" ],
"wsdlContent" : [ "" ],
"name" : "aeiou",
"location" : "aeiou",
"consumerContent" : [ "" ]
}
Produces
This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.application/xml
application/json
Responses
200
successful operation CoordinationDelegateGeneratorResponseDefault
get /{choreographyName}/{artifactType}/{artifactName}
Path parameters
Return type
Example data
[ "" ]
Produces
This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.application/json
Responses
200
successful operationSecurityFilterGenerator
post /securityfiltergenerator/generateSecurityFilterClient
Consumes
This API call consumes the following media types via the Content-Type request header:application/xml
application/json
Request body
Return type
Example data
string
string
Example data
{
"name" : "aeiou",
"location" : "aeiou"
}
Produces
This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.application/xml
application/json
Responses
200
successful operation SecurityFilterGeneratorResponsepost /securityfiltergenerator/generateSecurityFilterProvider
Consumes
This API call consumes the following media types via the Content-Type request header:application/xml
application/json
Request body
Return type
Example data
string
string
Example data
{
"name" : "aeiou",
"location" : "aeiou"
}
Produces
This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.application/xml
application/json
Responses
200
successful operation SecurityFilterGeneratorResponseModels
[ Jump to Methods ]Table of Contents
BindingComponentGeneratorRequest
BindingComponentGeneratorResponse
ChoreographyArchitectureComponentData
ChoreographyArchitectureComponentDependencyData
ChoreographyArchitectureGeneratorRequest
ChoreographyArchitectureGeneratorResponse
ChoreographyDeploymentDescriptorGeneratorRequest
ChoreographyDeploymentDescriptorGeneratorResponse
ChoreographyProjectionGeneratorRequest
ChoreographyProjectionGeneratorResponse
ChoreographyValidatorRequest
ChoreographyValidatorResponse
CoordinationDelegateGeneratorRequest
CoordinationDelegateGeneratorResponse
SecurityFilterGeneratorRequest
SecurityFilterGeneratorResponse