blob: 5f434366a2ed118fd0fe1ff03d678f66a599ab19 [file] [log] [blame]
package comrel.generator.refactoring;
import java.util.List;
import org.eclipse.core.resources.IProject;
import org.eclipse.emf.refactor.refactoring.generator.core.ParameterInfo;
import org.eclipse.emf.refactor.refactoring.generator.core.RefactoringInfo;
import comrel.CompositeRefactoring;
import comrel.InputPort;
public class ComrelConfig extends RefactoringInfo {
public static final String COMRELDIR = "/comrelmodels/";
public static final String COMRELEXT = ".comrel";
private static final String SELECTEDEOBJECT = "selectedEObject";
private static final String SELECTEDEOBJECTS = "selectedEObjects";
private boolean multi = false;
private String comrelModel;
public ComrelConfig(CompositeRefactoring cr, IProject project, String comrelModel) {
super(project.getName(), cr.getRefId(),
cr.getLabel(), cr.getNamespaceUri());
this.comrelModel = comrelModel;
this.init(cr);
}
public boolean isMulti() {
return multi;
}
public String getComrelModel() {
return comrelModel;
}
private void init(CompositeRefactoring cr) {
List<InputPort> ips = cr.getMainRefactoringUnit().getAllInputPorts();
for (InputPort ip : ips) {
if (ip.getName().equals(SELECTEDEOBJECTS)) multi = true;
if (ip.getName().equals(SELECTEDEOBJECT)
|| ip.getName().equals(SELECTEDEOBJECTS)) {
setSelectedEObjectClass(ip.getType().getName());
setSelectedEObjectJar(ip.getType().getPackage().getName());
} else {
ParameterInfo pi = new ParameterInfo(ip.getName());
if (ip.getDescription() != null) {
pi.setDescription(ip.getDescription());
}
this.getParameters().add(pi);
}
}
}
@Override
public String toString() {
return "ComrelConfig \n [projectName=" + projectName
+ ", \n getParameters()=" + getParameterString()
+ ", \n getProjectName()=" + getProjectName()
+ ", \n getRefactoringId()=" + getRefactoringId()
+ ", \n getMenuLabel()=" + getMenuLabel() + ", \n getNamespaceUri()="
+ getNamespaceUri() + ", \n getSelectedEObjectClass()="
+ getSelectedEObjectClass() + ", \n getSelectedEObjectJar()="
+ getJar() + ", \n getGuiHandler()="
+ getGuiHandler() + ", \n getController()=" + getController()
+ ", \n getPackageName()=" + getPackageName() + ", \n getClass()="
+ getClass() + ", \n hashCode()=" + hashCode() + ", \n toString()="
+ super.toString() + "]";
}
private String getParameterString() {
String ret = "";
for (ParameterInfo pi : getParameters()) {
ret += " " + pi.getName() + ":" + pi.getDescription() + ";";
}
return ret;
}
}