Skip to content
Snippets Groups Projects
Commit 5346c9eb authored by Erlend Stav's avatar Erlend Stav
Browse files

Updated with support for 3.0.0 version of runtime environment

parent 34e21012
No related branches found
No related tags found
No related merge requests found
Showing
with 289 additions and 12 deletions
......@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: OntologyWizard
Bundle-SymbolicName: org.universaal.tools.modelling.ontology.wizard; singleton:=true
Bundle-Version: 1.1.0
Bundle-Version: 1.2.0
Bundle-Activator: org.universaal.tools.modelling.ontology.wizard.Activator
Bundle-Vendor: universAAL
Require-Bundle: org.eclipse.m2e.core;bundle-version="1.0.0",
......
......@@ -24,7 +24,12 @@ public interface IOntologyProjectGenerator {
* Identifies MW version 2.0.0.
*/
public static final int VER_200=3;
/**
* Identifies MW version 2.0.0.
*/
public static final int VER_300=4;
/**
* Get the MW version identifier.
*
......
......@@ -20,8 +20,10 @@ public class OntologyProjectGeneratorFactory {
return new OntologyProjectGeneratorMW130();
case IOntologyProjectGenerator.VER_200:
return new OntologyProjectGeneratorMW200();
case IOntologyProjectGenerator.VER_300:
return new OntologyProjectGeneratorMW300();
default:
return new OntologyProjectGeneratorMW200();
return new OntologyProjectGeneratorMW300();
}
}
......@@ -42,8 +44,10 @@ public class OntologyProjectGeneratorFactory {
return "1.3.0";
case IOntologyProjectGenerator.VER_200:
return "2.0.0";
case IOntologyProjectGenerator.VER_300:
return "3.0.0";
default:
return "2.0.0";
return "3.0.0";
}
}
......@@ -59,6 +63,7 @@ public class OntologyProjectGeneratorFactory {
getVersonName(IOntologyProjectGenerator.VER_120),
getVersonName(IOntologyProjectGenerator.VER_130),
getVersonName(IOntologyProjectGenerator.VER_200),
getVersonName(IOntologyProjectGenerator.VER_300),
};
}
......
package org.universaal.tools.modelling.ontology.wizard.versions;
import org.apache.maven.model.Dependency;
import org.apache.maven.model.Repository;
public class OntologyProjectGeneratorMW300 extends OntologyProjectGeneratorMW200 {
@Override
public int getMWVersionNumber() {
return IOntologyProjectGenerator.VER_300;
}
static Dependency[] dependencies = new Dependency[] {
dep("org.universAAL.support", "itests"),
dep("org.osgi", "org.osgi.core", "4.1.0"),
dep("org.universAAL.middleware", "mw.data.serialization.core"),
dep("org.universAAL.middleware", "mw.data.representation.core"),
dep("org.universAAL.middleware", "mw.container.xfaces.core"),
dep("org.universAAL.middleware", "mw.bus.service.core"),
dep("org.universAAL.ontology", "ont.phWorld"),
dep("org.universAAL.ontology", "ont.device"),
dep("org.universAAL.ontology", "ont.unit"),
dep("org.universAAL.ontology", "ont.measurement"),
dep("org.coode.owlapi", "owlapi", "3.3")
};
static Repository[] repositories = new Repository[] {
rep("central","Central Maven Repository", "http://repo1.maven.org/maven2", true, false, null ),
rep("apache-snapshots", "Apache Snapshots","http://people.apache.org/repo/m2-snapshot-repository", false, true, "daily" ),
rep("uaal", "universAAL Repositories", "http://depot.universaal.org/maven-repo/releases/", true, false, null ),
rep("uaal-snapshots", "universAAL Snapshot Repositories", "http://depot.universaal.org/maven-repo/snapshots/", false, true, null),
rep("uaal-thirdparty", "universAAL Third Party Repositories", "http://depot.universaal.org/maven-repo/thirdparty/", true, false, null)
};
@Override
public Dependency[] getDependencies() {
return dependencies;
}
@Override
public Repository[] getRepositories() {
return repositories;
}
}
......@@ -27,7 +27,7 @@ public class OntologyProjectModel {
String mavenGroupId;
String mavenName;
int mwVersion = IOntologyProjectGenerator.VER_200;
int mwVersion = IOntologyProjectGenerator.VER_300;
public int getMwVersion() {
return mwVersion;
......
......@@ -2,7 +2,7 @@
<feature
id="org.universaal.tools.profilefeature"
label="AAL Studio Modelling Support"
version="1.1.0"
version="1.2.0"
provider-name="universAAL"
plugin="org.universaal.tools.aalstudio.core">
......
......@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Transformation Command
Bundle-SymbolicName: org.universaal.tools.transformationcommand;singleton:=true
Bundle-Version: 1.1.0
Bundle-Version: 1.3.0
Bundle-Vendor: universAAL
Require-Bundle: org.eclipse.ui,
org.eclipse.core.resources;bundle-version="3.0.0",
......
......@@ -46,7 +46,7 @@ public class TransformOntUML2Java extends TransformationHandler {
if (window != null) {
ElementListSelectionDialog dialog =
new ElementListSelectionDialog(window.getShell(), new LabelProvider());
dialog.setElements(new String[] { "1_1_0", "1_2_0", "1_3_0" , "2_0_0" });
dialog.setElements(new String[] { "1_1_0", "1_2_0", "1_3_0" , "2_0_0", "3_0_0" });
dialog.setTitle("Please select middleware version to transform to:");
// User pressed cancel
if (dialog.open() != Window.OK) {
......
......@@ -10,7 +10,7 @@ import "OntologyUML2Java_1_2_0.m2t"
texttransformation OntologyUML2Java_1_3_0 (in uml:"http://www.eclipse.org/uml2/3.0.0/UML") extends OntologyUML2Java_1_2_0 {
uml.Model::generateActivator(ontNameList:Hashtable) {
StdOut.println("Generating activator for MW 1.3.0")
StdOut.println("Generating activator for MW 1.3.0 and above")
// First, find package name for activator
var mainPacakageName:String = " "
......
......@@ -7,10 +7,10 @@
import "OntologyUML2Java_1_3_0.m2t"
texttransformation OntologyUML2JavaV2 (in uml:"http://www.eclipse.org/uml2/3.0.0/UML") extends OntologyUML2Java_1_3_0 {
texttransformation OntologyUML2Java_2_0_0 (in uml:"http://www.eclipse.org/uml2/3.0.0/UML") extends OntologyUML2Java_1_3_0 {
uml.Model::generateActivator(ontNameList:Hashtable) {
StdOut.println("Generating activator for MW 2.0.0")
StdOut.println("Generating activator for MW 2.0.0 and above")
// First, find package name for activator
var mainPacakageName:String = " "
......
/**
* transformation Ontology UML 2 Java transformation for universAAL
* date: 28/6/2011
* author: Erlend Stav, Stle Walderhaug
* description:
*/
import "OntologyUML2Java_2_0_0.m2t"
// This script extends 1_3_0 instead of 2_0_0 because of a bug in the handling of extends in MOFScript when
// the dept of extension gets too deep
texttransformation OntologyUML2Java_3_0_0 (in uml:"http://www.eclipse.org/uml2/3.0.0/UML") extends OntologyUML2Java_1_3_0 {
uml.Model::generateTest() {
file( testBasePath + "/org/universAAL/ontology/test/ArtifactIT.java" )
"package org.universAAL.ontology.test;
import org.universAAL.itests.IntegrationTest;
/**
* Here developer's of this artifact should code their integration tests.
*
*/
public class ArtifactIT extends IntegrationTest {
public void testComposite() {
logAllBundles();
}
}
"
}
// generate Factory
uml.Package::generateFactory(ontologyClassList:Hashtable) {
var pName:String = self.getFullPackageName()
file( javaBasePath + "/" + pName.substring(0, pName.lastIndexOf(".")).replace("\\.", "/") + '/' + ontologyName.firstToUpper() + "Factory.java" )
'
package ' pName.substring(0, pName.lastIndexOf(".")) ';
import org.osgi.framework.BundleActivator;
import org.osgi.framework.BundleContext;
import org.universAAL.middleware.rdf.Resource;
import org.universAAL.middleware.rdf.ResourceFactory;
'
//The factory is now in another package than the classes. Must import the classes.
//At the time this rule is invoked, all the relevant classes are in ontologyClassList and the enums in ontologyEnumList
ontologyClassList->forEach(c : uml.Class) {
'
import ' + c.getFullPackageName() + ';'
}
'
public class ' ontologyName.firstToUpper() 'Factory implements ResourceFactory {
public Resource createInstance(String classURI, String instanceURI, int factoryIndex) {
switch (factoryIndex) {
'
var classIndex:Integer = 0
ontologyClassList.values()->forEach(component:uml.Class) {
// Generate factory entry only for concrete classes
if (component.isAbstract == false) {
' case ' classIndex ':\n'
' return new 'component.name'(instanceURI);\n'
classIndex = classIndex + 1
}
}
'
}
return null;
}
}
'
}
// The following methods are copied from the 2.0.0 version script because of the bug in extends
uml.Model::generateActivator(ontNameList:Hashtable) {
StdOut.println("Generating activator for MW 3.0.0 and above")
// First, find package name for activator
var mainPacakageName:String = " "
self.ownedMember -> forEach( p:uml.Package ) {
mainPacakageName = p.name.substring(0, p.name.lastIndexOf("."))
//break
}
file( javaBasePath + "/" + mainPacakageName.replace("\\.", "/") + '/' + ontologyName.firstToUpper() + "Activator.java" )
'
package ' mainPacakageName ';
import org.universAAL.middleware.container.ModuleContext;
import org.universAAL.middleware.container.ModuleActivator;
import org.universAAL.middleware.owl.OntologyManagement;
'
//only importing valid ontologies - i.e. those that are put into the ontologyList
ontNameList.keys()-> forEach( oName:String ) {
'import 'oName'.*;\n'
}
'
public class 'ontologyName.firstToUpper()'Activator implements ModuleActivator {
'
ontNameList.keys()->forEach(oName:String){
' 'ontNameList.get(oName).firstToUpper()'Ontology _' ontNameList.get(oName) 'Ontology = new ' ontNameList.get(oName).firstToUpper() 'Ontology();\n'
}
'
public void start(ModuleContext mc) throws Exception {\n'
ontNameList.keys()->forEach(oName:String){
' OntologyManagement.getInstance().register(mc, _' ontNameList.get(oName) 'Ontology);\n'
}
' }
public void stop(ModuleContext mc) throws Exception {\n'
ontNameList.keys()->forEach(oName:String){
' OntologyManagement.getInstance().unregister(mc, _' ontNameList.get(oName) 'Ontology);\n'
}
' }
}
'
}
// generate Creator : TODO: Fix for 2.0.0
uml.Package::generateCreator(ontologyClassList:Hashtable) {
var pName:String = self.getFullPackageName()
file( javaBasePath + "/" + pName.substring(0, pName.lastIndexOf(".")).replace("\\.", "/") + '/creator/' + ontologyName.firstToUpper() + "OWLCreator.java" )
'
package ' pName.substring(0, pName.lastIndexOf(".")) '.creator;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import org.semanticweb.owlapi.apibinding.OWLManager;
import org.semanticweb.owlapi.io.RDFXMLOntologyFormat;
import org.semanticweb.owlapi.model.IRI;
import org.semanticweb.owlapi.model.OWLOntology;
import org.semanticweb.owlapi.model.OWLOntologyCreationException;
import org.semanticweb.owlapi.model.OWLOntologyFormat;
import org.semanticweb.owlapi.model.OWLOntologyManager;
import org.semanticweb.owlapi.model.OWLOntologyStorageException;
import org.universAAL.middleware.owl.OntologyManagement;
import org.universAAL.middleware.serialization.MessageContentSerializer;
import org.universAAL.middleware.serialization.turtle.TurtleSerializer;
import ' pName '.' ontologyName.firstToUpper() 'Ontology;
public class ' ontologyName.firstToUpper() 'OWLCreator {
private static ' ontologyName.firstToUpper() 'Ontology ontology = new ' ontologyName.firstToUpper() 'Ontology();
private static MessageContentSerializer contentSerializer = new TurtleSerializer();
public static void main(String[] args) {
OntologyManagement.getInstance().register(null, ontology);
String serializedOntology = contentSerializer.serialize(ontology);
try {
BufferedWriter out = new BufferedWriter(new FileWriter("' ontologyName.firstToUpper() '.owl", false));
out.write(serializedOntology);
out.close();
} catch (IOException e) {
System.out.println("Exception ");
}
File file = new File("' ontologyName.firstToUpper() '.owl");
OWLOntologyManager manager = OWLManager.createOWLOntologyManager();
IRI documentIRI = IRI.create(file);
OWLOntology owlOntology;
try {
owlOntology = manager.loadOntologyFromOntologyDocument(documentIRI);
System.out.println("Loaded ontology: " + owlOntology);
OWLOntologyFormat format = manager.getOntologyFormat(owlOntology);
RDFXMLOntologyFormat rdfxmlFormat = new RDFXMLOntologyFormat();
if(format.isPrefixOWLOntologyFormat()) {
rdfxmlFormat.copyPrefixesFrom(format.asPrefixOWLOntologyFormat());
}
manager.saveOntology(owlOntology, rdfxmlFormat, IRI.create(file));
System.out.println("Saved ontology " + owlOntology + " in file ' ontologyName.firstToUpper() '.owl");
} catch (OWLOntologyCreationException e1) {
e1.printStackTrace();
} catch (OWLOntologyStorageException e) {
e.printStackTrace();
}
return;
}
}
'
}
}
......@@ -2,7 +2,7 @@
<feature
id="org.universaal.tools.transformationfeature"
label="AAL Studio Transformations"
version="1.1.0"
version="1.3.0"
provider-name="universAAL"
plugin="org.universaal.tools.aalstudio.core">
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment