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

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

Introduction

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

Prototype

int F_PRIMARY_WORKING_COPY

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

Click Source Link

Document

Change flag indicating that a compilation unit has become a primary working copy, or that a primary working copy has reverted to a compilation unit.

Usage

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 .jav a2 s.  co  m
    }
    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:de.fu_berlin.inf.jtourbus.view.TourChangeListener.java

License:Open Source License

void visitInternal(IProgressMonitor pm, IJavaElementDelta delta) {

    IJavaElement elem = delta.getElement();
    IJavaElementDelta[] children = delta.getAffectedChildren();

    if (pm != null)
        pm.beginTask("", children.length + 2);

    if ((delta.getFlags() & IJavaElementDelta.F_CHILDREN) != 0) {

        if (delta.getKind() != IJavaElementDelta.CHANGED) {
            throw new RuntimeException("ASSERT: CHILDREN should always be CHANGE");
        }/*from w w w  . j a  va 2 s .  co m*/

        for (int i = 0; i < children.length; i++) {
            visit(pm, children[i]);
        }
        return;
    }

    switch (delta.getKind()) {
    case IJavaElementDelta.ADDED: {
        if (!((delta.getFlags() & IJavaElementDelta.F_CHILDREN) == 0))
            throw new RuntimeException("ASSERT: ADDED has no children");

        switch (elem.getElementType()) {
        case IJavaElement.JAVA_MODEL:
            throw new RuntimeException("ASSERT: Adding Java Model not possible");
        case IJavaElement.JAVA_PROJECT:
            throw new RuntimeException("ASSERT: Adding Java Project not possible");
        case IJavaElement.PACKAGE_FRAGMENT_ROOT:
            // The user added a source folder

            for (BusStop bs : Utilities.findJTourBusStops(pm, elem.getResource()))
                fContentProvider.fTourPlan.add(bs);
            return;
        case IJavaElement.PACKAGE_FRAGMENT:
            // The user inserted a packaged

            for (BusStop bs : Utilities.findJTourBusStops(pm, elem.getResource()))
                fContentProvider.fTourPlan.add(bs);
            return;
        case IJavaElement.COMPILATION_UNIT: {
            ICompilationUnit cu = (ICompilationUnit) elem;
            if (cu.getPrimary().equals(cu)) {
                for (BusStop bs : Utilities.findJTourBusStops(pm, elem.getResource()))
                    fContentProvider.fTourPlan.add(bs);
            }
            return;
        }
        default:
            ICompilationUnit cu = (ICompilationUnit) delta.getElement()
                    .getAncestor(IJavaElement.COMPILATION_UNIT);

            redoCU(cu, pm);
            return;
        }
    }
    case IJavaElementDelta.REMOVED:
        if (!((delta.getFlags() & IJavaElementDelta.F_CHILDREN) == 0))
            throw new RuntimeException("REMOVED has children");

        switch (elem.getElementType()) {
        case IJavaElement.JAVA_MODEL:
            throw new RuntimeException("ASSERT: Java Model not possible");
        case IJavaElement.JAVA_PROJECT:
            fContentProvider.fTourPlan.removeAll();
            return;
        case IJavaElement.PACKAGE_FRAGMENT_ROOT:
        case IJavaElement.PACKAGE_FRAGMENT:
            fContentProvider.fTourPlan.removeAll();

            for (BusStop bs : Utilities.findJTourBusStops(pm, elem.getJavaProject().getResource()))
                fContentProvider.fTourPlan.add(bs);

            return;
        case IJavaElement.COMPILATION_UNIT: {
            ICompilationUnit cu = (ICompilationUnit) elem;
            if (cu.getPrimary().equals(cu)) {
                fContentProvider.fTourPlan.removeCU(cu);
            }
            return;
        }
        default: {
            ICompilationUnit cu = (ICompilationUnit) delta.getElement()
                    .getAncestor(IJavaElement.COMPILATION_UNIT);

            redoCU(cu, pm);
            return;
        }
        }
    case IJavaElementDelta.CHANGED:
        // F_CONTENT && F_FINE_GRAINED
        if ((delta.getFlags() & IJavaElementDelta.F_CONTENT) != 0
                && (delta.getFlags() & IJavaElementDelta.F_FINE_GRAINED) != 0) {

            ICompilationUnit cu = (ICompilationUnit) delta.getElement()
                    .getAncestor(IJavaElement.COMPILATION_UNIT);

            redoCU(cu, pm);
        }

        // Closing without saving will trigger this event. We thus re-read
        // the file.
        if ((delta.getFlags() & IJavaElementDelta.F_PRIMARY_WORKING_COPY) != 0) {

            ICompilationUnit cu = (ICompilationUnit) delta.getElement();

            /* FIXME */

            redoCU(cu, pm);
        }
        break;
    }
}

From source file:edu.uci.lighthouse.core.listeners.JavaFileChangedReporter.java

License:Open Source License

/**
 * Visits all nodes of the java element delta. It fires the events open and
 * close.//from  www.  java 2  s  .c om
 */
private void traverseDeltaTree(IJavaElementDelta delta) {
    if (delta.getElement().getElementType() == IJavaElement.COMPILATION_UNIT) {
        ICompilationUnit icu = (ICompilationUnit) delta.getElement();
        IFile iFile = (IFile) icu.getResource();
        if (iFile.exists()) {
            try {
                boolean hasErrors = IMarker.SEVERITY_ERROR == icu.getResource()
                        .findMaxProblemSeverity(IMarker.PROBLEM, true, IResource.DEPTH_INFINITE);

                if ((delta.getFlags() & IJavaElementDelta.F_PRIMARY_WORKING_COPY) != 0) {
                    if (icu.isWorkingCopy()) {
                        fireOpen(iFile, hasErrors);
                    } else {
                        fireClose(iFile, hasErrors);
                    }
                }
            } catch (Exception e) {
                logger.error(e, e);
            }
        }
    } else {
        for (IJavaElementDelta child : delta.getAffectedChildren()) {
            traverseDeltaTree(child);
        }
    }
}

From source file:org.eclipse.jpt.common.core.tests.internal.resource.java.JavaResourceModelTestCase.java

License:Open Source License

protected boolean deltaIsRelevant(IJavaElementDelta delta) {
    if (BitTools.onlyFlagIsSet(delta.getFlags(), IJavaElementDelta.F_PRIMARY_WORKING_COPY)) {
        return false;
    }//from  w  ww .ja v a 2  s .com
    return delta.getKind() == IJavaElementDelta.CHANGED;
}

From source file:org.eclipse.jpt.jaxb.core.internal.AbstractJaxbProject.java

License:Open Source License

protected boolean javaCompilationUnitDeltaIsRelevant(IJavaElementDelta delta) {
    // ignore changes to/from primary working copy - no content has changed;
    // and make sure there are no other flags set that indicate *both* a
    // change to/from primary working copy *and* content has changed
    if (BitTools.onlyFlagIsSet(delta.getFlags(), IJavaElementDelta.F_PRIMARY_WORKING_COPY)) {
        return false;
    }/*ww w  .  j  a va 2 s .  co  m*/

    // ignore java notification for ADDED or REMOVED;
    // these are handled via resource notification
    return delta.getKind() == IJavaElementDelta.CHANGED;
}

From source file:org.eclipse.jpt.jpa.core.internal.AbstractJpaProject.java

License:Open Source License

protected static boolean javaCompilationUnitDeltaIsRelevant(IJavaElementDelta delta) {
    // ignore Java notification for ADDED or REMOVED;
    // these are handled via resource notification
    if (delta.getKind() != IJavaElementDelta.CHANGED) {
        return false;
    }/* w ww  .  j a  v a2  s  .c  o m*/

    // ignore changes to/from primary working copy - no content has changed;
    // and make sure there are no other flags set that indicate *both* a
    // change to/from primary working copy *and* content has changed
    if (BitTools.onlyFlagIsSet(delta.getFlags(), IJavaElementDelta.F_PRIMARY_WORKING_COPY)) {
        return false;
    }

    // ignore when the compilation unit's resource is deleted;
    // because the AST parser will log an exception for the missing file. 
    // IJavaElementDelta.F_PRIMARY_RESOURCE is the only flag set when refactor
    // renaming a type directly in the java editor when the file is modified..
    // IJavaElementDelta.F_AST_AFFECTED is the only flag set when I refactor
    // rename a type directly in the java editor and the file is *not* modified.
    if (BitTools.onlyFlagIsSet(delta.getFlags(), IJavaElementDelta.F_PRIMARY_RESOURCE)
            || BitTools.onlyFlagIsSet(delta.getFlags(), IJavaElementDelta.F_AST_AFFECTED)) {
        ICompilationUnit compilationUnit = (ICompilationUnit) delta.getElement();
        if (!compilationUnitResourceExists(compilationUnit)) {
            return false;
        }
    }

    return true;
}

From source file:org.eclipse.jst.jee.model.internal.common.AbstractAnnotationModelProvider.java

License:Open Source License

public void recursevilyProcessCompilationUnits(IModelProviderEvent modelEvent, IJavaElementDelta delta) {
    if (delta.getElement() instanceof ICompilationUnit) {
        if (!isProjectRelative(delta.getElement().getJavaProject()))
            return;
        try {//  www .  ja v  a2  s  .  c  o  m
            final ICompilationUnit unit = (ICompilationUnit) delta.getElement();

            if (delta.getKind() == IJavaElementDelta.ADDED) {
                processAddedCompilationUnit(modelEvent, unit);
            }
            if (delta.getKind() == IJavaElementDelta.REMOVED) {
                processRemovedCompilationUnit(modelEvent, unit);
            }
            if (delta.getKind() == IJavaElementDelta.CHANGED) {
                if (((delta.getFlags() & IJavaElementDelta.F_PRIMARY_RESOURCE) == 0)
                        || ((delta.getFlags() & IJavaElementDelta.F_PRIMARY_WORKING_COPY) == 0)) {
                    modelEvent.setEventCode(
                            IModelProviderEvent.KNOWN_RESOURCES_CHANGED | modelEvent.getEventCode());
                    processChangedCompilationUnit(modelEvent, unit);
                }
            }
        } catch (CoreException e) {
            JEEPlugin.getDefault().getLog()
                    .log(new Status(IStatus.ERROR, JEEPlugin.getDefault().getPluginID(), e.getMessage(), e));
        }
    } else {
        for (IJavaElementDelta childDelta : delta.getAffectedChildren()) {
            recursevilyProcessCompilationUnits(modelEvent, childDelta);
        }
    }
}

From source file:org.eclipse.objectteams.otdt.core.OTModelReconcileListener.java

License:Open Source License

@SuppressWarnings("unused") // see above
private void checkWorkingCopies(IJavaElementDelta delta, IJavaElement elem) {
    if (elem instanceof ICompilationUnit) {
        ICompilationUnit unit = (ICompilationUnit) elem;
        if ((delta.getFlags() & IJavaElementDelta.REMOVED) != 0) {
            if (unit.exists()) {
                try {
                    IType[] types = unit.getTypes();
                    System.out.println(types);
                } catch (JavaModelException ex) {
                    ex.printStackTrace();
                }/*from   w  ww  .j a va2  s.  c  o m*/
            }
        }

        if ((delta.getFlags() & IJavaElementDelta.F_PRIMARY_WORKING_COPY) != 0) {
            if (!unit.isWorkingCopy() && unit.exists()) {
                try {
                    ICompilationUnit wc = unit.getWorkingCopy(new NullProgressMonitor());
                    IType[] wcTypes = wc.getTypes();
                    IType[] types = unit.getAllTypes();
                    for (int i = 0; i < types.length; i++) {
                        IType wcType = wcTypes[i];
                        IType currentType = types[i];
                        OTType otType = (OTType) OTModelManager.getOTElement(currentType);
                        IOTType wcOTType = OTModelManager.getOTElement(wcType);
                        if (otType == wcOTType) {
                            // FIXME(SH): fetching into unused locals? WHY? Incomplete implementation??
                            IOTType t1 = OTModelManager.getOTElement(currentType);
                            IOTType t2 = OTModelManager.getOTElement(wcType);
                        }

                        if (otType != null) // need to update the workingcopy
                        {
                            ICompilationUnit otUnit = otType.getCompilationUnit();
                            if (otUnit.isWorkingCopy()) {
                                otType.setCorrespondingJavaElement(currentType);
                            }
                        }
                    }
                } catch (JavaModelException ignored) {
                    // ignore
                }
            }
        }
    }
}

From source file:ro.ieat.jmodex.integration.ProjectChangeListener.java

License:Open Source License

private static boolean analyze(IJavaElementDelta delta) {
    boolean res;//from   w w w  .  j a  v a 2s.  co m
    if ((delta.getFlags() & IJavaElementDelta.F_PRIMARY_WORKING_COPY) != 0) {
        res = false;
    } else {
        res = true;
    }
    for (IJavaElementDelta d : delta.getAffectedChildren()) {
        res = res & analyze(d);
    }
    return res;
}