private void openComponent(final String componentID) {
try {
final IProject project = EclipseIDEUtils.getCurrentProject();
final IFolder diagramFolder = (componentID.equalsIgnoreCase("AtomicDesign")) ? project.getFolder("components/atomic") : project.getFolder("components/composite");
String editorExtension = "diagram"; //$NON-NLS-1$
String editorID = DiagramEditor.DIAGRAM_EDITOR_ID;
String diagramName = "compTEST";
// Create the diagram
Diagram diagram = Graphiti.getPeCreateService().createDiagram(componentID, diagramName, true);
// Create the file
IFile diagramFile = diagramFolder.getFile(diagramName + "." + editorExtension); //$NON-NLS-1$
URI uri = URI.createPlatformResourceURI(diagramFile.getFullPath().toString(), true);
FileService.createEmfFileForDiagram(uri, diagram);
String providerId = GraphitiUi.getExtensionManager().getDiagramTypeProviderId(diagram.getDiagramTypeId());
DiagramEditorInput editorInput = new DiagramEditorInput(EcoreUtil.getURI(diagram), providerId);
PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().openEditor(editorInput, editorID);
} catch (PartInitException e) {
LOGGER.error("Error in opening the editor", e);