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

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

Introduction

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

Prototype

IPackageFragmentRoot[] getAllPackageFragmentRoots() throws JavaModelException;

Source Link

Document

Returns all of the existing package fragment roots that exist on the classpath, in the order they are defined by the classpath.

Usage

From source file:com.tsc9526.monalisa.plugin.eclipse.proposal.QueryNamespaceCache.java

License:Open Source License

private void collectMappers(IJavaProject project, final Map<String, IFile> map, final IReporter reporter) {
    try {/*from  w w  w.j  a v a2 s  .  c  o  m*/
        for (IPackageFragmentRoot root : project.getAllPackageFragmentRoots()) {
            if (root.getKind() != IPackageFragmentRoot.K_SOURCE) {
                continue;
            }

            root.getResource().accept(new IResourceProxyVisitor() {
                @Override
                public boolean visit(IResourceProxy proxy) throws CoreException {
                    if (!proxy.isDerived() && proxy.getType() == IResource.FILE
                            && proxy.getName().endsWith(".xml")) {
                        IFile file = (IFile) proxy.requestResource();
                        IContentDescription contentDesc = file.getContentDescription();
                        if (contentDesc != null) {
                            IContentType contentType = contentDesc.getContentType();
                            if (contentType != null && contentType.isKindOf(queryContentType)) {
                                String namespace = extractNamespace(file);
                                if (namespace != null) {
                                    map.put(namespace, file);
                                }
                                return false;
                            }
                        }
                    }
                    return true;
                }
            }, IContainer.NONE);
        }
    } catch (CoreException e) {
        Logger.error("Searching MyBatis Mapper xml failed.", e);
    }
}

From source file:com.versant.core.jdo.tools.eclipse.Utils.java

License:Open Source License

public static IPath getSrcPath(IProject iProject) throws JavaModelException {
    IJavaProject iJavaProject = JavaModelManager.getJavaModelManager().getJavaModel().findJavaProject(iProject);
    IPackageFragmentRoot[] roots = iJavaProject.getAllPackageFragmentRoots();
    IPath rawLocation = iProject.getLocation();
    for (int x = 0; x < roots.length; x++) {
        IPackageFragmentRoot root = roots[x];
        if (root.getKind() == IPackageFragmentRoot.K_SOURCE) {
            return rawLocation.append(root.getPath().removeFirstSegments(1));
        }/* w ww. j  a va 2 s .  c  om*/
    }
    return null;
}

From source file:com.versant.core.jdo.tools.plugins.eclipse.views.BaseExplorer.java

License:Open Source License

protected void makeActions() {
    actAddJDONature = new Action() {
        public void run() {
            IProject iProject = getSelectedIProject();
            if (iProject != null) {
                try {
                    VOAAddNatureDialog wizard = new VOAAddNatureDialog(iProject);
                    WizardDialog dialog = new WizardDialog(getSite().getShell(), wizard);
                    PixelConverter converter = new PixelConverter(JavaPlugin.getActiveWorkbenchShell());

                    dialog.setMinimumPageSize(converter.convertWidthInCharsToPixels(70),
                            converter.convertHeightInCharsToPixels(20));
                    dialog.create();//ww  w . j  av  a2 s.co m
                    int res = dialog.open();
                    if (res == Window.OK) {
                        IJavaProject iJavaProject = JavaModelManager.getJavaModelManager().getJavaModel()
                                .findJavaProject(iProject);
                        Utils.addJDONature(iJavaProject);
                    }
                    notifyResult(res == Window.OK);
                } catch (Exception x) {
                    VOAToolsPlugin.log(x, "Problems opening Mapping editor.");
                }
                refreshTree(false, true);
            }
        }
    };
    actAddJDONature.setText("Add VOA Nature");
    actAddJDONature.setToolTipText("Add VOA Nature");

    actRemoveJDONature = new Action() {
        public void run() {
            IProject iProject = getSelectedIProject();
            if (iProject != null) {
                IJavaProject iJavaProject = JavaModelManager.getJavaModelManager().getJavaModel()
                        .findJavaProject(iProject);
                RemoveJDONature.removeJDONature(iJavaProject);
                VOAProjectControler.removeInstance(iProject);
                refreshTree(false, true);
            }
        }
    };
    actRemoveJDONature.setText("Remove VOA Nature");
    actRemoveJDONature.setToolTipText("Remove VOA Nature");

    actEnhance = new Action() {
        public void run() {
            EnhanceAction.enhance(getSelectedIProject());
        }
    };
    actEnhance.setText("Enhance Classes");
    actEnhance.setToolTipText("Enhance Classes");

    actAddClass = new Action() {
        public void run() {
            try {
                IProject iProject = getSelectedIProjectInTree();
                if (iProject == null) {
                    return;
                }

                IJavaProject iJavaProject = JavaModelManager.getJavaModelManager().getJavaModel()
                        .findJavaProject(iProject);
                IPackageFragmentRoot[] roots = iJavaProject.getAllPackageFragmentRoots();
                ArrayList elementList = new ArrayList();
                for (int x = 0; x < roots.length; x++) {
                    IPackageFragmentRoot root = roots[x];
                    if (root.getKind() == IPackageFragmentRoot.K_SOURCE) {
                        elementList.addAll(Arrays.asList(root.getChildren()));
                    }
                }
                IJavaElement[] elements = new IJavaElement[elementList.size()];
                elementList.toArray(elements);
                IJavaSearchScope scope = SearchEngine.createJavaSearchScope(elements);
                SelectionDialog dialog = JavaUI.createTypeDialog(getSite().getShell(),
                        getSite().getWorkbenchWindow(), scope,
                        IJavaElementSearchConstants.CONSIDER_CLASSES_AND_INTERFACES, true);
                dialog.setTitle("Make Class Persistent");
                dialog.setMessage("Please select a class to make persistent");

                if (dialog.open() == Window.OK) {
                    VOAProjectControler controler = VOAProjectControler.getInstance(iProject);
                    Object[] results = dialog.getResult();
                    for (int i = 0; i < results.length; i++) {
                        IType itype = (IType) results[i];
                        controler.addClass(itype.getFullyQualifiedName());
                    }
                }
            } catch (Exception e) {
                VOAToolsPlugin.log(e, "Problems adding a persistent class.");
            } finally {
                refreshTree(false, true);
            }
        }
    };
    actAddClass.setText("Make Class Persistent");
    actAddClass.setImageDescriptor(VOAToolsPlugin.imageDescriptorFromPlugin("Versant", "icons/class16.png"));
    actAddClass.setToolTipText("Make  a class in you project persistent.");
}

From source file:com.worldline.awltech.i18ntools.wizard.core.ui.RefactoringWizardConfiguration.java

License:Open Source License

/**
 * Returns the first source folder available in the list. The last one
 * should be a default value that can be returned if none is found. If last
 * one is null, the first source folder found in the project will be
 * returned./*from w  w w  .j  a va  2s  .  c  om*/
 * 
 * @param sourceFolders
 * @return
 */
private String getSourceFolder(final String... sourceFolders) {

    // We look for all the source folders specified, except the last one.
    for (int i = 0; i < sourceFolders.length - 1; i++) {
        final IFolder folder = this.project.getFolder(new Path(sourceFolders[i]));
        if (folder.exists()) {
            final IJavaElement javaElement = JavaCore.create(folder);
            try {
                if (javaElement != null && javaElement.getElementType() == IJavaElement.PACKAGE_FRAGMENT_ROOT
                        && ((IPackageFragmentRoot) javaElement).getKind() == IPackageFragmentRoot.K_SOURCE) {
                    return sourceFolders[i];
                }
            } catch (final JavaModelException e) {
                Activator.getDefault().getLog().log(new Status(IStatus.ERROR, Activator.PLUGIN_ID,
                        RefactoringWizardMessages.ERROR_SEEK_SOURCEFOLDER.value(), e));
            }
        }
    }

    if (sourceFolders.length > 0 && sourceFolders[sourceFolders.length - 1] == null) {
        final IJavaProject javaProject = JavaCore.create(this.project);
        try {
            final IPackageFragmentRoot[] allPackageFragmentRoots = javaProject.getAllPackageFragmentRoots();
            for (final IPackageFragmentRoot packageFragmentRoot : allPackageFragmentRoots) {
                if (packageFragmentRoot.getKind() == IPackageFragmentRoot.K_SOURCE) {
                    return packageFragmentRoot.getPath().makeRelativeTo(this.project.getFullPath()).toString();
                }
            }
        } catch (final JavaModelException e) {
            Activator.getDefault().getLog().log(new Status(IStatus.ERROR, Activator.PLUGIN_ID,
                    RefactoringWizardMessages.ERROR_SEEK_SOURCEFOLDER.value(), e));
        }

    }

    return null;
}

From source file:de.fxworld.generationgap.ui.properties.GapPropertyPage.java

License:Open Source License

protected String[] getSourceFolders(GapConfiguration configuration) {
    List<String> result = new ArrayList<String>();
    IJavaProject project = configuration.getJavaProject();

    try {//from   w  w w  .j av  a  2 s. c o m
        for (IPackageFragmentRoot root : project.getAllPackageFragmentRoots()) {
            if ((root.getKind() == IPackageFragmentRoot.K_SOURCE) && (root.getJavaProject() == project)) {
                result.add(root.getElementName());
            }
        }

    } catch (JavaModelException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    // TODO Auto-generated method stub

    return result.toArray(new String[result.size()]);
}

From source file:de.fxworld.generationgap.ui.properties.SourceFolderContentProvider.java

License:Open Source License

@Override
public Object[] getElements(Object inputElement) {
    List<Object> result = new ArrayList<Object>();
    IJavaProject javaProject = (IJavaProject) inputElement;

    try {//from   w  w w .j av a  2 s  . co  m
        for (IPackageFragmentRoot root : javaProject.getAllPackageFragmentRoots()) {
            if ((root.getKind() == IPackageFragmentRoot.K_SOURCE) && (root.getJavaProject() == javaProject)) {
                result.add(root);
            }
        }

    } catch (JavaModelException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

    return result.toArray();
}

From source file:dynamicrefactoring.util.io.JavaFileManager.java

License:Open Source License

/**
 * Obtiene la lista de directorios de fuentes del proyecto seleccionado.
 * //from w  ww . j a  v  a  2  s  .co m
 * @param project proyecto cuyos directorios de fuentes se deben obtener.
 * 
 * @return la lista de directorios de fuentes del proyecto seleccionado.
 */
public static List<String> getSourceDirsForProject(IJavaProject project) {

    try {
        if (project != null) {
            IPackageFragmentRoot[] dirs = project.getAllPackageFragmentRoots();
            List<String> dirPaths = new ArrayList<String>();
            for (int i = 0; i < dirs.length; i++)
                if (dirs[i].getKind() == IPackageFragmentRoot.K_SOURCE && !dirs[i].isArchive())
                    dirPaths.add(dirs[i].getResource().getLocation().toOSString());
            return dirPaths;
        }
    } catch (JavaModelException exception) {
        logger.error(Messages.JavaFileManager_PackageRootNotFound + "." + exception.getLocalizedMessage()); //$NON-NLS-1$
    }
    return null;
}

From source file:dynamicrefactoring.util.io.JavaFileManager.java

License:Open Source License

/**
 * Obtiene la lista de directorios de fuentes del proyecto seleccionado.
 * //from w ww . java  2s .  co  m
 * @param project proyecto cuyos directorios de fuentes se deben obtener.
 * 
 * @return la lista de directorios de fuentes del proyecto seleccionado.
 */
public static List<IPackageFragmentRoot> getSourceFragmentRootDirsForProject(IJavaProject project) {

    try {
        if (project != null) {
            IPackageFragmentRoot[] dirs = project.getAllPackageFragmentRoots();
            List<IPackageFragmentRoot> dirPaths = new ArrayList<IPackageFragmentRoot>();
            for (int i = 0; i < dirs.length; i++)
                if (dirs[i].getKind() == IPackageFragmentRoot.K_SOURCE && !dirs[i].isArchive())
                    dirPaths.add(dirs[i]);
            return dirPaths;
        }
    } catch (JavaModelException exception) {
        logger.error(Messages.JavaFileManager_PackageRootNotFound + "." + exception.getLocalizedMessage()); //$NON-NLS-1$
    }
    return null;
}

From source file:edu.brown.cs.bubbles.bedrock.BedrockEditor.java

License:Open Source License

/********************************************************************************/

void handleDelete(String proj, String what, String path) throws BedrockException {
    IResource rs = null;//from w w w. jav a  2  s  .  c  o  m
    FileData fd = null;
    IProject ip = our_plugin.getProjectManager().findProject(proj);
    IJavaProject ijp = JavaCore.create(ip);

    if (what.equals("PROJECT")) {
        if (ip == null)
            throw new BedrockException("Can't find project to delete");
        rs = ip;
    } else if (what.equals("FILE")) {
        fd = file_map.get(path);
        if (fd != null) {
            rs = fd.getSearchUnit().getResource();
        }
        if (rs == null)
            throw new BedrockException("Can't find file to delete");
    } else if (what.equals("CLASS")) {
        IType ityp = null;
        String bcls = baseClassName(path);
        String file = getFileFromClass(proj, bcls);
        fd = file_map.get(file);
        try {
            if (ijp != null)
                ityp = ijp.findType(bcls);
        } catch (JavaModelException e) {
        }
        if (ityp == null)
            throw new BedrockException("Can't find class to delete");
        rs = ityp.getResource();
    } else if (what.equals("PACKAGE")) {
        IPackageFragmentRoot ipfr = null;
        try {
            for (IPackageFragmentRoot pfr : ijp.getAllPackageFragmentRoots()) {
                try {
                    if (!pfr.isExternal() && !pfr.isArchive()
                            && pfr.getKind() == IPackageFragmentRoot.K_SOURCE) {
                        ipfr = pfr;
                        break;
                    }
                } catch (JavaModelException e) {
                }
            }
        } catch (JavaModelException e) {
            throw new BedrockException("Problem finding package root", e);
        }
        if (ipfr == null)
            throw new BedrockException("Can't find source fragment root");
        IPackageFragment ifr = ipfr.getPackageFragment(path);
        if (ifr == null)
            throw new BedrockException("Can't find package to delete");
        rs = ifr.getResource();
    }

    if (rs != null) {
        BedrockPlugin.logD("Delete resource " + rs);
        try {
            rs.delete(IResource.FORCE | IResource.KEEP_HISTORY | IResource.ALWAYS_DELETE_PROJECT_CONTENT,
                    new BedrockProgressMonitor(our_plugin, "Deleting " + path));
        } catch (CoreException e) {
            throw new BedrockException("Problem with delete", e);
        }
    }

    if (fd != null) {
        String file = fd.getFileName();
        file_map.remove(file);
        IvyXmlWriter xw = our_plugin.beginMessage("RESOURCE");
        xw.begin("DELTA");
        xw.field("KIND", "REMOVED");
        xw.field("PATH", file);
        xw.begin("RESOURCE");
        xw.field("LOCATION", file);
        xw.field("TYPE", "FILE");
        xw.field("PROJECT", proj);
        xw.end("RESOURCE");
        xw.end("DELTA");
        our_plugin.finishMessage(xw);
    }
}

From source file:edu.brown.cs.bubbles.bedrock.BedrockProject.java

License:Open Source License

/********************************************************************************/

void createPackage(String proj, String pkg, boolean force, IvyXmlWriter xw) throws BedrockException {
    IProject ip = findProject(proj);//from w ww  . ja  v a2  s.com
    IJavaProject ijp = JavaCore.create(ip);

    IPackageFragmentRoot ipfr = null;
    try {
        for (IPackageFragmentRoot pfr : ijp.getAllPackageFragmentRoots()) {
            try {
                if (!pfr.isExternal() && !pfr.isArchive() && pfr.getKind() == IPackageFragmentRoot.K_SOURCE) {
                    ipfr = pfr;
                    break;
                }
            } catch (JavaModelException e) {
            }
        }
    } catch (JavaModelException e) {
        throw new BedrockException("Problem finding package roots: " + e, e);
    }

    if (ipfr == null)
        throw new BedrockException("Can't find source fragment root");

    IPackageFragment ifr = null;
    try {
        ifr = ipfr.createPackageFragment(pkg, force, null);
        ifr.save(null, force);
        ifr.open(null);
    } catch (JavaModelException e) {
        throw new BedrockException("Problem creating package: " + e, e);
    }

    xw.begin("PACKAGE");
    xw.field("NAME", ifr.getElementName());
    File f = BedrockUtil.getFileForPath(ifr.getPath(), ip);
    xw.field("PATH", f.getAbsolutePath());
    xw.end("PACKAGE");
}