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

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

Introduction

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

Prototype

IPackageFragment createPackageFragment(String name, boolean force, IProgressMonitor monitor)
        throws JavaModelException;

Source Link

Document

Creates and returns a package fragment in this root with the given dot-separated package name.

Usage

From source file:net.atos.optimus.m2m.engine.sdk.wizards.transformations.TransformationCreatorJob.java

License:Open Source License

@Override
public IStatus runInWorkspace(IProgressMonitor monitor) throws CoreException {

    monitor.beginTask(Messages.JOBTASK.message(), 4);

    monitor.subTask(Messages.JOB_SUBTASK_1.message());

    if (!fragment.exists()) {
        IPackageFragmentRoot root = (IPackageFragmentRoot) this.fragment
                .getAncestor(IJavaElement.PACKAGE_FRAGMENT_ROOT);
        this.fragment = root.createPackageFragment(this.fragment.getElementName(), false, monitor);
        root.getResource().refreshLocal(IResource.DEPTH_ONE, monitor);
    }/*w  w  w  .j a va2  s  .  c o m*/

    Properties properties = new Properties();
    properties.put(VAR_PACKAGENAME, this.fragment.getElementName());
    properties.put(VAR_TRANSFO_ELT_FQN, elementType);
    properties.put(VAR_TRANSFO_CLASSNAME, className);
    properties.put(VAR_TRANSFO_FACTORYNAME, factoryName);
    ResourceSet resourceSet = new ResourceSetImpl();
    monitor.worked(1);

    monitor.subTask(Messages.JOB_SUBTASK_2.message());
    this.generateJava(resourceSet, properties);
    monitor.worked(1);
    monitor.subTask(Messages.JOB_SUBTASK_3.message());
    this.generateXML(resourceSet, properties);
    monitor.worked(1);

    monitor.subTask(Messages.JOB_SUBTASK_4.message());
    for (Resource r : resourceSet.getResources())
        r.unload();
    resourceSet.getResources().clear();
    monitor.worked(1);
    monitor.done();

    return Status.OK_STATUS;
}

From source file:net.rim.ejde.internal.ui.editors.locale.ResourceEditor.java

License:Open Source License

public void doSave(IProgressMonitor monitor) {
    try {//  w  w  w.  ja  va2  s .c om
        _resources.save();

        // Check if package was changed.
        String rrhPackage = PackageUtils.getRRHPackageID(rrhFile);
        if (!_originalPackage.equals(rrhPackage)) {
            // Attempt to find a non linked rrhIFile
            IFile files[] = ResourcesPlugin.getWorkspace().getRoot()
                    .findFilesForLocation(new Path(rrhFile.getAbsolutePath()));
            IFile rrhIFile = null;
            for (IFile file : files) {
                if (!file.isLinked()) {
                    rrhIFile = file;
                    break;
                }
            }
            if (files.length != 0 && rrhIFile == null) {
                rrhIFile = files[0];
            }

            IJavaElement packageFolder = JavaCore.create(rrhIFile.getParent());
            IPackageFragmentRoot sourceFolder = (IPackageFragmentRoot) packageFolder.getParent();
            try {
                moveResources(rrhIFile,
                        sourceFolder.createPackageFragment(rrhPackage, true, new NullProgressMonitor()));
            } catch (Exception e) {
                _logger.error("doSave: error moving resources", e); //$NON-NLS-1$
            }
        }

        if (_wasDirty) {
            _wasDirty = false;
            firePropertyChange(IEditorPart.PROP_DIRTY);
        }

        // get eclipse workspace
        final IWorkspace workspace = ResourcesPlugin.getWorkspace();

        // get eclipse workspace description
        final IWorkspaceDescription workspaceDescription = workspace.getDescription();

        // get autoBuildFlag
        final boolean autoBuild = workspaceDescription.isAutoBuilding();
        IProject project = ((FileEditorInput) (this.getEditorInput())).getFile().getProject();

        // if autobuild is checked build eclipse project
        if (autoBuild) {
            try {
                project.build(IncrementalProjectBuilder.INCREMENTAL_BUILD, null);
            } catch (CoreException e) {
                e.printStackTrace();
            }
        }

        // We must refresh the project because we are using a JAR that uses File objects to save, instead of eclipse IFiles.
        project.refreshLocal(IProject.DEPTH_INFINITE, monitor);

    } catch (IOException e) {
        TableViewer viewer = getActiveResourceEditorPage().getTableViewer();
        Status status = new Status(IStatus.ERROR, ContextManager.PLUGIN_ID, IStatus.OK,
                "Unable to open file for writing.", e);
        ErrorDialog.openError(viewer.getControl().getShell(), "Error - Resource Editor", "Error saving file.",
                status);
        monitor.setCanceled(true);
    } catch (CoreException e) {
        _logger.error("doSave: error getting package", e); //$NON-NLS-1$
    }
}

From source file:net.rim.ejde.internal.ui.editors.locale.ResourceEditor.java

License:Open Source License

/**
 * This method will find all links pointing to oldLinkLocation and will point them to the newLinkLocation. The method also
 * moves the links to a package specified by the passed in packageID.
 *
 * @param oldLinkLocation//from w ww  . jav  a2s  . co m
 *            - The location existing links will be pointing to.
 * @param newLinkLocation
 *            - The location the new links will be pointing to, null if location doesn't change.
 * @param packageID
 *            - The package to place the new links.
 */
private void updateLinksLocationAndPackage(IPath oldLinkLocation, IPath newLinkLocation, String packageID) {
    if (newLinkLocation == null) {
        // Link location will not change
        newLinkLocation = oldLinkLocation;
    }
    IFile[] files = ResourcesPlugin.getWorkspace().getRoot().findFilesForLocation(oldLinkLocation);
    for (IFile file : files) {
        if (file.isLinked()) {
            IJavaElement packageFolder = JavaCore.create(file.getParent());
            IPackageFragmentRoot sourceFolder = (IPackageFragmentRoot) packageFolder.getParent();
            try {
                IPackageFragment newPackage = sourceFolder.createPackageFragment(packageID, true,
                        new NullProgressMonitor());
                if (newPackage.exists()) {
                    IContainer parentFolder = ((IFolder) newPackage.getResource());
                    IFile newLocation = parentFolder.getFile(new Path(file.getName()));
                    newLocation.createLink(newLinkLocation, IResource.NONE, new NullProgressMonitor());
                    file.delete(true, new NullProgressMonitor());
                }
            } catch (Exception e) {
                _logger.error("Error updating links", e); //$NON-NLS-1$
            }
        }
    }
}

From source file:net.rim.ejde.internal.ui.wizards.NewResourceFileWizard.java

License:Open Source License

@Override
public boolean performFinish() {
    final IProject userSelectedProject = ProjectUtils
            .getProject(newResourceFileCreationPage.getUserSelectedProject());

    String fileName = newResourceFileCreationPage.getFileName();
    IFile newResourceFile = null;/*from  www.  j  a v a  2s  .  co  m*/
    IPackageFragmentRoot userSelectedSourceFolder = newResourceFileCreationPage.getUserSelectedSourceFolder();
    IPackageFragment userSelectedPackage = newResourceFileCreationPage.getUserSelectedPackage();

    String _resourcePackageId = newResourceFileCreationPage.getResourcePackageId();

    if (newResourceFileCreationPage.isValidPackage()) {
        // Package is valid. No need to find or create a package.
        newResourceFile = newResourceFileCreationPage.createNewFile();
    } else {
        // Package selected is invalid. First we try and find package within
        // project workspace.
        IPackageFragmentRoot sourceRoots[] = ProjectUtils.getProjectSourceFolders(userSelectedProject);
        try {
            IJavaElement foundPackageElement = null;

            for (IPackageFragmentRoot sourceRoot : sourceRoots) {
                IPackageFragment packageFragment = sourceRoot.getPackageFragment(_resourcePackageId);
                if (packageFragment.exists()) {
                    foundPackageElement = packageFragment;
                    break;
                }
            }
            if (foundPackageElement == null) {
                // Package could not be found. We must create the package.
                IPackageFragment newlyCreatedPackage = userSelectedSourceFolder
                        .createPackageFragment(_resourcePackageId, true, null);

                /*
                 * The following code uses reflection to access a private TreeViewer. I had to work through multiple levels of
                 * objects to access the private field. In the future this code can break, if the hierarchy for these classes
                 * or the names of these fields change. Once i access the TreeViewer i then refresh it. This allows the newly
                 * created package to be added to the Tree and prevents a NullPointerException.
                 */
                Field fieldToAccess = WizardNewFileCreationPage.class.getDeclaredField("resourceGroup"); //$NON-NLS-1$
                fieldToAccess.setAccessible(true);
                ResourceAndContainerGroup resourceGroup = ((ResourceAndContainerGroup) fieldToAccess
                        .get(newResourceFileCreationPage));

                fieldToAccess = ResourceAndContainerGroup.class.getDeclaredField("containerGroup"); //$NON-NLS-1$
                fieldToAccess.setAccessible(true);
                ContainerSelectionGroup containerGroup = ((ContainerSelectionGroup) fieldToAccess
                        .get(resourceGroup));

                fieldToAccess = ContainerSelectionGroup.class.getDeclaredField("treeViewer"); //$NON-NLS-1$
                fieldToAccess.setAccessible(true);
                TreeViewer treeViewer = ((TreeViewer) fieldToAccess.get(containerGroup));
                treeViewer.refresh();

                /*
                 * This code will set the container path to null if the above tree isn't refreshed when the package is
                 * created.
                 */
                newResourceFileCreationPage.setContainerFullPath(newlyCreatedPackage.getPath());

            } else {
                // Package was found in project. Change the container path
                // to the found package.
                newResourceFileCreationPage.setContainerFullPath(foundPackageElement.getPath());
            }

            newResourceFile = newResourceFileCreationPage.createNewFile();

        } catch (Throwable e) {
            logger.error("performFinish() error", e); //$NON-NLS-1$
        }
    }

    // if resource file is linked, we just return. Fix SDR213684
    if (newResourceFile.isLinked()) {
        return true;
    }

    String packageStmt = createPackageStatement(userSelectedPackage);
    FileOutputStream fout = null;

    try {
        if (fileName.endsWith(ResourceConstants.RRH_SUFFIX)) {
            // user enters .rrh file extension
            // 1. create package statement
            File resourceFile = newResourceFile.getLocation().toFile();

            if (resourceFile.length() == 0 && resourceFile.canWrite()) {
                fout = new FileOutputStream(resourceFile);
                new PrintStream(fout).println(packageStmt);
            }

            // 2. create associated .rrc root locale file if it doesn't
            // exist
            String rrcFileName = fileName.substring(0, fileName.lastIndexOf(".")) //$NON-NLS-1$
                    + ResourceConstants.RRC_SUFFIX;

            File rrcOSFile = new File(newResourceFile.getLocation().toFile().getParentFile(), rrcFileName);

            if (!rrcOSFile.exists()) {
                rrcOSFile.createNewFile();// TO->JDP
            }
        }

        if (fileName.endsWith(ResourceConstants.RRC_SUFFIX)) {
            // user enters .rrc file extension
            // if corresponding rrh file doesn't exist, create it and set
            // package statement
            // if corresponding .rrc root locale file doesn't exist, create
            // it as well
            String rrhFileName;
            String rrcRootLocaleFileName = null;
            String rrcRootLanguageLocaleFileName = null;
            boolean hasCountryCode = (fileName.indexOf("_") != fileName.lastIndexOf("_")); //$NON-NLS-1$ //$NON-NLS-2$

            if (fileName.contains("_")) { //$NON-NLS-1$
                rrhFileName = fileName.substring(0, fileName.indexOf("_")) + ResourceConstants.RRH_SUFFIX; //$NON-NLS-1$
                // set root rrc file name
                rrcRootLocaleFileName = fileName.substring(0, fileName.indexOf("_")) //$NON-NLS-1$
                        + ResourceConstants.RRC_SUFFIX;
                if (hasCountryCode) {
                    // set root language rrc file name
                    rrcRootLanguageLocaleFileName = fileName.substring(0, fileName.lastIndexOf("_")) //$NON-NLS-1$
                            + ResourceConstants.RRC_SUFFIX;
                }
            } else {
                rrhFileName = fileName.substring(0, fileName.lastIndexOf(".")) + ResourceConstants.RRH_SUFFIX; //$NON-NLS-1$
            }

            File rrhOSFile = new File(newResourceFile.getLocation().toFile().getParentFile(), rrhFileName);

            if (!rrhOSFile.exists()) {
                rrhOSFile.createNewFile();// // TO->JDP

                if (rrhOSFile.length() == 0 && rrhOSFile.canWrite()) {
                    fout = new FileOutputStream(rrhOSFile);
                    new PrintStream(fout).println(packageStmt);
                }
            }

            File rrcOSFile = null;
            // create .rrc root locale file if required
            if (rrcRootLocaleFileName != null) {
                rrcOSFile = new File(newResourceFile.getLocation().toFile().getParentFile(),
                        rrcRootLocaleFileName);

                if (!rrcOSFile.exists()) {
                    rrcOSFile.createNewFile();
                }
            }

            // create .rrc root language locale file if required
            if (rrcRootLanguageLocaleFileName != null) {
                rrcOSFile = new File(newResourceFile.getLocation().toFile().getParentFile(),
                        rrcRootLanguageLocaleFileName);

                if (!rrcOSFile.exists()) {
                    rrcOSFile.createNewFile();
                }
            }
        }
    } catch (Exception e) {
        logger.error("performFinish: Error creating file", e); //$NON-NLS-1$
        return false;
    } finally {
        try {
            if (null != fout)
                fout.close();
        } catch (IOException e) {
            logger.error("performFinish: Could not close the file", e); //$NON-NLS-1$
        }
    }

    // Fix for DPI224873. Project becomes out of sync, which results
    // in out
    // of sync errors. The below will refresh project.
    try {
        userSelectedProject.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());
    } catch (CoreException e) {
        logger.error("performFinish: Error during project refresh", e); //$NON-NLS-1$
    }

    return true;
}

From source file:net.rim.ejde.internal.util.ImportUtils.java

License:Open Source License

static private List<LinkBuffer> generateLinks(IJavaProject eclipseJavaProject, ResourcesBuffer buffer,
        Project legacyProject) {/* ww  w  .  j  av  a2s  .  c  o  m*/
    Map<String, Set<File>> javaArtifacts = buffer.getJavaContener();
    Map<String, Set<File>> localeArtifacts = buffer.getlocaleContener();
    Set<File> nonPackageableFiles = buffer.getNonPackageContener();

    IPath drfpath = null, filePath = null;

    IFile eclipseFileHandle = null, fileHandle = null;

    IProject eclipseProject = eclipseJavaProject.getProject();
    IWorkspaceRoot workspaceRoot = eclipseProject.getWorkspace().getRoot();

    List<String> sources = net.rim.ejde.internal.legacy.Util.getSources(legacyProject);
    IPackageFragmentRoot[] packageFragmentRoots;
    IPackageFragment packageFragment;
    IFolder packageFolder;
    IResource resource, packageDirectory;
    List<LinkBuffer> linkBuffers = Collections.emptyList();
    try {
        // packageFragmentRoots =
        // eclipseJavaProject.getPackageFragmentRoots(); //!WARNING: it
        // seems this is buggy!!!!
        packageFragmentRoots = eclipseJavaProject.getAllPackageFragmentRoots();
        linkBuffers = new ArrayList<LinkBuffer>();
        String srcFolder = POTENTIAL_SOURCE_FOLDERS[PROJECT_SRC_FOLDE_INDEX];
        String resFolder = POTENTIAL_SOURCE_FOLDERS[PROJECT_RES_FOLDE_INDEX];
        String localeFolder = POTENTIAL_SOURCE_FOLDERS[PROJECT_LOCALE_FOLDE_INDEX];
        IJavaProject javaProject = null;
        for (IPackageFragmentRoot packageFragmentRoot : packageFragmentRoots) {
            javaProject = packageFragmentRoot.getParent().getJavaProject();
            if (javaProject == null || !javaProject.equals(eclipseJavaProject)) {
                // fixed DPI225325, we only care source folders in the
                // current project
                continue;
            }
            if (IPackageFragmentRoot.K_SOURCE == packageFragmentRoot.getKind()) {
                packageDirectory = packageFragmentRoot.getResource();

                if (null != packageDirectory) {
                    if (isResourceTargetFolder(packageDirectory)) {
                        if (IResource.FOLDER == packageDirectory.getType()) {
                            // handle resource files which are not java, rrh
                            // and rrc
                            if (resFolder.equalsIgnoreCase(packageDirectory.getName())) {
                                packageFragment = packageFragmentRoot.createPackageFragment(StringUtils.EMPTY,
                                        true, new NullProgressMonitor());
                                packageFolder = (IFolder) packageFragment.getResource();

                                for (File file : nonPackageableFiles) {
                                    filePath = new Path(file.getAbsolutePath());

                                    if (canIgnoreFile(filePath, eclipseJavaProject)) {
                                        continue;
                                    }

                                    // drfpath = PackageUtils.resolvePathForFile( filePath, legacyProjectPath,
                                    // legacyWorkspacePath ); // DPI222295
                                    try {
                                        drfpath = new Path(PackageUtils.getFilePackageString(filePath.toFile(),
                                                legacyProject)).append(filePath.lastSegment());
                                    } catch (CoreException e) {
                                        _log.error(e.getMessage());
                                        drfpath = new Path(IConstants.EMPTY_STRING);
                                    }

                                    if (drfpath.segmentCount() > 1) {
                                        if (sources.contains(drfpath.segment(0))) {
                                            drfpath = drfpath.removeFirstSegments(1);
                                        }

                                        drfpath = assureFolderPath(packageFolder, drfpath);
                                    }

                                    fileHandle = createFileHandle(packageFolder, drfpath.toOSString());

                                    resource = eclipseProject.findMember(
                                            PackageUtils.deResolve(filePath, eclipseProject.getLocation()));

                                    if (resource != null)
                                        eclipseFileHandle = workspaceRoot.getFile(resource.getFullPath());
                                    else
                                        eclipseFileHandle = workspaceRoot
                                                .getFile(eclipseProject.getFullPath().append(drfpath));

                                    if (!fileHandle.equals(eclipseFileHandle)) {
                                        linkBuffers.add(new LinkBuffer(fileHandle, filePath));
                                    }
                                }
                            }
                            if (srcFolder.equalsIgnoreCase(packageDirectory.getName())
                                    || srcFolder.equalsIgnoreCase(packageDirectory.getName())) { // All
                                linkPackagableFiles(javaProject, packageFragmentRoot, javaArtifacts,
                                        linkBuffers);
                            }
                            if (localeFolder.equalsIgnoreCase(packageDirectory.getName())
                                    || localeFolder.equalsIgnoreCase(packageDirectory.getName())) {
                                linkPackagableFiles(javaProject, packageFragmentRoot, localeArtifacts,
                                        linkBuffers);
                            }
                        } else {
                            continue;
                        }
                    }
                }
            }
        }
    } catch (JavaModelException e1) {
        _log.error(e1.getMessage(), e1);
    }

    return linkBuffers;
}

From source file:net.rim.ejde.internal.util.ImportUtils.java

License:Open Source License

static private void linkPackagableFiles(IJavaProject javaProject, IPackageFragmentRoot packageFragmentRoot,
        Map<String, Set<File>> packagableContainer, List<LinkBuffer> linkBuffers) throws JavaModelException {
    IResource resource;/* w  w  w.j  a  v  a 2 s .co  m*/
    IFolder packageFolder;
    IPath filePath = null;
    IPath drfpath = null;
    IFile eclipseFileHandle = null, fileHandle = null;
    StringTokenizer tokenizer;
    IPackageFragment packageFragment;
    Set<File> packageableFiles;
    Set<String> packageIds = packagableContainer.keySet();
    for (String packageId : packageIds) {
        packageableFiles = packagableContainer.get(packageId);

        if (StringUtils.isBlank(packageId)) {
            packageId = "";
        }

        packageFragment = packageFragmentRoot.createPackageFragment(packageId, true, new NullProgressMonitor());

        if (IResource.FOLDER == packageFragment.getResource().getType()) {
            packageFolder = (IFolder) packageFragment.getResource();

            for (File file : packageableFiles) {
                filePath = new Path(file.getAbsolutePath());

                if (canIgnoreFile(filePath, javaProject)) {
                    continue;
                }

                tokenizer = new StringTokenizer(packageId, ".");

                drfpath = new Path("");

                while (tokenizer.hasMoreElements()) {
                    drfpath.append(tokenizer.nextToken());
                }

                assureFolderPath(packageFolder, drfpath);

                fileHandle = createFileHandle(packageFolder, file.getName());

                resource = javaProject.getProject()
                        .findMember(PackageUtils.deResolve(filePath, javaProject.getProject().getLocation()));

                if (resource != null)
                    eclipseFileHandle = javaProject.getProject().getWorkspace().getRoot()
                            .getFile(resource.getFullPath());
                else
                    eclipseFileHandle = null;

                if (!fileHandle.equals(eclipseFileHandle)) {
                    linkBuffers.add(new LinkBuffer(fileHandle, filePath));
                }
            }
        }
    }
}

From source file:org.apache.openjpa.eclipse.EnhancerBuilderTest.java

License:Apache License

protected void setUp() throws Exception {

    IWorkspace workspace = null;// w w  w. j a v a2 s .  c  o  m
    try {
        workspace = ResourcesPlugin.getWorkspace();
    } catch (IllegalStateException e) {
        fail("workspace is closed, you are most probably running this as a standalone JUnit Test instead of as an Eclipse PDE Plug-In Test?!");
    }

    // create project
    project = workspace.getRoot().getProject(PROJECT_NAME);
    project.create(null);
    project.open(null);

    // create source and output folders
    IFolder srcFolder = project.getFolder("src");
    srcFolder.create(true, true, null);
    IFolder binFolder = project.getFolder("bin");
    binFolder.create(true, true, null);

    IProjectDescription desc = project.getDescription();

    // Set the Java and OpenJPA natures on the project, 
    // so that the builders is added and initialized
    desc.setNatureIds(new String[] { JavaCore.NATURE_ID, OpenJPANature.NATURE_ID });
    project.setDescription(desc, null);

    // Declare Java source and output folders
    IJavaProject javaProject = JavaCore.create(project);
    javaProject.setOutputLocation(binFolder.getFullPath(), null);
    IClasspathEntry cpEntry = JavaCore.newSourceEntry(srcFolder.getFullPath());
    javaProject.setRawClasspath(new IClasspathEntry[] { cpEntry }, null);

    // create a Java package and a class
    IPackageFragmentRoot pkgFragmentRoot = javaProject.getPackageFragmentRoot(srcFolder);
    IPackageFragment pkgFragment = pkgFragmentRoot.createPackageFragment(TESTCLASS_PACKAGE, true, null);

    // and copy the same classes already used in the PCEnhancerHelperTest
    copyTestClassToPackage(pkgFragment, "TestEntity.java");
    // copyTestClassToPackage(pkgFragment, "NotToEnhance.java");
    javaProject.save(null, true);
}

From source file:org.apache.openjpa.eclipse.util.ClasspathHelperTest.java

License:Apache License

protected void setUp() throws Exception {

    IWorkspace workspace = null;//w  ww.j a  va2  s  .  c  om
    try {
        workspace = ResourcesPlugin.getWorkspace();
    } catch (IllegalStateException e) {
        fail("workspace is closed, you are most probably running this as a standalone JUnit Test instead of as an Eclipse PDE Plug-In Test?!");
    }

    // create project
    project = workspace.getRoot().getProject(PROJECT_NAME);
    project.create(null);
    project.open(null);

    // create source and output folders
    IFolder srcFolder = project.getFolder("src");
    srcFolder.create(true, true, null);
    IFolder binFolder = project.getFolder("bin");
    binFolder.create(true, true, null);

    // Set the Java nature on the project, so that the builder is added and initialized
    IProjectDescription desc = workspace.newProjectDescription(PROJECT_NAME);
    desc.setNatureIds(new String[] { JavaCore.NATURE_ID });
    project.setDescription(desc, null);

    // Declare Java source and output folders
    IJavaProject javaProject = JavaCore.create(project);
    javaProject.setOutputLocation(binFolder.getFullPath(), null);
    IClasspathEntry cpEntry = JavaCore.newSourceEntry(srcFolder.getFullPath());
    javaProject.setRawClasspath(new IClasspathEntry[] { cpEntry }, null);

    // create a Java package and a class
    IPackageFragmentRoot pkgFragmentRoot = javaProject.getPackageFragmentRoot(srcFolder);
    IPackageFragment pkgFragment = pkgFragmentRoot.createPackageFragment(TESTCLASS_PACKAGE, true, null);
    InputStream is = Thread.currentThread().getContextClassLoader()
            .getResourceAsStream("/com/odcgroup/classpath/demo/tests/resources/testclasscontent.txt");
    String contents = IOUtils.toString(is);
    pkgFragment.createCompilationUnit(TESTCLASS_NAME + ".java", contents, true, null);
    javaProject.save(null, true);
}

From source file:org.autorefactor.refactoring.rules.JavaCoreHelper.java

License:Open Source License

public static IPackageFragment getPackageFragment() throws Exception {
    final IJavaProject javaProject = createJavaProject("projectName", "bin");
    final IPackageFragmentRoot root = addSourceContainer(javaProject, "/testRoot");
    addToClasspath(javaProject, getClasspathEntries(root));
    return root.createPackageFragment("org.autorefactor", true, null);
}

From source file:org.azzyzt.jee.tools.project.JavaProject.java

License:EUPL

protected void createSubpackages(String srcFolderName, String... pkgNames)
        throws CoreException, JavaModelException {
    IPath absEjbSrcPath = getP().getFolder(srcFolderName).getFullPath();
    IPackageFragmentRoot ejbPackageFragmentRoot = jp.findPackageFragmentRoot(absEjbSrcPath);
    for (String subPackage : Arrays.asList(pkgNames)) {
        String pkgName = String.format("%s.%s", getContext().getPackageName(), subPackage);
        ejbPackageFragmentRoot.createPackageFragment(pkgName, true, getContext().getSubMonitor());
    }//from   w ww .  j  a v  a  2 s .c  o m
}