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.distribution.project.ui.wizard.ProjectExportWizard.java

License:Open Source License

private void exportNonArchivable(IProject project, int type) throws Exception {
    MavenProject mavenProject = DistProjectUtils.getMavenProject(project);
    String version = mavenProject.getModel().getVersion();
    String finalFileName = String.format("%s_%s", project.getName(), version);
    File destFileName = new File(detailsPage.getExportPath(), finalFileName);
    IFile artifactXMLFile = project.getFile(Constants.ARTIFACT_XML);
    if (artifactXMLFile.exists()) {
        GeneralProjectArtifact artifactXMLDoc = new GeneralProjectArtifact();
        artifactXMLDoc.fromFile(artifactXMLFile.getLocation().toFile());
        List<GeneralArtifact> artifacts = artifactXMLDoc.getAllESBArtifacts();
        if (type == ESB_PROJECT) {
            exportESBArtifact(artifacts, project, destFileName);
        } else if (type == GENERAL_PROJECT) {
            exportRegResources(artifacts, project, destFileName);
        }/*  w ww .  j  a v a 2 s.c  o m*/
    }
}

From source file:org.wso2.developerstudio.eclipse.distribution.project.util.DistProjectUtils.java

License:Open Source License

public static String getServerRole(final MavenProject project, final Dependency dependency) {
    String serverRole = "";
    if (project != null) {
        Properties properties = project.getModel().getProperties();
        String artifactInfo = getArtifactInfoAsString(dependency);
        String artifactInfoOld = getArtifactInfoAsStringOld(dependency); //get artifact info in old property format
        if (properties.containsKey(artifactInfo)) {
            serverRole = properties.getProperty(artifactInfo);
        } else if (properties.containsKey(artifactInfoOld)) {
            //if properties in old format (devs 3.2 or above)
            serverRole = properties.getProperty(artifactInfoOld);
        } else {/*from  w  w w  .java2  s  .co m*/
            ProjectList projectListProvider = new ProjectList();
            List<ListData> projectListData = projectListProvider.getListData(null, null);
            Map<String, DependencyData> projectList = new HashMap<String, DependencyData>();
            for (ListData data : projectListData) {
                DependencyData dependencyData = (DependencyData) data.getData();
                projectList.put(data.getCaption(), dependencyData);
            }
            serverRole = getDefaultServerRole(projectList, artifactInfo);
        }
    }
    return serverRole;
}

From source file:org.wso2.developerstudio.eclipse.distribution.project.util.POMDescriber.java

License:Open Source License

public int describe(InputStream input, IContentDescription description) throws IOException {
    try {/*from w w  w .  j a v  a2 s  . c  om*/
        MavenProject mavenPrj = MavenUtils.getMavenProject(input);
        if ("carbon/application".equals(mavenPrj.getModel().getPackaging())) {
            return VALID;
        }
    } catch (Exception e) {
        log.warn(e);
    }
    return INVALID;
}

From source file:org.wso2.developerstudio.eclipse.distribution.project.validator.ProjectList.java

License:Open Source License

public List<ListData> getListData(String modelProperty, ProjectDataModel model) {
    List<ListData> list = new ArrayList<ListData>();
    IWorkspace workspace = ResourcesPlugin.getWorkspace();
    IWorkspaceRoot root = workspace.getRoot();
    IProject[] projects = root.getProjects();
    for (IProject project : projects) {
        try {/*from   w ww . j  av a  2  s. co m*/
            if (project.isOpen()) {
                if (project.hasNature(Constants.AXIS2_PROJECT_NATURE)
                        || project.hasNature(Constants.BPEL_PROJECT_NATURE)
                        || project.hasNature(Constants.DS_PROJECT_NATURE)
                        || project.hasNature(Constants.DS_VALIDATOR_PROJECT_NATURE)
                        || project.hasNature(Constants.ESB_PROJECT_NATURE)
                        || project.hasNature(Constants.JAXWS_PROJECT_NATURE)
                        || project.hasNature(Constants.JAXRS_PROJECT_NATURE)
                        || project.hasNature(Constants.WEBAPP_PROJECT_NATURE)
                        || project.hasNature(Constants.GADGET_PROJECT_NATURE)
                        || project.hasNature(Constants.LIBRARY_PROJECT_NATURE)
                        || project.hasNature(Constants.MEDIATOR_PROJECT_NATURE)
                        || project.hasNature(Constants.REGISTRY_FILTER_PROJECT_NATURE)
                        || project.hasNature(Constants.REGISTRY_HANDLER_PROJECT_NATURE)
                        || project.hasNature(Constants.GENERAL_PROJECT_NATURE)
                        || project.hasNature(Constants.CARBON_UI_PROJECT_NATURE)
                        || project.hasNature(Constants.CEP_PROJECT_NATURE)
                        || project.hasNature(Constants.BRS_PROJECT_NATURE)
                        || project.hasNature(Constants.JAGGERY_NATURE)
                        || project.hasNature(Constants.SERVICE_META_PROJECT_NATURE)) {
                    try {
                        if (project.hasNature(Constants.ESB_PROJECT_NATURE)
                                || project.hasNature(Constants.GENERAL_PROJECT_NATURE)) {
                            IFile artifactXMLFile = project.getFile(Constants.ARTIFACT_XML);

                            MavenProject mavenProject = DistProjectUtils.getMavenProject(project);

                            if (artifactXMLFile.exists()) {
                                ESBProjectArtifact artifactXMLDoc = new ESBProjectArtifact();
                                try {
                                    artifactXMLDoc.fromFile(artifactXMLFile.getLocation().toFile());
                                    List<ESBArtifact> artifacts = artifactXMLDoc.getAllESBArtifacts();
                                    for (ESBArtifact artifact : artifacts) {
                                        Dependency dependency = new Dependency();
                                        dependency.setArtifactId(artifact.getName());
                                        if (artifact.getGroupId() != null
                                                && !artifact.getGroupId().trim().isEmpty()) {
                                            dependency.setGroupId(artifact.getGroupId());
                                        } else {
                                            dependency.setGroupId(mavenProject.getGroupId());
                                        }
                                        dependency.setVersion(artifact.getVersion());
                                        // dependency.setVersion(mavenProject.getModel().getVersion()); //referring parent version
                                        dependency.setType(ArtifactTypeMapping.getType(artifact.getType()));
                                        dependency.setScope(Artifact.SCOPE_SYSTEM);

                                        // Following artifact types should
                                        // be changed to common template
                                        // artifact type
                                        String artifactType;
                                        if ((Constants.SEQUENCE_TEMPLATE_TYPE.equals(artifact.getType()))
                                                || (Constants.ENDPOINT_TEMPLATE_TYPE
                                                        .equals(artifact.getType()))) {
                                            artifactType = Constants.COMMON_TEMPLATE_TYPE;
                                        } else {
                                            artifactType = artifact.getType();
                                        }

                                        // Target path for capp artifacts
                                        StringBuilder systemPathBuilder = new StringBuilder();
                                        systemPathBuilder.append(project.getLocation().toString());
                                        systemPathBuilder.append(File.separator);
                                        systemPathBuilder.append(Constants.ESB_PROJECT_TARGET_CAPP);
                                        String outputDirPath = systemPathBuilder.toString();

                                        // Post fix defines the target path
                                        String artifactPostFix = getArtifactPostFix(artifactType);

                                        // Generate system path for the
                                        // dependency
                                        systemPathBuilder = new StringBuilder();
                                        systemPathBuilder.append(outputDirPath);
                                        systemPathBuilder.append(File.separator);
                                        systemPathBuilder.append(artifactPostFix);
                                        systemPathBuilder.append(File.separator);
                                        systemPathBuilder.append(artifact.getName());
                                        systemPathBuilder.append(File.separator);
                                        systemPathBuilder.append(Constants.POM_FILE_NAME);
                                        systemPathBuilder.append(".");
                                        systemPathBuilder.append(Constants.POM_FILE_EXTENSION);
                                        dependency.setSystemPath(systemPathBuilder.toString());

                                        DependencyData dependencyData = new DependencyData();
                                        dependencyData.setDependency(dependency);
                                        dependencyData.setParent(project);
                                        dependencyData.setSelf(artifact.getFile());
                                        dependencyData.setCApptype(artifactType);
                                        dependencyData.setServerRole(
                                                Constants.CAPP_PREFIX + artifact.getServerRole());

                                        dependencyData.setServerRole("capp/" + artifact.getServerRole());
                                        list.add(createListData(DistProjectUtils.getArtifactInfoAsString(
                                                dependency, project.getName()), dependencyData));
                                    }
                                } catch (FactoryConfigurationError ignored) {
                                    // ignored
                                }
                            }
                        } else {
                            String cAppType = "";
                            MavenProject mavenProject = DistProjectUtils.getMavenProject(project);
                            Dependency dependency = new Dependency();
                            dependency.setArtifactId(mavenProject.getArtifactId());
                            dependency.setGroupId(mavenProject.getGroupId());
                            dependency.setVersion(mavenProject.getVersion());
                            cAppType = mavenProject.getModel().getPackaging();
                            if (cAppType == null || !ArtifactTypeMapping.isValidArtifactType(cAppType)) {
                                if (mavenProject.getModel().getProperties().containsKey("CApp.type")) {
                                    cAppType = (String) mavenProject.getModel().getProperties()
                                            .get("CApp.type");
                                }
                            }
                            dependency.setType(ArtifactTypeMapping.getType(cAppType));
                            String serverRole = ServerRoleMapping.getServerRole(cAppType);

                            DependencyData dependencyData = new DependencyData();
                            dependencyData.setDependency(dependency);
                            dependencyData.setSelf(project);
                            dependencyData.setCApptype(cAppType);

                            if (!"".equals(serverRole)) {
                                dependencyData.setServerRole("capp/" + serverRole);
                            } else {
                                dependencyData.setServerRole("capp/ApplicationServer");
                            }

                            list.add(createListData(DistProjectUtils.getArtifactInfoAsString(dependency),
                                    dependencyData));
                        }
                    } catch (Exception ignored) {
                        // ignored
                    }
                }
            }
        } catch (Exception e) {
            log.error("Error reading project list", e);
        }
    }
    return list;
}

From source file:org.wso2.developerstudio.eclipse.esb.presentation.ui.NewResourceTemplateDialog.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(), "1.0.0", "pom");
    } else {/*w  w  w.  j av a  2s .  co m*/
        mavenProject = MavenUtils.getMavenProject(mavenProjectPomLocation);
    }

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

    mavenProject = MavenUtils.getMavenProject(mavenProjectPomLocation);
    Plugin plugin = MavenUtils.createPluginEntry(mavenProject, "org.wso2.maven", "wso2-general-project-plugin",
            MavenConstants.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.gmf.brs.diagram.custom.provider.NewResourceTemplateDialog.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(), "1.0.0", "pom");
    } else {//from www. ja  va  2s. com
        mavenProject = MavenUtils.getMavenProject(mavenProjectPomLocation);
    }

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

    mavenProject = MavenUtils.getMavenProject(mavenProjectPomLocation);
    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.maven.internal.executor.impl.MavenExecutorImpl.java

License:Open Source License

public boolean setMavenParent(File mavenProjectLocation, MavenProjectType parentMavenProject) throws Exception {
    File childPomFile = new File(mavenProjectLocation, "pom.xml");
    MavenProject childMavenProject = MavenUtils.getMavenProject(childPomFile);
    Parent parent = null;/*ww w .  j a va2  s  .  c  o m*/
    if (parentMavenProject != null) {
        parent = new Parent();
        parent.setGroupId(parentMavenProject.getGroupId());
        parent.setArtifactId(parentMavenProject.getArtifactId());
        parent.setVersion(parentMavenProject.getVersion());
        if (parentMavenProject.getRelativePath() != null) {
            parent.setRelativePath(parentMavenProject.getRelativePath());
        }
    }
    childMavenProject.getModel().setParent(parent);
    MavenUtils.saveMavenProject(childMavenProject, childPomFile);
    return true;
}

From source file:org.wso2.developerstudio.eclipse.maven.multi.module.handlers.MvnMultiModuleWizard.java

License:Open Source License

public void init() {

    if (multiModuleProject != null) {
        IFile pomFile = multiModuleProject.getFile("pom.xml");
        if (pomFile.exists()) {
            // Parse the pom and see the packaging type
            try {
                moduleModel.setUpdateMode(true);
                MavenProject mavenProject2 = MavenUtils.getMavenProject(pomFile.getLocation().toFile());
                Parent parent = mavenProject2.getModel().getParent();
                if (parent != null) {
                    moduleModel.setRequiredParent(true);
                    moduleModel.setParentArtifact(parent.getArtifactId());
                    moduleModel.setParentGroup(parent.getGroupId());
                    moduleModel.setParentVersion(parent.getVersion());
                    moduleModel.setRelativePath(parent.getRelativePath());
                }/*from w  w  w. j  a  v  a 2 s .  co m*/
                setMavenProperty(mavenProject2.getGroupId(), mavenProject2.getArtifactId(),
                        mavenProject2.getVersion());
                List<String> modules = mavenProject2.getModules();
                MvnMultiModuleProjectList projectListProvider = new MvnMultiModuleProjectList();
                List<ListData> listData = projectListProvider.getListData(null, moduleModel);

                for (ListData data : listData) {
                    IProject moduleProject = (IProject) data.getData();
                    String relativePath = FileUtils
                            .getRelativePath(multiModuleProject.getLocation().toFile(),
                                    moduleProject.getLocation().toFile())
                            .replaceAll(Pattern.quote(File.separator), "/");
                    if (modules.contains(relativePath)) {
                        moduleModel.getSelectedProjects().add(moduleProject);
                    }
                }

            } catch (Exception e) {
                log.error("Error occured while trying to create the Maven Project", e);
            }
        } else {
            setMavenProperty("com.example", multiModuleProject.getName(), "1.0.0");
        }
    }
}

From source file:org.wso2.developerstudio.eclipse.maven.multi.module.handlers.MvnMultiModuleWizard.java

License:Open Source License

public boolean performFinish() {
    // If the multiModuleProject is not empty, then this is thru UI. Just
    // generate the POM
    MavenProject mavenProject = MavenUtils.createMavenProject(moduleModel.getGroupId(),
            moduleModel.getArtifactId(), moduleModel.getVersion(), "pom");

    if (moduleModel.isRequiredParent()) {
        Parent parent = new Parent();
        parent.setArtifactId(moduleModel.getParentArtifact());
        parent.setGroupId(moduleModel.getParentGroup());
        parent.setVersion(moduleModel.getParentVersion());
        String relativePath = moduleModel.getRelativePath();
        if (relativePath != null && !relativePath.trim().isEmpty()) {
            parent.setRelativePath(relativePath);
        }/*ww  w  . j  a  va 2s  . c o  m*/
        mavenProject.getModel().setParent(parent);
    } else {
        mavenProject.getModel().setParent(null);
    }

    List modules = mavenProject.getModules();

    List<IProject> selectedProjects = moduleModel.getSelectedProjects();

    selectedProjects = sortProjects(selectedProjects);

    if (multiModuleProject != null) {
        IFile pomFile = multiModuleProject.getFile("pom.xml");
        if (pomFile.exists()) {
            // Parse the pom and see the packaging type
            try {
                MavenProject mavenProject2 = MavenUtils.getMavenProject(pomFile.getLocation().toFile());
                String packaging = mavenProject2.getPackaging();
                if (!"pom".equalsIgnoreCase(packaging)) {
                    addMavenModules(multiModuleProject, mavenProject, modules, selectedProjects, pomFile);
                } else {
                    modules = mavenProject2.getModules();
                    mavenProject2.setGroupId(moduleModel.getGroupId());
                    mavenProject2.setArtifactId(moduleModel.getArtifactId());
                    mavenProject2.setVersion(moduleModel.getVersion());
                    mavenProject2.getModel().setParent(mavenProject.getModel().getParent());
                    addMavenModules(multiModuleProject, mavenProject2, modules, selectedProjects, pomFile);
                }

            } catch (Exception e) {
                log.error("Error occured while trying to generate the Maven Project for the Project Pom", e);
            }

        } else {
            // Since pom is not there, just create the new pom with all the
            // necessary things
            addMavenModules(multiModuleProject, mavenProject, modules, selectedProjects, pomFile);
        }
        // Adding Maven Multi Module Nature to POM generated Project
        addMavenMultiModuleProjectNature(multiModuleProject);

    } else {
        try {
            moduleModel.setProjectName(moduleModel.getArtifactId());
            project = createNewProject();

            addMavenMultiModuleProjectNature(project);

            addMavenModules(project, mavenProject, modules, selectedProjects, project.getFile("pom.xml"));

        } catch (CoreException e) {
            log.error("Error occured while creating the new Maven Multi Module Project", e);
        } catch (ObserverFailedException e) {
            log.error("Error occured while trying to inject values to the Project Model", e);
        }
    }
    return true;
}

From source file:org.wso2.developerstudio.eclipse.platform.ui.mvn.wizard.MvnMultiModuleWizard.java

License:Open Source License

public void init() {

    if (multiModuleProject != null) {
        IFile pomFile = multiModuleProject.getFile("pom.xml");
        if (pomFile.exists()) {
            // Parse the pom and see the packaging type
            try {
                moduleModel.setUpdateMode(true);
                MavenProject mavenProject2 = MavenUtils.getMavenProject(pomFile.getLocation().toFile());

                Parent parent = mavenProject2.getModel().getParent();
                if (parent != null) {
                    moduleModel.setRequiredParent(true);
                    moduleModel.setParentArtifact(parent.getArtifactId());
                    moduleModel.setParentGroup(parent.getGroupId());
                    moduleModel.setParentVersion(parent.getVersion());
                    moduleModel.setRelativePath(parent.getRelativePath());
                }/*from   w w  w .  j  a  va 2  s.c  o m*/

                setMavenProperty(mavenProject2.getGroupId(), mavenProject2.getArtifactId(),
                        mavenProject2.getVersion());

                List<String> modules = mavenProject2.getModules();
                MvnMultiModuleProjectList projectListProvider = new MvnMultiModuleProjectList();
                List<ListData> listData = projectListProvider.getListData(null, null);

                for (ListData data : listData) {
                    IProject moduleProject = (IProject) data.getData();
                    String relativePath = FileUtils
                            .getRelativePath(multiModuleProject.getLocation().toFile(),
                                    moduleProject.getLocation().toFile())
                            .replaceAll(Pattern.quote(File.separator), "/");
                    if (modules.contains(relativePath)) {
                        moduleModel.getSelectedProjects().add(moduleProject);
                    }
                }

            } catch (Exception e) {
                log.error("Error occured while trying to create the Maven Project", e);
            }
        } else {
            setMavenProperty("com.example", multiModuleProject.getName(), "1.0.0");
        }
    }
}