Commit 31937e3c authored by Müller, Marco's avatar Müller, Marco
Browse files

Refactoring

* contents of mechanisms.tests moved to language.base.java
* createRootTransformationInstance now has zero parameters
  It is configured automatically in JavaBasdImplementationLanguageDefinition
* priorRegistry and language definition now owned by AbstractModelCodeTransformation
parent 2dde01bf
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -73,7 +73,6 @@
      <plugin id="javax.xml"/>
      <plugin id="lpg.runtime.java"/>
      <plugin id="mechanisms"/>
      <plugin id="mechanisms.test" fragment="true"/>
      <plugin id="org.antlr.runtime"/>
      <plugin id="org.apache.ant"/>
      <plugin id="org.apache.batik.bridge"/>
+2 −3
Original line number Diff line number Diff line
@@ -22,9 +22,8 @@ public abstract class ImplementationLanguageDefinition extends LanguageDefinitio
	public abstract TransformationResult transformTMToIM(List<EObject> ilRoots, IDRegistry idRegistry)
			throws CodelingException;

	public abstract void transformIMToCode(List<EObject> newModelRoots, List<EObject> oldModelRoots,
			IDRegistry idRegistry_newModel, IDRegistry idregistry_oldModel, List<IJavaProject> projects)
			throws CodelingException;
	public abstract void transformIMToCode(List<EObject> newModelRoots, List<EObject> oldModelRoots, IDRegistry idRegistry_newModel,
			IDRegistry idregistry_oldModel, List<IJavaProject> projects) throws CodelingException;

	public abstract void transformTMToCode(List<EObject> ilRoots, List<EObject> cmRoots, IDRegistry idRegistry,
			List<IJavaProject> projects) throws CodelingException;
+7 −5
Original line number Diff line number Diff line
@@ -28,8 +28,8 @@ public class ImplementationModelToCodeTask extends AbstractTask {
	final ImplementationLanguageDefinition implementationLanguage;
	private boolean isImplementationMigration;

	public ImplementationModelToCodeTask(ImplementationLanguageDefinition implementationLanguage, List<IJavaProject> projects,
			boolean isImplementationMigration) {
	public ImplementationModelToCodeTask(ImplementationLanguageDefinition implementationLanguage,
			List<IJavaProject> projects, boolean isImplementationMigration) {
		super(TASK_NAME);
		this.projects = projects;
		this.implementationLanguage = implementationLanguage;
@@ -44,8 +44,10 @@ public class ImplementationModelToCodeTask extends AbstractTask {
			final IDRegistry idregistry_oldModel = IDRegistry.load(ProgramCodeToImplementationModelTask.ID_FILEPATH);
			progressMonitor.worked(5);

			// Load old model
			final List<EObject> oldModelRoots = Models.loadFrom(ProgramCodeToImplementationModelTask.MODEL_FILEPATH);
			// Load old model (must be null during implementation migration)
			List<EObject> oldModelRoots = null;
			if (!isImplementationMigration)
				oldModelRoots = Models.loadFrom(ProgramCodeToImplementationModelTask.MODEL_FILEPATH);
			progressMonitor.worked(5);

			// Load new IDs
@@ -66,7 +68,7 @@ public class ImplementationModelToCodeTask extends AbstractTask {
				removeCodeAndCMElementEntries(idregistry_oldModel);
				removeCodeElementEntries(idregistry_newModel);
			}
			implementationLanguage.transformIMToCode(newModelRoots, null, idregistry_newModel,
			implementationLanguage.transformIMToCode(newModelRoots, oldModelRoots, idregistry_newModel,
					idregistry_oldModel, projects);
			progressMonitor.worked(80);

+2 −9
Original line number Diff line number Diff line
@@ -49,15 +49,8 @@ public class CoCoMELanguageDefinition extends JavaBasedImplementationLanguageDef
	}

	@Override
	public AbstractModelCodeTransformation<? extends EObject, ? extends IJavaElement> createRootTransformationInstance(
			List<IJavaProject> projects, IDRegistry idregistry, List<EObject> priorModelElements) {
		ArchitectureTransformation t = new ArchitectureTransformation(null);
		t.setCodeRoot(projects);
		t.setIDRegistry(idregistry);
		if (priorModelElements != null && !priorModelElements.isEmpty())
			t.setPriorModelElement(priorModelElements.get(0));
		t.setLanguageDefinition(this);
		return t;
	public AbstractModelCodeTransformation<? extends EObject, ? extends IJavaElement> createRootTransformationInstance() {
		return new ArchitectureTransformation();
	}

	@Override
+14 −13
Original line number Diff line number Diff line
@@ -13,8 +13,8 @@ import de.mkonersmann.advert.java.embed.transformation.AbstractModelCodeTransfor

public class ArchitectureTransformation extends NinjaSingletonTransformation<Architecture> {

	public ArchitectureTransformation(AbstractModelCodeTransformation<? extends EObject, ? extends IJavaElement> parentTransformation) {
		super(parentTransformation, CoCoMEPackage.eINSTANCE.getArchitecture());
	public ArchitectureTransformation() {
		super(null, CoCoMEPackage.eINSTANCE.getArchitecture());
	}

	@Override
@@ -32,7 +32,8 @@ public class ArchitectureTransformation extends NinjaSingletonTransformation<Arc
	}

	@Override
	protected void doCreateChildTransformationsToModel(List<AbstractModelCodeTransformation<? extends EObject, ? extends IJavaElement>> result) {
	protected void doCreateChildTransformationsToModel(
			List<AbstractModelCodeTransformation<? extends EObject, ? extends IJavaElement>> result) {

		// Child transformations for containment references
		result.add(new ComponentsTransformation(this));
Loading