blob: 51efbfd3a243c174c47123de1afa98d7ef12d67b [file] [log] [blame]
<%@ jet package="comrel.refactoring" class="RefactoringDataManagement"
imports="org.eclipse.emf.refactor.refactoring.generator.core.* comrel.generator.refactoring.*"%>
<%ComrelConfig refactoringConfig = (ComrelConfig) argument; %>
/**
* <copyright>
* </copyright>
*
* $Id: RefactoringDataManagement.javajet,v 1.2 2011/01/21 13:08:06 tarendt Exp $
*/
package <%=refactoringConfig.getPackageName()%>;
import <%=refactoringConfig.getProjectName().toLowerCase()%>.Activator;
import java.io.File;
import java.util.List;
import org.eclipse.core.runtime.FileLocator;
import org.eclipse.core.runtime.Platform;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.refactor.refactoring.core.Port;
import org.eclipse.emf.refactor.refactoring.runtime.DataManagementAdapter;
import org.osgi.framework.Bundle;
/**
* Class for specific data concerning a model refactoring.
* @generated
*/
public class RefactoringDataManagement extends DataManagementAdapter {
protected final String SELECTEDEOBJECT = "selectedEObject";
protected final String COMRELMODELS = "comrelmodels";
protected final String COMRELMODELSSLASH = "\\comrelmodels\\";
private String comrelFileName = "<%=refactoringConfig.getComrelModel()%>";
/**
* Default constructor.
* @generated
*/
public RefactoringDataManagement() {
this.addPorts();
}
/**
* Adds the ports to the data management used for parameter passing.
* @generated
*/
private void addPorts(){
this.inPorts.add
(new Port<<%=refactoringConfig.getSelectedEObjectClass()%>>
(SELECTEDEOBJECT, <%=refactoringConfig.getSelectedEObjectClass()%>.class));
<% for (ParameterInfo pc : refactoringConfig.getParameters()) { %>
this.inPorts.add
(new Port<String>
("<%=pc.getName()%>", String.class, "unspecified"));
<% } %>
}
/**
* @see org.eclipse.emf.refactor.common.core.IDataManagement#
* preselect(java.util.List)
* @generated
*/
@SuppressWarnings("unchecked")
@Override
public void preselect(List<EObject> selection) {
getInPortByName(SELECTEDEOBJECT).
setValue((<%=refactoringConfig.getSelectedEObjectClass()%>) selection.get(0));
}
public String getComrelFilePath() {
String path = "";
final Bundle bundle = Platform.getBundle(Activator.PLUGIN_ID);
try {
if (bundle != null) {
path = FileLocator.toFileURL(bundle.getEntry(COMRELMODELS)).getFile();
path += this.comrelFileName;
} else {
path = new File(".").getCanonicalPath()
+ COMRELMODELSSLASH + this.comrelFileName;
}
} catch(Exception e) {
e.printStackTrace();
}
return path;
}
}