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

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

Introduction

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

Prototype

public IJavaElementDelta[] getAffectedChildren();

Source Link

Document

Returns deltas for the affected (added, removed, or changed) children.

Usage

From source file:com.amazonaws.eclipse.lambda.project.listener.JavaElementDeltaAcceptor.java

License:Open Source License

public static void accept(IJavaElementDelta delta, Visitor visitor) {
    if (visitor.visit(delta.getElement())) {
        accept(delta.getAffectedChildren(), visitor);
    }//from  w  w w .  j ava 2s  .  co m
}

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

License:Apache License

private void visitChildren(final IJavaElementDelta delta) {
    for (final IJavaElementDelta c : delta.getAffectedChildren()) {
        visit(c);//from w  ww.j  a  v  a  2 s  . com
    }
}

From source file:com.cisco.yangide.core.indexing.DeltaProcessor.java

License:Open Source License

@Override
public void elementChanged(org.eclipse.jdt.core.ElementChangedEvent event) {
    IJavaElementDelta delta = event.getDelta();
    processJavaDeltas(delta.getAffectedChildren());
}

From source file:com.cisco.yangide.core.indexing.DeltaProcessor.java

License:Open Source License

private boolean processJavaDeltas(IJavaElementDelta[] affectedChildren) {

    for (IJavaElementDelta d : affectedChildren) {
        IJavaElement element = d.getElement();
        if (element instanceof IPackageFragmentRoot) {
            IPath path = ((IPackageFragmentRoot) element).getPath();

            if (path != null && path.toFile().exists() && path.lastSegment().toLowerCase().endsWith(".jar")) {

                switch (d.getKind()) {
                case IJavaElementDelta.ADDED:
                case IJavaElementDelta.CHANGED:
                    this.manager.indexManager.addJarFile(element.getJavaProject().getProject(), path);
                    break;
                case IJavaElementDelta.REMOVED:
                    this.manager.indexManager.indexAll(element.getJavaProject().getProject());
                    return false;
                }/* w ww  .j  a va2  s  .  c om*/
            }
        }
        if (!processJavaDeltas(d.getAffectedChildren())) {
            return false;
        }
    }
    return true;
}

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

License:Open Source License

/**
 * Converts an <code>IResourceDelta</code> and its children into
 * the corresponding <code>IJavaElementDelta</code>s.
 * Return whether the delta corresponds to a resource on the classpath.
 * If it is not a resource on the classpath, it will be added as a non-java
 * resource by the sender of this method.
 *//*from  w  w  w . ja  v a  2 s .c o  m*/
protected void traverseDelta(IJavaElementDelta delta, IPackageFragmentRoot root, IJavaProject project) {

    boolean processChildren = true;

    Openable element = (Openable) delta.getElement();
    switch (element.getElementType()) {
    case IJavaElement.JAVA_PROJECT:
        project = (IJavaProject) element;
        break;
    case IJavaElement.PACKAGE_FRAGMENT_ROOT:
        root = (IPackageFragmentRoot) element;
        break;
    case IJavaElement.COMPILATION_UNIT:
        // filter out working copies that are not primary (we don't want to add/remove them to/from the package fragment
        CompilationUnit cu = (CompilationUnit) element;
        if (cu.isWorkingCopy() && !cu.isPrimary()) {
            return;
        }
        // $FALL-THROUGH$
    case IJavaElement.CLASS_FILE:
        processChildren = false;
        break;
    }

    switch (delta.getKind()) {
    case IJavaElementDelta.ADDED:
        elementAdded(element);
        break;
    case IJavaElementDelta.REMOVED:
        elementRemoved(element);
        break;
    case IJavaElementDelta.CHANGED:
        if ((delta.getFlags() & IJavaElementDelta.F_CONTENT) != 0) {
            elementChanged(element);
        }
        break;
    }
    if (processChildren) {
        IJavaElementDelta[] children = delta.getAffectedChildren();
        for (int i = 0; i < children.length; i++) {
            IJavaElementDelta childDelta = children[i];
            traverseDelta(childDelta, root, project);
        }
    }
}

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 ww .  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.crispico.flower.mp.codesync.code.java.JavaElementChangedListener.java

License:Open Source License

private void processDelta(IJavaElementDelta deltaToProcess) {
    for (IJavaElementDelta delta : deltaToProcess.getAffectedChildren()) {
        processDelta(delta);/*w  ww  . j a va  2  s. c om*/
    }

    IJavaProject project = deltaToProcess.getElement().getJavaProject();
    if (project != null) {
        String path = project.getPath().toString();
        EditorStatefulService service = (EditorStatefulService) CommunicationPlugin.getInstance()
                .getServiceRegistry().getService(CodeSyncEditorStatefulService.SERVICE_ID);
        EditableResource editableResource = service.getEditableResource(path);
        if (editableResource != null) {
            for (EditableResourceClient client : editableResource.getClients()) {
                //               try {
                //                  CodeSyncPlugin.getInstance().getDragOnDiagramHandler().handleDragOnDiagram(Arrays.asList(deltaToProcess.getElement().getCorrespondingResource()), null, null, null, client.getCommunicationChannel());
                //               } catch (JavaModelException e) {
                //                  e.printStackTrace();
                //               }
            }
        }
    }
}

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

License:Open Source License

public static void visitJavaElementDelta(IJavaElementDelta delta, IJavaElementDeltaVisitor visitor) {
    if (!visitor.visit(delta)) {
        return;/*  ww  w  .  j  av a 2s  .co m*/
    }

    for (IJavaElementDelta childDelta : delta.getAffectedChildren()) {
        visitJavaElementDelta(childDelta, visitor);
    }
}

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

License:Open Source License

private void processChangedChildren(IJavaElementDelta delta, Set<IJavaProject> remove, Set<IJavaProject> add)
        throws CoreException {
    for (IJavaElementDelta childDelta : delta.getAffectedChildren()) {
        processDelta(childDelta, remove, add);
    }/*w w  w.  j  a  va2 s . co  m*/
}

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

License:Open Source License

void handleAffectedChildren(IJavaElementDelta delta, IJavaElement element,
        Collection<Runnable> runnables) throws JavaModelException {
    int count = 0;

    IResourceDelta[] resourceDeltas = delta.getResourceDeltas();
    if (resourceDeltas != null) {
        for (int i = 0; i < resourceDeltas.length; i++) {
            int kind = resourceDeltas[i].getKind();
            if (kind == IResourceDelta.ADDED || kind == IResourceDelta.REMOVED) {
                count++;/*from w ww  .  j  a  v  a  2 s  .  c o  m*/
            }
        }
    }
    IJavaElementDelta[] affectedChildren = delta.getAffectedChildren();
    for (int i = 0; i < affectedChildren.length; i++) {
        int kind = affectedChildren[i].getKind();
        if (kind == IJavaElementDelta.ADDED || kind == IJavaElementDelta.REMOVED) {
            count++;
        }
    }

    if (count > 1) {
        // more than one child changed, refresh from here downwards
        if (element instanceof IPackageFragment) {
            // a package fragment might become non empty refresh from the parent
            IJavaElement parent = (IJavaElement) internalGetParent(element);
            // 1GE8SI6: ITPJUI:WIN98 - Rename is not shown in Packages View
            // avoid posting a refresh to an invisible parent
            if (element.equals(fInput)) {
                postRefresh(element, ORIGINAL, element, runnables);
            } else {
                postRefresh(parent, PARENT, element, runnables);
            }
        } else if (element instanceof IPackageFragmentRoot) {
            Object toRefresh = internalGetParent(element);
            postRefresh(toRefresh, ORIGINAL, toRefresh, runnables);
        } else {
            postRefresh(element, ORIGINAL, element, runnables);
        }
        return;
    }
    if (resourceDeltas != null) {
        for (int i = 0; i < resourceDeltas.length; i++) {
            if (processResourceDelta(resourceDeltas[i], element, runnables)) {
                return; // early return, element got refreshed
            }
        }
    }
    for (int i = 0; i < affectedChildren.length; i++) {
        if (processDelta(affectedChildren[i], runnables)) {
            return; // early return, element got refreshed
        }
    }
}