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

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

Introduction

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

Prototype

int PACKAGE_FRAGMENT_ROOT

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

Click Source Link

Document

Constant representing a package fragment root.

Usage

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) {//from  w ww.ja va  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.cmu.cs.crystal.internal.WorkspaceUtilities.java

License:Open Source License

/**
 * A recursive traversal of the IJavaModel starting from the given
 * element to collect all ICompilationUnits.
 * Each compilation unit corresponds to each java file.
 *  /*w  w  w.  j  ava 2s . c  om*/
 * @param javaElement a node in the IJavaModel that will be traversed
 * @return a list of compilation units or <code>null</code> if no comp units are found
 */
public static List<ICompilationUnit> collectCompilationUnits(IJavaElement javaElement) {
    List<ICompilationUnit> list = null, temp = null;
    // We are traversing the JavaModel for COMPILATION_UNITs
    if (javaElement.getElementType() == IJavaElement.COMPILATION_UNIT) {
        list = new ArrayList<ICompilationUnit>();
        list.add((ICompilationUnit) javaElement);
        return list;
    }

    // Non COMPILATION_UNITs will have to be further traversed
    if (javaElement instanceof IParent) {
        IParent parent = (IParent) javaElement;

        // Do not traverse PACKAGE_FRAGMENT_ROOTs that are ReadOnly
        // this ignores libraries and .class files
        if (javaElement.getElementType() == IJavaElement.PACKAGE_FRAGMENT_ROOT && javaElement.isReadOnly()) {
            return null;
        }

        // Traverse
        try {
            if (parent.hasChildren()) {
                IJavaElement[] children = parent.getChildren();
                for (int i = 0; i < children.length; i++) {
                    temp = collectCompilationUnits(children[i]);
                    if (temp != null)
                        if (list == null)
                            list = temp;
                        else
                            list.addAll(temp);
                }
            }
        } catch (JavaModelException jme) {
            log.log(Level.SEVERE, "Problem traversing Java model element: " + parent, jme);
        }
    } else {
        log.warning("Encountered a model element that's not a comp unit or parent: " + javaElement);
    }

    return list;
}

From source file:fr.imag.adele.cadse.cadseg.eclipse.RenameJavaClassMappingOperartion.java

License:Apache License

protected void refactoringRename(String id, String... params) {
    try {//from  ww w.j a  v a 2  s  .  c o m
        IJavaElement oldElement = getJavaElement(_oldcontext);
        IJavaElement newElement = getJavaElement(_newcontext);

        Map<String, String> arguments = new HashMap<String, String>();
        for (int i = 0; i < params.length;) {
            String k = params[i++];
            String v = params[i++];
            arguments.put(k, v);
        }
        arguments.put("name", newElement.getElementName());
        arguments.put("input", oldElement.getHandleIdentifier());

        RenameJavaElementDescriptor javaElementDescriptor = new RenameJavaElementDescriptor(id,
                id == IJavaRefactorings.RENAME_JAVA_PROJECT ? null
                        : oldElement.getResource().getProject().getName(),
                _desc, _desc, arguments, 0);
        javaElementDescriptor.setJavaElement(oldElement);
        javaElementDescriptor.setNewName(newElement.getElementName());

        int type = oldElement.getElementType();
        switch (type) {
        case IJavaElement.PACKAGE_FRAGMENT:
        case IJavaElement.TYPE:
            javaElementDescriptor.setUpdateQualifiedNames(true);
            break;
        default:
        }
        if (oldElement.getElementType() != IJavaElement.PACKAGE_FRAGMENT_ROOT) {
            javaElementDescriptor.setUpdateReferences(true);
        }

        RenameSupport renameSupport = RenameSupport.create(javaElementDescriptor);
        Shell parent = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell();
        renameSupport.perform(parent, new ProgressMonitorDialog(parent));

    } catch (CoreException e1) {
        e1.printStackTrace();
    } catch (InterruptedException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (InvocationTargetException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}

From source file:jmockit.assist.JunitLaunchListener.java

License:Open Source License

public boolean addJavaAgentVmArg(final ILaunchConfiguration conf) throws CoreException {
    boolean added = false;
    String vmargs = conf.getAttribute(JunitLaunchListener.VM_ARGS, "");
    String project = conf.getAttribute(JunitLaunchListener.PROJ_ATTR, "");

    IJavaModel javaModel = JavaCore.create(ResourcesPlugin.getWorkspace().getRoot());
    IJavaProject jproj = javaModel.getJavaProject(project);

    IType mockitType = jproj.findType(MockUtil.MOCK);
    if (mockitType == null) {
        mockitType = jproj.findType(MockUtil.MOCKIT);
    }// w  w w.jav  a2s  .c o m

    if (mockitType != null) {
        IPackageFragmentRoot root = (IPackageFragmentRoot) mockitType
                .getAncestor(IJavaElement.PACKAGE_FRAGMENT_ROOT);

        if (root != null && root.isArchive()) // its a jar
        {
            String jarPath = root.getPath().toOSString();
            if (root.getResource() != null) {
                jarPath = root.getResource().getRawLocation().toString();
            }

            if (new File(jarPath).exists()) {
                String javaagentArg = "-javaagent:\"" + jarPath + "\"";
                setOrCreateVariable(javaagentArg);

                if (!vmargs.contains(JunitLaunchListener.JMOCKIT_VAR) && !vmargs.contains("-javaagent")) {
                    setRunConfVmArgs(conf, vmargs + " " + JunitLaunchListener.JMOCKIT_VAR);
                    added = true;
                }
            } else {
                Activator.log(new FileNotFoundException(jarPath));
            }
        }
    }

    return added;
}

From source file:mychangedetector.copyclasses.MyRenameLinkedMode.java

License:Open Source License

/**
 * Creates a rename descriptor./* w ww.  j  a  v 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.atos.optimus.m2m.engine.sdk.wizards.transformations.TransformationCreatorJob.java

License:Open Source License

@Override
public IStatus runInWorkspace(IProgressMonitor monitor) throws CoreException {

    monitor.beginTask(Messages.JOBTASK.message(), 4);

    monitor.subTask(Messages.JOB_SUBTASK_1.message());

    if (!fragment.exists()) {
        IPackageFragmentRoot root = (IPackageFragmentRoot) this.fragment
                .getAncestor(IJavaElement.PACKAGE_FRAGMENT_ROOT);
        this.fragment = root.createPackageFragment(this.fragment.getElementName(), false, monitor);
        root.getResource().refreshLocal(IResource.DEPTH_ONE, monitor);
    }/* w  ww  .ja v a  2  s. c  om*/

    Properties properties = new Properties();
    properties.put(VAR_PACKAGENAME, this.fragment.getElementName());
    properties.put(VAR_TRANSFO_ELT_FQN, elementType);
    properties.put(VAR_TRANSFO_CLASSNAME, className);
    properties.put(VAR_TRANSFO_FACTORYNAME, factoryName);
    ResourceSet resourceSet = new ResourceSetImpl();
    monitor.worked(1);

    monitor.subTask(Messages.JOB_SUBTASK_2.message());
    this.generateJava(resourceSet, properties);
    monitor.worked(1);
    monitor.subTask(Messages.JOB_SUBTASK_3.message());
    this.generateXML(resourceSet, properties);
    monitor.worked(1);

    monitor.subTask(Messages.JOB_SUBTASK_4.message());
    for (Resource r : resourceSet.getResources())
        r.unload();
    resourceSet.getResources().clear();
    monitor.worked(1);
    monitor.done();

    return Status.OK_STATUS;
}

From source file:net.atos.optimus.m2m.engine.sdk.wizards.transformations.TransformationCreatorJob.java

License:Open Source License

private void generateJava(ResourceSet resourceSet, Properties properties) throws CoreException {
    JavaGenerator javaGenerator = new JavaGenerator();
    IPath outputPath = fragment.getAncestor(IJavaElement.PACKAGE_FRAGMENT_ROOT).getResource().getLocation();

    URI uri = URI.createPlatformPluginURI(Activator.PLUGIN_ID + MODEL2USE_FILEPATH, true);
    Resource resource = resourceSet.getResource(uri, true);

    EObject root = resource.getContents().get(0);
    TemplateVariableReplacer.replace(root, properties);
    PackageChunker.chunkPackages((Model) root);
    javaGenerator.generate((Model) root, outputPath);

    this.fragment.getResource().refreshLocal(IResource.DEPTH_INFINITE, null);

}

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  ww .ja v a2 s.c o m*/
    return false;
}

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 w  w. j  av a 2s . c  om*/
    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.ui.layeredpackagegraph.LayeredPackageGraphActionGroup.java

License:Open Source License

/**
  * /*from w  w  w .j a  v a 2  s.  co  m*/
  */
public void enable() {
    abortAction.setEnabled(MetricsBuilder.canAbort());
    pauseAction.setEnabled(MetricsBuilder.canPause());
    resumeAction.setEnabled(MetricsBuilder.canResume());
    exportAction.setEnabled(true);
    IJavaElement sel = metricsView.getSelection();
    if ((sel != null) && ((sel.getElementType() == IJavaElement.PACKAGE_FRAGMENT_ROOT)
            || sel.getElementType() == IJavaElement.JAVA_PROJECT)) {
        graphAction.setEnabled(true);
    } else {
        graphAction.setEnabled(false);
    }
}