Example usage for org.eclipse.jdt.core IPackageFragment getKind

List of usage examples for org.eclipse.jdt.core IPackageFragment getKind

Introduction

In this page you can find the example usage for org.eclipse.jdt.core IPackageFragment getKind.

Prototype

int getKind() throws JavaModelException;

Source Link

Document

Returns this package fragment's root kind encoded as an integer.

Usage

From source file:ar.com.fluxit.jqa.utils.JdtUtils.java

License:Open Source License

public static boolean isSourcePackage(IPackageFragment packageFragment) {
    try {// w  ww.ja v  a2  s .  c  o m
        return packageFragment.containsJavaResources()
                && packageFragment.getKind() == IPackageFragmentRoot.K_SOURCE;
    } catch (JavaModelException e) {
        throw new IllegalStateException("An error has occurred while collection Java packages", e);
    }
}

From source file:ar.com.fluxit.jqa.wizard.page.LayersDefinitionWizardPage.java

License:Open Source License

private List<IJavaElement> collectNonEmptyPackages() {
    try {/*  www  . jav  a 2s .  c o m*/
        List<IJavaElement> result = new ArrayList<IJavaElement>();
        for (IProject project : getWizard().getTargetProjects()) {
            final IJavaProject javaProject = JavaCore.create(project);
            for (IPackageFragment packageFragment : javaProject.getPackageFragments()) {
                if (packageFragment.containsJavaResources()
                        && packageFragment.getKind() == IPackageFragmentRoot.K_SOURCE) {
                    result.add(packageFragment);
                }
            }
        }
        return result;
    } catch (JavaModelException e) {
        throw new IllegalStateException("An error has occurred while collection Java packages", e);
    }
}

From source file:at.bestsolution.efxclipse.tooling.pde.e4.project.E4NewProjectWizard.java

License:Open Source License

/**
 * create products extension detail//from ww  w.j ava 2  s  .co m
 * 
 * @param project
 */
public void createApplicationResources(IProject project, IProgressMonitor monitor) {
    Map<String, String> map = fApplicationPage.getData();
    if (map == null || map.get(NewApplicationWizardPage.PRODUCT_NAME) == null)
        return;

    // If the project has invalid characters, the plug-in name would replace
    // them with underscores, product name does the same
    String pluginName = map.get(NewApplicationWizardPage.PRODUCT_NAME);
    String xmiPath = map.get(NewApplicationWizardPage.APPLICATION_XMI_PROPERTY);

    // If there's no Activator created we create default package
    if (!fPluginData.doGenerateClass()) {
        String packageName = fPluginData.getId();
        IPath path = new Path(packageName.replace('.', '/'));
        if (fPluginData.getSourceFolderName().trim().length() > 0)
            path = new Path(fPluginData.getSourceFolderName()).append(path);

        try {
            CoreUtility.createFolder(project.getFolder(path));
        } catch (CoreException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

    IJavaProject javaProject = JavaCore.create(project);
    IPackageFragment fragment = null;

    try {
        for (IPackageFragment element : javaProject.getPackageFragments()) {
            if (element.getKind() == IPackageFragmentRoot.K_SOURCE) {
                fragment = element;
            }
        }
    } catch (JavaModelException e1) {
        e1.printStackTrace();
    }

    if (xmiPath != null && xmiPath.trim().length() > 0) {
        // Create a resource set
        //
        ResourceSet resourceSet = new ResourceSetImpl();

        // Get the URI of the model file.
        //
        URI fileURI = URI.createPlatformResourceURI(project.getName() + "/" + xmiPath, true);

        // Create a resource for this file.
        //
        Resource resource = resourceSet.createResource(fileURI);

        MApplication application = MApplicationFactory.INSTANCE.createApplication();

        application.setElementId("org.eclipse.e4.ide.application");

        MAddon addon = MApplicationFactory.INSTANCE.createAddon();
        addon.setElementId("org.eclipse.e4.core.commands.service");
        addon.setContributionURI(
                "bundleclass://org.eclipse.e4.core.commands/org.eclipse.e4.core.commands.CommandServiceAddon");
        application.getAddons().add(addon);

        addon = MApplicationFactory.INSTANCE.createAddon();
        addon.setElementId("org.eclipse.e4.ui.contexts.service");
        addon.setContributionURI(
                "bundleclass://org.eclipse.e4.ui.services/org.eclipse.e4.ui.services.ContextServiceAddon");
        application.getAddons().add(addon);

        addon = MApplicationFactory.INSTANCE.createAddon();
        addon.setElementId("at.bestsolution.efxclipse.runtime.bindings.e4.service");
        addon.setContributionURI(
                "bundleclass://at.bestsolution.efxclipse.runtime.bindings.e4/at.bestsolution.efxclipse.runtime.bindings.e4.BindingServiceAddon");
        application.getAddons().add(addon);

        addon = MApplicationFactory.INSTANCE.createAddon();
        addon.setElementId("org.eclipse.e4.ui.workbench.commands.model");
        addon.setContributionURI(
                "bundleclass://org.eclipse.e4.ui.workbench/org.eclipse.e4.ui.internal.workbench.addons.CommandProcessingAddon");
        application.getAddons().add(addon);

        addon = MApplicationFactory.INSTANCE.createAddon();
        addon.setElementId("org.eclipse.e4.ui.workbench.contexts.model");
        addon.setContributionURI(
                "bundleclass://org.eclipse.e4.ui.workbench/org.eclipse.e4.ui.internal.workbench.addons.ContextProcessingAddon");
        application.getAddons().add(addon);

        addon = MApplicationFactory.INSTANCE.createAddon();
        addon.setElementId("at.bestsolution.efxclipse.runtime.bindings.e4.model");
        addon.setContributionURI(
                "bundleclass://at.bestsolution.efxclipse.runtime.bindings.e4/at.bestsolution.efxclipse.runtime.bindings.e4.BindingProcessingAddon");
        application.getAddons().add(addon);

        MBindingContext rootContext = MCommandsFactory.INSTANCE.createBindingContext();
        rootContext.setElementId("org.eclipse.ui.contexts.dialogAndWindow");
        rootContext.setName("In Dialog and Windows");

        MBindingContext childContext = MCommandsFactory.INSTANCE.createBindingContext();
        childContext.setElementId("org.eclipse.ui.contexts.window");
        childContext.setName("In Windows");
        rootContext.getChildren().add(childContext);

        childContext = MCommandsFactory.INSTANCE.createBindingContext();
        childContext.setElementId("org.eclipse.ui.contexts.dialog");
        childContext.setName("In Dialogs");
        rootContext.getChildren().add(childContext);

        application.getRootContext().add(rootContext);
        application.getBindingContexts().add(rootContext);

        resource.getContents().add((EObject) application);

        MCommand openCommand = createCommand("media.open", "openMedia", "OpenHandler", "M1+O", pluginName,
                fragment, application);
        MCommand refreshCommand = createCommand("media.refresh", "refreshMedia", "RefreshHandler", "M1+R",
                pluginName, fragment, application);

        MTrimmedWindow mainWindow = MBasicFactory.INSTANCE.createTrimmedWindow();
        mainWindow.setElementId("org.efxclipse.e4.mainWindow");
        mainWindow.getPersistedState().put("fx.stage.decoration", "platform:/plugin/" + pluginName + "/"
                + fragment.getElementName().replace('.', '/') + "/decoration/TopArea.fxml");
        application.getChildren().add(mainWindow);
        {
            mainWindow.setLabel(pluginName);
            mainWindow.setX(30);
            mainWindow.setY(30);
            mainWindow.setWidth(1024);
            mainWindow.setHeight(768);

            // Top-Sash
            {
                MPartSashContainer sash = MBasicFactory.INSTANCE.createPartSashContainer();
                sash.setHorizontal(true);

                // Create a left part
                {
                    MPart part = MBasicFactory.INSTANCE.createPart();
                    part.setContributionURI("bundleclass://" + pluginName + "/" + fragment.getElementName()
                            + ".parts.MediaListPart");
                    part.setContainerData("0.3");
                    sash.getChildren().add(part);
                }

                // Create a right a stack
                {
                    MPartStack stack = MBasicFactory.INSTANCE.createPartStack();
                    stack.setContainerData("0.7");
                    stack.setElementId("content.stack");
                    sash.getChildren().add(stack);
                }

                mainWindow.getChildren().add(sash);
            }

            // WindowTrim
            {
                MTrimBar trimBar = MBasicFactory.INSTANCE.createTrimBar();
                mainWindow.getTrimBars().add(trimBar);

                MToolBar toolBar = MMenuFactory.INSTANCE.createToolBar();
                toolBar.setElementId("org.efxclipse.e4.maintoolbar");
                trimBar.getChildren().add(toolBar);

                MHandledToolItem toolItemOpen = MMenuFactory.INSTANCE.createHandledToolItem();
                toolBar.getChildren().add(toolItemOpen);
                toolItemOpen.setElementId("org.efxclipse.e4.toolitem.open");
                toolItemOpen.setIconURI("platform:/plugin/" + pluginName + "/icons/edit-image-face-show.png");
                toolItemOpen.setCommand(openCommand);

                MHandledToolItem toolItemSave = MMenuFactory.INSTANCE.createHandledToolItem();
                toolBar.getChildren().add(toolItemSave);
                toolItemSave.setElementId("org.efxclipse.e4.toolitem.save");
                toolItemSave.setIconURI("platform:/plugin/" + pluginName + "/icons/system-reboot.png");
                toolItemSave.setCommand(refreshCommand);
            }
        }

        Map<Object, Object> options = new HashMap<Object, Object>();
        options.put(XMLResource.OPTION_ENCODING, "UTF-8");
        try {
            resource.save(options);
        } catch (IOException e) {
            PDEPlugin.logException(e);
        }
    }

    IFile f = project.getFile(new Path(project.getName() + ".product.launch"));
    E4LaunchDef def = new E4LaunchDef();
    def.setProjectName(project.getName());
    def.getTargetPlugins().addAll(E4LaunchDef.getE4TargetPlugins());
    def.getWorkbenchPlugins().add(new PluginLaunchDef(project.getName()));
    try {
        ByteArrayInputStream in = new ByteArrayInputStream(
                new LaunchGenerator().generate(def).toString().getBytes());
        f.create(in, true, monitor);
        in.close();
    } catch (CoreException e1) {
        // TODO Auto-generated catch block
        e1.printStackTrace();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

    String cssPath = map.get(NewApplicationWizardPage.APPLICATION_CSS_PROPERTY);
    if (cssPath != null && cssPath.trim().length() > 0) {
        IFile file = project.getFile(cssPath);

        try {
            prepareFolder(file.getParent(), monitor);

            URL corePath = ResourceLocator.getProjectTemplateFiles("css/default.css");
            file.create(corePath.openStream(), true, monitor);
        } catch (Exception e) {
            PDEPlugin.logException(e);
        }
    }

    String template_id = "common";
    Set<String> binaryExtentions = new HashSet<String>();
    binaryExtentions.add(".gif");
    binaryExtentions.add(".png");
    binaryExtentions.add(".jpg");
    binaryExtentions.add(".flv");

    Map<String, String> keys = new HashMap<String, String>();
    keys.put("projectName", pluginName);
    keys.put("packageName", fragment.getElementName() + ".handlers");
    keys.put("packageName_parts", fragment.getElementName() + ".parts");
    keys.put("packageName_model", fragment.getElementName() + ".model");
    keys.put("packageName_decoration", fragment.getElementName() + ".decoration");

    try {
        URL corePath = ResourceLocator.getProjectTemplateFiles(template_id);
        IRunnableWithProgress op = new TemplateOperation(corePath, project, keys, binaryExtentions);
        getContainer().run(false, true, op);
    } catch (Exception e) {
        PDEPlugin.logException(e);
    }

    try {
        URL corePath = ResourceLocator.getProjectTemplateFiles("src");
        IRunnableWithProgress op = new TemplateOperation(corePath, (IContainer) fragment.getResource(), keys,
                binaryExtentions);
        getContainer().run(false, true, op);
    } catch (Exception e) {
        PDEPlugin.logException(e);
    }
}

From source file:byke.DependencyAnalysis.java

License:Open Source License

private void assertValid(IPackageFragment fragment) throws InvalidElement {
    if (fragment == null)
        throw new InvalidElement("Null Package Fragment");
    try {//from   ww w.ja v a 2s  .  c o  m
        if (fragment.getKind() == IPackageFragmentRoot.K_BINARY)
            throw new InvalidElement("Binary Package");
    } catch (JavaModelException e) {
        throw new InvalidElement(e);
    }
}

From source file:cn.ieclipse.adt.ext.jdt.JavaSelection.java

License:Apache License

private void iterate(IJavaElement element) throws JavaModelException {
    if (project == null) {
        project = element.getJavaProject();
    }/*from  w  w w.j a v a 2 s . c  o m*/
    if (element instanceof IJavaProject) {
        IJavaProject prj = (IJavaProject) element;
        IPackageFragmentRoot[] roots = prj.getAllPackageFragmentRoots();
        for (IPackageFragmentRoot root : roots) {
            iterate(root);
        }
        return;
    } else if (element instanceof IPackageFragmentRoot) {
        IPackageFragmentRoot root = (IPackageFragmentRoot) element;
        if (root.getKind() == IPackageFragmentRoot.K_SOURCE) {
            IJavaElement[] children = root.getChildren();
            for (IJavaElement child : children) {
                iterate(child);
            }
        }
    } else if (element instanceof IPackageFragment) {
        IPackageFragment pkg = (IPackageFragment) element;
        if (pkg.getKind() == IPackageFragmentRoot.K_SOURCE) {
            ICompilationUnit[] units = pkg.getCompilationUnits();
            for (ICompilationUnit unit : units) {
                this.units.add(unit);
            }
            IJavaElement[] children = pkg.getChildren();
            for (IJavaElement child : children) {
                iterate(child);
            }
        }
    } else if (element instanceof ICompilationUnit) {
        ICompilationUnit unit = (ICompilationUnit) element;
        this.units.add(unit);
    }
}

From source file:com.alex.example.fixlicense.actions.SampleAction.java

License:Open Source License

private void processProject(IProject project) throws Exception {
    if (project.isNatureEnabled("org.eclipse.jdt.core.javanature")) {
        IJavaProject javaProject = JavaCore.create(project);
        IPackageFragment[] packages = javaProject.getPackageFragments();
        for (IPackageFragment mypackage : packages) {
            if (mypackage.getKind() == IPackageFragmentRoot.K_SOURCE) {
                for (ICompilationUnit unit : mypackage.getCompilationUnits()) {
                    sum = sum + 1;/*from  www.ja  v  a  2  s. c  o  m*/
                    processJavaSource(unit);
                }
            }
        }
    }
}

From source file:com.android.ide.eclipse.adt.internal.lint.UnusedResourceDetector.java

License:Open Source License

@Override
public void checkJavaSources(Context context, List<File> sourceFolders) {
    IProject project = getProject(context);
    if (project == null) {
        return;/* w  w w  . jav  a 2 s. co m*/
    }
    IJavaProject javaProject;
    try {
        javaProject = BaseProjectHelper.getJavaProject(project);
    } catch (CoreException e) {
        context.log(e, null);
        return;
    }
    if (javaProject == null) {
        return;
    }

    // Scan Java code in project for R.field references
    try {
        IPackageFragment[] packages = javaProject.getPackageFragments();
        for (IPackageFragment pkg : packages) {
            if (pkg.getKind() == IPackageFragmentRoot.K_SOURCE) {
                for (ICompilationUnit unit : pkg.getCompilationUnits()) {

                    ASTParser parser = ASTParser.newParser(AST.JLS3);
                    parser.setKind(ASTParser.K_COMPILATION_UNIT);
                    parser.setSource(unit);
                    parser.setResolveBindings(true);
                    CompilationUnit parse = (CompilationUnit) parser.createAST(null); // parse

                    // In the R file, look for known declarations
                    if ("R.java".equals(unit.getResource().getName())) { //$NON-NLS-1$
                        ResourceDeclarationVisitor visitor = new ResourceDeclarationVisitor();
                        parse.accept(visitor);
                        mDeclarations.addAll(visitor.getDeclarations());
                    } else {
                        ResourceRefCollector visitor = new ResourceRefCollector();
                        parse.accept(visitor);
                        List<String> refs = visitor.getRefs();
                        mReferences.addAll(refs);
                    }
                }
            }
        }
    } catch (CoreException e) {
        context.log(e, null);
    }
}

From source file:com.android.ide.eclipse.adt.internal.refactorings.extractstring.ExtractStringRefactoring.java

License:Open Source License

/**
 * Returns a foreach compatible iterator over all ICompilationUnit in the project.
 */// ww w . j  av a2 s.  co  m
private Iterable<ICompilationUnit> findAllJavaUnits() {
    final IJavaProject javaProject = JavaCore.create(mProject);

    return new Iterable<ICompilationUnit>() {
        @Override
        public Iterator<ICompilationUnit> iterator() {
            return new Iterator<ICompilationUnit>() {
                final Queue<ICompilationUnit> mUnits = new LinkedList<ICompilationUnit>();
                final Queue<IPackageFragment> mFragments = new LinkedList<IPackageFragment>();
                {
                    try {
                        IPackageFragment[] tmpFrags = javaProject.getPackageFragments();
                        if (tmpFrags != null && tmpFrags.length > 0) {
                            mFragments.addAll(Arrays.asList(tmpFrags));
                        }
                    } catch (JavaModelException e) {
                        // pass
                    }
                }

                @Override
                public boolean hasNext() {
                    if (!mUnits.isEmpty()) {
                        return true;
                    }

                    while (!mFragments.isEmpty()) {
                        try {
                            IPackageFragment fragment = mFragments.poll();
                            if (fragment.getKind() == IPackageFragmentRoot.K_SOURCE) {
                                ICompilationUnit[] tmpUnits = fragment.getCompilationUnits();
                                if (tmpUnits != null && tmpUnits.length > 0) {
                                    mUnits.addAll(Arrays.asList(tmpUnits));
                                    return true;
                                }
                            }
                        } catch (JavaModelException e) {
                            // pass
                        }
                    }
                    return false;
                }

                @Override
                public ICompilationUnit next() {
                    ICompilationUnit unit = mUnits.poll();
                    hasNext();
                    return unit;
                }

                @Override
                public void remove() {
                    throw new UnsupportedOperationException("This iterator does not support removal"); //$NON-NLS-1$
                }
            };
        }
    };
}

From source file:com.codenvy.ide.ext.java.server.internal.core.search.matching.PackageReferenceLocator.java

License:Open Source License

public static boolean isDeclaringPackageFragment(IPackageFragment packageFragment,
        ReferenceBinding typeBinding) {/*from   w  w w  .j av a2 s  .  c om*/
    char[] fileName = typeBinding.getFileName();
    if (fileName != null) {
        // retrieve the actual file name from the full path (sources are generally only containing it already)
        fileName = CharOperation.replaceOnCopy(fileName, '/', '\\'); // ensure to not do any side effect on file name (see https://bugs.eclipse
        // .org/bugs/show_bug.cgi?id=136016)
        fileName = CharOperation.lastSegment(fileName, '\\');

        try {
            switch (packageFragment.getKind()) {
            case IPackageFragmentRoot.K_SOURCE:
                if (!org.eclipse.jdt.internal.core.util.Util.isJavaLikeFileName(fileName)
                        || !packageFragment.getCompilationUnit(new String(fileName)).exists()) {
                    return false; // unit doesn't live in selected package
                }
                break;
            case IPackageFragmentRoot.K_BINARY:
                //               if (Util.isJavaFileName(fileName)) { // binary with attached source
                //                  int length = fileName.length;
                //                  System.arraycopy(fileName, 0, fileName = new char[length], 0, length - 4); // copy all but extension
                //                  System.arraycopy(SuffixConstants.SUFFIX_class, 0, fileName, length - 4, 4);
                //               }
                if (!Util.isClassFileName(fileName)
                        || !packageFragment.getClassFile(new String(fileName)).exists()) {
                    return false; // classfile doesn't live in selected package
                }
                break;
            }
        } catch (JavaModelException e) {
            // unable to determine kind; tolerate this match
        }
    }
    return true; // by default, do not eliminate
}

From source file:com.dforensic.plugin.manal.parser.SuspectSearch.java

License:Open Source License

private boolean extractPackageInfos(IJavaProject javaProject) throws JavaModelException {
    IPackageFragment[] packages = javaProject.getPackageFragments();
    for (IPackageFragment packageSearched : packages) {
        if (mFilterMethods != null) {
            for (ApiDescriptor api : mFilterMethods) {
                // Package fragments include all packages in the classpath.
                // We will only look at the package from the source folder.
                // K_BINARY would include also included JARS, e.g. rt.jar
                String packageName = api.getPackageNameFromSoot();
                if (packageName != null) {
                    if ((packageSearched.getKind() == IPackageFragmentRoot.K_SOURCE)
                            && packageName.equals(packageSearched.getElementName())) {
                        System.out.println("Package " + packageSearched.getElementName());
                        if (createAST(packageSearched, api)) {
                            return true;
                        }/* w  w  w  .  j av  a 2  s .  c  o m*/
                        // extractClassInfo(mypackage);
                    }
                } else {
                    System.err.println("Package name is NULL for " + api.toString());
                }
            }
        } else {
            System.err.println("Methods for search are not initialized. " + "mFilterMethods is NULL.");
        }
    }
    return false;
}