Commit 39235fcb authored by Etienne Charlier's avatar Etienne Charlier
Browse files

Initial commit

parents
Jul 30 21:39:58 JavaBridge ERROR: An exception occured: java.net.BindException: Address already in use: JVM_Bind
java.net.BindException: Address already in use: JVM_Bind
at java.net.DualStackPlainSocketImpl.bind0(Native Method)
at java.net.DualStackPlainSocketImpl.socketBind(DualStackPlainSocketImpl.java:106)
at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:382)
at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:190)
at java.net.ServerSocket.bind(ServerSocket.java:375)
at java.net.ServerSocket.<init>(ServerSocket.java:237)
at php.java.bridge.TCPServerSocket.newServerSocket(TCPServerSocket.java:57)
at php.java.bridge.TCPServerSocket.<init>(TCPServerSocket.java:78)
at php.java.bridge.TCPServerSocket.create(TCPServerSocket.java:50)
at php.java.bridge.Standalone.bind(Standalone.java:66)
at php.java.bridge.JavaBridge.bind(JavaBridge.java:229)
at php.java.bridge.JavaBridgeRunner.bind(JavaBridgeRunner.java:162)
at php.java.bridge.http.HttpServer.<init>(HttpServer.java:101)
at php.java.bridge.JavaBridgeRunner.<init>(JavaBridgeRunner.java:69)
at php.java.bridge.JavaBridgeRunner.<init>(JavaBridgeRunner.java:74)
at php.java.bridge.JavaBridgeRunner.getInstance(JavaBridgeRunner.java:137)
at eu.paasage.identityManagement.Policy.<clinit>(Policy.java:26)
at eu.paasage.identityManagement.runTest.main(runTest.java:24)
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: client;singleton:=true
Bundle-Version: 1.1
Bundle-ClassPath: .
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Bundle-RequiredExecutionEnvironment: JavaSE-1.7
Require-Bundle: org.eclipse.net4j;bundle-version="4.3.0",
org.eclipse.emf.cdo;bundle-version="4.3.0",
org.eclipse.emf.ecore,
org.eclipse.net4j.tcp;bundle-version="4.1.200",
eu.paasage.camel;bundle-version="2015.6.1"
Bundle-ActivationPolicy: lazy
Import-Package: org.eclipse.emf.cdo.internal.net4j.protocol;version="4.1.200",
org.eclipse.emf.cdo.net4j;version="4.1.200",
org.eclipse.emf.cdo.view,
org.eclipse.net4j.internal.tcp;version="4.1.200",
org.eclipse.ocl.examples.library.oclstdlib
Export-Package: eu.paasage.mddb.cdo.client
This is a maven project incorporating java code which can be used to create a CDOClient and store models or run queries over the contents of a CDOStore/Server (the CDO server can be downloaded from git at: http://git.cetic.be/paasage/cdo-server where installation and execution instructions are provided or can be imported and executed in the Eclipse environment by following the instructions of the document available at the following URL: http://git.cetic.be/paasage/camel/blob/master/paasage_camel_cdo_tutorial.pdf).
FUNCTIONALITY: This CDO client exposes the following functionality:
(i) register the EPackage(s) that maps to the domain code to be manipulated
(ii) store a model into a CDOResource with a particular name - here the model can reside in the file system, so it is first loaded, or can be in memory so it is just stored
(iii) store a series of models situated in a zip file into the CDO Repository/Store. The storage takes care also of cross-references between these models.
(iv) run a particular query according to a specific dialect (OCL, SQL, HQL) over the contents of the CDO Server / Store - this depends on the type of store available in the CDO Server. If it is a HibernateStore, then HQL can be used. If it is a DBStore, then SQL can be used.
(v) open a view/transaction, get its contents in terms of one or more CDOResources (and probably process them - depends on the user's purposes) and finally close the view/transaction. Please remember that modifications should be performed under a transaction and not a view.
(vi) load a model from a file with a specific path
(vii) export a CDOResource or a part of it or the results of a query to a file with a specific path - Here there are 3 main options: (a) the resource/model/object is exported as it is with identifiers that are CDO-based and which need a CDO Transaction or View in order to view it (and also nothing has been changed in the meantime in the CDO Repository related to this model, e.g., its deletion or modification); (b) the model is exported with local and not CDO-based identifiers - models that are also cross-referenced by this model are exported again having local identifiers but their cross-references still map to CDO-identifiers; (c) starting with the model to be exported, a tree of models is actually exported with only local identifiers such that there are no cross-references pointing to the CDO Repository but just on elements of the exported models.
(viii) based on (vii-c), the whole content of CDO Repository can be exported for back up reasons as a zip file. In conjunction with (iii) then someone could recover this content provided that the repositiry is empty.
(ix) close the CDOSession which has been opened initially through the creation of the CDOClient object
Note: first functionality (EPackage registering) should be initially invoked in order to exploit the rest. The CDO session
created by instantiating the CDOClient should be closed in the end by calling the respective java method.
Please see the main method of the CDOClient which indicates possible ways the CDOClient can be exploited, when no arguments are provided to it.
As you will see, the CDOClient needs to be created, then follows the main exploitation logic in terms of particular CDOClient methods that can be called with the appropriate parameters and finally the closeSession method must be called to close the CDOSession opened by the CDOClient initially when it was created.
In case the CDOServer is configured with security on, then the CDOClient can be initiated with
respective userName and password to be used for authentication. If authentication is successful,
then the respective session keeps the user credentials until the very end of the corresponding
CDOClient object lifetime. This means that during the lifetime of the CDOClient instance/object,
the user or program will be granted access to those resources on which it has the respective
rights. The latter information is specified via the CDO security model and there is an administration API which can be exploited for this reason in order to not deal immediately with the midification of this quite critical and sensitive model as well as require to have the knowledge of its meta-model. There is no error to provide credential information even if CDOServer is not configured for security but this information is actually ignored.
REQUIREMENTS:
- Java 7
- maven
BUILDING:
run "mvn clean install" to compile the code and produce the respective jar file
CONFIGURATION:
The code is accompanied with a .properties file (eu.paasage.wp4.client.properties) through which it can be specified:
(a) the IP of the host on which the CDO Server runs.
(b) the port on which the CDO Server listens.
(c) the name of the CDO repository (default is "repo1")
(d) whether logging messages should be printed or not (default is off)
This .properties file should be placed in a particular directory whose path is denoted by the system variable PAASAGE_CONFIG_DIR. Alternatively, you can indicate in the command line used to run the client the following: "-Deu.paasage.configdir=<directory path where the properties file resides>".
If none of the above is performed, then the CDOClient will not be able to connect correctly to the CDO Server that is running.
USAGE:
This component can be exploited/used through the following ways:
(1) via command line by running either:
(a) "mvn exec:java" or
(b) going to the "target" directory and running "java -jar client-1.1-jar-with-dependencies.jar"
(2) importing the contents of the respective directory in the Application Development Environment of your choice and then running "mvn exec:java" to run the code's main method. This exploitation route should probably concern just testing that the CDOClient code runs smoothly. Towards this goal, the Sens_App_Scenario.xmi file has been created in the "examples" directory which can be used to load a particular CAMEL model and then store it in the CDOServer. This file is used by the main method of the code to show that the loading of XMI files is possible and then the CDOClient can be used to store the loaded models. If you desire to load another file, then you will have to either place it in the "examples" directory or another directory of your choice but of course also change the main method to point to the appropriate file path. The main method also produces as output one XMI file which maps to a model/object produced via a particular query;
(3) produce the jar of the code via "maven clean install" and incorporate it in the libraries of your code (obviously change pom.xml file to include the dependency if your code relies on maven). In this second way, probably you need to follow a particular process through which you can exploit the code as there is no sense any more in exploiting the main method. Actually, the main method can be used as a guide based on which you will be able to exploit the CDOClient. A more involved guide and detailed documentation is provided at the Documentation.doc file.(you can also run the code's main method at the command line by issuing.
In case that first two ways are exploited, then there are two options: (a) run the CDOClient's main method with no arguments - this can be performed for checking that everything works correctly such that the CDOClient can establish a session with a CDOServer and perform a set of actions on the respective repository. It can of course also be performed for show-casing reasons or for playing around with and modifying the main method code in order to check the functionality exhibited; (b) run the CDOClient's main method with arguments - in this case, as you cannot use a main-memory object and those methods requiring as input such an object, you can actually call some CDOClient API methods which are mainly dedicated to the importing and exporting of models from/to the CDO Repository/Store, respectively. In this case, to run the code and depending also on whether you have selected way (1) or (2), you will have to specify the arguments to give to the CDOClient's main method. As far as the first way is concerned, you need to add to the command line in the very end the following String: "-Dexec.args=<method_name> <arg1> <arg2> ... <arg_n>". Thus, you have to provide as arguments the name of the method to call along with its input parameters where each of these arguments is separated in between with a space. In case you follow the second way, then the respective Application Development Environment will provide you with particular ways to specify the arguments to provide which again must conform to the aforementioned scheme (method name and input parameters).
PolicySet
Target
TA (act-id, "Read")
Policy
Target
Rules(Policy)
Rule (ef:URI-MyData1)
Target
TS (sub-id,"tom ")
TR (res-id," 1" mtId:rgx-mt)
Rule (ef:Deny)
Target
\ No newline at end of file
PolicySet
Target
TA (act-id, "Read")
Policy
Target
Rules(Policy)
Rule (ef:Permit)
Target
TS (sub-id,"tom")
TR (res-id,"URI-MyData1.*" mtId:rgx-mt)
Rule (ef:Deny)
Target
\ No newline at end of file
<PolicySet PolicySetId="dummyPolicySetId-LineNumber-1" PolicyCombiningAlgId="urn:oasis:names:tc:xacml:1.0:policy-combining-algorithm:permit-overrides">
<Description>PolicySet at Line Number 1</Description>
<Target>
<Subjects>
<AnySubject/>
</Subjects>
<Resources>
<AnyResource/>
</Resources>
<Actions>
<Action>
<ActionMatch MatchId="urn:oasis:names:tc:xacml:1.0:function:string-equal">
<AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">Read</AttributeValue>
<ActionAttributeDesignator AttributeId="urn:oasis:names:tc:xacml:1.0:action:action-id" DataType="http://www.w3.org/2001/XMLSchema#string"/>
</ActionMatch>
</Action>
</Actions>
</Target>
<Policy PolicyId="dummyPolicyId-LineNumber-4" RuleCombiningAlgId="urn:oasis:names:tc:xacml:1.0:rule-combining-algorithm:permit-overrides">
<Description>Policy at Line Number 4</Description>
<PolicyDefaults><XPathVersion>http://www.w3.org/TR/1999/Rec-xpath-19991116</XPathVersion></PolicyDefaults>
<Target>
<Subjects>
<AnySubject/>
</Subjects>
<Resources>
<AnyResource/>
</Resources>
<Actions>
<AnyAction/>
</Actions>
</Target>
<Rule RuleId="dummyRuleId-LineNumber-7" Effect="Permit">
<Target>
<Subjects>
<Subject>
<SubjectMatch MatchId="urn:oasis:names:tc:xacml:1.0:function:string-equal">
<AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">tom</AttributeValue>
<SubjectAttributeDesignator AttributeId="urn:oasis:names:tc:xacml:1.0:subject:subject-id" DataType="http://www.w3.org/2001/XMLSchema#string"/>
</SubjectMatch>
</Subject>
</Subjects>
<Resources>
<Resource>
<ResourceMatch MatchId="urn:oasis:names:tc:xacml:1.0:function:regexp-string-match">
<AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">URI-MyData1.*</AttributeValue>
<ResourceAttributeDesignator AttributeId="urn:oasis:names:tc:xacml:1.0:resource:resource-id" DataType="http://www.w3.org/2001/XMLSchema#string"/>
</ResourceMatch>
</Resource>
</Resources>
<Actions>
<AnyAction/>
</Actions>
</Target>
</Rule>
<Rule RuleId="dummyRuleId-LineNumber-11" Effect="Deny">
<Target>
<Subjects>
<AnySubject/>
</Subjects>
<Resources>
<AnyResource/>
</Resources>
<Actions>
<AnyAction/>
</Actions>
</Target>
</Rule>
</Policy>
</PolicySet>
<PolicySet PolicySetId="dummyPolicySetId-LineNumber-1" PolicyCombiningAlgId="urn:oasis:names:tc:xacml:1.0:policy-combining-algorithm:permit-overrides">
<Description>PolicySet at Line Number 1</Description>
<Target>
<Subjects>
<AnySubject/>
</Subjects>
<Resources>
<AnyResource/>
</Resources>
<Actions>
<Action>
<ActionMatch MatchId="urn:oasis:names:tc:xacml:1.0:function:string-equal">
<AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">URI-MyData1</AttributeValue>
<ActionAttributeDesignator AttributeId="urn:oasis:names:tc:xacml:1.0:action:action-id" DataType="http://www.w3.org/2001/XMLSchema#string"/>
</ActionMatch>
</Action>
</Actions>
</Target>
<Policy PolicyId="dummyPolicyId-LineNumber-4" RuleCombiningAlgId="urn:oasis:names:tc:xacml:1.0:rule-combining-algorithm:permit-overrides">
<Description>Policy at Line Number 4</Description>
<PolicyDefaults><XPathVersion>http://www.w3.org/TR/1999/Rec-xpath-19991116</XPathVersion></PolicyDefaults>
<Target>
<Subjects>
<AnySubject/>
</Subjects>
<Resources>
<AnyResource/>
</Resources>
<Actions>
<AnyAction/>
</Actions>
</Target>
<Rule RuleId="dummyRuleId-LineNumber-7" Effect="Deny">
<Target>
<Subjects>
<Subject>
<SubjectMatch MatchId="urn:oasis:names:tc:xacml:1.0:function:string-equal">
<AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">tom </AttributeValue>
<SubjectAttributeDesignator AttributeId="urn:oasis:names:tc:xacml:1.0:subject:subject-id" DataType="http://www.w3.org/2001/XMLSchema#string"/>
</SubjectMatch>
</Subject>
</Subjects>
<Resources>
<Resource>
<ResourceMatch MatchId="urn:oasis:names:tc:xacml:1.0:function:regexp-string-match">
<AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string"> 1</AttributeValue>
<ResourceAttributeDesignator AttributeId="urn:oasis:names:tc:xacml:1.0:resource:resource-id" DataType="http://www.w3.org/2001/XMLSchema#string"/>
</ResourceMatch>
</Resource>
</Resources>
<Actions>
<AnyAction/>
</Actions>
</Target>
</Rule>
<Rule RuleId="dummyRuleId-LineNumber-11" Effect="Deny">
<Target>
<Subjects>
<AnySubject/>
</Subjects>
<Resources>
<AnyResource/>
</Resources>
<Actions>
<AnyAction/>
</Actions>
</Target>
</Rule>
</Policy>
</PolicySet>
#
bin.includes = .,\
model/,\
META-INF/,\
plugin.xml,\
plugin.properties
jars.compile.order = .
source.. = src/
output.. = bin/
<?xml version="1.0" encoding="UTF-8"?>
<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>
<groupId>eu.paasage.mddb.cdo</groupId>
<artifactId>client</artifactId>
<version>1.1</version>
<build>
<sourceDirectory>src</sourceDirectory>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source />
<target />
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.2.1</version>
<executions>
<execution>
<goals>
<goal>java</goal>
</goals>
</execution>
</executions>
<configuration>
<mainClass>eu.paasage.mddb.cdo.client.CDOClient</mainClass>
<arguments />
</configuration>
</plugin>
<plugin>
<artifactId>maven-shade-plugin</artifactId>
<version>2.3</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<artifactSet>
<excludes>
<exclude>META-INF/*.SF</exclude>
<exclude>META-INF/*.DSA</exclude>
<exclude>META-INF/*.RSA</exclude>
<exclude>META-INF/SIG-*</exclude>
</excludes>
</artifactSet>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<repositories>
<repository>
<id>myrepo.local</id>
<name>myrepo</name>
<url>file://${basedir}/lib</url>
</repository>
</repositories>
</project>
#hostname where CDO Server resides
host=pipeline-1.esc.rl.ac.uk
#port on which CDO Server listens
port=2036
#the name of the CDO repository of the server
repository=tomcdo
#logging to be set off or on - default is off
logging=off
#
pluginName = Camel Model
providerName = www.example.org
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>
<!--
-->
<plugin>
</plugin>
<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.ow2.paasage.mddb.cdo</groupId>
<artifactId>client</artifactId>
<version>2.0.0-SNAPSHOT</version>
<build>
<sourceDirectory>src</sourceDirectory>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source/>
<target/>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.2.1</version>
<executions>
<execution>
<goals>
<goal>java</goal>
</goals>
</execution>
</executions>
<configuration>
<mainClass>eu.paasage.mddb.cdo.client.CDOClient</mainClass>
<arguments>
</arguments>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.4</version>
<configuration>
<archive>
<manifest>
<mainClass>eu.paasage.mddb.cdo.client.CDOClient</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.4</version>
<configuration>
<archive>
<manifest>
<mainClass>eu.paasage.identityManagement.cdoPolicyManager</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<repositories>
<repository>
<id>ow2.releases</id>
<name>OW2 repository</name>
<url>http://repository.ow2.org/nexus/content/repositories/releases/</url>
</repository>
<repository>
<id>ow2.snapshots</id>
<name>OW2 repository</name>
<url>http://repository.ow2.org/nexus/content/repositories/snapshots/</url>
</repository>
<repository>
<id>paasage.repo</id>
<name>PaaSage repository</name>
<url>http://jenkins.paasage.cetic.be/repository/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>org.ow2.paasage</groupId>
<artifactId>camel</artifactId>
<version>2.0.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.eclipse.core</groupId>
<artifactId>runtime</artifactId>
<version>3.10.0-v20140318-2214</version>
</dependency>
<dependency>
<groupId>javax.annotation</groupId>
<artifactId>javax.annotation-api</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>javax.inject</groupId>
<artifactId>javax.inject</artifactId>
<version>1</version>
</dependency>
<dependency>
<groupId>org.eclipse</groupId>
<artifactId>osgi</artifactId>
<version>3.10.0-v20140606-1445</version>
</dependency>
<dependency>
<groupId>org.eclipse.birt.runtime</groupId>
<artifactId>org.eclipse.equinox.common</artifactId>
<version>3.6.200.v20130402-1505</version>
</dependency>
<dependency>
<groupId>org.eclipse.birt.runtime</groupId>
<artifactId>org.eclipse.core.jobs</artifactId>
<version>3.6.0.v20140424-0053</version>
</dependency>
<!-- <dependency>
<groupId>org.eclipse.core.runtime.compatibility</groupId>
<artifactId>registry</artifactId>
<version>3.2.100-v20070316</version>
</dependency> -->
<dependency>
<groupId>org.eclipse.runtime</groupId>
<artifactId>runtime-registry-compatibility</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>org.eclipse.birt.runtime</groupId>
<artifactId>org.eclipse.equinox.registry</artifactId>
<version>3.5.400.v20140428-1507</version>
</dependency>
<dependency>
<groupId>org.eclipse.equinox</groupId>
<artifactId>preferences</artifactId>
<version>3.5.200-v20140224-1527</version>
</dependency>
<dependency>
<groupId>org.eclipse.core</groupId>
<artifactId>contenttype</artifactId>
<version>3.4.200-v20140207-1251</version>
</dependency>
<dependency>
<groupId>org.eclipse.emf</groupId>
<artifactId>org.eclipse.emf.ecore</artifactId>
<version>2.10.0-v20140514-1158</version>
</dependency>
<dependency>
<groupId>org.eclipse.emf</groupId>
<artifactId>org.eclipse.emf.common</artifactId>
<version>2.10.0-v20140514-1158</version>
</dependency>
<dependency>
<groupId>org.eclipse.emf</groupId>
<artifactId>cdo_4.3.0</artifactId>
<version>v20140520-1823</version>
</dependency>
<dependency>
<groupId>org.eclipse.emf.cdo</groupId>
<artifactId>common_4.3.0</artifactId>
<version>v20140309-0644</version>
</dependency>
<dependency>
<groupId>org.eclipse.birt.runtime</groupId>
<artifactId>org.eclipse.emf.ecore.change</artifactId>
<version>2.10.0.v20140514-1158</version>
</dependency>
<dependency>
<groupId>org.eclipse.emf</groupId>
<artifactId>org.eclipse.emf.ecore.xmi</artifactId>
<version>2.10.0-v20140514-1158</version>
</dependency>
<dependency>
<groupId>org.eclipse.net4j</groupId>
<artifactId>util_3.4.0</artifactId>
<version>v20140308-0604</version>
</dependency>
<dependency>
<groupId>org.eclipse.emf.cdo</groupId>
<artifactId>net4j_4.1.200</artifactId>
<version>v20140308-0604</version>
</dependency>
<dependency>
<groupId>org.eclipse.net4j</groupId>
<artifactId>tcp_4.1.200</artifactId>
<version>v20140114-0640</version>
</dependency>
<!-- <dependency>
<groupId>org.eclipse.net4j</groupId>
<artifactId>jvm_4.1.200</artifactId>
<version>v20140114-0640</version>
</dependency> -->
<dependency>
<groupId>org.eclipse</groupId>
<artifactId>net4j_4.3.0</artifactId>
<version>v20140308-0604</version>
</dependency>
<!-- <dependency>
<groupId>org.eclipse.ocl.examples</groupId>
<artifactId>pivot_3.4.0</artifactId>
<version>v20140601-1110</version>
</dependency> -->
<dependency>
<groupId>org.eclipse.ocl.examples</groupId>
<artifactId>pivot_3.4.2</artifactId>
<version>v20140725-1945</version>
</dependency>
<dependency>
<groupId>org.eclipse.ocl.examples.xtext</groupId>
<artifactId>completeocl_3.4.0</artifactId>
<version>v20140528-1458</version>
</dependency>
<dependency>
<groupId>org.eclipse.ocl.examples.xtext</groupId>
<artifactId>oclinecore_3.4.0</artifactId>
<version>v20140528-1458</version>
</dependency>
<dependency>
<groupId>org.eclipse.ocl.examples.xtext</groupId>
<artifactId>oclstdlib_3.4.0</artifactId>
<version>v20140528-1458</version>
</dependency>
<dependency>
<groupId>org.eclipse.ocl.examples</groupId>
<artifactId>domain_3.4.2</artifactId>
<version>v20140725-1916</version>
</dependency>
<dependency>
<groupId>org.eclipse.ocl.examples</groupId>
<artifactId>library_3.4.2</artifactId>
<version>v20140725-1916</version>
</dependency>
<!-- <dependency>
<groupId>org.eclipse.ocl</groupId>
<artifactId>common</artifactId>
<version>1.2.0-v20140528-1458</version>
</dependency> -->
<dependency>
<groupId>org.eclipse.xtext</groupId>
<artifactId>org.eclipse.xtext</artifactId>
<version>2.7.2</version>
</dependency>