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.jboss.mapper.eclipse.internal.util.JavaUtil.java

License:Open Source License

/**
 * @param project//w w w  .jav a2  s.c  o  m
 * @return the root package for the supplied project
 */
public static IPackageFragmentRoot getFirstJavaSourceRoot(IJavaProject project) {
    if (project == null) {
        return null;
    }
    try {
        IPackageFragmentRoot sourceRoot = null;
        for (IPackageFragmentRoot frag : project.getPackageFragmentRoots()) {
            if (frag.getKind() == IPackageFragmentRoot.K_SOURCE) {
                sourceRoot = frag;
                break;
            }
        }
        return sourceRoot;
    } catch (JavaModelException e) {
        return null;
    }
}

From source file:org.jboss.tools.arquillian.ui.internal.detectors.ArquillianResourceHyperlinkDetector.java

License:Open Source License

private IFile getFile(String resource, ITypeRoot javaElement) {
    IJavaProject project = javaElement.getJavaProject();
    try {/*from w ww .  j a v a 2  s. co  m*/
        IPackageFragmentRoot[] roots = project.getAllPackageFragmentRoots();
        for (IPackageFragmentRoot root : roots) {
            if (root.getKind() == IPackageFragmentRoot.K_SOURCE) {
                IPath path = root.getPath();
                path = path.append(resource);
                path = path.removeFirstSegments(1);
                IFile file = project.getProject().getFile(path);
                if (file != null && file.exists()) {
                    return file;
                }
            }
        }
    } catch (JavaModelException e) {
        ArquillianUIActivator.log(e);
    }
    return null;
}

From source file:org.jboss.tools.common.model.ui.wizards.NewTypeWizardAdapter.java

License:Open Source License

private void doAdapted() {
    //         source folder name, package name, class name
    int loc = className.indexOf(":"); //$NON-NLS-1$
    if (loc != -1) {
        if (loc < className.length()) {
            //            classArgs = className.substring(loc + 1, className.length());
            className = className.substring(0, loc);
        }//from  ww  w .ja v a  2  s . com
        if (loc > 0)
            className = className.substring(0, loc);
        else if (loc == 0)
            className = ""; //$NON-NLS-1$
    }
    classNameStatus = JavaConventions.validateJavaTypeName(className);

    loc = className.lastIndexOf('.');
    if (loc != -1) {
        packageName = className.substring(0, loc);
        className = className.substring(loc + 1);
        packageNameStatus = JavaConventions.validatePackageName(packageName);
        classNameStatus = JavaConventions.validateJavaTypeName(className);
    }
    if (javaProject == null)
        return;
    try {
        if (packageFragmentRoot == null) {
            IPackageFragmentRoot srcEntryDft = null;
            IPackageFragmentRoot[] roots = javaProject.getPackageFragmentRoots();
            for (int i = 0; i < roots.length; i++) {
                if (roots[i].getKind() == IPackageFragmentRoot.K_SOURCE) {
                    srcEntryDft = roots[i];
                    break;
                }
            }
            if (srcEntryDft != null)
                packageFragmentRoot = srcEntryDft;
            else {
                packageFragmentRoot = javaProject.getPackageFragmentRoot(javaProject.getResource());
            }
            if (packageFragment == null && packageFragmentRoot != null && packageName != null
                    && packageName.length() > 0) {
                IFolder packageFolder = project.getFolder(packageName);
                packageFragment = packageFragmentRoot
                        .getPackageFragment(packageFolder.getProjectRelativePath().toOSString());
            }
        }
        //         superclass and interface
        if (this.rawInterfaces != null && this.rawInterfaces.size() > 0) {
            Iterator i = this.rawInterfaces.iterator();
            this.interfaces.clear();
            while (i.hasNext()) {
                String _interface = (String) i.next();
                // check interface name
                this.interfaces.add(_interface);
            }
        }
        if (this.superClassName != null && this.superClassName.length() > 0) {
            // check super class
        }

        rawData = false;
    } catch (JavaModelException e) {
        ModelUIPlugin.getPluginLog().logError(e);
    }
}

From source file:org.jboss.tools.common.model.util.EclipseResourceUtil.java

License:Open Source License

public static Set<IFolder> getSourceFolders(IProject project) {
    Set<IFolder> folders = new HashSet<IFolder>();
    IPackageFragmentRoot[] roots;/*  w w w  . jav  a  2s.  c  o m*/
    try {
        // From source folders
        IJavaProject javaProject = EclipseUtil.getJavaProject(project);
        if (javaProject != null) {
            roots = javaProject.getPackageFragmentRoots();
            for (int i = 0; i < roots.length; i++) {
                if (roots[i].getKind() == IPackageFragmentRoot.K_SOURCE) {
                    IResource source = roots[i].getCorrespondingResource();
                    if (source instanceof IFolder) {
                        folders.add((IFolder) source);
                    }
                }
            }
        }
    } catch (JavaModelException e) {
        ModelPlugin.getDefault().logError(e);
    }
    return folders;
}

From source file:org.jboss.tools.common.ui.widget.editor.SwtFieldEditorFactory.java

License:Open Source License

/**
 * @param buttonName//from   w  w  w. j  av a 2s .com
 * @return
 */
public ButtonFieldEditor.ButtonPressedAction createSelectSourceFolderAction(String buttonName,
        final String initPath) {
    ButtonFieldEditor.ButtonPressedAction action = new ButtonFieldEditor.ButtonPressedAction(buttonName) {
        private String inerInitPath;

        /*
         * (non-Javadoc)
         * @see org.eclipse.jface.action.Action#run()
         */
        @Override
        public void run() {
            final ElementTreeSelectionDialog dialog = new ElementTreeSelectionDialog(
                    Display.getCurrent().getActiveShell(), new JavaElementLabelProvider(),
                    new JavaSourceContentProvider());
            dialog.setInput(ResourcesPlugin.getWorkspace());
            String path = inerInitPath != null ? inerInitPath : initPath;
            IResource resource = ResourcesPlugin.getWorkspace().getRoot().findMember(path);
            if (resource != null) {
                IProject project = resource.getProject();
                if (project != null && project.isOpen()) {
                    IJavaProject javaProject = EclipseUtil.getJavaProject(project);
                    try {
                        IPackageFragmentRoot[] roots = javaProject.getPackageFragmentRoots();
                        for (int i = 0; i < roots.length; i++) {
                            if (roots[i].getKind() == IPackageFragmentRoot.K_SOURCE
                                    && roots[i].getResource().equals(resource)) {
                                dialog.setInitialSelection(roots[i]);
                                break;
                            }
                        }
                    } catch (JavaModelException e) {
                        CommonUIPlugin.getDefault().logError(e);
                    }
                }
            }
            dialog.setValidator(new ISelectionStatusValidator() {
                public IStatus validate(Object[] selection) {
                    if (selection.length > 0) {
                        if (selection[0] instanceof IPackageFragmentRoot) {
                            return new Status(IStatus.OK, CommonUIPlugin.PLUGIN_ID, IStatus.OK, null, null);
                        }
                    }
                    return new Status(IStatus.ERROR, CommonUIPlugin.PLUGIN_ID, IStatus.ERROR, null, null);
                }
            });
            dialog.setAllowMultiple(false);
            dialog.setTitle(CommonUIMessages.SELECT_WORKSPACE_FOLDER_DIALOG_TITLE);
            dialog.setMessage(CommonUIMessages.SELECT_WORKSPACE_FOLDER_DIALOG_MESSAGE);
            if (dialog.open() == Window.OK) {
                IPackageFragmentRoot pack = (IPackageFragmentRoot) dialog.getFirstResult();
                IPath newPath = pack.getResource().getFullPath();
                String value = newPath.toString();
                inerInitPath = value;
                getFieldEditor().setValue(value);
            }
        }
    };
    return action;
}

From source file:org.jboss.tools.fuse.transformation.editor.internal.util.ImportExportPackageUpdater.java

License:Open Source License

private boolean isPackageInsideSource(String packageName) {
    IJavaProject jProject = JavaCore.create(project);
    try {/*from www.  j a va  2  s . c  o m*/
        IJavaElement findElement = jProject
                .findElement(Path.fromPortableString(packageName.replaceAll("\\.", "/"))); //$NON-NLS-1$ //$NON-NLS-2$
        if (findElement instanceof IPackageFragment) {
            return IPackageFragmentRoot.K_SOURCE == ((IPackageFragment) findElement).getKind();
        }
    } catch (Exception e) {
        Activator.log(new Status(IStatus.WARNING, Activator.PLUGIN_ID,
                "Cannot determine where the package " + packageName + " comes from.", e)); //$NON-NLS-1$ //$NON-NLS-2$
    }
    return true;
}

From source file:org.jboss.tools.maven.seam.configurators.SeamProjectConfigurator.java

License:Open Source License

private void configureInternal(MavenProject mavenProject, IProject project, IProgressMonitor monitor)
        throws CoreException {
    IPreferenceStore store = Activator.getDefault().getPreferenceStore();
    boolean configureSeam = store.getBoolean(Activator.CONFIGURE_SEAM);
    if (!configureSeam) {
        return;//w  w w  . j  av a  2 s.c om
    }
    if (isSeamSettingChangedByUser(project)) {
        return;
    }
    IProject rootSeamProject = SeamWizardUtils.getRootSeamProject(project);
    if (rootSeamProject != null && isSeamSettingChangedByUser(rootSeamProject)) {
        return;
    }
    clearMarkers(project);
    String packaging = mavenProject.getPackaging();
    String seamVersion = getSeamVersion(mavenProject);
    if (seamVersion != null) {
        IProject[] earProjects = EarUtilities.getReferencingEARProjects(project);
        String deploying = packaging;
        if (earProjects.length > 0) {
            deploying = "ear"; //$NON-NLS-1$
        }
        final IFacetedProject fproj = ProjectFacetsManager.create(project);
        if (fproj == null) {
            return;
        }
        IProjectFacetVersion seamFacetVersion = getSeamFacetVersion(seamVersion);
        if ("war".equals(packaging)) { //$NON-NLS-1$
            IDataModel model = createSeamDataModel(deploying, seamVersion, project);
            //JBIDE-10785 : refresh parent to prevent 
            // org.osgi.service.prefs.BackingStoreException: Resource '/parent/web/.settings' does not exist.
            if (!fproj.hasProjectFacet(jsfFacet)) {
                MavenUtil.refreshParent(mavenProject);
            }

            installWarFacets(fproj, model, seamFacetVersion, monitor);
        } else if ("ear".equals(packaging)) { //$NON-NLS-1$
            installEarFacets(fproj, seamFacetVersion, monitor);
            installM2Facet(fproj, monitor);
            IProject webProject = getReferencingSeamWebProject(project);
            if (webProject != null) {
                IEclipsePreferences prefs = SeamCorePlugin.getSeamPreferences(webProject);
                String deployingType = prefs.get(ISeamFacetDataModelProperties.JBOSS_AS_DEPLOY_AS, null);
                if (deployingType == null
                        || deployingType.equals(ISeamFacetDataModelProperties.DEPLOY_AS_WAR)) {
                    prefs.put(ISeamFacetDataModelProperties.JBOSS_AS_DEPLOY_AS,
                            ISeamFacetDataModelProperties.DEPLOY_AS_EAR);
                    storeSettings(webProject);
                }
                IProject ejbProject = getReferencingSeamEJBProject(project);
                if (ejbProject != null) {
                    prefs.put(ISeamFacetDataModelProperties.SEAM_EJB_PROJECT, ejbProject.getName());
                    IJavaProject javaProject = JavaCore.create(ejbProject);
                    boolean configureSeamArtifacts = store.getBoolean(Activator.CONFIGURE_SEAM_ARTIFACTS);
                    if (configureSeamArtifacts) {
                        if (javaProject != null && javaProject.isOpen()) {
                            try {
                                IClasspathEntry[] entries = javaProject.getRawClasspath();
                                for (int i = 0; i < entries.length; i++) {
                                    IClasspathEntry entry = entries[i];
                                    if (entry.getEntryKind() == IClasspathEntry.CPE_SOURCE) {
                                        String sourceFolder = entry.getPath().toString();
                                        prefs.put(ISeamFacetDataModelProperties.SESSION_BEAN_SOURCE_FOLDER,
                                                sourceFolder);
                                        prefs.put(ISeamFacetDataModelProperties.ENTITY_BEAN_SOURCE_FOLDER,
                                                sourceFolder);
                                        break;
                                    }
                                }
                            } catch (JavaModelException e) {
                                MavenSeamActivator.log(e);
                            }
                        }
                        IPackageFragment[] packageFragments = javaProject.getPackageFragments();
                        for (int i = 0; i < packageFragments.length; i++) {
                            IPackageFragment pf = packageFragments[i];
                            if (pf != null && pf.getKind() == IPackageFragmentRoot.K_SOURCE
                                    && !pf.isDefaultPackage()) {
                                if (pf.hasSubpackages() && !pf.hasChildren()) {
                                    continue;
                                }
                                String packageName = pf.getElementName();
                                prefs.put(ISeamFacetDataModelProperties.SESSION_BEAN_PACKAGE_NAME, packageName);
                                prefs.put(ISeamFacetDataModelProperties.ENTITY_BEAN_PACKAGE_NAME, packageName);
                            }
                        }
                    }
                }
                storeSettings(webProject);
            }

        } else if ("ejb".equals(packaging)) { //$NON-NLS-1$
            installM2Facet(fproj, monitor);
            installEjbFacets(fproj, seamFacetVersion, monitor);
            addSeamSupport(project, earProjects);
            storeSettings(project);

        }
        //          addSeamSupport(project);
        //          
        //          storeSettings(project);
    }
}

From source file:org.jboss.tools.maven.seam.configurators.SeamProjectConfigurator.java

License:Open Source License

private IDataModel createSeamDataModel(String deployType, String seamVersion, IProject project) {
    IDataModel config = (IDataModel) new SeamFacetInstallDataModelProvider().create();
    String seamRuntimeName = getSeamRuntimeName(seamVersion);
    if (seamRuntimeName != null) {
        config.setStringProperty(ISeamFacetDataModelProperties.SEAM_RUNTIME_NAME, seamRuntimeName);
    }//w w w. ja va2  s .c o  m
    config.setBooleanProperty(ISeamFacetDataModelProperties.DB_ALREADY_EXISTS, true);
    config.setBooleanProperty(ISeamFacetDataModelProperties.RECREATE_TABLES_AND_DATA_ON_DEPLOY, false);
    config.setStringProperty(ISeamFacetDataModelProperties.JBOSS_AS_DEPLOY_AS, deployType);
    config.setBooleanProperty(ISeamFacetDataModelProperties.CONFIGURE_DEFAULT_SEAM_RUNTIME, false);
    config.setBooleanProperty(ISeamFacetDataModelProperties.CONFIGURE_WAR_PROJECT, false);
    config.setBooleanProperty(ISeamFacetDataModelProperties.PROJECT_ALREADY_EXISTS, true);
    IPreferenceStore store = MavenSeamActivator.getDefault().getPreferenceStore();
    boolean configureSeamArtifacts = store.getBoolean(Activator.CONFIGURE_SEAM_ARTIFACTS);
    if (!configureSeamArtifacts) {
        return config;
    }
    String viewFolder = getViewFolder(project);
    if (viewFolder != null) {
        config.setStringProperty(ISeamFacetDataModelProperties.WEB_CONTENTS_FOLDER, viewFolder);
    }
    IJavaProject javaProject = JavaCore.create(project);
    List<IPath> sourcePaths = new ArrayList<IPath>();
    if (javaProject != null && javaProject.isOpen()) {
        try {
            IClasspathEntry[] entries = javaProject.getRawClasspath();
            for (int i = 0; i < entries.length; i++) {
                IClasspathEntry entry = entries[i];
                if (entry.getEntryKind() == IClasspathEntry.CPE_SOURCE) {
                    sourcePaths.add(entry.getPath());
                }
            }
        } catch (JavaModelException e) {
            MavenSeamActivator.log(e);
        }
        if (sourcePaths.size() > 0) {
            IPath actionSourceFolder = null;
            IPath modelSourceFolder = null;
            for (IPath sourcePath : sourcePaths) {
                if (sourcePath.toString().contains("hot")) { //$NON-NLS-1$
                    actionSourceFolder = sourcePath;
                } else {
                    modelSourceFolder = sourcePath;
                }
            }
            if (actionSourceFolder == null) {
                actionSourceFolder = modelSourceFolder;
            }
            if (modelSourceFolder == null) {
                modelSourceFolder = actionSourceFolder;
            }
            String modelSourceFolderStr = modelSourceFolder.toString();
            config.setStringProperty(ISeamFacetDataModelProperties.ENTITY_BEAN_SOURCE_FOLDER,
                    modelSourceFolderStr);
            String actionSourceFolderStr = actionSourceFolder.toString();
            config.setStringProperty(ISeamFacetDataModelProperties.SESSION_BEAN_SOURCE_FOLDER,
                    actionSourceFolderStr);
        }
        try {
            IPackageFragment[] packageFragments = javaProject.getPackageFragments();
            for (int i = 0; i < packageFragments.length; i++) {
                IPackageFragment pf = packageFragments[i];
                if (pf != null && pf.getKind() == IPackageFragmentRoot.K_SOURCE && !pf.isDefaultPackage()) {
                    String packageName = pf.getElementName();
                    config.setStringProperty(ISeamFacetDataModelProperties.SESSION_BEAN_PACKAGE_NAME,
                            packageName);
                    config.setStringProperty(ISeamFacetDataModelProperties.ENTITY_BEAN_PACKAGE_NAME,
                            packageName);
                }
            }
        } catch (JavaModelException e) {
            MavenSeamActivator.log(e);
        }
    }
    //config.setStringProperty(ISeamFacetDataModelProperties.TEST_CASES_PACKAGE_NAME, "org.test.beans");
    //config.setStringProperty(ISeamFacetDataModelProperties.SEAM_CONNECTION_PROFILE, "noop-connection");
    //config.setProperty(ISeamFacetDataModelProperties.JDBC_DRIVER_JAR_PATH, new String[] { "noop-driver.jar" });
    return config;
}

From source file:org.jboss.tools.norestart.core.internal.NoRestartLaunchUtils.java

License:Open Source License

public static Collection<IPackageFragment> getTopLevelPackages(IJavaProject javaProject) {
    Set<IPackageFragment> packages = new LinkedHashSet<>();
    try {/*from   ww w. jav  a  2  s .co  m*/
        if (javaProject == null || !javaProject.getProject().isAccessible()) {
            return getAllTopLevelPackages();
        }
        for (IPackageFragment f : javaProject.getPackageFragments()) {
            if (f.getKind() != IPackageFragmentRoot.K_SOURCE || f.isDefaultPackage()) {
                continue;
            }
            if (f.containsJavaResources() || f.getChildren().length > 1) {
                packages.add(f);
            }
        }
    } catch (CoreException e) {
        e.printStackTrace();
    }
    return packages;
}

From source file:org.jboss.tools.portlet.ui.internal.wizard.xpl.NewJavaClassWizardPageEx.java

License:Open Source License

/**
 * /*w  w  w .j a  v a  2  s  .c  o m*/
 **/
private IFolder getDefaultJavaSourceFolder(IProject project) {

    if (project == null)
        return null;
    IPackageFragmentRoot[] sources = J2EEProjectUtilities.getSourceContainers(project);
    // Try and return the first source folder
    if (sources.length > 0) {
        try {
            return (IFolder) sources[0].getCorrespondingResource();
        } catch (Exception e) {
            return null;
        }
    }
    IJavaProject javaProject = JavaCore.create(project);
    if (javaProject == null) {
        return null;
    }
    try {
        IClasspathEntry[] entries = javaProject.getResolvedClasspath(false);
        for (int i = 0; i < entries.length; i++) {
            IClasspathEntry entry = entries[i];
            if (entry.getContentKind() == IPackageFragmentRoot.K_SOURCE) {
                IPath path = entry.getPath();
                IResource resource = ResourcesPlugin.getWorkspace().getRoot().findMember(path);
                if (resource instanceof IFolder) {
                    return (IFolder) resource;
                }
            }
        }
    } catch (JavaModelException e) {
        // ignore
    }
    return null;
}