Example usage for org.eclipse.jdt.core IPackageFragmentRoot K_SOURCE

List of usage examples for org.eclipse.jdt.core IPackageFragmentRoot K_SOURCE

Introduction

In this page you can find the example usage for org.eclipse.jdt.core IPackageFragmentRoot K_SOURCE.

Prototype

int K_SOURCE

To view the source code for org.eclipse.jdt.core IPackageFragmentRoot K_SOURCE.

Click Source Link

Document

Kind constant for a source path root.

Usage

From source file:org.switchyard.tools.ui.editor.transform.wizards.BaseTransformComposite.java

License:Open Source License

protected String handleCreateJavaClass(String className, String interfaceName) throws JavaModelException {
    IProject project = null;//from w w w.ja  va  2s.co m
    IJavaProject javaProject = null;
    OpenNewClassWizardAction action = new OpenNewClassWizardAction();
    IFile modelFile = SwitchyardSCAEditor.getActiveEditor().getModelFile();
    IStructuredSelection selectionToPass = StructuredSelection.EMPTY;
    if (modelFile != null) {
        selectionToPass = new StructuredSelection(modelFile);
        project = ((IFile) selectionToPass.getFirstElement()).getProject();
    }
    NewClassWizardPage page = new NewClassWizardPage();
    ArrayList<String> interfaces = new ArrayList<String>();
    if (interfaceName != null && interfaceName.trim().length() > 0) {
        interfaces.add(interfaceName);
        page.setSuperInterfaces(interfaces, false);
    }
    IPackageFragmentRoot packRoot = null;
    if (project != null) { //$NON-NLS-1$
        javaProject = JavaCore.create(project);
        if (!className.isEmpty()) {
            if (className.contains(".")) {
                className = className.substring(className.lastIndexOf('.') + 1);
            }
            page.setTypeName(className, true);
        }
        IPackageFragment[] packages = javaProject.getPackageFragments();
        for (IPackageFragment mypackage : packages) {
            if (mypackage.getKind() == IPackageFragmentRoot.K_SOURCE) {
                selectionToPass = new StructuredSelection(mypackage);
                packRoot = (IPackageFragmentRoot) mypackage.getParent();
                break;
            }
        }
        page.setPackageFragmentRoot(packRoot, true);
    }
    action.setSelection(selectionToPass);
    if (javaProject != null) {
        IJavaElement[] roots = packRoot.getChildren();
        PackageFragment stashFrag = null;
        for (int i = 0; i < roots.length; i++) {
            PackageFragment frag = (PackageFragment) roots[i];
            if (!frag.isDefaultPackage() && !frag.hasSubpackages()) {
                stashFrag = frag;
                break;
            }
        }
        if (stashFrag != null) {
            page.setPackageFragment(stashFrag, true);
        }
    }
    action.setConfiguredWizardPage(page);
    action.setOpenEditorOnFinish(false);
    action.run();
    IJavaElement createdElement = action.getCreatedElement();
    if (createdElement != null && createdElement instanceof IType) {
        IType stype = (IType) createdElement;
        String name = stype.getFullyQualifiedName();
        if (name != null) {
            return name;
        }
    }
    return null;
}

From source file:org.switchyard.tools.ui.JavaUtil.java

License:Open Source License

/**
 * Returns the first source folder in the project. If the project is a maven
 * project, the first source folder configured will be used.
 * /*  ww  w . ja v a2  s .co m*/
 * @param project the Java project
 * 
 * @return the source root; may be null.
 */
public static IPackageFragmentRoot getFirstJavaSourceRoot(IJavaProject project) {
    if (project == null) {
        return null;
    }
    try {
        IPackageFragmentRoot sourceRoot = null;
        IMavenProjectFacade facade = MavenPlugin.getMavenProjectRegistry().getProject(project.getProject());
        if (facade == null) {
            for (IPackageFragmentRoot frag : project.getPackageFragmentRoots()) {
                if (frag.getKind() == IPackageFragmentRoot.K_SOURCE) {
                    sourceRoot = frag;
                    break;
                }
            }
        } else {
            IPath projectPath = project.getPath();
            for (IPath sourcePath : facade.getCompileSourceLocations()) {
                IPackageFragmentRoot frag = project.findPackageFragmentRoot(projectPath.append(sourcePath));
                if (frag != null) {
                    sourceRoot = frag;
                    break;
                }
            }
        }
        return sourceRoot;
    } catch (JavaModelException e) {
        return null;
    }
}

From source file:org.switchyard.tools.ui.JavaUtil.java

License:Open Source License

/**
 * Returns the first resource folder in the project. If the project is a
 * maven project, the first resource folder configured will be used.
 * /* ww  w.  ja  v  a  2  s .co m*/
 * @param project the Java project
 * 
 * @return the resource root; may be null.
 */
public static IResource getFirstResourceRoot(IJavaProject project) {
    if (project == null) {
        return null;
    }
    try {
        IResource sourceRoot = null;
        IMavenProjectFacade facade = MavenPlugin.getMavenProjectRegistry().getProject(project.getProject());
        if (facade == null) {
            for (IPackageFragmentRoot frag : project.getPackageFragmentRoots()) {
                if (frag.getKind() == IPackageFragmentRoot.K_SOURCE) {
                    sourceRoot = frag.getUnderlyingResource();
                    break;
                }
            }
        } else {
            IProject projectResource = project.getProject();
            for (IPath sourcePath : facade.getResourceLocations()) {
                sourceRoot = projectResource.findMember(sourcePath);
                if (sourceRoot != null) {
                    break;
                }
            }
        }
        return sourceRoot;
    } catch (JavaModelException e) {
        return null;
    }
}

From source file:org.talend.repository.ui.wizards.exportjob.scriptsmanager.JobJavaScriptsManager.java

License:Open Source License

/**
 * Get the path of .JAVA/src/*from   ww w.j av  a 2 s. co m*/
 * 
 * @throws Exception
 */
protected IPath getSrcRootLocation() throws Exception {
    ITalendProcessJavaProject talendProcessJavaProject = RepositoryPlugin.getDefault().getRunProcessService()
            .getTalendProcessJavaProject();
    if (talendProcessJavaProject == null) {
        return new Path(""); //$NON-NLS-1$
    }
    IProject project = talendProcessJavaProject.getProject();
    IJavaProject javaProject = talendProcessJavaProject.getJavaProject();
    IPackageFragmentRoot[] pp = javaProject.getAllPackageFragmentRoots();
    IPackageFragmentRoot src = null;
    for (IPackageFragmentRoot root : pp) {
        if (root.getKind() == IPackageFragmentRoot.K_SOURCE) {
            src = root;
            break;
        }
    }

    IPath root = project.getParent().getLocation();
    root = root.append(src.getPath());
    return root;
}

From source file:org.whole.lang.artifacts.util.ArtifactsWorkspaceUtils.java

License:Open Source License

public static IEntity getArtifacts(IEntity artifact) {
    ArtifactsEntityFactory aef = ArtifactsEntityFactory.instance(RegistryConfigurations.RESOLVER);
    IEntity children = BindingManagerFactory.instance.createTuple();

    if (Matcher.match(ArtifactsEntityDescriptorEnum.Workspace, artifact)) {
        IWorkspaceRoot workspaceRoot = ResourcesPlugin.getWorkspace().getRoot();
        for (IProject project : workspaceRoot.getProjects()) {
            Project projectArtifact = aef.createProject();
            projectArtifact.setName(aef.createName(project.getName()));
            projectArtifact.setArtifacts(aef.createArtifacts(0));
            children.wAdd(projectArtifact);
        }/*from   w  w  w  . ja v a  2 s  . c om*/
    } else {
        try {
            IBindingManager bindings = BindingManagerFactory.instance.createBindingManager();
            bindPath(artifact, bindings, false);
            IContainer container = (IContainer) (bindings.wIsSet("folder") ? bindings.wGetValue("folder")
                    : bindings.wGetValue("project"));
            IJavaElement javaContainer = JavaCore.create(container);
            if (javaContainer == null || javaContainer.getElementType() == IJavaElement.JAVA_PROJECT) {
                for (IResource resource : container.members()) {
                    if (resource.getType() == IResource.FILE) {
                        appendFileArtifact(((IFile) resource).getName(), children);
                    } else {
                        FolderArtifact folderArtifact = aef.createFolderArtifact();
                        Metadata metadata = aef.createMetadata();
                        metadata.setAttributes(aef.createAttributes(aef.createAttribute(AttributeEnum.source)));
                        folderArtifact.setMetadata(metadata);
                        folderArtifact.setName(aef.createName(StringUtils.getFileName(resource.getName())));
                        folderArtifact.setArtifacts(aef.createArtifacts(0));
                        children.wAdd(folderArtifact);
                    }
                }
            } else {
                if (javaContainer.getElementType() == IJavaElement.PACKAGE_FRAGMENT_ROOT) {
                    IPackageFragmentRoot fragmentRoot = (IPackageFragmentRoot) javaContainer;
                    if (fragmentRoot.getKind() == IPackageFragmentRoot.K_SOURCE) {
                        for (IJavaElement element : fragmentRoot.getChildren()) {
                            if (element.getElementType() == IJavaElement.PACKAGE_FRAGMENT) {
                                if (element.getElementName() == IPackageFragment.DEFAULT_PACKAGE_NAME) {
                                    appendPackageFragmentChildren((IPackageFragment) element, children);
                                } else {
                                    PackageArtifact packageArtifact = aef.createPackageArtifact();
                                    packageArtifact.setName(
                                            aef.createName(StringUtils.getFileName(element.getElementName())));
                                    packageArtifact.setArtifacts(aef.createArtifacts(0));
                                    children.wAdd(packageArtifact);
                                }
                            }
                        }
                    }
                } else // IJavaElement.PACKAGE_FRAGMENT
                    appendPackageFragmentChildren((IPackageFragment) javaContainer, children);

            }
        } catch (Exception e) {
        }
    }

    return children;
}

From source file:org.wso2.developerstudio.eclipse.artifact.brs.export.BRSExportHandler.java

License:Open Source License

private List<String> getExportPackages(IJavaProject iJavaProject)
        throws CoreException, JavaModelException, Exception {
    ArrayList<String> exportedPackagesList = new ArrayList<String>();
    IPackageFragment[] packages = iJavaProject.getPackageFragments();
    for (IPackageFragment iPackageFragment : packages) {
        iPackageFragment.getElementName();
        if (iPackageFragment.getKind() == IPackageFragmentRoot.K_SOURCE) {
            if (iPackageFragment.hasChildren()) {
                exportedPackagesList.add(iPackageFragment.getElementName());
            }/*from w  w w  .j a  v  a  2  s .co  m*/
        }
    }
    return exportedPackagesList;
}

From source file:org.wso2.developerstudio.eclipse.artifact.brs.ui.dialog.FactsDialog.java

License:Open Source License

@Override
protected Control createDialogArea(Composite parent) {
    final Combo factTypeCombo;
    Composite container;//from  ww w  .ja  v a2 s.  com
    container = (Composite) super.createDialogArea(parent);
    container.getShell().setText("Facts Dialog");
    GridLayout layout = new GridLayout();
    container.setLayout(layout);
    layout.numColumns = 2;

    Label typeLabel = new Label(container, SWT.NULL);
    typeLabel.setText("Fact Type");

    factTypeCombo = new Combo(container, SWT.DROP_DOWN | SWT.READ_ONLY);
    ArrayList<String> javaClass = new ArrayList<String>();
    ArrayList<String> pakagesList = new ArrayList<String>();
    ArrayList<IPackageFragment> packFrag = new ArrayList<IPackageFragment>();
    IJavaProject javaProject = JavaCore.create(project);
    try {
        IPackageFragment[] packages = javaProject.getPackageFragments();
        for (IPackageFragment iPackageFragment : packages) {
            iPackageFragment.getElementName();
            if (iPackageFragment.getKind() == IPackageFragmentRoot.K_SOURCE) {
                if (iPackageFragment.hasChildren()) {
                    pakagesList.add(iPackageFragment.getElementName());
                    packFrag.add(iPackageFragment);
                    for (ICompilationUnit unit : iPackageFragment.getCompilationUnits()) {
                        javaClass.add(unit.getElementName());
                    }
                }
            }
        }
        String[] factsForCombo = new String[javaClass.size()];
        int i = 0;
        for (int j = 0; j < pakagesList.size(); j++) {
            for (ICompilationUnit unit : packFrag.get(j).getCompilationUnits()) {
                factsForCombo[i] = packFrag.get(j).getElementName() + "."
                        + unit.getElementName().replace(".java", "");
                i++;
            }
        }

        factTypeCombo.setItems(factsForCombo);

        if (factsForCombo.length > 0) {
            factTypeCombo.setText(factsForCombo[0]);
        }

        factTypeCombo.setText(updateFactType());

        setFactType(factTypeCombo.getText().trim());
        factTypeCombo.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false));
        factTypeCombo.addSelectionListener(new SelectionListener() {
            @Override
            public void widgetSelected(SelectionEvent event) {
                setFactType(factTypeCombo.getText().trim());
            }

            @Override
            public void widgetDefaultSelected(SelectionEvent event) {

            }
        });

    } catch (JavaModelException e) {

        e.printStackTrace();
    }

    Label factNameLabel = new Label(container, SWT.NULL);
    factNameLabel.setText("Element Name");
    txtFactName = new Text(container, SWT.BORDER | SWT.NULL);
    txtFactName.setText(updateFactName());
    GridData factNameGridData = new GridData(SWT.LEFT, SWT.CENTER, true, false, 1, 1);
    factNameGridData.widthHint = 200;
    txtFactName.setLayoutData(factNameGridData);

    txtFactName.addModifyListener(new ModifyListener() {

        @Override
        public void modifyText(ModifyEvent arg0) {
            setFactName(txtFactName.getText().trim());
        }
    });

    Label factNameSpaceLabel = new Label(container, SWT.NULL);
    factNameSpaceLabel.setText("Element Namespace");
    txtFactNameSpace = new Text(container, SWT.BORDER | SWT.NULL);
    txtFactNameSpace.setText(updateFactNameSpace());
    GridData factNameSpaceGridData = new GridData(SWT.LEFT, SWT.CENTER, true, false, 1, 1);
    factNameSpaceGridData.widthHint = 200;
    txtFactNameSpace.setLayoutData(factNameSpaceGridData);

    txtFactNameSpace.addModifyListener(new ModifyListener() {

        @Override
        public void modifyText(ModifyEvent arg0) {
            setNameSpace(txtFactNameSpace.getText().trim());
        }
    });

    return container;
}

From source file:org.wso2.developerstudio.eclipse.artifact.library.project.export.LibraryArtifactHandler.java

License:Open Source License

public List<IResource> exportArtifact(IProject project) throws Exception {
    List<IResource> exportResources = new ArrayList<IResource>();
    List<String> exportedPackageList = new ArrayList<String>();
    List<String> importededPackageList = new ArrayList<String>();

    ArchiveManipulator archiveManipulator = new ArchiveManipulator();
    NullProgressMonitor nullProgressMonitor = new NullProgressMonitor();
    BundlesDataInfo bundleData = new BundlesDataInfo();
    IFile bundleDataFile = project.getFile("bundles-data.xml");
    File tempProject = createTempProject();
    File libResources = createTempDir(tempProject, "lib_resources");
    MavenProject mavenProject = MavenUtils.getMavenProject(project.getFile("pom.xml").getLocation().toFile());

    if (bundleDataFile.exists()) {
        bundleData.deserialize(bundleDataFile);

        for (String lib : bundleData.getExportedPackageListsFromJar().keySet()) {
            IFile JarFile = project.getFile(lib);
            if (JarFile.exists()) {
                archiveManipulator.extract(JarFile.getLocation().toFile(), libResources);
                exportedPackageList.addAll(bundleData.getExportedPackageListsFromJar().get(lib));
            }/*w w w.ja  va2 s  .c o  m*/
        }
        for (IProject lib : bundleData.getExportedPackageListsFromProject().keySet()) {
            if (lib.isOpen()) {
                lib.build(IncrementalProjectBuilder.FULL_BUILD, nullProgressMonitor);
                IJavaProject javaLibProject = JavaCore.create(lib);
                for (IPackageFragment pkg : javaLibProject.getPackageFragments()) {
                    if (pkg.getKind() == IPackageFragmentRoot.K_SOURCE) {
                        if (pkg.hasChildren()) {
                            exportedPackageList.add(pkg.getElementName());
                        }
                    }
                }

                IPath outPutPath = getOutputPath(javaLibProject);
                // get resource location
                IPath resources = getResourcePath(lib);

                FileUtils.copyDirectoryContents(outPutPath.toFile(), libResources);
                if (resources.toFile().exists()) {
                    FileUtils.copyDirectoryContents(resources.toFile(), libResources);
                }
            }
        }
        getPackages(exportedPackageList, mavenProject, "Export-Package");
        getPackages(importededPackageList, mavenProject, "Import-Package");
        BundleManifest manifest = new BundleManifest();
        manifest.setBundleName(project.getName());
        manifest.setBundleSymbolicName(project.getName());
        if (null != mavenProject.getModel().getDescription()
                && !"".equals(mavenProject.getModel().getDescription())) {
            manifest.setBundleDescription(mavenProject.getModel().getDescription());
        } else {
            manifest.setBundleDescription(project.getName());
        }
        if (null != mavenProject.getModel().getVersion() && !"".equals(mavenProject.getDescription())) {
            manifest.setBundleVersion(mavenProject.getModel().getVersion());
        } else {
            manifest.setBundleVersion("1.0.0");
        }
        if (null != bundleData.getFragmentHost() && !"".equals(bundleData.getFragmentHost())) {
            manifest.setFragmentHost(bundleData.getFragmentHost());
        }
        manifest.setExportPackagesList(exportedPackageList);
        if (importededPackageList.size() > 0) {
            manifest.setImportPackagesList(importededPackageList);
            manifest.setDynamicImports(false);
        }
        File metaInfDir = new File(libResources, "META-INF");
        if (!metaInfDir.exists())
            metaInfDir.mkdir();
        File manifestFile = new File(metaInfDir, "MANIFEST.MF");
        FileUtils.createFile(manifestFile, manifest.toString());

        File tmpArchive = new File(tempProject, project.getName().concat(".jar"));
        archiveManipulator.archiveDir(tmpArchive.toString(), libResources.toString());

        IFile libArchive = getTargetArchive(project, "jar");
        FileUtils.copy(tmpArchive, libArchive.getLocation().toFile());
        exportResources.add((IResource) libArchive);

        // cleaning temp project
        // if(!org.apache.commons.io.FileUtils.deleteQuietly(tempProject.getLocation().toFile())){
        // tempProject.delete(true, getProgressMonitor());
    }

    TempFileUtils.cleanUp();
    return exportResources;

}

From source file:org.wso2.developerstudio.eclipse.artifact.library.ui.wizard.LibraryArtifactCreationWizard.java

License:Open Source License

public static List<String> fillDependencyList(IProject project, LibraryArtifactModel libraryModel,
        List<Dependency> dependencyList) throws JavaModelException, Exception, CoreException, IOException {

    IFile bundlesDataFile = project.getFile("bundles-data.xml");
    List<String> exportedPackages = new ArrayList<String>();

    BundlesDataInfo bundleData = new BundlesDataInfo();
    if (libraryModel.isFragmentHostBundle()) {
        bundleData.setFragmentHost(libraryModel.getFragmentHostBundleName());
    }//w w w . ja va  2s . co m

    List<IProject> projects = new ArrayList<IProject>();
    for (Object resource : libraryModel.getLibraries()) {
        File libraryResource = null;
        if (resource instanceof File) {
            libraryResource = (File) resource;
        } else if (resource instanceof IFile) {
            libraryResource = new File(((IFile) resource).getLocation().toOSString());
        } else if (resource instanceof IProject) {
            IProject workSpacePrj = (IProject) resource;
            projects.add(workSpacePrj);
            handleWorkspaceProjectResource(workSpacePrj);
        }
        if (libraryResource != null) {
            String dest = new File(project.getLocation().toFile(), libraryResource.getName()).toString();
            if (!libraryResource.toString().equals(dest)) {
                FileUtils.copyFile(libraryResource.toString(), dest);
            }
        }
    }
    project.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());

    File[] jarsList = project.getLocation().toFile().listFiles(new FilenameFilter() {

        public boolean accept(File file, String name) {
            return name.endsWith(".jar");
        }
    });

    Map<File, ArrayList<String>> exportedPackagesInfoMap = FileUtils.processJarList(jarsList);

    for (File jarFile : exportedPackagesInfoMap.keySet()) {
        if (isExistsInLibraryModel(jarFile, libraryModel)) {

            Path base = new Path(project.getLocation().toFile().toString());

            ArrayList<String> packages = exportedPackagesInfoMap.get(jarFile);
            exportedPackages.addAll(packages);
            bundleData.createJarElement(jarFile.getName(), exportedPackagesInfoMap.get(jarFile));

            Dependency dependency = new Dependency();
            dependency.setArtifactId(jarFile.getName());
            dependency.setGroupId("dummy.groupid");
            dependency.setVersion("1.0.0");
            dependency.setScope("system");
            dependency.setSystemPath(
                    "${basedir}/" + jarFile.toString().substring(base.toFile().getPath().length() + 1));
            dependencyList.add(dependency);
        } else {
            try {
                jarFile.delete();
            } catch (Exception e) {
                log.warn("Failed to remove unused jar file(s)", e);
            }
        }
    }

    for (IProject prj : projects) {
        IFile pomFile = prj.getFile("pom.xml");
        if (pomFile.exists()) {
            try {
                MavenProject mavenProject = MavenUtils.getMavenProject(pomFile.getLocation().toFile());
                Dependency dependency = new Dependency();
                dependency.setArtifactId(mavenProject.getArtifactId());
                dependency.setGroupId(mavenProject.getGroupId());
                dependency.setVersion(mavenProject.getVersion());
                dependencyList.add(dependency);
            } catch (Exception e) {
                log.warn("Error reading " + pomFile, e);
            }
        }
        bundleData.createProjectElement(prj, new ArrayList<String>());
        IJavaProject javaProject = JavaCore.create(prj);
        for (IPackageFragment pkg : javaProject.getPackageFragments()) {
            if (pkg.getKind() == IPackageFragmentRoot.K_SOURCE) {
                if (pkg.hasChildren()) {
                    exportedPackages.add(pkg.getElementName());
                }
            }
        }
    }

    bundleData.toFile(bundlesDataFile);
    project.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());
    bundlesDataFile.setHidden(true);

    return exportedPackages;
}

From source file:org.wso2.developerstudio.eclipse.artifact.mediator.project.export.MediatorExportHandler.java

License:Open Source License

private List<String> getExportPackages(IJavaProject javaProject)
        throws CoreException, JavaModelException, Exception {
    ArrayList<String> exportedPackagesList = new ArrayList<String>();
    IPackageFragment[] packages = javaProject.getPackageFragments();
    if (packages != null) {
        for (IPackageFragment iPackageFragment : packages) {
            iPackageFragment.getElementName();
            if (iPackageFragment.getKind() == IPackageFragmentRoot.K_SOURCE) {
                if (iPackageFragment.hasChildren()) {
                    exportedPackagesList.add(iPackageFragment.getElementName());
                }/*from  ww  w. j av  a  2s .c o  m*/
            }
        }
    }
    MavenProject mavenProject = MavenUtils
            .getMavenProject(javaProject.getProject().getFile("pom.xml").getLocation().toFile());
    List<Plugin> plugins = mavenProject.getBuild().getPlugins();
    for (Plugin plugin : plugins) {
        if ("maven-bundle-plugin".equalsIgnoreCase(plugin.getArtifactId())) {
            Xpp3Dom configurationNode = (Xpp3Dom) plugin.getConfiguration();
            Xpp3Dom[] instructions = configurationNode.getChildren("instructions");
            if (instructions.length == 1) {
                Xpp3Dom[] exportPackage = instructions[0].getChildren("Export-Package");
                if (exportPackage.length == 1) {
                    exportedPackagesList.clear(); //clear default configuration (All packages by default)
                    String exportpackages = exportPackage[0].getValue();
                    if (packages != null) {
                        exportedPackagesList.addAll(Arrays.asList(exportpackages.split(",")));
                    }
                } else {
                    log.warn("Invalid configuration for <Export-Package> entry"
                            + " using default configuration for <Export-Package>");
                }
            } else {
                log.warn("Invalid instructions configuration for plugin : maven-bundle-plugin"
                        + " using default configuration for <Export-Package>");
            }
            break; //not considering multiple versions of the maven-bundle-plugin
        }
    }
    return exportedPackagesList;
}