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

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

Introduction

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

Prototype

boolean exists();

Source Link

Document

Returns whether this Java element exists in the model.

Usage

From source file:com.sun.codemodel.ClassGenerator.java

License:Apache License

public void generateClassesCode(List<S2JJAXBModel> schModels, IProgressMonitor pm)
        throws IOException, CoreException {
    IPackageFragmentRoot pfr = project.getPackageFragmentRoot(generated);
    if (pfr != null && pfr.exists()) {
        CodeWriter src = new FileCodeWriter(generated.getLocation().toFile());
        if (pw != null) {
            src = new ProgressCodeWriter(src, pw);
        }/*from  w ww  .j ava  2 s  . c  o m*/
        for (S2JJAXBModel m : schModels) {
            JCodeModel jcm = m.generateCode(null, null);
            jcm.build(src);
        }
    } else
        throw new JavaModelException(new Exception("Error package root does not exists"),
                JavaModelStatus.ERROR);
}

From source file:com.sun.codemodel.ClassGenerator.java

License:Apache License

public void generateClassesCode(Map<String, ElementClass> schClasses, List<S2JJAXBModel> schModels,
        IProgressMonitor pm) throws IOException, CoreException {
    IPackageFragmentRoot pfr = project.getPackageFragmentRoot(generated);
    if (pfr != null && pfr.exists()) {
        CodeWriter src = new FileCodeWriter(generated.getLocation().toFile());
        if (pw != null) {
            src = new ProgressCodeWriter(src, pw);
        }//www . j  av a2s . co  m

        Collection<ElementClass> elements = getElementsFromModels(schClasses, schModels);
        // for (ElementClass ec : schClasses.values()) {
        for (ElementClass ec : elements) {
            JDefinedClass c = ec.getjDefClass();
            if (c != null) {
                if (!alreadyExists(c.fullName())) {
                    if ((!c.isPrimitive()) && (!c.fullName().startsWith("java.lang"))) {
                        System.out.println("Generating Class: " + c.fullName());
                        if (c.isHidden())
                            continue; // don't generate this file
                        JFormatter f = createJavaSourceFileWriter(src, c.name(), c.getPackage());
                        f.write(c);
                        f.close();
                        generated.refreshLocal(IFolder.DEPTH_INFINITE, pm);
                        // HashMap<String, ElementClass> extraClasses =
                        // getReferencedClasses(c, schClasses, schModels);
                        // generateClassesCode(extraClasses, schModels, pm);
                    }
                    modifyObjectFactory(ec, pm);
                }
            }

        }

    } else
        throw new JavaModelException(new Exception("Error package root does not exists"),
                JavaModelStatus.ERROR);
}

From source file:com.sun.codemodel.ClassGenerator.java

License:Apache License

private void modifyObjectFactory(ElementClass ec, IProgressMonitor pm) throws JavaModelException {
    JDefinedClass c = ec.getjDefClass();
    if (ec.getElementType() != null) {
        IPackageFragmentRoot pfr = project.getPackageFragmentRoot(generated);
        if (pfr != null && pfr.exists()) {
            IPackageFragment pf = pfr.getPackageFragment(c.getPackage().name());
            if (pf != null && pf.exists()) {
                ICompilationUnit of = pf.getCompilationUnit("ObjectFactory.java");
                if (of != null && !of.exists()) {
                    of = pf.createCompilationUnit("ObjectFactory.java", "", true, pm);
                    of.createPackageDeclaration(c.getPackage().name(), pm);
                    of.createImport("javax.xml.bind.annotation.XmlRegistry", null, Flags.AccDefault, pm);
                    String lineDelimiter = StubUtility.getLineDelimiterUsed(project);
                    IType t = of.createType(generateObjectFactory(lineDelimiter), null, false, pm);
                    t.createMethod("public ObjectFactory(){}" + lineDelimiter, null, false, pm);
                }/*from   w  w  w  .j  a v  a  2 s .  c  om*/
                of = addClass(ec, of, pm);

            } else
                throw new JavaModelException(
                        new Exception("Error package " + c.getPackage().name() + " does not exists"),
                        JavaModelStatus.ERROR);

        } else
            throw new JavaModelException(
                    new Exception("Error package root " + generated.getName() + " does not exists"),
                    JavaModelStatus.ERROR);
    }
}

From source file:es.bsc.servicess.ide.PackagingUtils.java

License:Apache License

/** Build Service Packages. 
 * /*  w  ww  .  j a  v  a2s  . com*/
 * @param project Java Project where the service is built
 * @param pr_meta Project Metadata where the project is described
 * @param monitor Eclipse progress monitor
 * @throws Exception 
 */
public static void buildPackages(IJavaProject project, ProjectMetadata pr_meta, IProgressMonitor monitor)
        throws Exception {
    monitor.beginTask("Building project classes...", 100);
    IFolder output = project.getProject().getFolder(ProjectMetadata.OUTPUT_FOLDER);
    if (output == null || !output.exists()) {
        output.create(true, true, monitor);
    }
    project.getProject().build(IncrementalProjectBuilder.INCREMENTAL_BUILD, monitor);
    monitor.done();
    monitor.beginTask("Creating packages...", 2);
    // Create folders to store packages 
    IFolder packagesFolder = output.getFolder(ProjectMetadata.PACKAGES_FOLDER);
    if (packagesFolder != null && packagesFolder.exists()) {
        log.debug("Deleting current packages folder");
        packagesFolder.delete(true, monitor);
    }
    log.debug("Creating packages folder");
    packagesFolder.create(true, true, monitor);

    IFolder srcFolder = project.getProject().getFolder(pr_meta.getSourceDir());
    //Get parameters to perform the package creation
    //String[] packs = pr_meta.getPackages();
    String runtime = pr_meta.getRuntimeLocation();
    //TODO Chak if should be all orchestration or only internal
    String[] orchClasses = pr_meta.getAllOrchestrationClasses();
    String[] extOrchClasses = pr_meta.getExternalOrchestrationClasses();
    IPackageFragmentRoot source = project.findPackageFragmentRoot(srcFolder.getFullPath());
    IPackageFragmentRoot generated = project.findPackageFragmentRoot(
            project.getProject().getFolder(ProjectMetadata.GENERATED_FOLDER).getFullPath());
    if (source != null && source.exists()) {
        HashMap<String, ServiceElement> constraintsElements = CommonFormPage.getElements(orchClasses,
                ProjectMetadata.CORE_TYPE, project, pr_meta);
        //Create Core Element packages
        String[] corePacks = pr_meta.getPackagesWithCores();
        if (corePacks != null && corePacks.length > 0) {
            log.debug("Creating core elements packages");
            monitor.subTask("Create Core Element packages");
            monitor.beginTask("Creating packages...", corePacks.length);
            for (String p : corePacks) {
                String[] elements = pr_meta.getElementsInPackage(p);
                if (elements != null && elements.length > 0) {
                    PackagingUtils.createCorePackage(runtime, p, elements, pr_meta.getDependencies(elements),
                            constraintsElements, source, output, packagesFolder, monitor);
                }
                monitor.worked(1);
            }
            monitor.done();
        } else {
            log.warn("Warning: No core packages built");
            monitor.setCanceled(true);
            throw (new InvocationTargetException(new Exception("No packages built")));
        }
        if (orchClasses != null && orchClasses.length > 0) {
            String[] orchPacks = pr_meta.getPackagesWithOrchestration();

            if (orchPacks != null && orchPacks.length > 0) {
                log.debug("Creating orchestration elements packages");
                for (String p : orchPacks) {
                    String[] allElements = pr_meta.getElementsInPackage(p);
                    Map<String, List<String>> extElements = pr_meta
                            .getOrchestrationClassesAndElements(allElements, true);
                    Map<String, List<String>> intElements = pr_meta
                            .getOrchestrationClassesAndElements(allElements, false);
                    if (intElements != null && intElements.size() > 0) {
                        PackagingUtils.createInternalOrchestrationPackage(runtime,
                                PackagingUtils.getClasspath(project), p, intElements,
                                pr_meta.getDependencies(intElements), source, generated, output, packagesFolder,
                                monitor, pr_meta.shouldBeWarFile(p));
                        monitor.done();
                    }
                    if (extElements != null && extElements.size() > 0) {
                        PackagingUtils.createExternalOrchestrationPackage(runtime,
                                PackagingUtils.getClasspath(project), p, extElements, source, generated, output,
                                packagesFolder, monitor, pr_meta);
                        monitor.done();
                    }
                }
            } else {
                log.debug("Creating all orchestration element package");
                // Create All Orchestration packages (front-end)
                String[] allElements = CommonFormPage.getOrchestrationElementsLabels(orchClasses, project,
                        pr_meta);
                Map<String, List<String>> extElements = pr_meta.getOrchestrationClassesAndElements(allElements,
                        true);
                Map<String, List<String>> intElements = pr_meta.getOrchestrationClassesAndElements(allElements,
                        false);
                if (intElements != null && intElements.size() > 0) {
                    PackagingUtils.createInternalOrchestrationPackage(runtime,
                            PackagingUtils.getClasspath(project), project.getProject().getName(), intElements,
                            pr_meta.getDependencies(intElements), source, generated, output, packagesFolder,
                            monitor, ProjectMetadata.shouldBeWarFile(pr_meta.getOrchestrationClassesTypes()));
                    monitor.done();
                }
                if (extElements != null && extElements.size() > 0) {
                    PackagingUtils.createExternalOrchestrationPackage(runtime,
                            PackagingUtils.getClasspath(project), project.getProject().getName(), extElements,
                            source, generated, output, packagesFolder, monitor, pr_meta);
                    monitor.done();
                }
            }
        } else {
            log.warn("Warning: No orchestration element packages built");
            monitor.setCanceled(true);
            throw (new InvocationTargetException(new Exception("No orchestration packages built")));
        }

    } else {
        log.error("Source dir not found");
        monitor.setCanceled(true);
        throw (new InvocationTargetException(
                new Exception("Source dir " + srcFolder.getFullPath() + " not found")));
    }
}

From source file:es.bsc.servicess.ide.wizards.ServiceSsCommonWizardPage.java

License:Apache License

protected IPackageFragment choosePackage() {
    IPackageFragmentRoot froot = getPackageFragmentRoot();
    IJavaElement[] packages = null;//  w w  w.  ja v a 2  s .c om
    try {
        if (froot != null && froot.exists()) {
            packages = froot.getChildren();
        }
    } catch (JavaModelException e) {
        JavaPlugin.log(e);
    }
    if (packages == null) {
        packages = new IJavaElement[0];
    }

    ElementListSelectionDialog dialog = new ElementListSelectionDialog(getShell(),
            new JavaElementLabelProvider(JavaElementLabelProvider.SHOW_DEFAULT));
    dialog.setIgnoreCase(false);
    dialog.setTitle(NewWizardMessages.NewTypeWizardPage_ChoosePackageDialog_title);
    dialog.setMessage(NewWizardMessages.NewTypeWizardPage_ChoosePackageDialog_description);
    dialog.setEmptyListMessage(NewWizardMessages.NewTypeWizardPage_ChoosePackageDialog_empty);
    dialog.setElements(packages);
    dialog.setHelpAvailable(false);

    IPackageFragment pack = getPackageFragment();
    if (pack != null) {
        dialog.setInitialSelections(new Object[] { pack });
    }

    if (dialog.open() == Window.OK) {
        return (IPackageFragment) dialog.getFirstResult();
    }
    return null;
}

From source file:es.bsc.servicess.ide.wizards.ServiceSsImportOrchestrationClassWizard.java

License:Apache License

@Override
protected void finishPage(IProgressMonitor arg0) throws InterruptedException, CoreException {

    String lineDelimiter = StubUtility.getLineDelimiterUsed(project);

    IFile file = project.getProject().getFolder(ProjectMetadata.METADATA_FOLDER)
            .getFile(ProjectMetadata.METADATA_FILENAME);
    try {//w w  w.java2s.c o m
        ProjectMetadata pr_meta = new ProjectMetadata(file.getRawLocation().toFile());
        IPackageFragmentRoot root = pr_meta.getPackageFragmentRoot(project);
        if (root == null || !root.exists())
            throw (new Exception("Main package fragment root not found"));
        IPackageFragment frag = root.getPackageFragment(fPage.getTypePackageName());
        if (frag == null || !frag.exists())
            root.createPackageFragment(fPage.getTypePackageName(), true, arg0);
        String className = fPage.getType().getElementName().replaceAll(" ", "") + "Itf";
        interfaceCU = frag.getCompilationUnit(className + ".java");
        if (interfaceCU == null || !interfaceCU.exists()) {
            interfaceCU = frag.createCompilationUnit(className + ".java", "", false,
                    new SubProgressMonitor(arg0, 2));
            interfaceCU.createPackageDeclaration(frag.getElementName(), arg0);
            String typeStub = constructInterfaceStub(className, lineDelimiter);
            interfaceCU.createType(typeStub, null, false, arg0);
        }
        pr_meta.addExternalOrchestrationClass(fPage.getTypeName(), fPage.getExternalLocation(),
                fPage.getIntraPackageLocation());
        pr_meta.toFile(file.getRawLocation().toFile());
        project.getProject().refreshLocal(Resource.DEPTH_INFINITE, arg0);
    } catch (Exception e) {
        throw new JavaModelException(e, JavaModelStatus.ERROR);
    }

}

From source file:es.bsc.servicess.ide.wizards.ServiceSsNewServiceClassPage.java

License:Apache License

/**
 * Open the dialog for changing the package
 * @return Selected package//from w w  w.  j  av a 2s.co m
 */
protected IPackageFragment choosePackage() {
    IPackageFragmentRoot froot = getPackageFragmentRoot();
    IJavaElement[] packages = null;
    try {
        if (froot != null && froot.exists()) {
            packages = froot.getChildren();
        }
    } catch (JavaModelException e) {
        JavaPlugin.log(e);
    }
    if (packages == null) {
        packages = new IJavaElement[0];
    }

    ElementListSelectionDialog dialog = new ElementListSelectionDialog(getShell(),
            new JavaElementLabelProvider(JavaElementLabelProvider.SHOW_DEFAULT));
    dialog.setIgnoreCase(false);
    dialog.setTitle(NewWizardMessages.NewTypeWizardPage_ChoosePackageDialog_title);
    dialog.setMessage(NewWizardMessages.NewTypeWizardPage_ChoosePackageDialog_description);
    dialog.setEmptyListMessage(NewWizardMessages.NewTypeWizardPage_ChoosePackageDialog_empty);
    dialog.setElements(packages);
    dialog.setHelpAvailable(false);

    IPackageFragment pack = getPackageFragment();
    if (pack != null) {
        dialog.setInitialSelections(new Object[] { pack });
    }

    if (dialog.open() == Window.OK) {
        return (IPackageFragment) dialog.getFirstResult();
    }
    return null;
}

From source file:fede.workspace.eclipse.java.JavaProjectManager.java

License:Apache License

/**
 * Creates a new package in the source folder corresponding to an item.
 * /*from  w w  w . j  a v  a 2s.  c  o  m*/
 * @param item
 *            the item
 * @param packageName
 *            the package name
 * @param monitor
 *            the monitor
 * 
 * @return the i package fragment
 * 
 * @throws CoreException
 *             the core exception
 */
public static IPackageFragment createPackage(Item item, String packageName, IProgressMonitor monitor)
        throws CoreException {

    IResource resource = getResource(item);
    IJavaElement element = JavaCore.create(resource);

    /*
     * The resource associated with the item is already a package
     */
    if (element instanceof IPackageFragment) {
        if (packageName == null || element.getElementName().equals(packageName)) {
            return (IPackageFragment) element;
        }
    }

    if (packageName == null) {
        throw new CoreException(new Status(Status.ERROR, WSJavaPlugin.PLUGIN_ID, 0,
                "Package name is null in createPackage !!!.", null));
    }

    /*
     * The resource is a source folder
     */
    if (element instanceof IPackageFragmentRoot) {
        IPackageFragmentRoot root = (IPackageFragmentRoot) element;
        return root.createPackageFragment(packageName, true, monitor);
    }

    /*
     * The resource is a project or a non source folder, get the associated
     * source folder
     */
    IPackageFragmentRoot sources = getPackageFragmentRoot(item);
    if (sources == null) {
        throw new CoreException(
                new Status(Status.ERROR, WSJavaPlugin.PLUGIN_ID, 0, "Cannot find the sources folder.", null));
    }

    IProject project = getProject(item);
    if (!project.exists()) {
        project.create(monitor);
    }

    if (!sources.exists()) {
        getDefaultSourceFolder(item).create(true, true, monitor);
    }

    return sources.createPackageFragment(packageName, false, monitor);
}

From source file:kieker.develop.rl.ui.wizards.RecordLangNewWizardPage.java

License:Apache License

/**
 * Checks if a package is part of the current IPackageFragmentRoot.
 *
 * @param packageName//from  w  ww  .  ja v a 2 s  .  co  m
 *            - name of the assumed package
 * @return boolean
 */
protected boolean existsPackage(final String packageName) {
    boolean result = false;
    final IPackageFragmentRoot froot = this.sourceFolder;
    IJavaElement[] existingPackages = null;
    try {
        if (froot != null && froot.exists()) {
            existingPackages = froot.getChildren();
        }
    } catch (final JavaModelException e) {
    }
    if (existingPackages == null) {
        existingPackages = new IJavaElement[0];
    }
    final String srcPackageText = this.sourcePackageText.getText();
    final int j = existingPackages.length;
    int i = 0;
    while (j > i) {
        if (srcPackageText.equals(existingPackages[i].getElementName())) {
            result = true;
            i = j + 1;
        }
        i++;
    }
    return result;
}

From source file:kieker.develop.rl.ui.wizards.RecordLangNewWizardPage.java

License:Apache License

private IPackageFragment choosePackage() {
    final IPackageFragmentRoot froot = this.sourceFolder;
    IJavaElement[] packages = null;//from   ww  w . j a va  2s. c om
    try {
        if (froot != null && froot.exists()) {
            packages = froot.getChildren();
        }
    } catch (final JavaModelException e) {
    }
    if (packages == null) {
        packages = new IJavaElement[0];
    }

    final ElementListSelectionDialog dialog = new ElementListSelectionDialog(this.getShell(),
            new JavaElementLabelProvider(JavaElementLabelProvider.SHOW_DEFAULT));
    dialog.setIgnoreCase(false);
    dialog.setTitle("Select package");
    dialog.setMessage("Select a package for the IRL file.");
    dialog.setEmptyListMessage("---");
    dialog.setElements(packages);
    dialog.setHelpAvailable(false);

    final IPackageFragment pack = this.sourcePackage;
    if (pack != null) {
        dialog.setInitialSelections(new Object[] { pack });
    }

    if (dialog.open() == Window.OK) {
        return (IPackageFragment) dialog.getFirstResult();
    }
    return null;
}