Example usage for org.eclipse.jdt.core ElementChangedEvent getDelta

List of usage examples for org.eclipse.jdt.core ElementChangedEvent getDelta

Introduction

In this page you can find the example usage for org.eclipse.jdt.core ElementChangedEvent getDelta.

Prototype

public IJavaElementDelta getDelta() 

Source Link

Document

Returns the delta describing the change.

Usage

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

License:Apache License

@Override
public void elementChanged(final ElementChangedEvent event) {
    visit(event.getDelta());
}

From source file:com.crispico.flower.mp.codesync.code.java.JavaElementChangedListener.java

License:Open Source License

@Override
public void elementChanged(ElementChangedEvent event) {
    processDelta(event.getDelta());
}

From source file:com.google.gdt.eclipse.core.java.ClasspathChangedListener.java

License:Open Source License

public void elementChanged(ElementChangedEvent event) {
    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) {
                continue;
            }//from ww  w  .ja  va 2 s  . c  o  m

            classpathChanged((IJavaProject) element);
        }
    }
}

From source file:com.google.gdt.eclipse.core.reference.ElementChangeListener.java

License:Open Source License

public void elementChanged(ElementChangedEvent event) {
    final Map<IJavaElement, IJavaElementDelta> changedElements = new HashMap<IJavaElement, IJavaElementDelta>();

    JavaModelSearch.visitJavaElementDelta(event.getDelta(), new IJavaElementDeltaVisitor() {
        public boolean visit(IJavaElementDelta delta) {
            IJavaElement element = delta.getElement();

            /*// w  ww.  j  av  a  2  s  .  co m
             * We care about packages being only added or removed because if we
             * called the change listeners on a change to a package, any change
             * to any file in that package will cause all ui.xml files that
             * reference that package (say with xmlns urn imports) to be
             * revalidated. Some projects end up having hundreds of ui.xml files
             * referencing a package, and then saving any change in that package
             * ends up taking tens of seconds.
             */
            int type = element.getElementType();
            if (type == IJavaElement.PACKAGE_FRAGMENT && delta.getKind() == IJavaElementDelta.CHANGED) {
                return true;
            }

            Set<IReference> references = referenceManager.getReferencesWithMatchingJavaElement(element,
                    EnumSet.of(ReferenceLocationType.TARGET));
            if (references != null && references.size() > 0) {
                changedElements.put(element, delta);
            }
            return true;
        }
    });

    if (changedElements.size() > 0) {
        callReferenceChangeListeners(changedElements);
    }
}

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 .  ja v a 2s  .  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.google.gdt.eclipse.suite.launch.processors.LaunchConfigAffectingChangesListener.java

License:Open Source License

public void elementChanged(ElementChangedEvent event) {
    for (IJavaElementDelta delta : event.getDelta().getAffectedChildren()) {
        int flags = delta.getFlags();
        if ((flags & IJavaElementDelta.F_CLASSPATH_CHANGED) != 0) {
            IJavaElement element = delta.getElement();
            if (element.getElementType() != IJavaElement.JAVA_PROJECT) {
                continue;
            }/*from   w w w.  ja va  2 s  .c om*/

            updateLaunchConfigs((IJavaProject) element);
        }
    }
}

From source file:com.ifedorenko.m2e.sourcelookup.internal.JavaProjectSources.java

License:Open Source License

@Override
public void elementChanged(ElementChangedEvent event) {
    try {/*from  w w  w. jav  a2  s .  com*/
        final Set<IJavaProject> remove = new HashSet<IJavaProject>();
        final Set<IJavaProject> add = new HashSet<IJavaProject>();

        processDelta(event.getDelta(), remove, add);

        for (IJavaProject project : remove) {
            removeJavaProject(project);
        }
        for (IJavaProject project : add) {
            addJavaProject(project);
        }
    } catch (CoreException e) {
        // maybe do something about it?
    }
}

From source file:com.javadude.dependencies.editparts.WorkspaceRootEditPart.java

License:Open Source License

public WorkspaceRootEditPart() {
    JavaCore.addElementChangedListener(new IElementChangedListener() {
        public void elementChanged(final ElementChangedEvent event) {
            Display.getDefault().asyncExec(new Runnable() {
                public void run() {
                    //get the workspace changes from the ElementChangedEvent
                    IJavaElementDelta[] changedChildren = event.getDelta().getAffectedChildren();

                    boolean refreshProjects = false;

                    for (int i = 0; i < changedChildren.length; i++) {
                        IJavaElementDelta delta = changedChildren[i];
                        //If the changed element is a java project
                        if (delta.getElement() instanceof IJavaProject) {
                            refreshProjects = true;
                        }/*from   w  w w  .  j ava2  s . com*/
                    }

                    refresh();

                    if (refreshProjects) {
                        for (@SuppressWarnings("rawtypes")
                        Iterator iter = getChildren().iterator(); iter.hasNext();) {
                            AbstractGraphicalEditPart editPart = (AbstractGraphicalEditPart) iter.next();
                            editPart.refresh();
                        }
                    }
                }
            });
        }
    });
}

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();//ww w .ja v  a 2 s.  co  m
                removeACSEntries(proj);
            }
        }
    };
    JavaCore.addElementChangedListener(listener, ElementChangedEvent.POST_CHANGE);

}

From source file:com.redhat.ceylon.eclipse.code.explorer.PackageExplorerContentProvider.java

License:Open Source License

public void elementChanged(final ElementChangedEvent event) {
    final ArrayList<Runnable> runnables = new ArrayList<Runnable>();
    try {//ww w  .ja v a  2s.  co m
        // 58952 delete project does not update Package Explorer [package explorer]
        // if the input to the viewer is deleted then refresh to avoid the display of stale elements
        if (inputDeleted(runnables))
            return;

        processDelta(event.getDelta(), runnables);
    } catch (JavaModelException e) {
        JavaPlugin.log(e);
    } finally {
        executeRunnables(runnables);
    }
}