Example usage for org.eclipse.jdt.core IJavaProject getPackageFragments

List of usage examples for org.eclipse.jdt.core IJavaProject getPackageFragments

Introduction

In this page you can find the example usage for org.eclipse.jdt.core IJavaProject getPackageFragments.

Prototype

IPackageFragment[] getPackageFragments() throws JavaModelException;

Source Link

Document

Returns all package fragments in all package fragment roots contained in this project.

Usage

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

License:Open Source License

private static Collection<IPackageFragment> getPackages(String pkg, IProject[] targetProjects) {
    try {//from  w  w w  .ja  v  a  2 s .c om
        Collection<IPackageFragment> result = new ArrayList<IPackageFragment>();
        for (IProject project : targetProjects) {
            IJavaProject javaProject = JavaCore.create(project);
            for (IPackageFragment packageFragment : javaProject.getPackageFragments()) {
                if (packageFragment.getElementName().equals(pkg) && JdtUtils.isSourcePackage(packageFragment)) {
                    result.add(packageFragment);
                }
            }
        }
        return result;
    } catch (JavaModelException e) {
        throw new IllegalStateException("An error occured while collecting packages", e);
    }
}

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

License:Open Source License

private List<IJavaElement> collectNonEmptyPackages() {
    try {//from  www.j a v  a 2 s.co  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:ar.com.tadp.xml.rinzo.jdt.contentassist.processors.ClassNameProcessor.java

License:Open Source License

private ICompilationUnit getTemporaryCompilationUnit(IJavaProject project) throws JavaModelException {
    IPackageFragment root = project.getPackageFragments()[0];
    ICompilationUnit unit = root.getCompilationUnit(TEMPORAL_CLASS_FILE_NAME)
            .getWorkingCopy(new NullProgressMonitor());

    return unit;/*from w w w  . j  ava2 s  . c  o m*/
}

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

License:Open Source License

/**
 * create products extension detail/*w ww . 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:ca.mcgill.cs.swevo.jayfx.JayFX.java

License:Open Source License

/**
 * Returns all the compilation units in this projects
 * // w  ww.j  a  v a  2 s .  c o  m
 * @param pProject
 *            The project to analyze. Should never be null.
 * @return The compilation units to generate. Never null.
 * @throws JayFXException
 *             If the method cannot complete correctly
 */
private static List<ICompilationUnit> getCompilationUnits(final IJavaProject pProject) throws JayFXException {
    // assert pProject != null;

    final List<ICompilationUnit> lReturn = new ArrayList<ICompilationUnit>();

    try {
        final IPackageFragment[] lFragments = pProject.getPackageFragments();
        for (final IPackageFragment element : lFragments) {
            final ICompilationUnit[] lCUs = element.getCompilationUnits();
            for (final ICompilationUnit element2 : lCUs) {
                if (!element2.getResource().getFileExtension().equals("aj"))
                    lReturn.add(element2);
            }
        }
    } catch (final JavaModelException pException) {
        throw new JayFXException("Could not extract compilation units from project", pException);
    }
    return lReturn;
}

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;//  www. j a va  2  s.  c om
                    processJavaSource(unit);
                }
            }
        }
    }
}

From source file:com.amashchenko.eclipse.strutsclipse.java.JavaClassCompletion.java

License:Apache License

private static ICompilationUnit createSourceCompilationUnit(IDocument document) throws JavaModelException {
    ICompilationUnit unit = null;//from  ww  w .  ja  v  a2 s . c om

    IJavaProject javaProject = ProjectUtil.getCurrentJavaProject(document);
    if (javaProject != null) {
        IPackageFragment packageFragment = javaProject.getPackageFragments()[0];
        if (packageFragment != null) {
            unit = packageFragment.getCompilationUnit(CLASS_NAME + ".java").getWorkingCopy(null);
        }
    }
    return 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;/*from w w w . j  av  a 2  s .c  o  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.core.AndroidPackageRenameParticipantTest.java

License:Open Source License

private static IPackageFragment getPackageFragment(IProject project, String pkg)
        throws CoreException, JavaModelException {
    IPackageFragment pkgFragment = null;
    IJavaProject javaProject = BaseProjectHelper.getJavaProject(project);
    assertNotNull(javaProject);/*from   w  w w  .j  a  v a 2s  .  co  m*/
    IPackageFragment[] fragments = javaProject.getPackageFragments();
    for (IPackageFragment fragment : fragments) {
        String name = fragment.getElementName();
        if (pkg.equals(name)) {
            pkgFragment = fragment;
            break;
        }
    }
    return pkgFragment;
}

From source file:com.android.ide.eclipse.adt.internal.refactorings.core.AndroidTypeMoveParticipant.java

License:Open Source License

@Override
protected boolean initialize(Object element) {
    if (element instanceof IType) {
        IType type = (IType) element;//from  w w w . j a v a  2 s .  c  o  m
        IJavaProject javaProject = (IJavaProject) type.getAncestor(IJavaElement.JAVA_PROJECT);
        mProject = javaProject.getProject();
        IResource manifestResource = mProject
                .findMember(AdtConstants.WS_SEP + SdkConstants.FN_ANDROID_MANIFEST_XML);

        if (manifestResource == null || !manifestResource.exists() || !(manifestResource instanceof IFile)) {
            RefactoringUtil.logInfo("Invalid or missing the " + SdkConstants.FN_ANDROID_MANIFEST_XML
                    + " in the " + mProject.getName() + " project.");
            return false;
        }
        mManifestFile = (IFile) manifestResource;
        ManifestData manifestData;
        manifestData = AndroidManifestHelper.parseForData(mManifestFile);
        if (manifestData == null) {
            return false;
        }
        mAppPackage = manifestData.getPackage();
        mOldFqcn = type.getFullyQualifiedName();
        Object destination = getArguments().getDestination();
        if (destination instanceof IPackageFragment) {
            IPackageFragment packageFragment = (IPackageFragment) destination;
            mNewFqcn = packageFragment.getElementName() + "." + type.getElementName();
        } else if (destination instanceof IResource) {
            try {
                IPackageFragment[] fragments = javaProject.getPackageFragments();
                for (IPackageFragment fragment : fragments) {
                    IResource resource = fragment.getResource();
                    if (resource.equals(destination)) {
                        mNewFqcn = fragment.getElementName() + '.' + type.getElementName();
                        break;
                    }
                }
            } catch (JavaModelException e) {
                // pass
            }
        }
        return mOldFqcn != null && mNewFqcn != null;
    }

    return false;
}