64 lines
1.9 KiB
Java
Executable File
64 lines
1.9 KiB
Java
Executable File
package pyUML.views;
|
|
|
|
import java.util.Map;
|
|
|
|
import org.eclipse.core.resources.IFile;
|
|
import org.eclipse.core.resources.IProject;
|
|
import org.eclipse.emf.common.util.URI;
|
|
import org.eclipse.emf.common.util.WrappedException;
|
|
import org.eclipse.emf.ecore.EObject;
|
|
import org.eclipse.emf.ecore.resource.Resource;
|
|
import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
|
|
import org.eclipse.jface.dialogs.MessageDialog;
|
|
import org.eclipse.jface.wizard.WizardDialog;
|
|
import org.eclipse.uml2.uml.Model;
|
|
import org.eclipse.uml2.uml.resource.UMLResource;
|
|
|
|
import pyUML.backend.GlobalConstants;
|
|
|
|
|
|
/**
|
|
* This edits a given view for a project.
|
|
* It loads the view configuration and calls EditViewWizard
|
|
*/
|
|
public class EditView{
|
|
private EditViewWizard editViewWizard;
|
|
|
|
public EditView(IProject project, IFile confFile, String viewName, boolean open) {
|
|
|
|
try{
|
|
String umlModelFileName=project.getLocation().
|
|
append(GlobalConstants.getPyUmlDir()).
|
|
append(project.getName()+".uml").toOSString();
|
|
|
|
EObject diagramRoot = null;
|
|
try {
|
|
Resource resource = new ResourceSetImpl().getResource(URI.createFileURI(umlModelFileName), true);
|
|
diagramRoot = (EObject) resource.getContents().get(0);
|
|
} catch (WrappedException ex) {
|
|
MessageDialog.openError(null,ex.getMessage(),"Unable to load model: " + umlModelFileName);
|
|
return;
|
|
}
|
|
UMLResource res = (UMLResource) diagramRoot.eResource();
|
|
Map<EObject, String> modelXmiDict = res.getEObjectToIDMap();
|
|
Model model = (Model) diagramRoot;
|
|
|
|
editViewWizard = new EditViewWizard(null, model, res, project, confFile, viewName, modelXmiDict);
|
|
WizardDialog dialog = new WizardDialog(null, editViewWizard);
|
|
if (open)
|
|
dialog.open();
|
|
else
|
|
dialog.create();
|
|
|
|
}catch (Throwable t) {
|
|
MessageDialog.openError(null,t.getMessage(),"Error Managing Views:"+t.getMessage());
|
|
t.printStackTrace();
|
|
}
|
|
|
|
}
|
|
|
|
public EditViewWizard getEditViewWizard() {
|
|
return editViewWizard;
|
|
}
|
|
}
|