Example usage for org.eclipse.jdt.core IJavaElementDelta F_REMOVED_FROM_CLASSPATH

List of usage examples for org.eclipse.jdt.core IJavaElementDelta F_REMOVED_FROM_CLASSPATH

Introduction

In this page you can find the example usage for org.eclipse.jdt.core IJavaElementDelta F_REMOVED_FROM_CLASSPATH.

Prototype

int F_REMOVED_FROM_CLASSPATH

To view the source code for org.eclipse.jdt.core IJavaElementDelta F_REMOVED_FROM_CLASSPATH.

Click Source Link

Document

Change flag indicating that a classpath entry corresponding to the element has been removed from the project's classpath.

Usage

From source file:com.blackducksoftware.integration.eclipseplugin.internal.listeners.ProjectDependenciesChangedListener.java

License:Apache License

private void visit(final IJavaElementDelta delta) {
    final IJavaElement el = delta.getElement();
    switch (el.getElementType()) {
    case IJavaElement.JAVA_MODEL: {
        visitChildren(delta);//from   w  w  w.j a  v  a2  s .c  om
        break;
    }
    case IJavaElement.JAVA_PROJECT: {
        if (isClasspathChanged(delta.getFlags())) {
            visitChildren(delta);
        }
        break;
    }
    case IJavaElement.PACKAGE_FRAGMENT_ROOT: {
        if ((delta.getFlags() & IJavaElementDelta.F_REMOVED_FROM_CLASSPATH) != 0
                || (delta.getKind() & IJavaElementDelta.REMOVED) != 0) {
            try {
                removeDependency(el);
            } catch (final CoreException | MalformedURLException e) {
                e.printStackTrace();
            }
        }
        if ((delta.getFlags() & IJavaElementDelta.F_ADDED_TO_CLASSPATH) != 0
                || (delta.getKind() & IJavaElementDelta.ADDED) != 0) {
            try {
                addDependency(el);
            } catch (final CoreException | MalformedURLException e) {
                e.printStackTrace();
            }
        }
        break;
    }
    default: {
        break;
    }
    }

}

From source file:com.blackducksoftware.integration.eclipseplugin.internal.listeners.ProjectDependenciesChangedListenerTest.java

License:Apache License

@Test
public void testDependencyRemovedFromClasspath() throws CoreException, MalformedURLException {
    setUpAllStubs();//from w w w . j a  va2s  .c om
    Mockito.when(projectDelta.getFlags()).thenReturn(IJavaElementDelta.F_CLASSPATH_CHANGED);
    Mockito.when(mavenRootDelta.getFlags()).thenReturn(IJavaElementDelta.F_REMOVED_FROM_CLASSPATH);
    Mockito.when(mavenRootDelta.getKind()).thenReturn(0);
    Mockito.when(gradleRootDelta.getFlags()).thenReturn(0);
    Mockito.when(gradleRootDelta.getKind()).thenReturn(IJavaElementDelta.ADDED);
    Mockito.when(nonBinaryRootDelta.getKind()).thenReturn(IJavaElementDelta.CHANGED);
    Mockito.when(nonBinaryRootDelta.getFlags()).thenReturn(0);
    final ProjectDependenciesChangedListener listener = new ProjectDependenciesChangedListener(information,
            extractor, depService);
    listener.elementChanged(e);
    Mockito.verify(information, Mockito.times(0)).addComponentToProject(PROJECT_NAME,
            new Gav("maven", mavenGav.getGroupId(), mavenGav.getArtifactId(), mavenGav.getVersion()));
    Mockito.verify(information, Mockito.times(1)).removeComponentFromProject(PROJECT_NAME, mavenGav);
    Mockito.verify(information, Mockito.times(1)).addComponentToProject(PROJECT_NAME,
            new Gav("maven", gradleGav.getGroupId(), gradleGav.getArtifactId(), gradleGav.getVersion()));
    Mockito.verify(information, Mockito.times(0)).removeComponentFromProject(PROJECT_NAME, gradleGav);
    Mockito.verify(extractor, Mockito.times(0)).getGradlePathGav(NON_BINARY_PATH_URL);
    Mockito.verify(extractor, Mockito.times(0)).getMavenPathGav(NON_BINARY_PATH_URL, MAVEN_REPO_PATH_URL);
    Mockito.verify(depService, Mockito.times(1)).isGradleDependency(NON_BINARY_PATH_URL);
    Mockito.verify(depService, Mockito.times(1)).isMavenDependency(NON_BINARY_PATH_URL);
}

From source file:com.codenvy.ide.ext.java.server.internal.core.JavaElementDelta.java

License:Open Source License

protected boolean toDebugString(StringBuffer buffer, int flags) {
    boolean prev = super.toDebugString(buffer, flags);

    if ((flags & IJavaElementDelta.F_CHILDREN) != 0) {
        if (prev)
            buffer.append(" | "); //$NON-NLS-1$
        buffer.append("CHILDREN"); //$NON-NLS-1$
        prev = true;//from ww  w .ja  va 2 s  . c om
    }
    if ((flags & IJavaElementDelta.F_CONTENT) != 0) {
        if (prev)
            buffer.append(" | "); //$NON-NLS-1$
        buffer.append("CONTENT"); //$NON-NLS-1$
        prev = true;
    }
    if ((flags & IJavaElementDelta.F_MOVED_FROM) != 0) {
        if (prev)
            buffer.append(" | "); //$NON-NLS-1$
        buffer.append("MOVED_FROM(" + ((JavaElement) getMovedFromElement()).toStringWithAncestors() + ")"); //$NON-NLS-1$ //$NON-NLS-2$
        prev = true;
    }
    if ((flags & IJavaElementDelta.F_MOVED_TO) != 0) {
        if (prev)
            buffer.append(" | "); //$NON-NLS-1$
        buffer.append("MOVED_TO(" + ((JavaElement) getMovedToElement()).toStringWithAncestors() + ")"); //$NON-NLS-1$ //$NON-NLS-2$
        prev = true;
    }
    if ((flags & IJavaElementDelta.F_ADDED_TO_CLASSPATH) != 0) {
        if (prev)
            buffer.append(" | "); //$NON-NLS-1$
        buffer.append("ADDED TO CLASSPATH"); //$NON-NLS-1$
        prev = true;
    }
    if ((flags & IJavaElementDelta.F_REMOVED_FROM_CLASSPATH) != 0) {
        if (prev)
            buffer.append(" | "); //$NON-NLS-1$
        buffer.append("REMOVED FROM CLASSPATH"); //$NON-NLS-1$
        prev = true;
    }
    if ((flags & IJavaElementDelta.F_REORDER) != 0) {
        if (prev)
            buffer.append(" | "); //$NON-NLS-1$
        buffer.append("REORDERED"); //$NON-NLS-1$
        prev = true;
    }
    if ((flags & IJavaElementDelta.F_ARCHIVE_CONTENT_CHANGED) != 0) {
        if (prev)
            buffer.append(" | "); //$NON-NLS-1$
        buffer.append("ARCHIVE CONTENT CHANGED"); //$NON-NLS-1$
        prev = true;
    }
    if ((flags & IJavaElementDelta.F_SOURCEATTACHED) != 0) {
        if (prev)
            buffer.append(" | "); //$NON-NLS-1$
        buffer.append("SOURCE ATTACHED"); //$NON-NLS-1$
        prev = true;
    }
    if ((flags & IJavaElementDelta.F_SOURCEDETACHED) != 0) {
        if (prev)
            buffer.append(" | "); //$NON-NLS-1$
        buffer.append("SOURCE DETACHED"); //$NON-NLS-1$
        prev = true;
    }
    if ((flags & IJavaElementDelta.F_FINE_GRAINED) != 0) {
        if (prev)
            buffer.append(" | "); //$NON-NLS-1$
        buffer.append("FINE GRAINED"); //$NON-NLS-1$
        prev = true;
    }
    if ((flags & IJavaElementDelta.F_PRIMARY_WORKING_COPY) != 0) {
        if (prev)
            buffer.append(" | "); //$NON-NLS-1$
        buffer.append("PRIMARY WORKING COPY"); //$NON-NLS-1$
        prev = true;
    }
    if ((flags & IJavaElementDelta.F_CLASSPATH_CHANGED) != 0) {
        if (prev)
            buffer.append(" | "); //$NON-NLS-1$
        buffer.append("RAW CLASSPATH CHANGED"); //$NON-NLS-1$
        prev = true;
    }
    if ((flags & IJavaElementDelta.F_RESOLVED_CLASSPATH_CHANGED) != 0) {
        if (prev)
            buffer.append(" | "); //$NON-NLS-1$
        buffer.append("RESOLVED CLASSPATH CHANGED"); //$NON-NLS-1$
        prev = true;
    }
    if ((flags & IJavaElementDelta.F_PRIMARY_RESOURCE) != 0) {
        if (prev)
            buffer.append(" | "); //$NON-NLS-1$
        buffer.append("PRIMARY RESOURCE"); //$NON-NLS-1$
        prev = true;
    }
    if ((flags & IJavaElementDelta.F_OPENED) != 0) {
        if (prev)
            buffer.append(" | "); //$NON-NLS-1$
        buffer.append("OPENED"); //$NON-NLS-1$
        prev = true;
    }
    if ((flags & IJavaElementDelta.F_CLOSED) != 0) {
        if (prev)
            buffer.append(" | "); //$NON-NLS-1$
        buffer.append("CLOSED"); //$NON-NLS-1$
        prev = true;
    }
    if ((flags & IJavaElementDelta.F_AST_AFFECTED) != 0) {
        if (prev)
            buffer.append(" | "); //$NON-NLS-1$
        buffer.append("AST AFFECTED"); //$NON-NLS-1$
        prev = true;
    }
    if ((flags & IJavaElementDelta.F_CATEGORIES) != 0) {
        if (prev)
            buffer.append(" | "); //$NON-NLS-1$
        buffer.append("CATEGORIES"); //$NON-NLS-1$
        prev = true;
    }
    if ((flags & IJavaElementDelta.F_ANNOTATIONS) != 0) {
        if (prev)
            buffer.append(" | "); //$NON-NLS-1$
        buffer.append("ANNOTATIONS"); //$NON-NLS-1$
        prev = true;
    }
    return prev;
}

From source file:com.codenvy.ide.ext.java.server.internal.core.search.JavaWorkspaceScope.java

License:Open Source License

public void processDelta(IJavaElementDelta delta, int eventType) {
    if (this.enclosingPaths == null)
        return;/*from  w  w w .j a va2 s . c o m*/
    IJavaElement element = delta.getElement();
    switch (element.getElementType()) {
    case IJavaElement.JAVA_MODEL:
        IJavaElementDelta[] children = delta.getAffectedChildren();
        for (int i = 0, length = children.length; i < length; i++) {
            IJavaElementDelta child = children[i];
            processDelta(child, eventType);
        }
        break;
    case IJavaElement.JAVA_PROJECT:
        int kind = delta.getKind();
        switch (kind) {
        case IJavaElementDelta.ADDED:
        case IJavaElementDelta.REMOVED:
            this.enclosingPaths = null;
            break;
        case IJavaElementDelta.CHANGED:
            int flags = delta.getFlags();
            if ((flags & IJavaElementDelta.F_CLOSED) != 0 || (flags & IJavaElementDelta.F_OPENED) != 0) {
                this.enclosingPaths = null;
            } else {
                children = delta.getAffectedChildren();
                for (int i = 0, length = children.length; i < length; i++) {
                    IJavaElementDelta child = children[i];
                    processDelta(child, eventType);
                }
            }
            break;
        }
        break;
    case IJavaElement.PACKAGE_FRAGMENT_ROOT:
        kind = delta.getKind();
        switch (kind) {
        case IJavaElementDelta.ADDED:
        case IJavaElementDelta.REMOVED:
            this.enclosingPaths = null;
            break;
        case IJavaElementDelta.CHANGED:
            int flags = delta.getFlags();
            if ((flags & IJavaElementDelta.F_ADDED_TO_CLASSPATH) > 0
                    || (flags & IJavaElementDelta.F_REMOVED_FROM_CLASSPATH) > 0) {
                this.enclosingPaths = null;
            }
            break;
        }
        break;
    }
}

From source file:com.google.gdt.eclipse.managedapis.impl.ManagedApiChangeListener.java

License:Open Source License

/**
 * Implements the standard elementChanged method defined by the
 * IElementChangedListener, this method identifies events of importance to a
 * specific ManagedApiProject and calls the appropriate abstract method on a
 * match./*from  w w w .  j a  v  a2  s . com*/
 */
public void elementChanged(ElementChangedEvent event) {
    if (managedApiProject == null) {
        throw new IllegalStateException("managedApiProject must be set prior to registering the listener");
    }

    for (IJavaElementDelta delta : event.getDelta().getRemovedChildren()) {
        int flags = delta.getFlags();
        if (flags == 0) {
            IJavaElement element = delta.getElement();
            IJavaProject javaProject = (IJavaProject) element.getAdapter(IJavaProject.class);
            if (javaProject != null) {
                IProject project = javaProject.getProject();
                if (project.equals(managedApiProject.getJavaProject().getProject())) {
                    managedApiProjectRemoved();
                }
            }
        }
    }

    for (IJavaElementDelta delta : event.getDelta().getChangedChildren()) {
        int flags = delta.getFlags();
        if ((flags & IJavaElementDelta.F_CLASSPATH_CHANGED) != 0) {
            IJavaElement element = delta.getElement();
            if (element.getElementType() == IJavaElement.JAVA_PROJECT
                    && element.equals(managedApiProject.getJavaProject())) {
                Set<ManagedApi> managedApiRemovalSet = new HashSet<ManagedApi>(
                        delta.getChangedChildren().length);
                List<String> managedApiFolderNames = new ArrayList();
                for (IJavaElementDelta childDelta : delta.getChangedChildren()) {
                    if ((childDelta.getFlags() & IJavaElementDelta.F_REMOVED_FROM_CLASSPATH) != 0) {
                        IJavaElement childElement = childDelta.getElement();
                        if (childElement.getElementType() == IJavaElement.PACKAGE_FRAGMENT_ROOT
                                && managedApiProject.isPackageFragmentRootInManagedApi(
                                        (IPackageFragmentRoot) childElement)) {
                            String managedApiFolderName = managedApiProject
                                    .getPathRelativeToManagedApiRoot((IPackageFragmentRoot) childElement);
                            if (!managedApiFolderNames.contains(managedApiFolderName)) {
                                managedApiFolderNames.add(managedApiFolderName);
                                managedApiRemovalSet
                                        .add(managedApiProject.createManagedApi(managedApiFolderName));
                            }
                        }
                    }
                }
                if (managedApiRemovalSet.size() > 0) {
                    managedApiRemoved(
                            managedApiRemovalSet.toArray(new ManagedApiImpl[managedApiRemovalSet.size()]));
                }
            }
        } else if ((flags & IJavaElementDelta.F_CLOSED) != 0) {
            IJavaElement element = delta.getElement();
            if (element.getElementType() == IJavaElement.JAVA_PROJECT
                    && element.equals(managedApiProject.getJavaProject())) {
                managedApiProjectClosed();
            }
        }
    }
}

From source file:com.microsoftopentechnologies.acsfilter.ui.classpath.WAACSStartUp.java

License:Open Source License

@Override
public void earlyStartup() {
    IElementChangedListener listener = new IElementChangedListener() {
        public void elementChanged(final ElementChangedEvent event) {
            if (event.getSource().toString().contains(Messages.sdkJar)
                    && event.getDelta().getAffectedChildren()[0].getAffectedChildren()[0]
                            .getFlags() == IJavaElementDelta.F_REMOVED_FROM_CLASSPATH) {
                IProject proj = event.getDelta().getAffectedChildren()[0].getResourceDeltas()[0].getResource()
                        .getProject();/*w  ww  .  j  a v a 2s  . co  m*/
                removeACSEntries(proj);
            }
        }
    };
    JavaCore.addElementChangedListener(listener, ElementChangedEvent.POST_CHANGE);

}

From source file:net.rim.ejde.internal.core.BasicClasspathElementChangedListener.java

License:Open Source License

/**
 * The flags indicate a classpath chhange and its type
 *
 * @param flags//from  w  w  w  .j  a  v a  2  s . c om
 *            the flags to inspect
 * @return true if the flag flags a classpath change
 */
static public boolean isClasspathChangeFlag(int flags) {
    if ((flags & IJavaElementDelta.F_RESOLVED_CLASSPATH_CHANGED) != 0)
        return true;

    if ((flags & IJavaElementDelta.F_ADDED_TO_CLASSPATH) != 0)
        return true;

    if ((flags & IJavaElementDelta.F_REMOVED_FROM_CLASSPATH) != 0)
        return true;

    if ((flags & IJavaElementDelta.F_ARCHIVE_CONTENT_CHANGED) != 0)
        return true;

    return false;
}

From source file:net.rim.ejde.internal.core.BasicClasspathElementChangedListener.java

License:Open Source License

private boolean hasCPRemoved(IJavaElementDelta delta) {
    for (IJavaElementDelta cpDelta : delta.getAffectedChildren()) {
        if ((cpDelta.getFlags() & IJavaElementDelta.F_REMOVED_FROM_CLASSPATH) != 0
                && cpDelta.getElement().getElementType() == IJavaElement.PACKAGE_FRAGMENT_ROOT
                && ((IPackageFragmentRoot) cpDelta.getElement()).getPath().lastSegment()
                        .equals(IConstants.RIM_API_JAR))
            return true;
    }// w w  w. j a  v  a  2s .  c om
    return false;
}

From source file:org.eclipse.ajdt.internal.ui.wizards.exports.StandardJavaElementContentProvider.java

License:Open Source License

/**
 * Note: This method is for internal use only. Clients should not call this method.
 *///from w ww.j  av a 2  s  .  com
protected boolean isClassPathChange(IJavaElementDelta delta) {

    // need to test the flags only for package fragment roots
    if (delta.getElement().getElementType() != IJavaElement.PACKAGE_FRAGMENT_ROOT)
        return false;

    int flags = delta.getFlags();
    return (delta.getKind() == IJavaElementDelta.CHANGED
            && ((flags & IJavaElementDelta.F_ADDED_TO_CLASSPATH) != 0)
            || ((flags & IJavaElementDelta.F_REMOVED_FROM_CLASSPATH) != 0)
            || ((flags & IJavaElementDelta.F_REORDER) != 0));
}

From source file:org.eclipse.jem.workbench.utility.JavaModelListener.java

License:Open Source License

/**
 * Answers whether this element delta is a classpath change. I.e. something added/removed/moved around for the classpath. This should only be
 * called for a delta that is for an {@link IPackageFragmentRoot}. Should be called from an override of
 * {@link #processJavaElementChanged(IPackageFragmentRoot, IJavaElementDelta)}
 * //  ww  w.  j  a va2 s . c  om
 * @param delta
 * @return <code>true</code> if it is classpath change or <code>false</code> if not.
 * 
 * @since 1.2.0
 */
protected boolean isClassPathChange(IJavaElementDelta delta) {
    int flags = delta.getFlags();
    return (delta.getKind() == IJavaElementDelta.CHANGED
            && ((flags & IJavaElementDelta.F_ADDED_TO_CLASSPATH) != 0)
            || ((flags & IJavaElementDelta.F_REMOVED_FROM_CLASSPATH) != 0)
            || ((flags & IJavaElementDelta.F_REORDER) != 0));
}