blob: f14448d7b411f2c0d67fc1e1632e277861e2398d [file] [log] [blame]
package org.eclipse.uml2.diagram.csd.whole;
import java.io.IOException;
import java.net.URL;
import java.util.Collections;
import org.eclipse.core.commands.ExecutionException;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.FileLocator;
import org.eclipse.core.runtime.Path;
import org.eclipse.core.runtime.Platform;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.gmf.runtime.diagram.core.services.ViewService;
import org.eclipse.gmf.runtime.notation.Diagram;
import org.eclipse.uml2.diagram.common.wholediagram.TestWholeDiagram;
import org.eclipse.uml2.diagram.common.wholediagram.UMLInitDiagramFacade;
import org.eclipse.uml2.diagram.csd.edit.parts.Package2EditPart;
import org.eclipse.uml2.diagram.csd.edit.parts.PackageEditPart;
import org.eclipse.uml2.diagram.csd.part.UMLDiagramEditorPlugin;
import org.osgi.framework.Bundle;
public class TestWholeCSDiagram extends TestWholeDiagram {
public TestWholeCSDiagram(String modelFileName, String diagramFileName) {
super(modelFileName, diagramFileName);
}
@Override
protected UMLInitDiagramFacade getInitDiagramFacade(IFile modelFile, IFile diagramFile) {
return new UMLInitDiagramFacade(modelFile, diagramFile, org.eclipse.uml2.diagram.csd.part.UMLDiagramEditor.ID) {
@Override
protected Diagram createDiagramView(EObject modelRoot) {
return ViewService.createDiagram(modelRoot, PackageEditPart.MODEL_ID, UMLDiagramEditorPlugin.DIAGRAM_PREFERENCES_HINT);
}
@Override
public Diagram getDiagramView() throws ExecutionException, IOException, CoreException {
Diagram result = super.getDiagramView();
// diagram should be refresh when link to link exists.
UMLInitDiagramFacade.refreshDiagram(result);
return result;
}
};
}
@Override
protected URL findFileInTestPlugin(String fileName) {
return FileLocator.find(UML_TEST_BUNDLE, new Path(EXAMPLE_FOLDER).append(fileName), Collections.EMPTY_MAP);
}
@Override
protected boolean ignoreView(int visualId) {
return super.ignoreView(visualId) || Package2EditPart.VISUAL_ID == visualId;
}
private final static Bundle UML_TEST_BUNDLE = Platform.getBundle("org.eclipse.uml2.diagram.csd.tests");
private final static String EXAMPLE_FOLDER = "examples/";
}