Example usage for org.apache.maven.project MavenProject getModel

List of usage examples for org.apache.maven.project MavenProject getModel

Introduction

In this page you can find the example usage for org.apache.maven.project MavenProject getModel.

Prototype

public Model getModel() 

Source Link

Usage

From source file:org.wso2.developerstudio.eclipse.artifact.ds.validator.project.nature.DataServiceValidatorProjectNature.java

License:Open Source License

public void updatePom() throws Exception {
    ResourceBundle mediatorPropetiesBundle = ResourceBundle.getBundle("dsValidator");
    String groupId = mediatorPropetiesBundle.getString("Plugin_groupId");
    String artifactId = mediatorPropetiesBundle.getString("Plugin_artficatId");
    String version = mediatorPropetiesBundle.getString("Plugin_version");

    File mavenProjectPomLocation = getProject().getFile("pom.xml").getLocation().toFile();
    MavenProject mavenProject = MavenUtils.getMavenProject(mavenProjectPomLocation);
    mavenProject.getModel().getProperties().put("CApp.type", "lib/dataservice/validator");
    Plugin plugin = MavenUtils.createPluginEntry(mavenProject, groupId, artifactId, version, true);
    PluginExecution pluginExecution;/*from  w  w  w  .  j  a  v  a  2s .  com*/
    pluginExecution = new PluginExecution();
    plugin.addExecution(pluginExecution);

    String name = DataServiceValidatorCreationWizard.getCustomMediatorModel().getValidatorClass();
    Xpp3Dom configNode = MavenUtils.createXpp3Node("configuration");
    Xpp3Dom instructionNode = MavenUtils.createXpp3Node(configNode, "instructions");
    Xpp3Dom sybundleNode = MavenUtils.createXpp3Node(instructionNode, "Bundle-SymbolicName");
    sybundleNode.setValue(name);
    Xpp3Dom bundleNode = MavenUtils.createXpp3Node(instructionNode, "Bundle-Name");
    bundleNode.setValue(name);
    Xpp3Dom pacNode = MavenUtils.createXpp3Node(instructionNode, "Export-Package");
    pacNode.setValue(DataServiceValidatorCreationWizard.getCustomMediatorModel().getValidatorClassPackage());
    Xpp3Dom impNode = MavenUtils.createXpp3Node(instructionNode, "DynamicImport-Package");
    impNode.setValue("*");
    plugin.setConfiguration(configNode);

    List<Dependency> dependencyList = new ArrayList<Dependency>();
    Map<String, JavaLibraryBean> dependencyInfoMap = JavaLibraryUtil.getDependencyInfoMap(getProject());
    Map<String, String> map = ProjectDependencyConstants.DEPENDENCY_MAP;
    for (JavaLibraryBean bean : dependencyInfoMap.values()) {
        if (bean.getVersion().contains("${")) {
            for (String path : map.keySet()) {
                bean.setVersion(bean.getVersion().replace(path, map.get(path)));
            }
        }
        Dependency dependency = new Dependency();
        dependency.setArtifactId(bean.getArtifactId());
        dependency.setGroupId(bean.getGroupId());
        dependency.setVersion(bean.getVersion());
        dependencyList.add(dependency);
    }
    MavenUtils.addMavenDependency(mavenProject, dependencyList);
    MavenUtils.saveMavenProject(mavenProject, mavenProjectPomLocation);
}

From source file:org.wso2.developerstudio.eclipse.artifact.endpoint.ui.wizard.EndpointProjectCreationWizard.java

License:Open Source License

private void addGeneralProjectPlugin(IProject project) throws Exception {
    MavenProject mavenProject;

    File mavenProjectPomLocation = project.getFile("pom.xml").getLocation().toFile();
    if (!mavenProjectPomLocation.exists()) {
        mavenProject = MavenUtils.createMavenProject("org.wso2.carbon." + project.getName(), project.getName(),
                "1.0.0", "pom");
    } else {/*  w w w. j a  v  a  2  s. c  o  m*/
        mavenProject = MavenUtils.getMavenProject(mavenProjectPomLocation);
    }

    boolean pluginExists = MavenUtils.checkOldPluginEntry(mavenProject, "org.wso2.maven",
            "wso2-general-project-plugin", ESBMavenConstants.WSO2_GENERAL_PROJECT_VERSION);
    if (pluginExists) {
        return;
    }

    Plugin plugin = MavenUtils.createPluginEntry(mavenProject, "org.wso2.maven", "wso2-general-project-plugin",
            ESBMavenConstants.WSO2_GENERAL_PROJECT_VERSION, true);

    PluginExecution pluginExecution;

    pluginExecution = new PluginExecution();
    pluginExecution.addGoal("pom-gen");
    pluginExecution.setPhase("process-resources");
    pluginExecution.setId("registry");
    plugin.addExecution(pluginExecution);

    Xpp3Dom configurationNode = MavenUtils.createMainConfigurationNode();
    Xpp3Dom artifactLocationNode = MavenUtils.createXpp3Node(configurationNode, "artifactLocation");
    artifactLocationNode.setValue(".");
    Xpp3Dom typeListNode = MavenUtils.createXpp3Node(configurationNode, "typeList");
    typeListNode.setValue("${artifact.types}");
    pluginExecution.setConfiguration(configurationNode);

    Repository repo = new Repository();
    repo.setUrl("http://dist.wso2.org/maven2");
    repo.setId("wso2-maven2-repository-1");

    Repository repo1 = new Repository();
    repo1.setUrl("http://maven.wso2.org/nexus/content/groups/wso2-public/");
    repo1.setId("wso2-nexus-maven2-repository-1");

    if (!mavenProject.getRepositories().contains(repo)) {
        mavenProject.getModel().addRepository(repo);
        mavenProject.getModel().addPluginRepository(repo);
    }

    if (!mavenProject.getRepositories().contains(repo1)) {
        mavenProject.getModel().addRepository(repo1);
        mavenProject.getModel().addPluginRepository(repo1);
    }

    MavenUtils.saveMavenProject(mavenProject, mavenProjectPomLocation);
}

From source file:org.wso2.developerstudio.eclipse.artifact.jaxrs.project.nature.JaxrsProjectNature.java

License:Open Source License

public void updatePom() throws Exception {
    File mavenProjectPomLocation = getProject().getFile("pom.xml").getLocation().toFile();
    MavenProject mavenProject = MavenUtils.getMavenProject(mavenProjectPomLocation);

    addMavenCompilerPlugin(mavenProject);
    addMavenWarPlugin(mavenProject);//from w  ww. j a v a 2s. c  om

    Properties properties = mavenProject.getModel().getProperties();

    properties.put("CApp.type", "webapp/jaxws");
    /* we are using same cApp type for both jaxws and jaxrs  */

    mavenProject.getModel().setProperties(properties);

    List<Dependency> dependencyList = new ArrayList<Dependency>();

    Map<String, JavaLibraryBean> dependencyInfoMap = JavaLibraryUtil.getDependencyInfoMap(getProject());
    Map<String, String> map = ProjectDependencyConstants.DEPENDENCY_MAP;
    for (JavaLibraryBean bean : dependencyInfoMap.values()) {
        if (bean.getVersion().contains("${")) {
            for (String path : map.keySet()) {
                bean.setVersion(bean.getVersion().replace(path, map.get(path)));
            }
        }
        Dependency dependency = new Dependency();
        dependency.setArtifactId(bean.getArtifactId());
        dependency.setGroupId(bean.getGroupId());
        dependency.setVersion(bean.getVersion());
        dependency.setScope("provided");
        dependencyList.add(dependency);
    }
    MavenUtils.addMavenDependency(mavenProject, dependencyList);
    MavenUtils.saveMavenProject(mavenProject, mavenProjectPomLocation);

}

From source file:org.wso2.developerstudio.eclipse.artifact.jaxws.project.nature.JaxwsServiceProjectNature.java

License:Open Source License

public void updatePom() throws Exception {
    File mavenProjectPomLocation = getProject().getFile("pom.xml").getLocation().toFile();
    MavenProject mavenProject = MavenUtils.getMavenProject(mavenProjectPomLocation);

    addMavenCompilerPlugin(mavenProject);
    addMavenWarPlugin(mavenProject);/*from   w ww.  j  a  va2 s .co m*/

    Properties properties = mavenProject.getModel().getProperties();

    properties.put("CApp.type", "webapp/jaxws");

    mavenProject.getModel().setProperties(properties);

    List<Dependency> dependencyList = new ArrayList<Dependency>();

    Map<String, JavaLibraryBean> dependencyInfoMap = JavaLibraryUtil.getDependencyInfoMap(getProject());
    Map<String, String> map = ProjectDependencyConstants.DEPENDENCY_MAP;
    for (JavaLibraryBean bean : dependencyInfoMap.values()) {
        if (bean.getVersion().contains("${")) {
            for (String path : map.keySet()) {
                bean.setVersion(bean.getVersion().replace(path, map.get(path)));
            }
        }
        Dependency dependency = new Dependency();
        dependency.setArtifactId(bean.getArtifactId());
        dependency.setGroupId(bean.getGroupId());
        dependency.setVersion(bean.getVersion());
        dependency.setScope("provided");
        dependencyList.add(dependency);
    }
    MavenUtils.addMavenDependency(mavenProject, dependencyList);
    MavenUtils.saveMavenProject(mavenProject, mavenProjectPomLocation);

}

From source file:org.wso2.developerstudio.eclipse.artifact.library.project.export.LibraryArtifactHandler.java

License:Open Source License

public List<IResource> exportArtifact(IProject project) throws Exception {
    List<IResource> exportResources = new ArrayList<IResource>();
    List<String> exportedPackageList = new ArrayList<String>();
    List<String> importededPackageList = new ArrayList<String>();

    ArchiveManipulator archiveManipulator = new ArchiveManipulator();
    NullProgressMonitor nullProgressMonitor = new NullProgressMonitor();
    BundlesDataInfo bundleData = new BundlesDataInfo();
    IFile bundleDataFile = project.getFile("bundles-data.xml");
    File tempProject = createTempProject();
    File libResources = createTempDir(tempProject, "lib_resources");
    MavenProject mavenProject = MavenUtils.getMavenProject(project.getFile("pom.xml").getLocation().toFile());

    if (bundleDataFile.exists()) {
        bundleData.deserialize(bundleDataFile);

        for (String lib : bundleData.getExportedPackageListsFromJar().keySet()) {
            IFile JarFile = project.getFile(lib);
            if (JarFile.exists()) {
                archiveManipulator.extract(JarFile.getLocation().toFile(), libResources);
                exportedPackageList.addAll(bundleData.getExportedPackageListsFromJar().get(lib));
            }//from   w ww . j a v a2  s  .c  om
        }
        for (IProject lib : bundleData.getExportedPackageListsFromProject().keySet()) {
            if (lib.isOpen()) {
                lib.build(IncrementalProjectBuilder.FULL_BUILD, nullProgressMonitor);
                IJavaProject javaLibProject = JavaCore.create(lib);
                for (IPackageFragment pkg : javaLibProject.getPackageFragments()) {
                    if (pkg.getKind() == IPackageFragmentRoot.K_SOURCE) {
                        if (pkg.hasChildren()) {
                            exportedPackageList.add(pkg.getElementName());
                        }
                    }
                }

                IPath outPutPath = getOutputPath(javaLibProject);
                // get resource location
                IPath resources = getResourcePath(lib);

                FileUtils.copyDirectoryContents(outPutPath.toFile(), libResources);
                if (resources.toFile().exists()) {
                    FileUtils.copyDirectoryContents(resources.toFile(), libResources);
                }
            }
        }
        getPackages(exportedPackageList, mavenProject, "Export-Package");
        getPackages(importededPackageList, mavenProject, "Import-Package");
        BundleManifest manifest = new BundleManifest();
        manifest.setBundleName(project.getName());
        manifest.setBundleSymbolicName(project.getName());
        if (null != mavenProject.getModel().getDescription()
                && !"".equals(mavenProject.getModel().getDescription())) {
            manifest.setBundleDescription(mavenProject.getModel().getDescription());
        } else {
            manifest.setBundleDescription(project.getName());
        }
        if (null != mavenProject.getModel().getVersion() && !"".equals(mavenProject.getDescription())) {
            manifest.setBundleVersion(mavenProject.getModel().getVersion());
        } else {
            manifest.setBundleVersion("1.0.0");
        }
        if (null != bundleData.getFragmentHost() && !"".equals(bundleData.getFragmentHost())) {
            manifest.setFragmentHost(bundleData.getFragmentHost());
        }
        manifest.setExportPackagesList(exportedPackageList);
        if (importededPackageList.size() > 0) {
            manifest.setImportPackagesList(importededPackageList);
            manifest.setDynamicImports(false);
        }
        File metaInfDir = new File(libResources, "META-INF");
        if (!metaInfDir.exists())
            metaInfDir.mkdir();
        File manifestFile = new File(metaInfDir, "MANIFEST.MF");
        FileUtils.createFile(manifestFile, manifest.toString());

        File tmpArchive = new File(tempProject, project.getName().concat(".jar"));
        archiveManipulator.archiveDir(tmpArchive.toString(), libResources.toString());

        IFile libArchive = getTargetArchive(project, "jar");
        FileUtils.copy(tmpArchive, libArchive.getLocation().toFile());
        exportResources.add((IResource) libArchive);

        // cleaning temp project
        // if(!org.apache.commons.io.FileUtils.deleteQuietly(tempProject.getLocation().toFile())){
        // tempProject.delete(true, getProgressMonitor());
    }

    TempFileUtils.cleanUp();
    return exportResources;

}

From source file:org.wso2.developerstudio.eclipse.artifact.library.ui.wizard.LibraryArtifactCreationWizard.java

License:Open Source License

public boolean performFinish() {
    try {/*from w ww  .  jav a 2s .com*/

        IProject project = createNewProject();
        List<Dependency> dependencyList = new ArrayList<Dependency>();

        List<String> exportedPackages = fillDependencyList(project, libraryModel, dependencyList);
        StringBuffer sb = new StringBuffer();
        for (String exportedpackage : exportedPackages) {
            sb.append(exportedpackage.trim()).append(",");
        }
        String exportPackageNodeValue = sb.toString().trim().replaceAll(",$", "");

        File pomfile = project.getFile("pom.xml").getLocation().toFile();
        getModel().getMavenInfo().setPackageName("bundle");
        if (!pomfile.exists()) {
            createPOM(pomfile);
        }

        MavenProject mavenProject = MavenUtils.getMavenProject(pomfile);

        mavenProject.getModel().getProperties().put("CApp.type", "lib/library/bundle");

        Plugin plugin = MavenUtils.createPluginEntry(mavenProject, "org.apache.felix", "maven-bundle-plugin",
                "2.3.4", true);

        Xpp3Dom configurationNode = MavenUtils.createMainConfigurationNode(plugin);
        Xpp3Dom instructionNode = MavenUtils.createXpp3Node(configurationNode, "instructions");
        Xpp3Dom symbolicNameNode = MavenUtils.createXpp3Node(instructionNode, "Bundle-SymbolicName");
        symbolicNameNode.setValue(mavenProject.getArtifactId());
        Xpp3Dom bundleNameNode = MavenUtils.createXpp3Node(instructionNode, "Bundle-Name");
        bundleNameNode.setValue(mavenProject.getArtifactId());
        Xpp3Dom exportPackageNode = MavenUtils.createXpp3Node(instructionNode, "Export-Package");
        exportPackageNode.setValue(exportPackageNodeValue);
        Xpp3Dom dynamicImportNode = MavenUtils.createXpp3Node(instructionNode, "DynamicImport-Package");
        dynamicImportNode.setValue("*");
        if (libraryModel.isFragmentHostBundle()) {
            Xpp3Dom fragmentHostNode = MavenUtils.createXpp3Node(instructionNode, "Fragment-Host");
            fragmentHostNode.setValue(libraryModel.getFragmentHostBundleName());
        }

        Repository repo = new Repository();
        repo.setUrl("http://dist.wso2.org/maven2");
        repo.setId("wso2-maven2-repository-1");

        mavenProject.getModel().addRepository(repo);
        mavenProject.getModel().addPluginRepository(repo);

        MavenUtils.addMavenDependency(mavenProject, dependencyList);
        MavenUtils.saveMavenProject(mavenProject, pomfile);

        ProjectUtils.addNatureToProject(project, false, Constants.LIBRARY_PROJECT_NATURE);
        MavenUtils.updateWithMavenEclipsePlugin(pomfile, new String[] {},
                new String[] { Constants.LIBRARY_PROJECT_NATURE });
        project.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());
        refreshDistProjects();

    } catch (Exception e) {
        log.warn("An Unspecified Error has occurred", e);
    }

    return true;
}

From source file:org.wso2.developerstudio.eclipse.artifact.library.ui.wizard.LibraryArtifactCreationWizard.java

License:Open Source License

private static void handleWorkspaceProjectResource(IProject workSpacePrj)
        throws JavaModelException, Exception, CoreException {
    File pomfile = workSpacePrj.getFile("pom.xml").getLocation().toFile();
    if (!pomfile.exists()) {
        String srcDir = "src";
        MavenProject mavenProject = MavenUtils.createMavenProject("org.wso2.carbon." + workSpacePrj.getName(),
                workSpacePrj.getName(), "1.0.0", "jar");
        IJavaProject javaProject = JavaCore.create(workSpacePrj);
        IClasspathEntry[] classpath = javaProject.getRawClasspath();
        int entryCount = 0;
        for (IClasspathEntry classpathEntry : classpath) {
            if (classpathEntry.getEntryKind() == IClasspathEntry.CPE_SOURCE) {
                if (entryCount == 0) {
                    String entryPath = "";
                    String[] pathSegments = classpathEntry.getPath().segments();
                    if (pathSegments.length > 1) {
                        for (int i = 1; i < pathSegments.length; i++) {
                            if (i == 1) {
                                entryPath = pathSegments[i];
                            } else {
                                entryPath += "/" + pathSegments[i];
                            }//  w w w  .j  a  v a  2  s.c o  m
                        }
                        if (entryPath.length() > 0) {
                            srcDir = entryPath;
                            ++entryCount;
                        }
                    }
                } else {
                    log.warn("multiple source directories found, Considering '" + srcDir
                            + "' as source directory");
                    break;
                }
            }
        }
        if (entryCount == 0) {
            log.warn("No source directory specified, using default source directory.");
        }

        /* adding wso2 nexus repository */
        Repository nexusRepo = new Repository();
        nexusRepo.setUrl("http://maven.wso2.org/nexus/content/groups/wso2-public/");
        nexusRepo.setId("wso2-maven2-repository-1");
        mavenProject.getModel().addRepository(nexusRepo);
        mavenProject.getModel().addPluginRepository(nexusRepo);

        /* adding maven dependencies */
        List<Dependency> libList = new ArrayList<Dependency>();
        Map<String, JavaLibraryBean> dependencyMap = JavaLibraryUtil.getDependencyInfoMap(workSpacePrj);

        for (JavaLibraryBean bean : dependencyMap.values()) {
            Dependency dependency = new Dependency();
            dependency.setArtifactId(bean.getArtifactId());
            dependency.setGroupId(bean.getGroupId());
            dependency.setVersion(bean.getVersion());
            libList.add(dependency);
        }
        mavenProject.setDependencies(libList);

        mavenProject.getBuild().setSourceDirectory(srcDir);
        MavenUtils.saveMavenProject(mavenProject, pomfile);
    }
    workSpacePrj.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());
}

From source file:org.wso2.developerstudio.eclipse.artifact.mediator.project.nature.CustomMediatorProjectNature.java

License:Open Source License

public void updatePom() throws Exception {

    File mavenProjectPomLocation = getProject().getFile("pom.xml").getLocation().toFile();
    MavenProject mavenProject = MavenUtils.getMavenProject(mavenProjectPomLocation);
    mavenProject.getModel().getProperties().put("CApp.type", "lib/synapse/mediator");
    List<Dependency> dependencyList = new ArrayList<Dependency>();
    Map<String, JavaLibraryBean> dependencyInfoMap = JavaLibraryUtil.getDependencyInfoMap(getProject());
    Map<String, String> map = ProjectDependencyConstants.DEPENDENCY_MAP;
    for (JavaLibraryBean bean : dependencyInfoMap.values()) {
        if (bean.getVersion().contains("${")) {
            for (String path : map.keySet()) {
                bean.setVersion(bean.getVersion().replace(path, map.get(path)));
            }/*from   w  w  w .  j a v a  2s  .  c o  m*/
        }
        Dependency dependency = new Dependency();
        dependency.setArtifactId(bean.getArtifactId());
        dependency.setGroupId(bean.getGroupId());
        dependency.setVersion(bean.getVersion());
        dependencyList.add(dependency);
    }
    MavenUtils.addMavenDependency(mavenProject, dependencyList);
    MavenUtils.saveMavenProject(mavenProject, mavenProjectPomLocation);
}

From source file:org.wso2.developerstudio.eclipse.artifact.registry.filter.project.export.RegistryFilterArtifactHandler.java

License:Open Source License

public List<IResource> exportArtifact(IProject project) {
    List<IResource> exportResources = new ArrayList<IResource>();
    List<String> exportedPackageList = new ArrayList<String>();
    if (!project.isOpen()) {
        return exportResources;
    }/*from   w  ww  .  jav  a 2 s .  co  m*/

    try {
        ArchiveManipulator archiveManipulator = new ArchiveManipulator();
        NullProgressMonitor nullProgressMonitor = new NullProgressMonitor();
        //cleaning target directory 
        clearTarget(project);
        //getting maven details
        MavenProject mavenProject = MavenUtils
                .getMavenProject(project.getFile("pom.xml").getLocation().toFile());

        // First compile the code
        project.build(IncrementalProjectBuilder.FULL_BUILD, nullProgressMonitor);

        // Get the output location
        IJavaProject javaProject = JavaCore.create(project);
        IPath outPutPath = ResourcesPlugin.getWorkspace().getRoot().getFolder(javaProject.getOutputLocation())
                .getLocation();

        // get resource location
        IPath resources = project.getFolder("src" + File.separator + "main" + File.separator + "resources")
                .getLocation();

        // getting export packages
        for (IPackageFragment pkg : javaProject.getPackageFragments()) {
            if (pkg.getKind() == IPackageFragmentRoot.K_SOURCE) {
                if (pkg.hasChildren()) {
                    exportedPackageList.add(pkg.getElementName());
                }
            }
        }

        IProject tempProject = ResourcesPlugin.getWorkspace().getRoot()
                .getProject(".temp" + System.currentTimeMillis());
        tempProject.create(nullProgressMonitor);
        tempProject.open(nullProgressMonitor);
        tempProject.setHidden(true);

        org.eclipse.osgi.storagemanager.StorageManager manager = new StorageManager(
                tempProject.getLocation().toFile(), "false");

        File filterResources = manager.createTempFile("filter_resources");
        filterResources.delete();
        filterResources.mkdir();

        FileUtils.copyDirectoryContents(outPutPath.toFile(), filterResources); // copy binaries
        if (resources.toFile().exists()) {
            FileUtils.copyDirectoryContents(resources.toFile(), filterResources); // copy resources
        }

        /* writing manifest */
        BundleManifest manifest = new BundleManifest();
        manifest.setBundleName(project.getName());
        manifest.setBundleSymbolicName(project.getName());
        if (null != mavenProject.getModel().getDescription()
                && !"".equals(mavenProject.getModel().getDescription())) {
            manifest.setBundleDescription(mavenProject.getModel().getDescription());
        } else {
            manifest.setBundleDescription(project.getName());
        }
        if (null != mavenProject.getModel().getVersion() && !"".equals(mavenProject.getDescription())) {
            manifest.setBundleVersion(mavenProject.getModel().getVersion());
        } else {
            manifest.setBundleVersion("1.0.0");
        }
        manifest.setExportPackagesList(exportedPackageList);
        File metaInfDir = new File(filterResources, "META-INF");
        if (!metaInfDir.exists())
            metaInfDir.mkdir();
        File manifestFile = new File(metaInfDir, "MANIFEST.MF");
        FileUtils.createFile(manifestFile, manifest.toString());

        File tmpArchive = new File(tempProject.getLocation().toFile(), project.getName().concat(".jar"));
        archiveManipulator.archiveDir(tmpArchive.toString(), filterResources.toString());
        IFolder binaries = project.getFolder("target");
        if (!binaries.exists()) {
            binaries.create(true, false, nullProgressMonitor);
            binaries.setHidden(true);
        }
        IFile bundleArchive = project.getFile("target/" + project.getName().concat(".jar"));
        FileUtils.copy(tmpArchive, bundleArchive.getLocation().toFile());
        exportResources.add((IResource) bundleArchive);

        // cleaning temp project
        tempProject.delete(true, nullProgressMonitor);

    } catch (Exception e) {
        e.printStackTrace();
    }

    return exportResources;

}

From source file:org.wso2.developerstudio.eclipse.artifact.registry.filter.ui.wizard.RegistryFilterCreationWizard.java

License:Open Source License

public boolean performFinish() {
    try {/*from   w  w w  .  ja v  a 2 s.  c  o  m*/
        project = createNewProject();
        sourceFolder = ProjectUtils.getWorkspaceFolder(project, "src", "main", "java");
        javaProject = JavaCore.create(project);
        root = javaProject.getPackageFragmentRoot(sourceFolder);
        JavaUtils.addJavaSupportAndSourceFolder(project, sourceFolder);
        addDependancies(project);

        String className = filterModel.getFilterClass();
        String packageName = filterModel.getFilterClassPackage();

        IPackageFragment sourcePackage = root.createPackageFragment(packageName, false, null);

        ICompilationUnit cu = sourcePackage.createCompilationUnit(className + ".java",
                getFilterClassSource(packageName, className), false, null);
        project.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());

        File pomfile = project.getFile("pom.xml").getLocation().toFile();
        getModel().getMavenInfo().setPackageName("bundle");
        if (!pomfile.exists()) {
            createPOM(pomfile);
        }

        MavenProject mavenProject = MavenUtils.getMavenProject(pomfile);

        mavenProject.getModel().getProperties().put("CApp.type", "lib/registry/filter");

        Plugin plugin = MavenUtils.createPluginEntry(mavenProject, "org.apache.felix", "maven-bundle-plugin",
                "2.3.4", true);

        Xpp3Dom configurationNode = MavenUtils.createMainConfigurationNode(plugin);
        Xpp3Dom instructionNode = MavenUtils.createXpp3Node(configurationNode, "instructions");
        Xpp3Dom symbolicNameNode = MavenUtils.createXpp3Node(instructionNode, "Bundle-SymbolicName");
        symbolicNameNode.setValue(mavenProject.getArtifactId());
        Xpp3Dom bundleNameNode = MavenUtils.createXpp3Node(instructionNode, "Bundle-Name");
        bundleNameNode.setValue(mavenProject.getArtifactId());
        Xpp3Dom exportPackageNode = MavenUtils.createXpp3Node(instructionNode, "Export-Package");
        exportPackageNode.setValue(packageName);
        Xpp3Dom dynamicImportNode = MavenUtils.createXpp3Node(instructionNode, "DynamicImport-Package");
        dynamicImportNode.setValue("*");

        Repository repo = new Repository();
        repo.setUrl("http://maven.wso2.org/nexus/content/groups/wso2-public/");
        repo.setId("wso2-maven2-repository-1");

        mavenProject.getModel().addRepository(repo);
        mavenProject.getModel().addPluginRepository(repo);

        List<Dependency> dependencyList = new ArrayList<Dependency>();

        Map<String, JavaLibraryBean> dependencyInfoMap = JavaLibraryUtil.getDependencyInfoMap(project);
        Map<String, String> map = ProjectDependencyConstants.DEPENDENCY_MAP;
        for (JavaLibraryBean bean : dependencyInfoMap.values()) {
            if (bean.getVersion().contains("${")) {
                for (String path : map.keySet()) {
                    bean.setVersion(bean.getVersion().replace(path, map.get(path)));
                }
            }
            Dependency dependency = new Dependency();
            dependency.setArtifactId(bean.getArtifactId());
            dependency.setGroupId(bean.getGroupId());
            dependency.setVersion(bean.getVersion());
            dependencyList.add(dependency);
        }
        MavenUtils.addMavenDependency(mavenProject, dependencyList);
        MavenUtils.saveMavenProject(mavenProject, pomfile);
        ProjectUtils.addNatureToProject(project, false, Constants.REGISTRY_FILTER_PROJECT_NATURE);
        MavenUtils.updateWithMavenEclipsePlugin(pomfile, new String[] { JDT_BUILD_COMMAND },
                new String[] { Constants.REGISTRY_FILTER_PROJECT_NATURE, JDT_PROJECT_NATURE });
        project.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());

        try {
            refreshDistProjects();
            IEditorPart javaEditor = JavaUI.openInEditor(cu);
            JavaUI.revealInEditor(javaEditor, (IJavaElement) cu);
        } catch (Exception e) {
            /* ignore */}

    } catch (Exception e) {
        e.printStackTrace();
    }

    return true;
}