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

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

Introduction

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

Prototype

IProject getProject();

Source Link

Document

Returns the IProject on which this IJavaProject was created.

Usage

From source file:com.microsoft.webapp.debug.WebAppLaunchShortcut.java

License:Open Source License

@Override
public void launch(ISelection selection, String arg1) {
    Object element = null;/* w w  w.j av  a2s.  c  om*/
    IResource resource;
    IProject selProject = null;
    if (selection instanceof IStructuredSelection) {
        IStructuredSelection structuredSel = (IStructuredSelection) selection;
        element = structuredSel.getFirstElement();
    }
    if (element instanceof IProject) {
        resource = (IResource) element;
        selProject = resource.getProject();
    } else if (element instanceof IJavaProject) {
        IJavaProject proj = ((IJavaElement) element).getJavaProject();
        selProject = proj.getProject();
    } else if (element instanceof IResource) {
        resource = (IResource) element;
        selProject = resource.getProject();
    }
    launchAsPerProject(selProject);
}

From source file:com.microsoftopentechnologies.wacommon.utils.PluginUtil.java

License:Open Source License

/**
 * This method returns currently selected project in workspace.
 * @return IProject/*w  w w.  ja  v a2  s . c om*/
 */
public static IProject getSelectedProject() {
    IWorkbench workbench = PlatformUI.getWorkbench();
    IWorkbenchWindow window = workbench.getActiveWorkbenchWindow();
    ISelectionService service = window.getSelectionService();
    ISelection selection = service.getSelection();
    Object element = null;
    IResource resource;
    IProject selProject = null;
    if (selection instanceof IStructuredSelection) {
        IStructuredSelection structuredSel = (IStructuredSelection) selection;
        element = structuredSel.getFirstElement();
    }
    if (element instanceof IProject) {
        resource = (IResource) element;
        selProject = resource.getProject();
    } else if (element instanceof IJavaProject) {
        IJavaProject proj = ((IJavaElement) element).getJavaProject();
        selProject = proj.getProject();
    } else if (element instanceof IResource) {
        resource = (IResource) element;
        selProject = resource.getProject();
    } else {
        IWorkbenchPage page = window.getActivePage();
        IEditorPart editorPart = page.getActiveEditor();
        if (editorPart != null) {
            IFile file = (IFile) editorPart.getEditorInput().getAdapter(IFile.class);
            selProject = file.getProject();
        }
    }
    return selProject;
}

From source file:com.motorola.studio.android.common.utilities.EclipseUtils.java

License:Apache License

/**
 * Gets the default package from project.
 * @param javaProject/* w  w  w  . j ava 2s.  com*/
 * @return the project's default package.
 * @throws JavaModelException
 */
public static IPackageFragment getDefaultPackageFragment(IJavaProject javaProject) throws JavaModelException {
    IPackageFragment pack = null;
    AndroidManifestFile manifest = null;

    if ((javaProject != null) && javaProject.isOpen()) {
        // First, tries to get the default package from the AndroidManifest.xml file
        try {
            manifest = AndroidProjectManifestFile.getFromProject(javaProject.getProject());
        } catch (AndroidException e) {
            // Do nothing
        } catch (CoreException e) {
            // Do nothing 
        }

        if (manifest != null) {
            String defaultPackage = manifest.getManifestNode().getPackageName();

            if ((defaultPackage != null) && (defaultPackage.trim().length() > 0)) {
                IPackageFragment[] allPacks = javaProject.getPackageFragments();

                if (allPacks != null) {
                    for (IPackageFragment frag : allPacks) {
                        if (frag.getElementName().equals(defaultPackage)) {
                            pack = frag;
                            break;
                        }
                    }
                }
            }
        }

        // If the default package could not get from the AndroidManifest.xml file, search for
        // one in the project
        if (pack == null) {
            IPackageFragment[] packs = javaProject.getPackageFragments();
            if (packs != null) {
                for (int i = 0; (i < packs.length) && (pack == null); i++) {
                    if (packs[i].getKind() != IPackageFragmentRoot.K_BINARY) {
                        if (!isInsideGenFolder(packs[i]) && !packs[i].isDefaultPackage()
                                && packs[i].getElementName().contains(".") && packs[i].exists()) //$NON-NLS-1$
                        {
                            pack = packs[i];
                            break;
                        }
                    }
                }
            }
        }
    }

    return pack;
}

From source file:com.motorola.studio.android.model.BuildingBlockModel.java

License:Apache License

/**
 * Configure source folder and package from workbench selection
 * @param selection/*from w ww. ja v  a2 s .c o m*/
 */
public void configure(IStructuredSelection selection) {
    try {
        IPackageFragmentRoot srcFolder = extractPackageFragmentRoot(selection);
        setPackageFragmentRoot(srcFolder);
        IJavaProject javaProject = srcFolder == null ? null : srcFolder.getJavaProject();
        setPackageFragment(extractPackageFragment(selection, javaProject));
        if (javaProject != null) {
            apiVersion = AndroidUtils.getApiVersionNumberForProject(javaProject.getProject());
        }

    } catch (Exception e) {
        StudioLogger.error(BuildingBlockModel.class, "Error configuring building block from selection.", e);
    }
}

From source file:com.motorola.studio.android.model.ProjectCreationSupport.java

License:Apache License

/**
 * Setup src folders// w w w  .  j  a  v a  2 s .c  o  m
 * @param javaProject
 * @param sourceFolder
 * @param monitor
 * @throws JavaModelException
 */
private static void setupSourceFolders(IJavaProject javaProject, List<String> sourceFolders,
        IProgressMonitor monitor) throws JavaModelException {
    monitor.beginTask(AndroidNLS.UI_ProjectCreationSupport_Preparing_Source_Folders_Task,
            (sourceFolders.size() * 100) + 100);
    try {
        IProject project = javaProject.getProject();
        IClasspathEntry[] entries = javaProject.getRawClasspath();

        for (String sourceFolder : sourceFolders) {
            IFolder srcFolder = project.getFolder(sourceFolder);
            entries = removeClasspathEntry(entries, srcFolder);
            entries = removeClasspathEntry(entries, srcFolder.getParent());
            entries = ProjectUtils.addEntryToClasspath(entries,
                    JavaCore.newSourceEntry(srcFolder.getFullPath()));
            monitor.worked(100);
        }

        javaProject.setRawClasspath(entries, new SubProgressMonitor(monitor, 100));
    } finally {
        monitor.done();
    }
}

From source file:com.motorola.studio.android.wizards.buildingblocks.ElementTreeValidator.java

License:Apache License

@Override
public boolean isSelectedValid(Object element) {
    boolean isValid = false;
    try {/*from  w ww  .  java2 s . c o  m*/
        if (element instanceof IJavaProject) {
            IJavaProject jproject = (IJavaProject) element;
            IPath path = jproject.getProject().getFullPath();
            isValid = (jproject.findPackageFragmentRoot(path) != null);
        } else if (element instanceof IPackageFragmentRoot) {
            IPackageFragmentRoot packageFragmentRoot = (IPackageFragmentRoot) element;

            boolean isSrc = (packageFragmentRoot.getKind() == IPackageFragmentRoot.K_SOURCE);
            boolean isGen = packageFragmentRoot.getElementName().equals(IAndroidConstants.GEN_SRC_FOLDER)
                    && (packageFragmentRoot.getParent() instanceof IJavaProject);

            isValid = isSrc && !isGen;
        } else {
            isValid = true;
        }
    } catch (JavaModelException e) {
        StudioLogger.error(ElementTreeValidator.class, e.getLocalizedMessage(), e);
    }
    return isValid;
}

From source file:com.motorola.studio.android.wizards.buildingblocks.NewBuildingBlocksWizardPage.java

License:Apache License

@Override
protected IPackageFragmentRoot chooseContainer() {
    IJavaElement initElement = getPackageFragmentRoot();

    ISelectionStatusValidator validator = new ElementTreeValidator();
    ViewerFilter filter = new ElementTreeViewFilter();
    StandardJavaElementContentProvider provider = new ElementTreeContentProvider();

    ILabelProvider labelProvider = new JavaElementLabelProvider(JavaElementLabelProvider.SHOW_DEFAULT);
    ElementTreeSelectionDialog dialog = new ElementTreeSelectionDialog(getShell(), labelProvider, provider);
    dialog.setComparator(new JavaElementComparator());
    dialog.setValidator(validator);//from ww  w .  jav  a 2  s . co m
    dialog.setTitle(CodeUtilsNLS.UI_NewBuildingBlocksWizardPage_WizardTitle);
    dialog.setMessage(CodeUtilsNLS.UI_NewBuildingBlocksWizardPage_MessageChooseFolder);
    dialog.setInput(JavaCore.create(fWorkspaceRoot));
    dialog.setInitialSelection(initElement);
    dialog.addFilter(filter);
    dialog.setHelpAvailable(false);

    IPackageFragmentRoot rootSelection = null;
    if (dialog.open() == Window.OK) {
        Object element = dialog.getFirstResult();
        if (element instanceof IJavaProject) {
            IJavaProject jproject = (IJavaProject) element;
            rootSelection = jproject.getPackageFragmentRoot(jproject.getProject());
        } else if (element instanceof IPackageFragmentRoot) {
            rootSelection = (IPackageFragmentRoot) element;
        }
    }
    return rootSelection;
}

From source file:com.mountainminds.eclemma.core.launching.EclipseLauncher.java

License:Open Source License

public Set<IPackageFragmentRoot> getOverallScope(ILaunchConfiguration configuration) throws CoreException {
    final IJavaModel model = JavaCore.create(ResourcesPlugin.getWorkspace().getRoot());
    final Set<IPackageFragmentRoot> result = new HashSet<IPackageFragmentRoot>();
    for (final IJavaProject project : model.getJavaProjects()) {
        if (project.getProject().hasNature(PLUGIN_NATURE)) {
            result.addAll(Arrays.asList(project.getPackageFragmentRoots()));
        }//from  w  w  w . j  ava 2  s.c o m
    }
    return ScopeUtils.filterJREEntries(result);
}

From source file:com.mtcflow.project.util.MTCProjectSupport.java

License:Open Source License

/**
 * For this marvelous project we need to: - create the default Eclipse
 * project - add the custom project nature - create the folder structure
 * /*from   w  ww  .j a v  a2 s.  c o m*/
 * @param projectName
 * @param location
 * @param natureId
 * @return
 */
public static IProject createProject(String projectName, URI location) {
    Assert.isNotNull(projectName);
    Assert.isTrue(projectName.trim().length() > 0);

    try {
        // create eclipse project
        IProject project = createBaseProject(projectName, location);
        project.setDefaultCharset("UTF-8", null);
        addNature(project);
        // create java project
        IJavaProject javaProject = JavaCore.create(project);
        javaProject.setOption(JavaCore.COMPILER_SOURCE, JavaCore.VERSION_1_5);
        javaProject.setOption(JavaCore.COMPILER_CODEGEN_TARGET_PLATFORM, JavaCore.VERSION_1_5);
        javaProject.setOption(JavaCore.COMPILER_COMPLIANCE, JavaCore.VERSION_1_5);

        // add bin/ouput folder
        IFolder binFolder = project.getFolder("bin");
        // binFolder.create(false, true, null);
        javaProject.setOutputLocation(binFolder.getFullPath(), null);

        // add libs to project class path
        List<IClasspathEntry> entries = new ArrayList<IClasspathEntry>();
        IVMInstall vmInstall = JavaRuntime.getDefaultVMInstall();

        // create source folder
        IFolder sourceFolder = project.getFolder("src");
        sourceFolder.create(false, true, null);
        IPackageFragmentRoot srcRoot = javaProject.getPackageFragmentRoot(sourceFolder);
        IClasspathEntry[] cEntries = new IClasspathEntry[3];
        cEntries[0] = JavaRuntime.getDefaultJREContainerEntry();
        // cEntries[2] = JavaCore.new
        cEntries[1] = JavaCore.newSourceEntry(srcRoot.getPath());
        cEntries[2] = JavaCore.newContainerEntry(new Path("org.eclipse.pde.core.requiredPlugins"));
        javaProject.setRawClasspath(cEntries, null);
        /*
         * Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name:
         * LePlugine Bundle-SymbolicName: LePlugine Bundle-Version:
         * 1.0.0.qualifier Bundle-RequiredExecutionEnvironment: JavaSE-1.7
         */
        String[] paths = { "transformations/T2M", //$NON-NLS-1$
                "transformations/M2M", //$NON-NLS-1$
                "transformations/M2T", //$NON-NLS-1$
                "transformations/HOT", //$NON-NLS-1$
                "mtcs", //$NON-NLS-1$ 
                "metamodels", //$NON-NLS-1$
                "libraries", //$NON-NLS-1$
                "scripts", //$NON-NLS-1$
                "validations", //$NON-NLS-1$
                "tests", //$NON-NLS-1$
                "models", "META-INF" }; //$NON-NLS-1$
        addToProjectStructure(javaProject.getProject(), paths);
        createTemplateFileInProjectAt(javaProject.getProject(), "build.properties", "build.properties");
        createTemplateFileInProjectAt(javaProject.getProject(), "default.mtc", "/mtcs/default.mtc");
        createTemplateFileInProjectAt(javaProject.getProject(), "default_diagram.mtcd", "/mtcs/default.mtcd");
        Manifest manifest = new Manifest();
        manifest.getMainAttributes().putValue("Manifest-Version", "1.0");
        manifest.getMainAttributes().putValue("Bundle-ManifestVersion", "2");
        manifest.getMainAttributes().putValue("Bundle-Name", projectName);
        manifest.getMainAttributes().putValue("Bundle-SymbolicName", projectName);
        manifest.getMainAttributes().putValue("Bundle-Version", "1.0.0");
        manifest.getMainAttributes().putValue("Require-Bundle",
                "com.mtcflow.model,com.mtcflow.engine,com.mtcflow.engine.core");
        ByteArrayOutputStream out = new ByteArrayOutputStream();
        manifest.write(out);
        javaProject.getProject().getFile("/META-INF/MANIFEST.MF")
                .create(new ByteArrayInputStream(out.toByteArray()), true, null);
        return javaProject.getProject();
    } catch (Exception ex) {
        ex.printStackTrace();
        throw new RuntimeException("Error creating the project", ex);
    }
}

From source file:com.myeclipsedev.gdt.eclipse.ui.internal.wizard.WebComponentExportPage.java

License:Open Source License

private IJavaProject chooseProject() {
    IJavaProject[] javaProjects;/*from  www. ja  v a 2s  .  c  o  m*/

    try {
        javaProjects = JavaCore.create(ResourcesPlugin.getWorkspace().getRoot()).getJavaProjects();
    } catch (JavaModelException e) {
        ExportActivator.logError(e);
        javaProjects = new IJavaProject[0];
    }

    // Filter the list to only show GWT projects
    List<IJavaProject> gwtProjects = new ArrayList<IJavaProject>();
    for (IJavaProject javaProject : javaProjects) {
        if (GWTNature.isGWTProject(javaProject.getProject())) {
            gwtProjects.add(javaProject);
        }
    }

    ILabelProvider labelProvider = new JavaElementLabelProvider(JavaElementLabelProvider.SHOW_DEFAULT);
    ElementListSelectionDialog dialog = new ElementListSelectionDialog(getShell(), labelProvider);
    dialog.setTitle("Project Selection");
    dialog.setMessage("Choose a project to compile");
    dialog.setElements(gwtProjects.toArray(new IJavaProject[0]));
    dialog.setInitialSelections(new Object[] { JavaCore.create(project) });

    dialog.setHelpAvailable(false);
    if (dialog.open() == Window.OK) {
        return (IJavaProject) dialog.getFirstResult();
    }
    return null;
}