Example usage for org.eclipse.jdt.core IJavaElement JAVA_PROJECT

List of usage examples for org.eclipse.jdt.core IJavaElement JAVA_PROJECT

Introduction

In this page you can find the example usage for org.eclipse.jdt.core IJavaElement JAVA_PROJECT.

Prototype

int JAVA_PROJECT

To view the source code for org.eclipse.jdt.core IJavaElement JAVA_PROJECT.

Click Source Link

Document

Constant representing a Java project.

Usage

From source file:edu.brown.cs.bubbles.bedrock.BedrockJava.java

License:Open Source License

/********************************************************************************/

void getFullyQualifiedName(String proj, String file, int start, int end, IvyXmlWriter xw)
        throws BedrockException {
    String name = null;// ww  w. j av  a 2  s .  co m
    String key = null;
    String sgn = null;
    String hdl = null;
    ICompilationUnit icu = our_plugin.getProjectManager().getCompilationUnit(proj, file);
    if (icu == null)
        throw new BedrockException("Compilation unit not found for " + file);
    icu = getCompilationElement(icu);

    try {
        IJavaElement[] elts = icu.codeSelect(start, end - start);
        for (int i = 0; i < elts.length && name == null; ++i) {
            switch (elts[i].getElementType()) {
            case IJavaElement.JAVA_PROJECT:
            case IJavaElement.JAVA_MODEL:
            case IJavaElement.PACKAGE_FRAGMENT_ROOT:
            case IJavaElement.CLASS_FILE:
            case IJavaElement.PACKAGE_FRAGMENT:
            case IJavaElement.IMPORT_CONTAINER:
            case IJavaElement.IMPORT_DECLARATION:
            case IJavaElement.TYPE_PARAMETER:
            case IJavaElement.COMPILATION_UNIT:
            default:
                break;
            case IJavaElement.TYPE:
                IType typ = (IType) elts[i];
                name = typ.getFullyQualifiedName();
                key = typ.getKey();
                break;
            case IJavaElement.FIELD:
                IField fld = ((IField) elts[i]);
                name = fld.getDeclaringType().getFullyQualifiedName() + "." + fld.getElementName();
                key = fld.getKey();
                sgn = fld.getTypeSignature();
                break;
            case IJavaElement.METHOD:
                IMethod mthd = ((IMethod) elts[i]);
                name = mthd.getDeclaringType().getFullyQualifiedName() + "." + mthd.getElementName();
                key = mthd.getKey();
                sgn = mthd.getSignature();
                // TODO: might want to add signture here as well
                break;
            case IJavaElement.INITIALIZER:
                IInitializer init = ((IInitializer) elts[i]);
                name = init.getDeclaringType().getFullyQualifiedName() + ".<clinit>";
                break;
            case IJavaElement.PACKAGE_DECLARATION:
                name = ((IPackageDeclaration) elts[i]).getElementName();
                break;
            case IJavaElement.LOCAL_VARIABLE:
                ILocalVariable lcl = (ILocalVariable) elts[i];
                name = lcl.getHandleIdentifier();
                sgn = lcl.getTypeSignature();
                break;
            }
            hdl = elts[i].getHandleIdentifier();
        }
    } catch (CoreException e) {
        throw new BedrockException("Problem getting name", e);
    }

    if (name == null) {
        return;
        // throw new BedrockException("No identifier at location");
    }

    xw.begin("FULLYQUALIFIEDNAME");
    xw.field("NAME", name);
    if (key != null)
        xw.field("KEY", key);
    if (sgn != null)
        xw.field("TYPE", sgn);
    if (hdl != null)
        xw.field("HANDLE", hdl);
    xw.end();
}

From source file:edu.brown.cs.bubbles.bedrock.BedrockJava.java

License:Open Source License

/********************************************************************************/

private IJavaElement[] getSearchElements(IJavaElement[] pelt) {
    List<IJavaElement> active = new ArrayList<IJavaElement>();
    Set<IJavaProject> done = new HashSet<IJavaProject>();

    for (IJavaElement je : pelt) {
        if (je.getElementType() == IJavaElement.JAVA_PROJECT) {
            IJavaProject jp = (IJavaProject) je;
            addProjectElements(jp, done, active);
        } else//from ww w  . j av  a 2s .com
            active.add(je);
    }

    int sz = active.size();
    pelt = new IJavaElement[sz];
    pelt = active.toArray(pelt);

    return pelt;
}

From source file:edu.brown.cs.bubbles.bedrock.BedrockUtil.java

License:Open Source License

private static void outputJavaElementImpl(IJavaElement elt, Set<String> files, boolean children,
        IvyXmlWriter xw) {//w w w .ja v a  2s  .c  o  m
    if (elt == null)
        return;

    String close = null;

    switch (elt.getElementType()) {
    case IJavaElement.CLASS_FILE:
        return;
    case IJavaElement.PACKAGE_FRAGMENT:
        IOpenable opn = (IOpenable) elt;
        if (!opn.isOpen()) {
            try {
                opn.open(null);
            } catch (JavaModelException e) {
                BedrockPlugin.logE("Package framgent " + elt.getElementName() + " not open");
                return;
            }
        }
        try {
            outputNameDetails((IPackageFragment) elt, xw);
        } catch (JavaModelException e) {
        }
        break;
    case IJavaElement.PACKAGE_FRAGMENT_ROOT:
        IPackageFragmentRoot pfr = (IPackageFragmentRoot) elt;
        try {
            if (!pfr.isOpen() && pfr.getKind() == IPackageFragmentRoot.K_SOURCE) {
                pfr.open(null);
            }
        } catch (JavaModelException e) {
            return;
        }
        outputNameDetails(pfr, xw);
        break;
    case IJavaElement.JAVA_PROJECT:
        IJavaProject ijp = (IJavaProject) elt;
        outputNameDetails(ijp, xw);
        break;
    case IJavaElement.JAVA_MODEL:
    case IJavaElement.IMPORT_CONTAINER:
    case IJavaElement.IMPORT_DECLARATION:
    case IJavaElement.TYPE_PARAMETER:
    default:
        break;
    case IJavaElement.COMPILATION_UNIT:
        IProject ip = elt.getJavaProject().getProject();
        File f = getFileForPath(elt.getPath(), ip);
        if (files != null && !files.contains(f.getPath()) && !files.contains(f.getAbsolutePath())) {
            return;
        }
        xw.begin("FILE");
        xw.textElement("PATH", f.getAbsolutePath());
        String root = getRootForPath(elt.getPath(), ip);
        if (root != null)
            xw.textElement("PATHROOT", root);
        close = "FILE";
        break;
    case IJavaElement.TYPE:
        try {
            outputNameDetails((IType) elt, xw);
        } catch (JavaModelException e) {
        }
        break;
    case IJavaElement.FIELD:
        try {
            outputNameDetails((IField) elt, xw);
        } catch (JavaModelException e) {
        }
        break;
    case IJavaElement.METHOD:
        try {
            outputNameDetails((IMethod) elt, xw);
        } catch (JavaModelException e) {
        }
        break;
    case IJavaElement.INITIALIZER:
        outputNameDetails((IInitializer) elt, xw);
        break;
    case IJavaElement.PACKAGE_DECLARATION:
        outputNameDetails((IPackageDeclaration) elt, xw);
        break;
    case IJavaElement.LOCAL_VARIABLE:
        outputNameDetails((ILocalVariable) elt, xw);
        break;
    }

    if (children && elt instanceof IParent) {
        try {
            for (IJavaElement c : ((IParent) elt).getChildren()) {
                outputJavaElementImpl(c, files, children, xw);
            }
        } catch (JavaModelException e) {
        }
    }

    if (close != null)
        xw.end(close);
}

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

License:Open Source License

/**
 * Opens a blank editor.//from   w  w  w .  jav  a 2  s . c  o  m
 * 
 * @param element - The element to place the diagram file in.
 * @return a reference to the opened editor, if successful.
 */
private static DiagramEditor createEditor(IJavaElement element) throws JavaModelException {
    IWorkbenchWindow dwindow = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
    IWorkbenchPage workbenchPage = dwindow.getActivePage();
    IPackageFragment packFrag = null;
    IPath elementPath;

    // get the project itself, if desired (for creating DIA)
    if (element.isReadOnly() || PlugIn.getBooleanPreference(P_FORCE_DIA_IN_PROJECT)) {
        element = element.getAncestor(IJavaElement.JAVA_PROJECT);
    }

    if (element instanceof IJavaProject) {
        IJavaProject project = (IJavaProject) element;
        packFrag = project.getPackageFragments()[0];
    } else if (!(element instanceof IPackageFragment)) {
        packFrag = (IPackageFragment) element.getAncestor(IJavaElement.PACKAGE_FRAGMENT);
    } else {
        packFrag = (IPackageFragment) element;
    }

    // create a path to the diagram file with current extension
    elementPath = packFrag.getPath()
            .append(packFrag.getJavaProject().getElementName() + "." + PluginConstants.GREEN_EXTENSION);

    try {
        IFile diaFile = DiagramEditor.getFileNotExist(element.getJavaProject().getProject(), elementPath);
        DiagramEditor editor = (DiagramEditor) IDE.openEditor(workbenchPage, diaFile, true);
        ACTIVE_EDITOR = editor;
        return editor;
    } catch (CoreException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }

    return null;
}

From source file:edu.buffalo.cse.green.editor.model.RootModel.java

License:Open Source License

/**
 * Creates a model representing the given <code>IType</code>.
 * /*from w w w . j a  v  a  2s.c  o m*/
 * @param type
 *            The <code>IType</code> to model
 * @return A <code>TypeModel</code> representing the given
 *         <code>IType</code>
 */
public TypeModel createTypeModel(IType type) {
    TypeModel typeModel = (TypeModel) getModelFromElement(type);

    // create the type if it doesn't exist
    if (typeModel == null) {
        // create the type model
        typeModel = new TypeModel(type);

        if (PlugIn.filterMember(typeModel)) {
            removeChild(typeModel);
            return typeModel;
        }

        typeModel.setParent(this);

        GreenException.illegalOperation(isValidTypeModel(typeModel));

        // update the fields and models
        typeModel.updateFields();
        typeModel.updateMethods();

        // LOOKINTO Answer why is this needed, since 4 statements up it appears to already have been done...
        // Answer: Null pointer thrown without this statement...possibly a more elegant solution is available
        if (typeModel.getType().isBinary()) {
            // set its parent to the root
            typeModel.setParent(this);
        }

        addChild(typeModel, typeModel.getMember());

        if (_project == null) {
            if (!type.isBinary()) {
                setProject((IJavaProject) type.getAncestor(IJavaElement.JAVA_PROJECT));
            }
        } else if (!type.getAncestor(IJavaElement.JAVA_PROJECT).equals(_project)) {
            GreenException.warn(GRWARN_ELEMENT_IN_WRONG_EDITOR);
        }
    } else {
        if (PlugIn.filterMember(typeModel)) {
            removeChild(typeModel);
            return typeModel;
        }

        typeModel.setVisible(true);
    }

    // show all relationships attached to this type
    for (RelationshipModel rModel : _relationshipModels) {
        TypeModel rsModel = rModel.getSourceModel();
        TypeModel rtModel = rModel.getTargetModel();

        if (rsModel != null && rtModel != null) {
            if (typeModel.equals(rsModel) || typeModel.equals(rtModel)) {
                if (rsModel.isVisible() && rtModel.isVisible()) {
                    rModel.setSourceModel(rsModel);
                    rModel.setTargetModel(rtModel);
                    rModel.setVisible(true);
                }
            }
        }
    }

    return typeModel;
}

From source file:jasima_gui.EclipseProjectClassLoader.java

License:Open Source License

protected boolean hasClasspathChanged(IJavaElementDelta delta) {
    int t = delta.getElement().getElementType();
    if (t == IJavaElement.JAVA_PROJECT) {
        if ((delta.getFlags() & IJavaElementDelta.F_RESOLVED_CLASSPATH_CHANGED) != 0) {
            return true;
        }//  w ww .j  a v  a  2 s  . c  o m
    } else if (t == IJavaElement.JAVA_MODEL) {
        for (IJavaElementDelta d : delta.getAffectedChildren()) {
            if (hasClasspathChanged(d))
                return true;
        }
    }
    return false;
}

From source file:jp.littleforest.pathtools.handlers.CopyQualifiedNameHandler.java

License:Open Source License

protected String getQualifiedName(IJavaElement e) {
    String qn = "";
    switch (e.getElementType()) {
    case IJavaElement.ANNOTATION:
        break;/*from w w  w  . j  av a 2  s  .  c  o m*/
    case IJavaElement.CLASS_FILE:
        qn = getQualifiedClassName((IClassFile) e);
        break;
    case IJavaElement.COMPILATION_UNIT:
        qn = getQualifiedClassName((ICompilationUnit) e);
        break;
    case IJavaElement.FIELD:
        qn = getQualifiedFieldName((IField) e);
        break;
    case IJavaElement.IMPORT_CONTAINER:
        break;
    case IJavaElement.IMPORT_DECLARATION:
        break;
    case IJavaElement.INITIALIZER:
        break;
    case IJavaElement.JAVA_MODEL:
        break;
    case IJavaElement.JAVA_PROJECT:
        break;
    case IJavaElement.LOCAL_VARIABLE:
        break;
    case IJavaElement.METHOD:
        qn = getQualifiedMethodName((IMethod) e);
        break;
    case IJavaElement.PACKAGE_DECLARATION:
        break;
    case IJavaElement.PACKAGE_FRAGMENT:
        qn = getQualifiedPackageName(e);
        break;
    case IJavaElement.TYPE:
        qn = getQualifiedClassName((IType) e);
        break;
    case IJavaElement.TYPE_PARAMETER:
        break;
    default:
        break;
    }
    return qn;
}

From source file:mychangedetector.copyclasses.MyRenameLinkedMode.java

License:Open Source License

/**
 * Creates a rename descriptor.//w w w  .j av  a 2 s  . c  o m
 * 
 * @param javaElement element to rename 
 * @param newName new name
 * @return a rename descriptor with current settings as used in the refactoring dialogs
 * @throws JavaModelException if an error occurs while accessing the element
 */
private RenameJavaElementDescriptor createRenameDescriptor(IJavaElement javaElement, String newName)
        throws JavaModelException {
    String contributionId;
    // see RefactoringExecutionStarter#createRenameSupport(..):
    int elementType = javaElement.getElementType();
    switch (elementType) {
    case IJavaElement.JAVA_PROJECT:
        contributionId = IJavaRefactorings.RENAME_JAVA_PROJECT;
        break;
    case IJavaElement.PACKAGE_FRAGMENT_ROOT:
        contributionId = IJavaRefactorings.RENAME_SOURCE_FOLDER;
        break;
    case IJavaElement.PACKAGE_FRAGMENT:
        contributionId = IJavaRefactorings.RENAME_PACKAGE;
        break;
    case IJavaElement.COMPILATION_UNIT:
        contributionId = IJavaRefactorings.RENAME_COMPILATION_UNIT;
        break;
    case IJavaElement.TYPE:
        contributionId = IJavaRefactorings.RENAME_TYPE;
        break;
    case IJavaElement.METHOD:
        final IMethod method = (IMethod) javaElement;
        if (method.isConstructor())
            return createRenameDescriptor(method.getDeclaringType(), newName);
        else
            contributionId = IJavaRefactorings.RENAME_METHOD;
        break;
    case IJavaElement.FIELD:
        IField field = (IField) javaElement;
        if (field.isEnumConstant())
            contributionId = IJavaRefactorings.RENAME_ENUM_CONSTANT;
        else
            contributionId = IJavaRefactorings.RENAME_FIELD;
        break;
    case IJavaElement.TYPE_PARAMETER:
        contributionId = IJavaRefactorings.RENAME_TYPE_PARAMETER;
        break;
    case IJavaElement.LOCAL_VARIABLE:
        contributionId = IJavaRefactorings.RENAME_LOCAL_VARIABLE;
        break;
    default:
        return null;
    }

    RenameJavaElementDescriptor descriptor = (RenameJavaElementDescriptor) RefactoringCore
            .getRefactoringContribution(contributionId).createDescriptor();
    descriptor.setJavaElement(javaElement);
    descriptor.setNewName(newName);
    if (elementType != IJavaElement.PACKAGE_FRAGMENT_ROOT)
        descriptor.setUpdateReferences(true);

    IDialogSettings javaSettings = JavaPlugin.getDefault().getDialogSettings();
    IDialogSettings refactoringSettings = javaSettings.getSection(RefactoringWizardPage.REFACTORING_SETTINGS); //TODO: undocumented API
    if (refactoringSettings == null) {
        refactoringSettings = javaSettings.addNewSection(RefactoringWizardPage.REFACTORING_SETTINGS);
    }

    switch (elementType) {
    case IJavaElement.METHOD:
    case IJavaElement.FIELD:
        descriptor.setDeprecateDelegate(refactoringSettings.getBoolean(DelegateUIHelper.DELEGATE_DEPRECATION));
        descriptor.setKeepOriginal(refactoringSettings.getBoolean(DelegateUIHelper.DELEGATE_UPDATING));
    }
    switch (elementType) {
    case IJavaElement.TYPE:
        //         case IJavaElement.COMPILATION_UNIT: // TODO
        descriptor.setUpdateSimilarDeclarations(
                refactoringSettings.getBoolean(RenameRefactoringWizard.TYPE_UPDATE_SIMILAR_ELEMENTS));
        int strategy;
        try {
            strategy = refactoringSettings.getInt(RenameRefactoringWizard.TYPE_SIMILAR_MATCH_STRATEGY);
        } catch (NumberFormatException e) {
            strategy = RenamingNameSuggestor.STRATEGY_EXACT;
        }
        descriptor.setMatchStrategy(strategy);
    }
    switch (elementType) {
    case IJavaElement.PACKAGE_FRAGMENT:
        descriptor.setUpdateHierarchy(
                refactoringSettings.getBoolean(RenameRefactoringWizard.PACKAGE_RENAME_SUBPACKAGES));
    }
    switch (elementType) {
    case IJavaElement.PACKAGE_FRAGMENT:
    case IJavaElement.TYPE:
        String fileNamePatterns = refactoringSettings.get(RenameRefactoringWizard.QUALIFIED_NAMES_PATTERNS);
        if (fileNamePatterns != null && fileNamePatterns.length() != 0) {
            descriptor.setFileNamePatterns(fileNamePatterns);
            boolean updateQualifiedNames = refactoringSettings
                    .getBoolean(RenameRefactoringWizard.UPDATE_QUALIFIED_NAMES);
            descriptor.setUpdateQualifiedNames(updateQualifiedNames);
            fShowPreview |= updateQualifiedNames;
        }
    }
    switch (elementType) {
    case IJavaElement.PACKAGE_FRAGMENT:
    case IJavaElement.TYPE:
    case IJavaElement.FIELD:
        boolean updateTextualOccurrences = refactoringSettings
                .getBoolean(RenameRefactoringWizard.UPDATE_TEXTUAL_MATCHES);
        descriptor.setUpdateTextualOccurrences(updateTextualOccurrences);
        fShowPreview |= updateTextualOccurrences;
    }
    switch (elementType) {
    case IJavaElement.FIELD:
        descriptor
                .setRenameGetters(refactoringSettings.getBoolean(RenameRefactoringWizard.FIELD_RENAME_GETTER));
        descriptor
                .setRenameSetters(refactoringSettings.getBoolean(RenameRefactoringWizard.FIELD_RENAME_SETTER));
    }
    return descriptor;
}

From source file:net.sourceforge.c4jplugin.internal.ui.contracthierarchy.ContractHierarchyLifeCycle.java

License:Open Source License

private void processDelta(IJavaElementDelta delta, ArrayList<IType> changedTypes) {
    IJavaElement element = delta.getElement();
    switch (element.getElementType()) {
    case IJavaElement.TYPE:
        processTypeDelta((IType) element, changedTypes);
        processChildrenDelta(delta, changedTypes); // (inner types)
        break;/*from   w  ww. ja  v  a  2 s. c o  m*/
    case IJavaElement.JAVA_MODEL:
    case IJavaElement.JAVA_PROJECT:
    case IJavaElement.PACKAGE_FRAGMENT_ROOT:
    case IJavaElement.PACKAGE_FRAGMENT:
        processChildrenDelta(delta, changedTypes);
        break;
    case IJavaElement.COMPILATION_UNIT:
        ICompilationUnit cu = (ICompilationUnit) element;
        if (cu.getOwner() != null) {
            return;
        }

        if (delta.getKind() == IJavaElementDelta.CHANGED && isPossibleStructuralChange(delta.getFlags())) {
            try {
                if (cu.exists()) {
                    IType[] types = cu.getAllTypes();
                    for (int i = 0; i < types.length; i++) {
                        processTypeDelta(types[i], changedTypes);
                    }
                }
            } catch (JavaModelException e) {
                C4JActivator.log(e);
            }
        } else {
            processChildrenDelta(delta, changedTypes);
        }
        break;
    case IJavaElement.CLASS_FILE:
        if (delta.getKind() == IJavaElementDelta.CHANGED) {
            try {
                IType type = ((IClassFile) element).getType();
                processTypeDelta(type, changedTypes);
            } catch (JavaModelException e) {
                C4JActivator.log(e);
            }
        } else {
            processChildrenDelta(delta, changedTypes);
        }
        break;
    }
}

From source file:net.sourceforge.metrics.calculators.RMartinCouplings.java

License:Open Source License

/**
 * Create a search scope consisting of all source packages in the element's project and all referencing projects. Exclude the element itself. This results in a DRAMATIC performance increase over SearchEngine.createWorkspaceScope().,...
 * //  ww  w . ja v  a 2  s .c  o m
 * @param element
 * @return IJavaSearchScope
 */
private IJavaSearchScope createProjectSearchScope(IJavaElement element) throws JavaModelException {
    IJavaProject p = (IJavaProject) element.getAncestor(IJavaElement.JAVA_PROJECT);
    List<IPackageFragment> scopeElements = new ArrayList<IPackageFragment>();
    addPackagesInScope(p, scopeElements);
    // find referencing projects and add their packages if any
    IProject[] refProjects = p.getProject().getReferencingProjects();
    if ((refProjects != null) && (refProjects.length > 0)) {
        for (IProject refProject : refProjects) {
            IJavaProject next = JavaCore.create(refProject);
            if (next != null) {
                addPackagesInScope(next, scopeElements);
            }
        }
    }
    // don't include the package under investigation!
    scopeElements.remove(element);
    return SearchEngine.createJavaSearchScope(scopeElements.toArray(new IJavaElement[] {}));
}