Example usage for org.eclipse.jdt.core IJavaProject getHandleIdentifier

List of usage examples for org.eclipse.jdt.core IJavaProject getHandleIdentifier

Introduction

In this page you can find the example usage for org.eclipse.jdt.core IJavaProject getHandleIdentifier.

Prototype

String getHandleIdentifier();

Source Link

Document

Returns a string representation of this element handle.

Usage

From source file:edu.buffalo.cse.green.editor.DiagramEditor.java

License:Open Source License

/**
 * Finds the editor that holds the given <code>IJavaProject</code>.
 * /*from ww w .j a va  2 s.  c om*/
 * @param project - The project to find.
 */
public static DiagramEditor findProjectEditor(IJavaProject project) {
    for (int x = 0; x < _editors.size(); x++) {
        DiagramEditor editor = (DiagramEditor) _editors.get(x);
        IJavaProject editorProject = editor.getProject();
        if (editorProject == null)
            continue;

        if (project.getHandleIdentifier().equals(editorProject.getHandleIdentifier())) {
            return editor;
        }
    }

    return null;
}

From source file:net.sourceforge.metrics.ui.AbortMetrics.java

License:Open Source License

/**
 * @see IActionDelegate#run(IAction)//from www  .ja  v a 2s .c  o  m
 */
public void run(IAction action) {
    IJavaProject p = JavaCore.create(project);
    // abort any ongoing or pending calculations for this project
    if (p != null) {
        MetricsBuilder.abort(p.getHandleIdentifier());
    }
}

From source file:net.sourceforge.metrics.ui.AbortMetrics.java

License:Open Source License

/**
 * @see IActionDelegate#selectionChanged(IAction, ISelection)
 *//*from  w  w w  .j  av  a  2 s .  c  o  m*/
public void selectionChanged(IAction action, ISelection selection) {
    if ((!selection.isEmpty()) && (selection instanceof IStructuredSelection)) {
        try {
            // Openable op =
            // (Openable)((IStructuredSelection)selection).getFirstElement();
            IJavaElement elem = (IJavaElement) ((IStructuredSelection) selection).getFirstElement();
            if (elem != null) {
                project = (IProject) elem.getUnderlyingResource();
                if (project.hasNature(PLUGIN_ID + ".nature")) {
                    IJavaProject p = JavaCore.create(project);
                    if (p != null) {
                        action.setEnabled(MetricsBuilder.isBuilding(p.getHandleIdentifier()));
                    } else {
                        action.setEnabled(false);
                    }
                } else {
                    action.setEnabled(false);
                }
            }
        } catch (Throwable e) {
            Log.logError("AbortMetrics: error getting project.", e);
            project = null;
        }
    }
}

From source file:net.sourceforge.metrics.ui.EnableMetrics.java

License:Open Source License

/**
 * @see IActionDelegate#run(IAction)//from  w  w w  .  ja  v a2s . c om
 */
public void run(IAction action) {
    Shell shell = new Shell();
    if (project != null) {
        IRunnableWithProgress op = new IRunnableWithProgress() {
            public String error = "";

            public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
                try {
                    if (!project.hasNature(PLUGIN_ID + ".nature")) {
                        monitor.beginTask("Enabling metrics", 2);
                        monitor.worked(1);
                        error = "enable";
                        MetricsNature.addNatureToProject(project, monitor);
                        monitor.worked(1);
                    } else {
                        monitor.beginTask("Disabling metrics", 2);
                        monitor.worked(1);
                        error = "disable";
                        MetricsNature.removeNatureFromProject(project, monitor);
                        IJavaProject p = JavaCore.create(project);
                        // abort any ongoing or pending calculations for
                        // this project
                        if (p != null) {
                            MetricsBuilder.abort(p.getHandleIdentifier());
                        }
                        monitor.worked(1);
                    }
                } catch (CoreException e) {
                    throw new MetricsNatureException(e, error);
                } finally {
                    monitor.done();
                }
            }
        };
        try {
            new ProgressMonitorDialog(shell).run(true, false, op);
        } catch (MetricsNatureException e) {
            Log.logError("Could not " + e.getTask() + " metrics", e);
            MessageDialog.openInformation(shell, "Metrics", "Could not enable metrics.");
        } catch (InterruptedException e) {
        } catch (InvocationTargetException e) {
            Log.logError("Could not change metrics enablement", e);
        }
    }
}

From source file:org.eclipse.emf.ecore.xcore.ui.container.XcoreJavaProjectsState.java

License:Open Source License

@Override
protected String doInitHandle(URI uri) {
    String result = getJavaProjectsHelper().initHandle(uri);
    if (result == null && uri.isPlatformResource() && uri.segmentCount() > 1) {
        IProject project = getWorkspaceRoot().getProject(uri.segment(1));
        IJavaProject javaProject = JavaCore.create(project);
        result = javaProject.exists() ? javaProject.getHandleIdentifier() : project.getName();
    }//ww w  . j a v  a 2 s . c o m
    return result;
}

From source file:org.eclipse.mylyn.java.tests.InteractionContextManagerTest.java

License:Open Source License

public void testRemoveProjectFromContextRemovesOnlyInteresting() throws JavaModelException {

    StubContextElementedDeletedListener listener = new StubContextElementedDeletedListener();
    try {//from w  ww . jav a  2s.c  om
        manager.addListener(listener);
        type1.createMethod("void m1() { }", null, true, null);
        type1.createMethod("void m2() { }", null, true, null);
        type1.createMethod("void m4() { }", null, true, null);
        type1.createMethod("void m5() { }", null, true, null);
        IJavaProject project = type1.getJavaProject();
        IInteractionElement node = ContextCore.getContextManager().getElement(project.getHandleIdentifier());
        assertFalse(node.getInterest().isInteresting());

        InteractionEvent event = new InteractionEvent(InteractionEvent.Kind.MANIPULATION,
                new JavaStructureBridge().getContentType(), project.getHandleIdentifier(), "source");
        IInteractionElement element = ContextCorePlugin.getContextManager().processInteractionEvent(event,
                true);

        // test implicit deletion
        ContextCorePlugin.getContextManager().processInteractionEvent(event, true);
        assertEquals(0, listener.explicitDeletionEventCount);
        assertEquals(0, listener.elementCount);

        // test explicit deletion
        manager.manipulateInterestForElements(Collections.singletonList(element), false, false, false, "test",
                ContextCorePlugin.getContextManager().getActiveContext(), true);
        assertEquals(1, listener.explicitDeletionEventCount);

        // should have 2 element changes.  1 for resources and 1 for java
        assertEquals(2, listener.elementCount);

    } finally {
        // clean up
        manager.removeListener(listener);
    }
}

From source file:org.eclipse.mylyn.java.tests.InteractionContextManagerTest.java

License:Open Source License

public void testDeleteElementsFromContext() {
    StubContextElementedDeletedListener listener = new StubContextElementedDeletedListener();
    try {//from ww w.  ja va 2  s  .c om
        manager.addListener(listener);
        IJavaProject project = type1.getJavaProject();
        InteractionEvent event = new InteractionEvent(InteractionEvent.Kind.MANIPULATION,
                new JavaStructureBridge().getContentType(), project.getHandleIdentifier(), "source");
        IInteractionElement element = ContextCorePlugin.getContextManager().processInteractionEvent(event,
                true);

        assertEquals(0, listener.explicitDeletionEventCount);
        assertEquals(0, listener.elementCount);
        IInteractionElement originalElement = ContextCorePlugin.getContextManager()
                .getElement(element.getHandleIdentifier());
        assertEquals(element, originalElement);
        assertTrue(originalElement instanceof CompositeContextElement);
        assertEquals(1, ((CompositeContextElement) originalElement).getNodes().size());

        ContextCorePlugin.getContextManager()
                .deleteElements(Arrays.asList(new IInteractionElement[] { element }));
        IInteractionElement deletedElement = ContextCorePlugin.getContextManager()
                .getElement(element.getHandleIdentifier());
        assertTrue(deletedElement instanceof CompositeContextElement);
        assertEquals(0, ((CompositeContextElement) deletedElement).getNodes().size());
    } finally {
        manager.removeListener(listener);
    }
}

From source file:org.eclipse.xtext.common.types.xtext.ui.JdtIndexedJvmTypeAccess.java

License:Open Source License

@Override
protected EObject findAccessibleType(String fragment, ResourceSet resourceSet,
        Iterator<IEObjectDescription> fromIndex) throws UnknownNestedTypeException {
    // we know that the iterator is not empty thus we can directly obtain the handles et al without additional guards
    IJavaProject javaProject = javaProjectProvider.getJavaProject(resourceSet);
    List<String> allVisibleContainerHandles = Lists
            .newArrayList(javaProjectsState.getVisibleContainerHandles(javaProject.getHandleIdentifier()));
    // some models are not in source folders thus we also use the WorkspaceProjectsState (e.g. relevant for Xcore)
    allVisibleContainerHandles//  w w w. j a  v  a  2 s.  co  m
            .addAll(plainProjectsState.getVisibleContainerHandles(javaProject.getElementName()));
    List<String> visibleContainerHandles = allVisibleContainerHandles;
    IEObjectDescription bestDescription = null;
    while (fromIndex.hasNext() && !visibleContainerHandles.isEmpty()) {
        // find the description that is the best match, e.g. the one that is in the container closest to the first
        IEObjectDescription description = fromIndex.next();
        URI trimFragment = description.getEObjectURI().trimFragment();
        String handle = javaProjectsState.getContainerHandle(trimFragment);
        int idx = visibleContainerHandles.indexOf(handle);
        if (idx >= 0) {
            bestDescription = description;
            // reduce the search scope - only check containers that are better than the current
            visibleContainerHandles = allVisibleContainerHandles.subList(0, idx);
        }
    }
    if (bestDescription != null) {
        return getAccessibleType(bestDescription, fragment, resourceSet);
    }
    return null;
}