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:org.universaal.tools.newwizard.plugin.wizards.NewItemWizard.java

License:Apache License

/**
 * This method is called when 'Finish' button is pressed in the wizard. We
 * will create an operation and run it using wizard as execution context.
 *//*from  w  ww  .  ja  v  a  2s.c o  m*/
public boolean performFinish() {
    // get info from the wizard
    final IMWVersion mwVersion = page.getMWVersion();
    final String clsname = page.getTextClass().getText();
    final int clstype = page.getDropClass().getSelectionIndex();

    // this job performs the creation of the item
    Job job = new WorkspaceJob(Messages.getString("Item.1")) { //$NON-NLS-1$
        public IStatus runInWorkspace(IProgressMonitor monitor) {
            try {
                // Get the place to put the new file (or create it)
                IPackageFragmentRoot root = page.getPackageFragmentRoot();
                IPackageFragment pack = page.getPackageFragment();
                if (pack == null) {
                    root.getPackageFragment(""); //$NON-NLS-1$
                }
                if (!pack.exists()) {
                    String packName = pack.getElementName();
                    pack = root.createPackageFragment(packName, true, monitor);
                } else {
                    monitor.worked(1);
                }
                IResource resource = pack.getCorrespondingResource();
                IContainer container = (IContainer) resource;
                if (!mwVersion.createNewFile(container, pack.getElementName(), clstype, clsname, monitor)) {
                    MessageDialog.openError(getShell(), Messages.getString("Item.2"), //$NON-NLS-1$
                            Messages.getString("Item.3")); //$NON-NLS-1$
                }
                // Now update dependencies in pom
                IFile pom = pack.getJavaProject().getProject().getFile("pom.xml"); //$NON-NLS-1$
                if (pom.exists()) {
                    // Modify the pom to  add dependencies
                    mwVersion.modifyPOMFile(pom, clstype, monitor);
                } else {
                    MessageDialog.openError(getShell(), Messages.getString("Item.4"), //$NON-NLS-1$
                            Messages.getString("Item.5")); //$NON-NLS-1$
                }
            } catch (Exception e) {
                throw new OperationCanceledException(e.getMessage());
            }
            return Status.OK_STATUS;
        }
    };

    // Listener in case job fails
    job.addJobChangeListener(new JobChangeAdapter() {
        public void done(IJobChangeEvent event) {
            final IStatus result = event.getResult();
            if (!result.isOK()) {
                Display.getDefault().asyncExec(new Runnable() {
                    public void run() {
                        MessageDialog.openError(getShell(), Messages.getString("Item.6"), result //$NON-NLS-1$
                                .getMessage());
                    }
                });
            }
        }
    });

    // Because we dont need to monitor changes in workspace,
    // we directly perform the job
    job.setRule(ResourcesPlugin.getWorkspace().getRoot());
    job.schedule();
    return true;
}

From source file:org.wso2.developerstudio.eclipse.artifact.axis2.ui.wizard.Axis2ServiceCreationWizard.java

License:Open Source License

public boolean performFinish() {
    IFile axis2GenServiceXML = null;/* w ww .j a  va2  s.  c om*/
    try {
        IProject project = createNewProject();
        IFolder sourceFolder = ProjectUtils.getWorkspaceFolder(project, "src", "main", "java");
        JavaUtils.addJavaSupportAndSourceFolder(project, sourceFolder);
        File pomfile = project.getFile("pom.xml").getLocation().toFile();
        getModel().getMavenInfo().setPackageName("service/axis2");
        createPOM(pomfile);
        getModel().addToWorkingSet(project);
        ProjectUtils.addNatureToProject(project, false, AXIS2_PROJECT_NATURE);
        MavenUtils.updateWithMavenEclipsePlugin(pomfile, new String[] { JDT_BUILD_COMMAND },
                new String[] { AXIS2_PROJECT_NATURE, JDT_PROJECT_NATURE });

        project.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());

        if (getModel().getSelectedOption().equals("import.Axis2")) {
            //TODO: import AAR

        } else if (getModel().getSelectedOption().equals("new.Axis2")) {
            String className = axis2Model.getServiceClass();
            String packageName = axis2Model.getPackageName();

            IJavaProject javaProject = JavaCore.create(project);
            IFolder resourceFolder = ProjectUtils.getWorkspaceFolder(project, "src", "main", "resources");
            if (!resourceFolder.exists()) {
                resourceFolder.create(false, true, null);
            }

            IFolder metaFolder = ProjectUtils.getWorkspaceFolder(project, "src", "main", "resources",
                    "META-INF");
            if (!metaFolder.exists()) {
                metaFolder.create(false, true, null);
            }
            IFile serviceXML = metaFolder.getFile("services.xml");
            createServiceXML(serviceXML, className, packageName.concat(".").concat(className));
            IPackageFragmentRoot root = javaProject.getPackageFragmentRoot(sourceFolder);
            IPackageFragment sourcePackage = root.createPackageFragment(packageName, false, null);
            StringBuffer buffer = new StringBuffer();
            if (!packageName.equalsIgnoreCase("")) {
                buffer.append("package " + packageName + ";\n");
                buffer.append("\n");
            }
            buffer.append("public class " + className + "{\n\n}");
            ICompilationUnit compilationUnit = sourcePackage.createCompilationUnit(className + ".java",
                    buffer.toString(), false, null);
            project.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());
            IPath path = compilationUnit.getResource().getProjectRelativePath();
            IFile sourceFile = project.getFile(path);
            try {
                refreshDistProjects();
                IDE.openEditor(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage(),
                        sourceFile);
            } catch (Exception e) {
                log.error("Cannot open file in editor", e);
            }
        } else if (getModel().getSelectedOption().equals("import.Axis2wsdl")) {
            ProgressMonitorDialog progressMonitorDialog = new ProgressMonitorDialog(getShell());
            IFolder mainFolder = ProjectUtils.getWorkspaceFolder(project, "src", "main");
            dataModel.setSourceFolder("java");
            dataModel.setGeneratedCodeLocation(mainFolder.getRawLocation().toPortableString());
            dataModel.setSelectedProject(project);
            progressMonitorDialog.create();
            progressMonitorDialog.open();
            progressMonitorDialog.run(false, false, new CodegenJob());

            IFolder resourceFolder = ProjectUtils.getWorkspaceFolder(project, "src", "main", "resources");
            project.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());
            IFolder metaFolder = resourceFolder.getFolder("META-INF");
            if (!metaFolder.exists()) {
                metaFolder.create(false, true, null);
            }
            axis2GenServiceXML = resourceFolder.getFile("services.xml");
            project.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());
            if (axis2GenServiceXML.exists()) {
                IFile metaServiceXML = metaFolder.getFile("services.xml");
                FileUtils.copy(axis2GenServiceXML.getLocation().toFile(),
                        metaServiceXML.getLocation().toFile());
                project.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());
                //axis2GenServiceXML.delete(true, new NullProgressMonitor());
            }
            project.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());
            refreshDistProjects();
        }

        project.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());

    } catch (CoreException e) {
        log.error("CoreException has occurred", e);
    } catch (IOException e) {
        log.error("I/O error has occurred", e);
    } catch (InvocationTargetException e) {
        log.error("An error occurred while generating codes", e.getTargetException());
    } catch (Exception e) {
        log.error("An unexpected error has occurred", e);
    }

    return true;
}

From source file:org.wso2.developerstudio.eclipse.artifact.carbon.ui.bundle.ui.wizard.CarbonUIbundleWizard.java

License:Open Source License

public boolean performFinish() {
    try {/*from  www .  ja v  a  2s  .com*/
        if (uibundleModel.getSelectedOption().equals("new.uibundle")) {
            project = createNewProject();
            IFolder srcFolder = ProjectUtils.getWorkspaceFolder(project, "src");
            JavaUtils.addJavaSupportAndSourceFolder(project, srcFolder);
            ProjectUtils.createFolder(srcFolder);

            if (uibundleModel.isActivatorRequired()) {
                String className = uibundleModel.getActivatorClassName();
                if (".Activator".equals(className)) {
                    className = "Activator";
                    uibundleModel.setActivatorClassName(className);
                }
                className = getClassName(uibundleModel.getActivatorClassName());
                String packageName = getPackageName(uibundleModel.getActivatorClassName());
                IJavaProject iJavaProject = JavaCore.create(project);
                IPackageFragmentRoot root = iJavaProject.getPackageFragmentRoot(srcFolder);
                IPackageFragment sourcePackage = root.createPackageFragment(packageName, false, null);
                String template = CarbonUIbudleTemplate.createActivatorClassTemplete(packageName, className);
                sourcePackage.createCompilationUnit(className + ".java", template, false, null);
            }
            /*create Meta INF Folder data*/
            IFolder metaInf = this.createWorkspaceFolder("META-INF");
            String componentXmlSource = CarbonUIbudleTemplate.createComponentXMLTemplate();
            createProjectFile(metaInf, "component.xml", componentXmlSource);
            String metaInfSource = CarbonUIbudleTemplate.createManifestFileTemplate(uibundleModel);
            createProjectFile(metaInf, "MANIFEST.MF", metaInfSource);
            IFolder webDir = createDirectoryhierarchy(uibundleModel.getDeployPath());
            IFolder cssDir = webDir.getFolder("css");
            cssDir.create(true, true, new NullProgressMonitor());
            IFolder imgDir = webDir.getFolder("images");
            imgDir.create(true, true, new NullProgressMonitor());
            IFolder jsDir = webDir.getFolder("js");
            jsDir.create(true, true, new NullProgressMonitor());

            copyResourceFiles(cssDir.getLocation().toFile(), "menu.css");
            copyResourceFiles(webDir.getLocation().toFile(), "index.jsp");

            project.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());
        } else {
            project = uibundleModel.getCarbonUIproject();
        }
        File pomfile = project.getFile("pom.xml").getLocation().toFile();
        getModel().getMavenInfo().setPackageName("bundle");
        if (!pomfile.exists()) {
            createPOM(pomfile);
        }
        addDependancies(project);
        MavenProject mavenProject = MavenUtils.getMavenProject(pomfile);
        Dependency dependencies = new Dependency();
        dependencies.setGroupId("org.eclipse.osgi");
        dependencies.setArtifactId("org.eclipse.osgi");
        dependencies.setVersion("3.7.0.v20110613");
        MavenUtils.addMavenDependency(mavenProject, dependencies);
        mavenProject.getBuild().setSourceDirectory("src");
        MavenUtils.saveMavenProject(mavenProject, pomfile);

        boolean pluginExists = MavenUtils.checkOldPluginEntry(mavenProject, "org.apache.felix",
                "maven-bundle-plugin", "2.3.4");
        if (pluginExists) {
            project.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());
            return true;
        }
        project.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());
        ProjectUtils.addNatureToProject(project, false, CARBON_UI_BUNDLE_PROJECT_NATURE);
        MavenUtils.updateWithMavenEclipsePlugin(pomfile, new String[] { JDT_BUILD_COMMAND },
                new String[] { CARBON_UI_BUNDLE_PROJECT_NATURE, JDT_PROJECT_NATURE });
        project.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());

        try {
            refreshDistProjects();
            IFile activatorClassForProject = getManifestFileForProject(project);
            IDE.openEditor(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage(),
                    activatorClassForProject);
        } catch (Exception e) {
            log.error("Cannot open file in editor", e);
        }
    } catch (CoreException e) {
        log.error("CoreException has occurred", e);
    } catch (Exception e) {
        log.error("An unexpected error has occurred", e);
    }
    return true;
}

From source file:org.wso2.developerstudio.eclipse.artifact.ds.validator.ui.wizard.DataServiceValidatorCreationWizard.java

License:Open Source License

public boolean performFinish() {
    try {//from  www  . j a v  a 2 s  . co  m
        if (dsValidatorModel.getSelectedOption().equals("new.validator")) {
            project = createNewProject();
            IFolder srcFolder = ProjectUtils.getWorkspaceFolder(project, "src", "main", "java");
            JavaUtils.addJavaSupportAndSourceFolder(project, srcFolder);

            /*create the new Java project*/
            String className = dsValidatorModel.getValidatorClass();
            String packageName = dsValidatorModel.getValidatorClassPackage();
            IJavaProject iJavaProject = JavaCore.create(project);
            IPackageFragmentRoot root = iJavaProject.getPackageFragmentRoot(srcFolder);
            IPackageFragment sourcePackage = root.createPackageFragment(packageName, false, null);

            /*get the validator class template*/
            String template = DataServiceValidatorClassTemplate.getClassTemplete(packageName, className);
            ICompilationUnit cu = sourcePackage.createCompilationUnit(className + ".java", template, false,
                    null);
            project.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());
            try {
                IEditorPart javaEditor = JavaUI.openInEditor(cu);
                JavaUI.revealInEditor(javaEditor, (IJavaElement) cu);
            } catch (Exception e) {
                /* ignore */}
        } else {
            project = dsValidatorModel.getValidatorProject();
        }
        File pomfile = project.getFile("pom.xml").getLocation().toFile();
        getModel().getMavenInfo().setPackageName("bundle");
        if (!pomfile.exists()) {
            createPOM(pomfile);
            addDependancies(project);
        }
        MavenProject mavenProject = MavenUtils.getMavenProject(pomfile);
        boolean pluginExists = MavenUtils.checkOldPluginEntry(mavenProject, "org.apache.felix",
                "maven-bundle-plugin", "2.3.4");
        if (pluginExists) {
            project.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());
            return true;
        }
        project.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());
        ProjectUtils.addNatureToProject(project, false, DS_VALIDATOR_PROJECT_NATURE);
        MavenUtils.updateWithMavenEclipsePlugin(pomfile, new String[] { JDT_BUILD_COMMAND },
                new String[] { DS_VALIDATOR_PROJECT_NATURE, JDT_PROJECT_NATURE });
        getModel().addToWorkingSet(project);
        project.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());
        refreshDistProjects();
    } catch (CoreException e) {
        log.error(e);
    } catch (Exception e) {
        log.error(e);
    }
    return true;
}

From source file:org.wso2.developerstudio.eclipse.artifact.jaxrs.ui.wizard.JaxrsClassWizard.java

License:Open Source License

public boolean performFinish() {
    String id = "";
    String address = "";
    String serviceClass = "";

    try {/*from  ww w.  ja v a2 s . c om*/

        IProject project = getSelectedProject();
        IFolder sourceFolder = ProjectUtils.getWorkspaceFolder(project, "src", "main", "java");
        IFolder webINF = ProjectUtils.getWorkspaceFolder(project, "src", "main", "webapp", "WEB-INF");
        IFile cxfServletXML = webINF.getFile("cxf-servlet.xml");
        IJavaProject javaProject = JavaCore.create(project);
        IPackageFragmentRoot root = javaProject.getPackageFragmentRoot(sourceFolder);

        if (classWizardPage.getIsCreateIfClass()) {
            String ifPkg = classWizardPage.getIfPkg();
            String ifClass = classWizardPage.getIfClass();

            IPackageFragment ifSourcePackage = root.getPackageFragment(ifPkg);
            if (!ifSourcePackage.exists()) {
                ifSourcePackage = root.createPackageFragment(ifPkg, false, null);
            }
            ICompilationUnit compilationUnit = ifSourcePackage.createCompilationUnit(ifClass + ".java",
                    JaxUtil.getServiceClassSource(ifPkg, ifClass, classWizardPage.isCreateStubs()), false,
                    null);
            project.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());

            List superInterfaces = classWizardPage.getSuperInterfaces();
            superInterfaces.add(compilationUnit.getTypes()[0].getFullyQualifiedName());
            classWizardPage.setSuperInterfaces(superInterfaces, false);

            id = compilationUnit.getTypes()[0].getElementName();
            id = Character.toLowerCase(id.charAt(0)) + id.substring(1);
            serviceClass = "";
            address = "/" + compilationUnit.getTypes()[0].getElementName();

        }

        classWizardPage.createType(new NullProgressMonitor());
        IType classSource = classWizardPage.getCreatedType();
        ICompilationUnit unit = classSource.getCompilationUnit();
        unit.getJavaProject().getProject().refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());

        unit.becomeWorkingCopy(new NullProgressMonitor());
        unit.createImport("javax.ws.rs.Path", null, new NullProgressMonitor());
        String source = unit.getSource();
        String searchFor = "public class " + classSource.getTypeQualifiedName();
        int pos = source.indexOf(searchFor);
        source = (source.substring(0, pos) + "@Path(\"/" + "\")" + System.getProperty("line.separator")
                + source.substring(pos));
        IBuffer workingCopyBuffer = unit.getBuffer();
        workingCopyBuffer.setContents(source);
        unit.commitWorkingCopy(false, new NullProgressMonitor());

        try {

            if (!classWizardPage.getIsCreateIfClass()) {
                id = unit.getTypes()[0].getElementName();
                id = Character.toLowerCase(id.charAt(0)) + id.substring(1);
                serviceClass = unit.getTypes()[0].getFullyQualifiedName();
                address = "/" + unit.getTypes()[0].getElementName();
            }

            JaxUtil.CxfServlet cxfServlet = new JaxUtil.CxfServlet();
            cxfServlet.deserialize(cxfServletXML);
            address = address.replaceAll("([A-Z])", "_$1"); // split CamelCase
            address = address.replaceAll("^/_", "/");
            address = address.toLowerCase();
            String beanClass = unit.getTypes()[0].getFullyQualifiedName();
            cxfServlet.addServer(id, serviceClass, address, beanClass);
            String content = cxfServlet.toString().replaceAll("\\ xmlns=\"\"", "");
            cxfServletXML.setContents(new ByteArrayInputStream(content.getBytes()), IResource.FORCE, null);
            project.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());

            try {
                IEditorPart javaEditor = JavaUI.openInEditor(unit);
                JavaUI.revealInEditor(javaEditor, (IJavaElement) unit);
            } catch (Exception e) {/* ignore */
                log.error("Exception has occurred", e);
            }

        } catch (Exception e) {
            log.error("cannot update cxf-servlet.xml", e);
        }

    } catch (CoreException e) {
        log.error("CoreException has occurred", e);
    } catch (InterruptedException e) {
        log.error("An InterruptedException has occurred", e);
    }
    return true;
}

From source file:org.wso2.developerstudio.eclipse.artifact.jaxrs.ui.wizard.JaxrsCreationWizard.java

License:Open Source License

private ICompilationUnit createServiceClass(IProject project, CxfServlet cxfServlet, String packageName,
        String className) throws CoreException {
    IJavaProject javaProject = JavaCore.create(project);
    IPackageFragmentRoot root = javaProject.getPackageFragmentRoot(sourceFolder);
    IPackageFragment sourcePackage = root.createPackageFragment(packageName, false, null);
    StringBuffer buffer = new StringBuffer();
    if (!packageName.equalsIgnoreCase("")) {
        buffer.append("package " + packageName + ";\n");
        buffer.append("\n");
    }/*from   w w w.j  ava2s . co  m*/
    buffer.append("import javax.ws.rs.*;\n");
    buffer.append("\n");
    buffer.append("@Path(\"/\")\n" + "public class " + className + " {\n\n");
    buffer.append("\n}");

    ICompilationUnit cu = sourcePackage.createCompilationUnit(className + ".java", buffer.toString(), false,
            null);
    String address = "/" + cu.getTypes()[0].getElementName();
    address = address.replaceAll("([A-Z])", "_$1"); // split CamelCase
    address = address.replaceAll("^/_", "/");
    address = address.toLowerCase();
    String beanClass = cu.getTypes()[0].getFullyQualifiedName();
    cxfServlet.addServer(cu.getTypes()[0].getElementName(), null, address, beanClass);
    return cu;
}

From source file:org.wso2.developerstudio.eclipse.artifact.jaxws.ui.wizard.JaxwsClassWizard.java

License:Open Source License

public boolean performFinish() {
    try {/*from w  ww  .  j av a2  s  . co  m*/
        String ifPkg = jaxwsClassWizardPage.getIfPkg();
        String ifClass = jaxwsClassWizardPage.getIfClass();
        IProject project = getSelectedProject();
        IFolder sourceFolder = ProjectUtils.getWorkspaceFolder(project, "src", "main", "java");
        IFolder webINF = ProjectUtils.getWorkspaceFolder(project, "src", "main", "webapp", "WEB-INF");
        IFile cxfServletXML = webINF.getFile("cxf-servlet.xml");
        IJavaProject javaProject = JavaCore.create(project);
        IPackageFragmentRoot root = javaProject.getPackageFragmentRoot(sourceFolder);

        String id = "";
        String serviceClass = null;
        String address = "";

        List superInterfaces = jaxwsClassWizardPage.getSuperInterfaces();

        if (jaxwsClassWizardPage.isCreateServiceInterface()) {

            IPackageFragment ifSourcePackage = root.getPackageFragment(ifPkg);
            if (!ifSourcePackage.exists()) {
                ifSourcePackage = root.createPackageFragment(ifPkg, false, null);
            }

            ICompilationUnit cu = ifSourcePackage.createCompilationUnit(ifClass + ".java",
                    JaxUtil.getServiceClassSource(ifPkg, ifClass, jaxwsClassWizardPage.isCreateStubs()), false,
                    null);
            project.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());

            superInterfaces.add(cu.getTypes()[0].getFullyQualifiedName());

            id = cu.getTypes()[0].getElementName();
            id = Character.toLowerCase(id.charAt(0)) + id.substring(1);
            serviceClass = cu.getTypes()[0].getFullyQualifiedName();
            address = "/" + cu.getTypes()[0].getElementName();
        }

        jaxwsClassWizardPage.setSuperInterfaces(superInterfaces, false);
        jaxwsClassWizardPage.createType(new NullProgressMonitor());
        IType classSource = jaxwsClassWizardPage.getCreatedType();
        ICompilationUnit unit = classSource.getCompilationUnit();
        unit.becomeWorkingCopy(new NullProgressMonitor());
        unit.createImport("javax.jws.WebService", null, new NullProgressMonitor());
        String source = unit.getSource();
        String searchFor = "public class " + classSource.getTypeQualifiedName();
        int pos = source.indexOf(searchFor);
        source = (source.substring(0, pos) + "@WebService(serviceName = \"" + classSource.getTypeQualifiedName()
                + "\")" + System.getProperty("line.separator") + source.substring(pos));
        IBuffer workingCopyBuffer = unit.getBuffer();
        workingCopyBuffer.setContents(source);
        unit.commitWorkingCopy(false, new NullProgressMonitor());
        unit.getJavaProject().getProject().refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());

        if (!jaxwsClassWizardPage.isCreateServiceInterface()) {
            id = classSource.getElementName();
            id = Character.toLowerCase(id.charAt(0)) + id.substring(1);
            //serviceClass = classSource.getFullyQualifiedName();
            address = "/" + classSource.getElementName();
        }

        JaxUtil.CxfServlet cxfServlet = new JaxUtil.CxfServlet();

        try {

            cxfServlet = new JaxUtil.CxfServlet();
            cxfServlet.deserialize(cxfServletXML);

            address = address.replaceAll("([A-Z])", "_$1"); // split CamelCase
            address = address.replaceAll("^/_", "/");
            address = address.toLowerCase();
            String beanClass = unit.getTypes()[0].getFullyQualifiedName();
            cxfServlet.addServer(id, serviceClass, address, beanClass);
            /*to drop empty NS, due to https://issues.apache.org/jira/browse/AXIOM-97 (was fixed in AXIOM 1.2.10)*/
            String content = cxfServlet.toString().replaceAll("xmlns=\"\"", "");
            cxfServletXML.setContents(new ByteArrayInputStream(content.getBytes()), IResource.FORCE, null);
            project.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());

            IEditorPart javaEditor = JavaUI.openInEditor(unit);
            JavaUI.revealInEditor(javaEditor, (IJavaElement) unit);
        } catch (Exception e) {
            log.error("cannot update cxf-servlet.xml", e);
        }

    } catch (CoreException e) {
        log.error("CoreException has occurred", e);
    } catch (InterruptedException e) {
        log.error("An InterruptedException has occurred", e);
    }
    return true;
}

From source file:org.wso2.developerstudio.eclipse.artifact.jaxws.ui.wizard.JaxwsServiceCreationWizard.java

License:Open Source License

private ICompilationUnit createServiceClass(IProject project, CxfServlet cxfServlet, String packageName,
        String className) throws CoreException {
    IJavaProject javaProject = JavaCore.create(project);
    IPackageFragmentRoot root = javaProject.getPackageFragmentRoot(sourceFolder);
    IPackageFragment sourcePackage = root.createPackageFragment(packageName, false, null);
    StringBuffer buffer = new StringBuffer();
    if (!packageName.equalsIgnoreCase("")) {
        buffer.append("package " + packageName + ";\n");
        buffer.append("\n");
    }/*from  w w  w. j  a  v  a 2  s  .c o  m*/
    buffer.append("import javax.jws.WebService;\n");
    buffer.append("import javax.jws.WebMethod;\n");
    buffer.append("import javax.jws.WebParam;\n");
    buffer.append("\n");
    buffer.append("@WebService(serviceName = \"" + className + "\")\n" + "public class " + className + "{\n\n");
    buffer.append("\t/** This is a sample web service operation */\n");
    buffer.append("\t@WebMethod(operationName = \"hello\")\n");
    buffer.append("\tpublic String hello(@WebParam(name = \"name\") String txt) {\n");
    buffer.append("\t\treturn \"Hello \" + txt + \" !\";\n");
    buffer.append("\t}\n\n");
    buffer.append("\n}");
    ICompilationUnit cu = sourcePackage.createCompilationUnit(className + ".java", buffer.toString(), false,
            null);
    String address = "/" + cu.getTypes()[0].getElementName();
    address = address.replaceAll("([A-Z])", "_$1"); // split CamelCase
    address = address.replaceAll("^/_", "/");
    address = address.toLowerCase();
    String beanClass = cu.getTypes()[0].getFullyQualifiedName();
    cxfServlet.addServer(cu.getTypes()[0].getElementName(), null, address, beanClass);
    return cu;
}

From source file:org.wso2.developerstudio.eclipse.artifact.mediator.ui.wizard.CustomMediatorCreationWizard.java

License:Open Source License

public boolean performFinish() {
    try {//from   w  w w .jav  a 2  s  . c  o m

        if (customMediatorModel.getSelectedOption().equals("new.mediator")) {
            project = createNewProject();
            IFolder srcFolder = ProjectUtils.getWorkspaceFolder(project, "src", "main", "java");
            JavaUtils.addJavaSupportAndSourceFolder(project, srcFolder);

            /*create the new Java project*/
            String className = customMediatorModel.getMediatorClassName();
            String packageName = customMediatorModel.getMediatorClassPackageName();
            IJavaProject iJavaProject = JavaCore.create(project);
            IPackageFragmentRoot root = iJavaProject.getPackageFragmentRoot(srcFolder);
            IPackageFragment sourcePackage = root.createPackageFragment(packageName, false, null);

            /*get the Mediator class template*/
            String template = CustomMediatorClassTemplate.getClassTemplete(packageName, className);
            ICompilationUnit cu = sourcePackage.createCompilationUnit(className + ".java", template, false,
                    null);

            project.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());
            try {
                IEditorPart javaEditor = JavaUI.openInEditor(cu);
                JavaUI.revealInEditor(javaEditor, (IJavaElement) cu);
            } catch (Exception e) {
                log.error(e);
            }
        } else {
            project = customMediatorModel.getMediatorProject();
            project.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());
        }
        File pomfile = project.getFile("pom.xml").getLocation().toFile();
        getModel().getMavenInfo().setPackageName("bundle");
        if (!pomfile.exists()) {
            createPOM(pomfile);
            addDependancies(project);
        }
        MavenProject mavenProject = MavenUtils.getMavenProject(pomfile);
        boolean pluginExists = MavenUtils.checkOldPluginEntry(mavenProject, "org.apache.felix",
                "maven-bundle-plugin", "2.3.4");
        if (!pluginExists) {
            Plugin plugin = MavenUtils.createPluginEntry(mavenProject, "org.apache.felix",
                    "maven-bundle-plugin", "2.3.4", true);

            Xpp3Dom configurationNode = MavenUtils.createMainConfigurationNode(plugin);
            Xpp3Dom instructionNode = MavenUtils.createXpp3Node("instructions");
            Xpp3Dom bundleSymbolicNameNode = MavenUtils.createXpp3Node(instructionNode, "Bundle-SymbolicName");
            Xpp3Dom bundleNameNode = MavenUtils.createXpp3Node(instructionNode, "Bundle-Name");
            ;
            Xpp3Dom exportPackageNode = MavenUtils.createXpp3Node(instructionNode, "Export-Package");
            Xpp3Dom dynamicImportNode = MavenUtils.createXpp3Node(instructionNode, "DynamicImport-Package");
            bundleSymbolicNameNode.setValue(project.getName());
            bundleNameNode.setValue(project.getName());
            if (customMediatorModel.getMediatorClassPackageName() != null
                    && !customMediatorModel.getMediatorClassPackageName().trim().isEmpty()) {
                exportPackageNode.setValue(customMediatorModel.getMediatorClassPackageName());
            } else {
                IJavaProject javaProject = JavaCore.create(project);
                if (null != javaProject) {
                    StringBuffer sb = new StringBuffer();
                    for (IPackageFragment pkg : javaProject.getPackageFragments()) {
                        if (pkg.getKind() == IPackageFragmentRoot.K_SOURCE) {
                            if (pkg.hasChildren()) {
                                sb.append(pkg.getElementName()).append(",");
                            }
                        }
                    }
                    exportPackageNode.setValue(sb.toString().replaceAll(",$", ""));
                }
            }
            dynamicImportNode.setValue("*");
            configurationNode.addChild(instructionNode);
            MavenUtils.saveMavenProject(mavenProject, pomfile);
        }

        project.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());
        ProjectUtils.addNatureToProject(project, false, MEDIATOR_PROJECT_NATURE);
        MavenUtils.updateWithMavenEclipsePlugin(pomfile, new String[] { JDT_BUILD_COMMAND },
                new String[] { MEDIATOR_PROJECT_NATURE, JDT_PROJECT_NATURE });
        customMediatorModel.addToWorkingSet(project);
        project.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());
        refreshDistProjects();
    } catch (CoreException e) {
        log.error(e);
    } catch (Exception e) {
        log.error(e);
    }
    return true;
}

From source file:rabbit.tracking.internal.trackers.JavaTrackerTest.java

License:Apache License

@BeforeClass
public static void beforeClass() throws Exception {
    new OpenJavaPerspectiveAction().run();

    // Creates the project:
    IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
    IProject proj = root.getProject(System.currentTimeMillis() + "");
    JavaCapabilityConfigurationPage.createProject(proj, (URI) null, null);
    project = JavaCore.create(proj);//from ww w . ja  va2s .  com
    JavaCapabilityConfigurationPage page = new JavaCapabilityConfigurationPage();
    page.init(project, null, null, false);
    page.configureJavaProject(null);

    // Creates the package:
    IPackageFragmentRoot src = project.getAllPackageFragmentRoots()[0];
    pkg = src.createPackageFragment("pkg", true, null);

    // Creates the class:
    String className = "Program";
    StringBuilder builder = new StringBuilder();
    builder.append(format("package %s;%n", pkg.getElementName()));
    builder.append(format("public class %s {%n", className));
    builder.append(format("}%n"));
    String content = builder.toString();
    unit = pkg.createCompilationUnit(className + ".java", content, true, null);
    unit.open(null);

    PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().closeAllEditors(false);
}