Skip to content
Snippets Groups Projects
Commit e467c3a2 authored by Chrissi's avatar Chrissi
Browse files

newest version of rsync

parent dbaaa5e5
No related branches found
No related tags found
No related merge requests found
Showing
with 191 additions and 499 deletions
package ttc2019.metamodels.create;
import java.util.HashMap;
import java.util.Map;
import org.eclipse.emf.ecore.EObject;
import sync.tt.Cell;
import sync.tt.Port;
import sync.tt.Row;
import sync.tt.TruthTable;
import ttc2019.TTFactory;
public class CreateTTinJava {
private TruthTable truthttable = null;
private Map<EObject, Row> rows = new HashMap<EObject, Row>();
private Map<EObject, Port> ports = new HashMap<EObject, Port>();
private Map<EObject, Cell> cells = new HashMap<EObject, Cell>();
public void createTruthTable(String name, EObject id) {
truthttable = TTFactory.getTruthTable(name);
}
public void createInputPort(String name, EObject id) {
//mapping += (id -> new InputPort(name, Set.empty, null, null))
ports.put(id, TTFactory.getInputPort(name));
}
public void createOutputPort(String name, EObject id) {
//mapping += (id -> new OutputPort(name, Set.empty, null, null))
ports.put(id, TTFactory.getOutputPort(name));
}
public void createRow(EObject id) {
//mapping += (id -> new Row(Set.empty, null, null))
rows.put(id, TTFactory.getRow());
}
public void createCell(Boolean value, EObject id) {
//mapping += (id -> new Cell(value, null, null, null))
cells.put(id, TTFactory.getCell(value));
}
public void createTruthTableRowsRow(EObject tt, EObject row) {
//val t = mapping.get(tt).get.asInstanceOf[TruthTable]
//val r = mapping.get(row).get.asInstanceOf[Row]
Row r = rows.get(row);
truthttable.addRows(r);
r.setOwner(truthttable);
}
public void createTruthTablePortsPort(EObject tt, EObject port) {
//val t = mapping.get(tt).get.asInstanceOf[TruthTable]
//val p = mapping.get(port).get.asInstanceOf[Port]
Port p = ports.get(port);
truthttable.addPorts(p);
p.setOwner(truthttable);
}
public void createRowCellsCell(EObject row, EObject cell) {
//val c = mapping.get(cell).get.asInstanceOf[Cell]
//val r = mapping.get(row).get.asInstanceOf[Row]
Cell c = cells.get(cell);
Row r = rows.get(row);
c.setOwner(r);
r.addCells(c);
}
public void createCellPortPort(EObject cell, EObject port) {
//val c = mapping.get(cell).get.asInstanceOf[Cell]
//val p = mapping.get(port).get.asInstanceOf[Port]
Cell c = cells.get(cell);
Port p = ports.get(port);
c.setPort(p);
p.addCells(c);
}
}
package ttc2019.metamodels.create;
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl;
import org.eclipse.emf.ecore.xmi.impl.XMIResourceImpl;
import java.util.HashMap;
class IntrinsicIDXMIResourceFactoryImpl extends XMIResourceFactoryImpl {
@Override
public Resource createResource(URI uri) {
final XMIResourceImpl r = new XMIResourceImpl(uri);
r.setIntrinsicIDToEObjectMap(new HashMap<>());
return r;
}
}
package ttc2019.metamodels.create;
import java.io.File;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.emf.ecore.resource.ResourceSet;
import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
import org.eclipse.emf.ecore.xmi.XMIResource;
import org.eclipse.emf.ecore.xmi.impl.EcoreResourceFactoryImpl;
import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl;
import org.eclipse.emf.ecore.xmi.impl.XMLParserPoolImpl;
import ttc2019.metamodels.tt.TTPackage;
import ttc2019.metamodels.tt.TruthTable;
public class LoadEObject {
public EObject loadSimple(String pathMeta, String pathInstance) throws IOException {
ResourceSet resourceSet = new ResourceSetImpl();
resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put("*", new XMIResourceFactoryImpl());
Resource ressourceMeta = resourceSet.getResource(URI.createFileURI(pathMeta), true);
EObject packageMeta = ressourceMeta.getContents().get(0);
resourceSet.getPackageRegistry().put("https://www.transformation-tool-contest.eu/2019/tt", packageMeta);
Resource ressourceModel = resourceSet.getResource(URI.createURI(pathInstance), true);
return ressourceModel.getContents().get(0);
}
public EObject load(String pathMeta, String pathInstance) throws IOException {
ResourceSet resourceSet = new ResourceSetImpl();
resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put("ecore", new EcoreResourceFactoryImpl());
resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put("ttmodel", new IntrinsicIDXMIResourceFactoryImpl());
//resourceSet.getResourceFactoryRegistry.getExtensionToFactoryMap.put(Resource.Factory.Registry.DEFAULT_EXTENSION, new XMIResourceFactoryImpl());
//resourceSet.getLoadOptions().put(XMIResource.OPTION_DEFER_IDREF_RESOLUTION, true);
Resource ressourceMeta = resourceSet.getResource(URI.createFileURI(pathMeta), true);
EObject packageMeta = ressourceMeta.getContents().get(0);
resourceSet.getPackageRegistry().put("https://www.transformation-tool-contest.eu/2019/tt", packageMeta);
Resource ressourceModel = resourceSet.getResource(URI.createURI(pathInstance), true);
Map<String, Object> loadOptions = new HashMap<>();
loadOptions.put(XMIResource.OPTION_DEFER_IDREF_RESOLUTION, true);
loadOptions.put(XMIResource.OPTION_USE_PARSER_POOL, new XMLParserPoolImpl());
loadOptions.put(XMIResource.OPTION_USE_XML_NAME_TO_FEATURE_MAP, new HashMap<>());
ressourceModel.load(loadOptions);
return ressourceModel.getContents().get(0);
}
public TruthTable loadTT(String pathMeta, String pathInstance) throws IOException {
TTPackage.eINSTANCE.getName();
ResourceSet rs = new ResourceSetImpl();
//rs.getResourceFactoryRegistry().getExtensionToFactoryMap().put("*", new XMIResourceFactoryImpl());
rs.getResourceFactoryRegistry().getExtensionToFactoryMap().put("*", new IntrinsicIDXMIResourceFactoryImpl());
rs.getLoadOptions().put(XMIResource.OPTION_DEFER_IDREF_RESOLUTION, true);
Resource rTT = rs.getResource(URI.createFileURI(pathInstance), true);
Map<String, Object> loadOptions = new HashMap<>();
loadOptions.put(XMIResource.OPTION_DEFER_IDREF_RESOLUTION, true);
loadOptions.put(XMIResource.OPTION_USE_PARSER_POOL, new XMLParserPoolImpl());
loadOptions.put(XMIResource.OPTION_USE_XML_NAME_TO_FEATURE_MAP, new HashMap<>());
rTT.load(loadOptions);
TruthTable tt = (TruthTable) rTT.getContents().get(0);
return tt;
/*ResourceSet resourceSet = new ResourceSetImpl();
resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put("ecore", new EcoreResourceFactoryImpl());
resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put("ttmodel", new IntrinsicIDXMIResourceFactoryImpl());
//resourceSet.getResourceFactoryRegistry.getExtensionToFactoryMap.put(Resource.Factory.Registry.DEFAULT_EXTENSION, new XMIResourceFactoryImpl());
//resourceSet.getLoadOptions().put(XMIResource.OPTION_DEFER_IDREF_RESOLUTION, true);
Resource ressourceMeta = resourceSet.getResource(URI.createFileURI(pathMeta), true);
EObject packageMeta = ressourceMeta.getContents().get(0);
resourceSet.getPackageRegistry().put("https://www.transformation-tool-contest.eu/2019/tt", packageMeta);
Resource ressourceModel = resourceSet.getResource(URI.createURI(pathInstance), true);
Map<String, Object> loadOptions = new HashMap<>();
loadOptions.put(XMIResource.OPTION_DEFER_IDREF_RESOLUTION, true);
loadOptions.put(XMIResource.OPTION_USE_PARSER_POOL, new XMLParserPoolImpl());
loadOptions.put(XMIResource.OPTION_USE_XML_NAME_TO_FEATURE_MAP, new HashMap<>());
ressourceModel.load(loadOptions);
return (TruthTable)ressourceModel.getContents().get(0);*/
}
}
package bdd
import org.rosi_project.model_management.core.PlayerSync
class Assignment(protected var value: Boolean) extends PlayerSync {
def getValue(): Boolean = {
value
}
def setValue(v: Boolean): Unit = {
value = v
+this changeValue ()
}
override def toString(): String = {
"Assignment:" + " value=" + value
}
}
\ No newline at end of file
package bdd
import org.rosi_project.model_management.sum.compartments.IAssociation
class AssignmentPortOutputPort(private val sInstance: Assignment, private val tInstance: OutputPort) extends IAssociation {
override def internalInitialize(): Unit = {
this.source = new Source()
this.target = new Target()
sInstance play this.source
tInstance play this.target
}
override def toString(): String = {
"[AssignmentPortOutputPort " + source + ", " + target + "]"
}
def getSourceIns(): Assignment = {
return sInstance
}
def getTargetIns(): OutputPort = {
return tInstance
}
class Source extends IAssociationSource {
override def toString(): String = {
"S: (" + sInstance + ")"
}
}
class Target extends IAssociationTarget {
override def toString(): String = {
"T: (" + tInstance + ")"
}
}
}
\ No newline at end of file
package bdd
import org.rosi_project.model_management.core.PlayerSync
class BDD(protected var name: String) extends PlayerSync {
def getName(): String = {
name
}
def setName(n: String): Unit = {
name = n
+this changeName ()
}
override def toString(): String = {
"BDD:" + " name=" + name
}
}
\ No newline at end of file
package bdd
import org.rosi_project.model_management.sum.compartments.IComposition
class BDDPortsPort(private val sInstance: BDD, private val tInstance: Port) extends IComposition {
override def internalInitialize(): Unit = {
this.source = new Source()
this.target = new Target()
sInstance play this.source
tInstance play this.target
}
override def toString(): String = {
"[BDDPortsPort " + source + ", " + target + "]"
}
def getSourceIns(): BDD = {
return sInstance
}
def getTargetIns(): Port = {
return tInstance
}
class Source extends ICompositionSource {
override def toString(): String = {
"S: (" + sInstance + ")"
}
}
class Target extends ICompositionTarget {
override def toString(): String = {
"T: (" + tInstance + ")"
}
}
}
\ No newline at end of file
package bdd
import org.rosi_project.model_management.sum.compartments.IComposition
class BDDTreeTree(private val sInstance: BDD, private val tInstance: Tree) extends IComposition {
override def internalInitialize(): Unit = {
this.source = new Source()
this.target = new Target()
sInstance play this.source
tInstance play this.target
}
override def toString(): String = {
"[BDDTreeTree " + source + ", " + target + "]"
}
def getSourceIns(): BDD = {
return sInstance
}
def getTargetIns(): Tree = {
return tInstance
}
class Source extends ICompositionSource {
override def toString(): String = {
"S: (" + sInstance + ")"
}
}
class Target extends ICompositionTarget {
override def toString(): String = {
"T: (" + tInstance + ")"
}
}
}
\ No newline at end of file
package bdd
import org.rosi_project.model_management.sum.query.QueryHelper
class HelperPort(p_Name: String) extends Port(p_Name) with QueryHelper {
override def equals(that: Any): Boolean = {
that.isInstanceOf[Port]
}
override def toString(): String = {
"HelperPort:" + " name=" + name
}
}
\ No newline at end of file
package bdd
import org.rosi_project.model_management.sum.query.QueryHelper
class HelperTree extends Tree() with QueryHelper {
override def equals(that: Any): Boolean = {
that.isInstanceOf[Tree]
}
override def toString(): String = {
"HelperTree:"
}
}
\ No newline at end of file
package bdd
class InputPort(p_Name: String) extends Port(p_Name) {
override def toString(): String = {
"InputPort:" + " name=" + name
}
}
\ No newline at end of file
package bdd
class Leaf extends Tree() {
override def toString(): String = {
"Leaf:"
}
}
\ No newline at end of file
package bdd
import org.rosi_project.model_management.sum.compartments.IComposition
class LeafAssignmentsAssignment(private val sInstance: Leaf, private val tInstance: Assignment) extends IComposition {
override def internalInitialize(): Unit = {
this.source = new Source()
this.target = new Target()
sInstance play this.source
tInstance play this.target
}
override def toString(): String = {
"[LeafAssignmentsAssignment " + source + ", " + target + "]"
}
def getSourceIns(): Leaf = {
return sInstance
}
def getTargetIns(): Assignment = {
return tInstance
}
class Source extends ICompositionSource {
override def toString(): String = {
"S: (" + sInstance + ")"
}
}
class Target extends ICompositionTarget {
override def toString(): String = {
"T: (" + tInstance + ")"
}
}
}
\ No newline at end of file
package bdd
class OutputPort(p_Name: String) extends Port(p_Name) {
override def toString(): String = {
"OutputPort:" + " name=" + name
}
}
\ No newline at end of file
package bdd
import org.rosi_project.model_management.core.PlayerSync
abstract class Port(protected var name: String) extends PlayerSync {
def getName(): String = {
name
}
def setName(n: String): Unit = {
name = n
+this changeName ()
}
override def toString(): String = {
"Port:" + " name=" + name
}
}
\ No newline at end of file
package bdd
class Subtree extends Tree() {
override def toString(): String = {
"Subtree:"
}
}
\ No newline at end of file
package bdd
import org.rosi_project.model_management.sum.compartments.IAssociation
class SubtreePortInputPort(private val sInstance: Subtree, private val tInstance: InputPort) extends IAssociation {
override def internalInitialize(): Unit = {
this.source = new Source()
this.target = new Target()
sInstance play this.source
tInstance play this.target
}
override def toString(): String = {
"[SubtreePortInputPort " + source + ", " + target + "]"
}
def getSourceIns(): Subtree = {
return sInstance
}
def getTargetIns(): InputPort = {
return tInstance
}
class Source extends IAssociationSource {
override def toString(): String = {
"S: (" + sInstance + ")"
}
}
class Target extends IAssociationTarget {
override def toString(): String = {
"T: (" + tInstance + ")"
}
}
}
\ No newline at end of file
package bdd
import org.rosi_project.model_management.sum.compartments.IComposition
class SubtreeTreeForOneTree(private val sInstance: Subtree, private val tInstance: Tree) extends IComposition {
override def internalInitialize(): Unit = {
this.source = new Source()
this.target = new Target()
sInstance play this.source
tInstance play this.target
}
override def toString(): String = {
"[SubtreeTreeForOneTree " + source + ", " + target + "]"
}
def getSourceIns(): Subtree = {
return sInstance
}
def getTargetIns(): Tree = {
return tInstance
}
class Source extends ICompositionSource {
override def toString(): String = {
"S: (" + sInstance + ")"
}
}
class Target extends ICompositionTarget {
override def toString(): String = {
"T: (" + tInstance + ")"
}
}
}
\ No newline at end of file
package bdd
import org.rosi_project.model_management.sum.compartments.IComposition
class SubtreeTreeForZeroTree(private val sInstance: Subtree, private val tInstance: Tree) extends IComposition {
override def internalInitialize(): Unit = {
this.source = new Source()
this.target = new Target()
sInstance play this.source
tInstance play this.target
}
override def toString(): String = {
"[SubtreeTreeForZeroTree " + source + ", " + target + "]"
}
def getSourceIns(): Subtree = {
return sInstance
}
def getTargetIns(): Tree = {
return tInstance
}
class Source extends ICompositionSource {
override def toString(): String = {
"S: (" + sInstance + ")"
}
}
class Target extends ICompositionTarget {
override def toString(): String = {
"T: (" + tInstance + ")"
}
}
}
\ No newline at end of file
package bdd
import org.rosi_project.model_management.core.PlayerSync
abstract class Tree extends PlayerSync {
override def toString(): String = {
"Tree:"
}
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment