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:ch.mlutz.plugins.t4e.tools.EclipseTools.java

License:Open Source License

/**
 * @param project// www . ja  va 2s . c  om
 * @return
 * @throws CoreException
 * @throws JavaModelException
 */
public static IPackageFragmentRoot[] getPackageFragmentRoots(IProject project)
        throws CoreException, JavaModelException {
    IPackageFragmentRoot[] packageFragmentRoots = null;
    IJavaProject javaProject = null;
    if (project.hasNature(JavaCore.NATURE_ID)) {
        // Cast the IProject to IJavaProject.
        javaProject = JavaCore.create(project);

        // Get the array of IPackageFragmentRoot using getAllPackageFragmentRoots()
        packageFragmentRoots = javaProject.getAllPackageFragmentRoots();

        // Get the one(s) which have getKind() == IPackageFragmentRoot.K_SOURCE
        for (IPackageFragmentRoot packageFragmentRoot : packageFragmentRoots) {
            if (packageFragmentRoot.getKind() == IPackageFragmentRoot.K_SOURCE) {
                System.out.println("Source Folder: " + packageFragmentRoot.getPath());
            }
        }
    }

    return packageFragmentRoots;
}

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  ww  .  jav  a2  s .co  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.ebmwebsourcing.petals.common.internal.provisional.projectscnf.PetalsProjectContentProvider.java

License:Open Source License

@Override
public Object[] getChildren(Object element) {

    StatisticsTimer statisticsTimer = new StatisticsTimer();
    statisticsTimer.setEnabled(false);//from  w  ww.j a  v  a2  s. c o m
    statisticsTimer.start(" [ CHILDREN ] ");

    String child;
    if (element instanceof IResource)
        child = ((IResource) element).getName();
    else if (element instanceof PetalsProjectCategory)
        child = ((PetalsProjectCategory) element).getLabel();
    else
        child = "";

    statisticsTimer
            .track(" [ CHILDREN ] Getting children for " + element.getClass().getSimpleName() + " : " + child);

    try {
        if (element instanceof IResource && !((IResource) element).isAccessible())
            return new Object[0];

        // Work space root is not handled here but in another content provider
        // Categories
        if (element instanceof PetalsProjectCategory) {
            List<IProject> projects = PetalsProjectManager.INSTANCE
                    .getProjects((PetalsProjectCategory) element);
            if (projects == null)
                return new Object[0];

            if (((PetalsProjectCategory) element).isRootProjectVisible())
                return projects.toArray();

            List<Object> children = new ArrayList<Object>();
            for (IProject project : projects)
                children.addAll(Arrays.asList(getChildren(project)));

            return children.toArray();
        }

        // Package fragment root
        if (element instanceof IPackageFragmentRoot) {
            try {
                List<Object> list = new ArrayList<Object>();
                if (PetalsProjectManager.isJavaLayoutFlat()) {
                    list.addAll(findFlatChildren(element, (CommonViewer) this.viewer));
                } else {
                    list.addAll(findHierarchicalChildren(element, (CommonViewer) this.viewer));
                }

                return list.toArray();

            } catch (JavaModelException e) {
                PetalsCommonPlugin.log(e, IStatus.ERROR);
            }
        }

        // Package fragment
        if (element instanceof IPackageFragment) {
            try {
                List<Object> list = new ArrayList<Object>();
                if (PetalsProjectManager.isJavaLayoutFlat()) {
                    list.addAll(findFlatChildren(element, (CommonViewer) this.viewer));
                } else {
                    list.addAll(findHierarchicalChildren(element, (CommonViewer) this.viewer));
                }

                return list.toArray();

            } catch (JavaModelException e) {
                PetalsCommonPlugin.log(e, IStatus.ERROR);
            }
        }

        // Other resources
        if (element instanceof IContainer) {

            // Prepare the main variables
            IProject project = ((IContainer) element).getProject();
            List<Object> children = new ArrayList<Object>();
            IJavaProject javaProject = null;
            try {
                if (project.hasNature(JavaCore.NATURE_ID))
                    javaProject = JavaCore.create(project);

            } catch (CoreException e1) {
                PetalsCommonPlugin.log(e1, IStatus.ERROR);
            }

            // Java projects have a special treatment
            try {
                if (javaProject != null && element instanceof IProject)
                    children.addAll(Arrays.asList(javaProject.getAllPackageFragmentRoots()));

            } catch (CoreException e1) {
                PetalsCommonPlugin.log(e1, IStatus.ERROR);
            }

            // Default behavior
            try {
                List<IResource> members = Arrays.asList(((IContainer) element).members());
                if (javaProject != null) {
                    for (IResource res : members) {
                        if (JavaCore.create(res) == null)
                            children.add(res);
                    }
                } else
                    children.addAll(members);

            } catch (CoreException e) {
                PetalsCommonPlugin.log(e, IStatus.ERROR);
            }

            return children.toArray();
        }

        return new Object[0];

    } finally {
        statisticsTimer.stop(" [ CHILDREN ] ");
    }
}

From source file:com.github.parzonka.ccms.handler.BatchProcessingHandler.java

License:Open Source License

private void sort(IJavaProject iJavaElement) throws ExecutionException {
    try {/*from w  ww  .j  a v a2  s.c o  m*/
        for (IPackageFragmentRoot root : iJavaElement.getAllPackageFragmentRoots()) {
            if (root instanceof PackageFragmentRoot)
                sort(root);
        }
    } catch (JavaModelException e) {
        throw new ExecutionException(e.getMessage());
    }
}

From source file:com.google.appengine.eclipse.core.properties.GaeProjectProperties.java

License:Open Source License

public static List<IPath> getOrmEnhancementInclusionPatterns(IProject project) {
    List<IPath> patterns = new ArrayList<IPath>();

    IEclipsePreferences prefs = getProjectProperties(project);
    String rawPropVal = prefs.get(ORM_ENHANCEMENT_INCLUSIONS, null);
    if (rawPropVal == null) {
        // If we haven't set this property yet, default to including all Java src
        IJavaProject javaProject = JavaCore.create(project);
        try {/*  ww w  . j  av  a  2  s .c  o m*/
            for (IPackageFragmentRoot pkgRoot : javaProject.getAllPackageFragmentRoots()) {
                if (pkgRoot.getKind() == IPackageFragmentRoot.K_SOURCE) {
                    // Only include src roots in this project
                    if (javaProject.equals(pkgRoot.getAncestor(IJavaElement.JAVA_PROJECT))) {
                        // Get project-relative path to source root
                        IPath pattern = pkgRoot.getPath().removeFirstSegments(1).makeRelative()
                                .addTrailingSeparator();
                        patterns.add(pattern);
                    }
                }
            }
        } catch (JavaModelException e) {
            AppEngineCorePluginLog.logError(e);
        }
    } else {
        patterns = PropertiesUtilities.deserializePaths(rawPropVal);
    }

    return patterns;
}

From source file:com.google.gdt.eclipse.core.java.JavaModelSearch.java

License:Open Source License

/**
 * Returns a list of package fragments for the given package name.
 * //from www.j a  v  a 2s .c  o m
 * @param javaProject the java project whose classpath will be searched
 * @param packageName the package name to find corresponding fragments for
 * @return a possibly empty list of package fragments
 * @throws JavaModelException
 */
public static List<IPackageFragment> getPackageFragments(IJavaProject javaProject, String packageName)
        throws JavaModelException {
    List<IPackageFragment> packageFragments = new ArrayList<IPackageFragment>();

    for (IPackageFragmentRoot packageFragmentRootroot : javaProject.getAllPackageFragmentRoots()) {
        IPackageFragment packageFragment = packageFragmentRootroot.getPackageFragment(packageName);
        if (packageFragment.exists()) {
            packageFragments.add(packageFragment);
        }
    }

    return packageFragments;
}

From source file:com.gowan.plugin.SelectionToICompilationUnitList.java

License:Open Source License

protected List<ICompilationUnit> get(IJavaProject selected) {
    List<ICompilationUnit> result = new ArrayList<ICompilationUnit>();
    IPackageFragmentRoot[] packageRoots;
    try {/*from ww w .j  av a  2s  .c  o  m*/
        packageRoots = selected.getAllPackageFragmentRoots();
        for (int i = 0; i < packageRoots.length; i++) {
            result.addAll(get(packageRoots[i]));
        }
    } catch (JavaModelException e) {
        e.printStackTrace();
    }

    return result;
}

From source file:com.hudson.hibernatesynchronizer.properties.HibernateProperties.java

License:Apache License

private void addGeneral(Composite parent) {

    Composite subComp = new Composite(parent, SWT.NULL);
    GridData gd = new GridData(GridData.FILL_HORIZONTAL);
    gd.horizontalSpan = 2;/* w  w  w .  j a  va  2s .com*/
    subComp.setLayoutData(gd);
    generationEnabled = new BooleanFieldEditor(Constants.PROP_GENERATION_ENABLED,
            "I would like to have the synchronization performed automatically.", subComp);
    generationEnabled.setPropertyChangeListener(new IPropertyChangeListener() {
        public void propertyChange(PropertyChangeEvent event) {
            checkScreen();
        }
    });
    generationEnabled.setPreferenceStore(getLocalPreferenceStore());
    generationEnabled.load();

    Label label = new Label(subComp, SWT.NULL);
    label.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));

    IJavaProject javaProject = (JavaProject) JavaCore.create((IProject) getElement());
    List sourceRoots = new ArrayList();
    try {
        String value = Plugin.getProperty(getElement(), Constants.PROP_SOURCE_LOCATION);
        IPackageFragmentRoot[] roots = javaProject.getAllPackageFragmentRoots();
        for (int i = 0; i < roots.length; i++) {
            try {
                if (null != roots[i].getCorrespondingResource() && roots[i].getJavaProject().equals(javaProject)
                        && !roots[i].isArchive()) {
                    sourceRoots.add(roots[i].getPath().toOSString());
                }
            } catch (JavaModelException jme) {
            }
        }
        if (sourceRoots.size() > 1) {
            Label pathLabel = new Label(parent, SWT.NONE);
            pathLabel.setText("Source Location");
            sourceLocation = new Combo(parent, SWT.READ_ONLY);
            int selection = 0;
            for (int i = 0; i < sourceRoots.size(); i++) {
                sourceLocation.add(sourceRoots.get(i).toString());
                if (null != value && value.equals(sourceRoots.get(i).toString())) {
                    selection = i;
                }
            }
            sourceLocation.select(selection);
        }
    } catch (Exception e) {
    }

    TabFolder folder = new TabFolder(parent, SWT.NONE);
    gd = new GridData(GridData.FILL_HORIZONTAL);
    gd.horizontalSpan = 2;
    gd.grabExcessHorizontalSpace = true;
    folder.setLayoutData(gd);
    TabItem item = new TabItem(folder, SWT.NONE);
    item.setText("Value Objects");
    Composite composite = new Composite(folder, SWT.NULL);
    GridLayout gl = new GridLayout(1, false);
    composite.setLayout(gl);
    gd = new GridData();
    gd.grabExcessHorizontalSpace = true;
    composite.setLayoutData(gd);
    item.setControl(composite);

    Composite tComp = new Composite(composite, SWT.NONE);
    boEnabled = new BooleanFieldEditor(Constants.PROP_GENERATION_VALUE_OBJECT_ENABLED,
            "I would like to have value objects created for me.", tComp);
    boEnabled.setPropertyChangeListener(new IPropertyChangeListener() {
        public void propertyChange(PropertyChangeEvent event) {
            checkScreen();
        }
    });
    boEnabled.setPreferenceStore(getLocalPreferenceStore());
    boEnabled.load();

    // Path text field
    baseGroup = new Group(composite, SWT.NULL);
    baseGroup.setText("Base Package Location");
    GridLayout gridLayout = new GridLayout();
    gridLayout.numColumns = 1;
    baseGroup.setLayout(gridLayout);
    baseGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL));

    String[][] params = new String[3][2];
    params[0][0] = Constants.PROP_VALUE_RELATIVE;
    params[0][1] = Constants.PROP_VALUE_RELATIVE;
    params[1][0] = Constants.PROP_VALUE_ABSOLUTE;
    params[1][1] = Constants.PROP_VALUE_ABSOLUTE;
    params[2][0] = "Same Package";
    params[2][1] = Constants.PROP_VALUE_SAME;
    basePackageStyle = new RadioGroupFieldEditor(Constants.PROP_BASE_VO_PACKAGE_STYLE, "", 3, params,
            baseGroup);
    basePackageStyle.setPropertyChangeListener(new IPropertyChangeListener() {
        public void propertyChange(PropertyChangeEvent event) {
            basePackageStyleSelection = event.getNewValue().toString();
            checkScreen();
        }
    });
    basePackageStyle.setPreferenceStore(getLocalPreferenceStore());
    basePackageStyle.load();

    Composite bgc1 = new Composite(baseGroup, SWT.NONE);
    gridLayout = new GridLayout();
    gridLayout.numColumns = 3;
    bgc1.setLayout(gridLayout);
    bgc1.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL));

    basePackageHelp = new Label(bgc1, SWT.NULL);
    gd = new GridData(GridData.FILL_HORIZONTAL);
    gd.horizontalSpan = 3;
    basePackageHelp.setLayoutData(gd);

    basePackageNameLbl = new Label(bgc1, SWT.NULL);
    basePackageNameLbl.setText("Package:");
    basePackageText = new Text(bgc1, SWT.SINGLE | SWT.BORDER);
    basePackageText.setSize(50, 12);
    gd = new GridData(
            GridData.HORIZONTAL_ALIGN_BEGINNING | GridData.GRAB_HORIZONTAL | GridData.FILL_HORIZONTAL);
    gd.widthHint = 230;
    basePackageText.setLayoutData(gd);
    String basePackageString = Plugin.getProperty(getElement(), Constants.PROP_BASE_VO_PACKAGE_NAME);
    if (null != basePackageString)
        basePackageText.setText(basePackageString);
    else
        basePackageText.setText(Constants.DEFAULT_BASE_VO_PACKAGE);

    basePackageSelectionButton = new Button(bgc1, SWT.NATIVE);
    basePackageSelectionButton.setText("Browse");
    basePackageSelectionButton.addMouseListener(new MouseListener() {
        public void mouseDown(MouseEvent e) {
            try {
                JavaProject javaProject = (JavaProject) JavaCore.create((IProject) getElement());
                IJavaSearchScope searchScope = SearchEngine.createWorkspaceScope();
                SelectionDialog sd = JavaUI.createPackageDialog(getShell(), javaProject,
                        IJavaElementSearchConstants.CONSIDER_REQUIRED_PROJECTS);
                sd.open();
                Object[] objects = sd.getResult();
                if (null != objects && objects.length > 0) {
                    PackageFragment pf = (PackageFragment) objects[0];
                    basePackageText.setText(pf.getElementName());
                }
            } catch (JavaModelException jme) {
                jme.printStackTrace();
            }
        }

        public void mouseDoubleClick(MouseEvent e) {
        }

        public void mouseUp(MouseEvent e) {
        }

    });

    item = new TabItem(folder, SWT.NONE);
    item.setText("Data Access Objects");
    composite = new Composite(folder, SWT.NULL);
    gl = new GridLayout(1, false);
    composite.setLayout(gl);
    gd = new GridData(GridData.FILL_HORIZONTAL);
    gd.grabExcessHorizontalSpace = true;
    composite.setLayoutData(gd);
    item.setControl(composite);

    tComp = new Composite(composite, SWT.NONE);
    managersEnabled = new BooleanFieldEditor(Constants.PROP_GENERATION_DAO_ENABLED,
            "I would like to have DAOs created for me.", tComp);
    managersEnabled.setPropertyChangeListener(new IPropertyChangeListener() {
        public void propertyChange(PropertyChangeEvent event) {
            checkScreen();
        }
    });
    managersEnabled.setPreferenceStore(getLocalPreferenceStore());
    managersEnabled.load();

    new Label(parent, SWT.NULL);

    // Path text field
    managerGroup = new Group(composite, SWT.NULL);
    managerGroup.setText("Base Package Location");
    gridLayout = new GridLayout();
    gridLayout.numColumns = 1;
    managerGroup.setLayout(gridLayout);
    managerGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));

    params = new String[3][2];
    params[0][0] = Constants.PROP_VALUE_RELATIVE;
    params[0][1] = Constants.PROP_VALUE_RELATIVE;
    params[1][0] = Constants.PROP_VALUE_ABSOLUTE;
    params[1][1] = Constants.PROP_VALUE_ABSOLUTE;
    params[2][0] = "Same Package";
    params[2][1] = Constants.PROP_VALUE_SAME;
    managerPackageStyle = new RadioGroupFieldEditor(Constants.PROP_DAO_PACKAGE_STYLE, "", 3, params,
            managerGroup);
    managerPackageStyle.setPropertyChangeListener(new IPropertyChangeListener() {
        public void propertyChange(PropertyChangeEvent event) {
            managerPackageStyleSelection = event.getNewValue().toString();
            checkScreen();
        }
    });
    managerPackageStyle.setPreferenceStore(getLocalPreferenceStore());
    managerPackageStyle.load();

    bgc1 = new Composite(managerGroup, SWT.NONE);
    gridLayout = new GridLayout();
    gridLayout.numColumns = 3;
    bgc1.setLayout(gridLayout);
    bgc1.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));

    managerPackageHelp = new Label(bgc1, SWT.NULL);
    gd = new GridData(GridData.FILL_HORIZONTAL);
    gd.horizontalSpan = 3;
    managerPackageHelp.setLayoutData(gd);

    managerPackageNameLbl = new Label(bgc1, SWT.NULL);
    managerPackageNameLbl.setText("Package:");
    managerPackageText = new Text(bgc1, SWT.SINGLE | SWT.BORDER);
    managerPackageText.setSize(50, 12);
    gd = new GridData(
            GridData.HORIZONTAL_ALIGN_BEGINNING | GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL);
    gd.widthHint = 230;
    managerPackageText.setLayoutData(gd);
    String managerPackageString = Plugin.getProperty(getElement(), Constants.PROP_DAO_PACKAGE_NAME);
    if (null != managerPackageString)
        managerPackageText.setText(managerPackageString);
    else
        managerPackageText.setText(Constants.DEFAULT_DAO_PACKAGE);

    managerPackageSelectionButton = new Button(bgc1, SWT.NATIVE);
    managerPackageSelectionButton.setText("Browse");
    managerPackageSelectionButton.addMouseListener(new MouseListener() {
        public void mouseDown(MouseEvent e) {
            try {
                JavaProject javaProject = (JavaProject) JavaCore.create((IProject) getElement());
                IJavaSearchScope searchScope = SearchEngine.createWorkspaceScope();
                SelectionDialog sd = JavaUI.createPackageDialog(getShell(), javaProject,
                        IJavaElementSearchConstants.CONSIDER_REQUIRED_PROJECTS);
                sd.open();
                Object[] objects = sd.getResult();
                if (null != objects && objects.length > 0) {
                    PackageFragment pf = (PackageFragment) objects[0];
                    managerPackageText.setText(pf.getElementName());
                }
            } catch (JavaModelException jme) {
                jme.printStackTrace();
            }
        }

        public void mouseDoubleClick(MouseEvent e) {
        }

        public void mouseUp(MouseEvent e) {
        }

    });

    subComp = new Composite(bgc1, SWT.NULL);
    gd = new GridData(GridData.FILL_HORIZONTAL);
    gd.horizontalSpan = 3;
    subComp.setLayoutData(gd);
    managerUseBasePackage = new BooleanFieldEditor(Constants.PROP_BASE_DAO_USE_BASE_PACKAGE,
            "I would like the base DAOs in the base value object package", subComp);
    managerUseBasePackage.setPropertyChangeListener(new IPropertyChangeListener() {
        public void propertyChange(PropertyChangeEvent event) {
            checkScreen();
        }
    });
    managerUseBasePackage.setPreferenceStore(getLocalPreferenceStore());
    managerUseBasePackage.load();

    baseManagerPackageStyleSelectionParent = new Composite(bgc1, SWT.NULL);
    gd = new GridData(GridData.FILL_HORIZONTAL);
    gd.horizontalSpan = 3;
    baseManagerPackageStyleSelectionParent.setLayoutData(gd);
    params = new String[3][2];
    params[0][0] = Constants.PROP_VALUE_RELATIVE;
    params[0][1] = Constants.PROP_VALUE_RELATIVE;
    params[1][0] = Constants.PROP_VALUE_ABSOLUTE;
    params[1][1] = Constants.PROP_VALUE_ABSOLUTE;
    params[2][0] = "DAO Package";
    params[2][1] = Constants.PROP_VALUE_SAME;
    baseManagerPackageStyle = new RadioGroupFieldEditor(Constants.PROP_BASE_DAO_PACKAGE_STYLE,
            "Base DAO Location", 3, params, baseManagerPackageStyleSelectionParent);
    baseManagerPackageStyle.setPropertyChangeListener(new IPropertyChangeListener() {
        public void propertyChange(PropertyChangeEvent event) {
            baseManagerPackageStyleSelection = event.getNewValue().toString();
            checkScreen();
        }
    });
    baseManagerPackageStyle.setPreferenceStore(getLocalPreferenceStore());
    baseManagerPackageStyle.load();

    baseManagerPackageNameLbl = new Label(bgc1, SWT.NULL);
    baseManagerPackageNameLbl.setText("Package:");
    baseManagerPackageText = new Text(bgc1, SWT.SINGLE | SWT.BORDER);
    baseManagerPackageText.setSize(50, 12);
    gd = new GridData(
            GridData.HORIZONTAL_ALIGN_BEGINNING | GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL);
    gd.widthHint = 230;
    baseManagerPackageText.setLayoutData(gd);
    String baseManagerPackageString = Plugin.getProperty(getElement(), Constants.PROP_BASE_DAO_PACKAGE_NAME);
    if (null != baseManagerPackageString)
        baseManagerPackageText.setText(baseManagerPackageString);
    else
        baseManagerPackageText.setText(Constants.DEFAULT_BASE_DAO_PACKAGE);

    baseManagerPackageSelectionButton = new Button(bgc1, SWT.NATIVE);
    baseManagerPackageSelectionButton.setText("Browse");
    baseManagerPackageSelectionButton.addMouseListener(new MouseListener() {
        public void mouseDown(MouseEvent e) {
            try {
                JavaProject javaProject = (JavaProject) JavaCore.create((IProject) getElement());
                IJavaSearchScope searchScope = SearchEngine.createWorkspaceScope();
                SelectionDialog sd = JavaUI.createPackageDialog(getShell(), javaProject,
                        IJavaElementSearchConstants.CONSIDER_REQUIRED_PROJECTS);
                sd.open();
                Object[] objects = sd.getResult();
                if (null != objects && objects.length > 0) {
                    PackageFragment pf = (PackageFragment) objects[0];
                    baseManagerPackageText.setText(pf.getElementName());
                }
            } catch (JavaModelException jme) {
                jme.printStackTrace();
            }
        }

        public void mouseDoubleClick(MouseEvent e) {
        }

        public void mouseUp(MouseEvent e) {
        }

    });

    customManagerComposite = new Composite(composite, SWT.NONE);
    customManager = new BooleanFieldEditor(Constants.PROP_USE_CUSTOM_ROOT_DAO,
            "I would like to use a custom DAO root.", customManagerComposite);
    customManager.setPropertyChangeListener(new IPropertyChangeListener() {
        public void propertyChange(PropertyChangeEvent event) {
            checkScreen();
        }
    });
    customManager.setPreferenceStore(getLocalPreferenceStore());
    customManager.load();

    managerRootComposite = new Composite(composite, SWT.NONE);
    managerRootComposite.setLayout(new GridLayout(3, false));
    ((GridLayout) managerRootComposite.getLayout()).horizontalSpacing = 9;
    gd = new GridData(GridData.FILL_HORIZONTAL);
    ;
    gd.grabExcessHorizontalSpace = true;
    managerRootComposite.setLayoutData(gd);
    Label lbl = new Label(managerRootComposite, SWT.NONE);
    lbl.setText("DAO Class:");
    daoRootClass = new Text(managerRootComposite, SWT.SINGLE | SWT.BORDER);
    String managerRootClassStr = Plugin.getProperty(getElement(), Constants.PROP_CUSTOM_ROOT_DAO_CLASS);
    if (null != managerRootClassStr)
        daoRootClass.setText(managerRootClassStr);

    gd = new GridData(GridData.FILL_HORIZONTAL);
    gd.grabExcessHorizontalSpace = true;
    daoRootClass.setLayoutData(gd);
    Button managerRootButton = new Button(managerRootComposite, SWT.NATIVE);
    managerRootButton.setText("Browse");
    managerRootButton.addMouseListener(new MouseListener() {
        public void mouseDown(MouseEvent e) {
            try {
                JavaProject javaProject = (JavaProject) JavaCore.create((IProject) getElement());
                IJavaSearchScope searchScope = SearchEngine.createWorkspaceScope();
                SelectionDialog sd = JavaUI.createTypeDialog(getShell(), new ApplicationWindow(getShell()),
                        searchScope, IJavaElementSearchConstants.CONSIDER_CLASSES, false);
                sd.open();
                Object[] objects = sd.getResult();
                if (null != objects && objects.length > 0) {
                    IType type = (IType) objects[0];
                    daoRootClass.setText(type.getFullyQualifiedName());
                }
            } catch (JavaModelException jme) {
                jme.printStackTrace();
            }
        }

        public void mouseDoubleClick(MouseEvent e) {
        }

        public void mouseUp(MouseEvent e) {
        }

    });

    lbl = new Label(managerRootComposite, SWT.NONE);
    lbl.setText("DAO Exception:");
    daoExceptionClass = new Text(managerRootComposite, SWT.SINGLE | SWT.BORDER);
    String daoExceptionClassStr = Plugin.getProperty(getElement(), Constants.PROP_BASE_DAO_EXCEPTION);
    if (null != daoExceptionClassStr)
        daoExceptionClass.setText(daoExceptionClassStr);
    else
        daoExceptionClass.setText("org.hibernate.HibernateException");

    gd = new GridData(GridData.FILL_HORIZONTAL);
    gd.grabExcessHorizontalSpace = true;
    daoExceptionClass.setLayoutData(gd);
    Button daoExceptionButton = new Button(managerRootComposite, SWT.NATIVE);
    daoExceptionButton.setText("Browse");
    daoExceptionButton.addMouseListener(new MouseListener() {
        public void mouseDown(MouseEvent e) {
            try {
                JavaProject javaProject = (JavaProject) JavaCore.create((IProject) getElement());
                IJavaSearchScope searchScope = SearchEngine.createWorkspaceScope();
                SelectionDialog sd = JavaUI.createTypeDialog(getShell(), new ApplicationWindow(getShell()),
                        searchScope, IJavaElementSearchConstants.CONSIDER_CLASSES, false);
                sd.open();
                Object[] objects = sd.getResult();
                if (null != objects && objects.length > 0) {
                    IType type = (IType) objects[0];
                    daoExceptionClass.setText(type.getFullyQualifiedName());
                }
            } catch (JavaModelException jme) {
                jme.printStackTrace();
            }
        }

        public void mouseDoubleClick(MouseEvent e) {
        }

        public void mouseUp(MouseEvent e) {
        }

    });
}

From source file:com.hudson.hibernatesynchronizer.util.ShallowProjectClassLoader.java

License:GNU General Public License

private static URL[] getURLSFromProject(IJavaProject project) throws JavaModelException {
    IPackageFragmentRoot[] roots = project.getAllPackageFragmentRoots();
    URL[] urls = new URL[roots.length];
    for (int i = 0; i < roots.length; i++) {
        try {//  www . ja v a  2s . c  o  m
            if (!roots[i].isArchive()) {
                IPath path = roots[i].getJavaProject().getOutputLocation();
                String binPath = path.toOSString();
                binPath = binPath.replace('\\', '/');
                path = roots[i].getResource().getLocation();
                String actualPath = path.toOSString();
                actualPath = actualPath.replace('\\', '/');
                int index = binPath.indexOf("/", 1);
                if (index > 0) {
                    actualPath = actualPath + binPath.substring(index, binPath.length());
                }
                if (!actualPath.endsWith("/"))
                    actualPath = actualPath + "/";
                urls[i] = new URL("file://" + actualPath);
            }
        } catch (Exception e) {
        }
    }
    return urls;
}

From source file:com.iw.plugins.spindle.ant.AntScriptGenerator.java

License:Mozilla Public License

/**
 * @param monitor/* ww  w . j  a v  a2s  .c o  m*/
 */
private void harvestBinaryLibrariesAndSourceFolders(IProgressMonitor monitor) {
    try {
        IJavaProject jproject = fTapestryProject.getJavaProject();
        if (jproject == null)
            return;

        IPackageFragmentRoot[] allRoots = jproject.getAllPackageFragmentRoots();
        for (int i = 0; i < allRoots.length; i++) {

            int kind = allRoots[i].getKind();
            switch (kind) {
            case IPackageFragmentRoot.K_BINARY:
                if (!fServletAPIRoots.contains(allRoots[i]))
                    fBinaryLibraries.add(allRoots[i]);
                break;
            case IPackageFragmentRoot.K_SOURCE:
                fSourceFolders.add(allRoots[i]);
                break;

            default:
                break;
            }
        }
    } catch (CoreException e) {
        UIPlugin.log(e);
    }
}