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

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

Introduction

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

Prototype

public List<Dependency> getDependencies() 

Source Link

Usage

From source file:org.wso2.developerstudio.eclipse.distribution.project.export.CarExportHandler.java

License:Open Source License

public List<IResource> exportArtifact(IProject project) throws Exception {
    List<IResource> exportResources = new ArrayList<IResource>();
    List<ArtifactData> artifactList = new ArrayList<ArtifactData>();
    Map<IProject, Map<String, IResource>> resourceProjectList = new HashMap<IProject, Map<String, IResource>>();
    IFile pomFileRes;/*from  ww  w.j  ava  2 s.  c  o  m*/
    File pomFile;
    MavenProject parentPrj;
    ArchiveManipulator archiveManipulator = new ArchiveManipulator();

    clearTarget(project);

    // Let's create a temp project
    File tempProject = createTempProject();

    File carResources = createTempDir(tempProject, "car_resources");
    pomFileRes = project.getFile(POM_FILE);
    if (!pomFileRes.exists()) {
        throw new Exception("not a valid carbon application project");
    }
    pomFile = pomFileRes.getLocation().toFile();

    ProjectList projectListProvider = new ProjectList();
    List<ListData> projectListData = projectListProvider.getListData(null, null);
    Map<String, DependencyData> projectList = new HashMap<String, DependencyData>();
    Map<String, String> serverRoleList = new HashMap<String, String>();
    for (ListData data : projectListData) {
        DependencyData dependencyData = (DependencyData) data.getData();
        projectList.put(DistProjectUtils.getArtifactInfoAsString(dependencyData.getDependency()),
                dependencyData);
    }

    parentPrj = MavenUtils.getMavenProject(pomFile);

    for (Dependency dependency : (List<Dependency>) parentPrj.getDependencies()) {
        String dependencyKey = DistProjectUtils.getArtifactInfoAsString(dependency);
        serverRoleList.put(dependencyKey, DistProjectUtils.getServerRole(parentPrj, dependency));
        if (projectList.containsKey(dependencyKey)) {
            DependencyData dependencyData = projectList.get(dependencyKey);
            Object parent = dependencyData.getParent();
            Object self = dependencyData.getSelf();
            String serverRole = serverRoleList.get(DistProjectUtils.getArtifactInfoAsString(dependency));
            dependencyData.setServerRole(serverRole.replaceAll("^capp/", ""));
            if (parent != null && self != null) { // multiple artifact
                if (parent instanceof IProject && self instanceof String) {
                    IFile file = ((IProject) parent).getFile((String) self);
                    if (file.exists()) {
                        ArtifactData artifactData = new ArtifactData();
                        artifactData.setDependencyData(dependencyData);
                        artifactData.setFile(distProjectUtils.getFileName(dependencyData));
                        artifactData.setResource((IResource) file);
                        artifactList.add(artifactData);
                    }
                }
            } else if (parent == null && self != null) { // artifacts as
                // single artifact archive
                DefaultArtifactExportHandler artifactExportHandler = new DefaultArtifactExportHandler();
                artifactExportHandler.exportArtifact(artifactList, null, null, dependencyData, null, self);

            } else if (parent != null && self == null) { // these are
                                                         // registry
                                                         // resources
                exportRegistryResourceArtifact(artifactList, resourceProjectList, dependencyData, parent);
            } else {
                log.error(
                        "unidentified artifact structure, cannot be exported as a deployable artifact for server "
                                + serverRole);
            }
        }
    }

    OMFactory factory = OMAbstractFactory.getOMFactory();
    OMElement artifactsDocRoot = factory.createOMElement(new QName("artifacts"));
    OMElement artifactElt = factory.createOMElement(new QName("artifact"));
    artifactElt.addAttribute("name", parentPrj.getModel().getArtifactId(), null);
    artifactElt.addAttribute("version", parentPrj.getModel().getVersion(), null);
    artifactElt.addAttribute("type", "carbon/application", null);

    Collections.sort(artifactList);

    for (ArtifactData artifact : artifactList) {
        File artifactDir = new File(carResources, getArtifactDir(artifact.getDependencyData()));
        if (artifact.getResource() instanceof IFolder) {
            FileUtils.copyDirectory(artifact.getResource().getLocation().toFile(), artifactDir);
        } else if (artifact.getResource() instanceof IFile) {
            FileUtils.copy(artifact.getResource().getLocation().toFile(),
                    new File(artifactDir, artifact.getFile()));
        }
        artifactElt.addChild(createDependencyElement(factory, artifact));
        createArtifactXML(artifactDir, artifact);
    }

    artifactsDocRoot.addChild(artifactElt);
    File artifactsXml = new File(carResources, "artifacts.xml");
    XMLUtil.prettify(artifactsDocRoot, new FileOutputStream(artifactsXml));

    File tmpArchive = new File(tempProject,
            project.getName().concat("_").concat(parentPrj.getVersion()).concat(".car"));
    archiveManipulator.archiveDir(tmpArchive.toString(), carResources.toString());

    IFile carbonArchive = getTargetArchive(project, parentPrj.getVersion(), "car");
    FileUtils.copy(tmpArchive, carbonArchive.getLocation().toFile());
    exportResources.add((IResource) carbonArchive);
    clearTempDirInWorksapce(project.getName(), SPLIT_DIR_NAME);
    TempFileUtils.cleanUp();

    return exportResources;
}

From source file:org.wso2.developerstudio.eclipse.ds.capp.refactor.DataServiceDeleteParticipant.java

License:Open Source License

private Change deleteFromPOM() throws CoreException {
    IFile pomFile = null;/*w  w  w .j ava 2s .  co  m*/
    IProject[] projects = ResourcesPlugin.getWorkspace().getRoot().getProjects();
    CompositeChange deleteChange = new CompositeChange("Update CApp pom.xml");
    for (IProject project : projects) {
        if (project.isOpen()
                && project.hasNature("org.wso2.developerstudio.eclipse.distribution.project.nature")) {
            try {
                pomFile = project.getFile("pom.xml");
                try {
                    pomFile.refreshLocal(0, new NullProgressMonitor());
                } catch (Exception ignore) {
                }

                MavenProject mavenProject = MavenUtils
                        .getMavenProject(project.getFile("pom.xml").getLocation().toFile());
                Dependency projectDependency = getDependencyForTheProject(originalFile.getProject());
                if (originalFile instanceof IFile) {
                    projectDependency.setArtifactId(originalFile.getName().substring(0,
                            originalFile.getName().length() - originalFile.getFileExtension().length() - 1));
                } else {
                    projectDependency.setArtifactId(originalFile.getName());
                }
                List<?> dependencies = mavenProject.getDependencies();
                for (Iterator<?> iterator = dependencies.iterator(); iterator.hasNext();) {
                    Dependency dependency = (Dependency) iterator.next();
                    if (isDependenciesEqual(projectDependency, dependency)) {
                        deleteChange.add(new MavenConfigurationFileDeleteChange(project.getName(), pomFile,
                                projectDependency));
                    }
                }

            } catch (Exception e) {
                log.error("Error occurred while trying to generate the Refactoring", e);
            } finally {
                try {
                    if (pomFile != null) {
                        pomFile.refreshLocal(0, new NullProgressMonitor());
                    }
                } catch (Exception ignore) {

                }
            }
        }
    }
    return deleteChange;
}

From source file:org.wso2.developerstudio.eclipse.ds.capp.refactor.DataServiceRenameParticipant.java

License:Open Source License

private Change deleteFromPOM() throws CoreException {
    IFile pomFile = null;/*from w ww .  java2  s.  c  o  m*/
    CompositeChange deleteChange = new CompositeChange("Update CApp pom.xml");
    IProject[] projects = ResourcesPlugin.getWorkspace().getRoot().getProjects();
    String changedNameWithoutExtention = FilenameUtils.removeExtension(changedFileFullName);
    String originalNameWithoutExtension = FilenameUtils.removeExtension(originalFileFullName);
    for (IProject project : projects) {
        if (project.isOpen()
                && project.hasNature("org.wso2.developerstudio.eclipse.distribution.project.nature")) {
            try {
                pomFile = project.getFile("pom.xml");
                try {
                    pomFile.refreshLocal(0, new NullProgressMonitor());
                } catch (Exception ignore) {

                }
                MavenProject mavenProject = MavenUtils
                        .getMavenProject(project.getFile("pom.xml").getLocation().toFile());
                Dependency projectDependency = getDependencyForTheProject(originalFile.getProject());
                if (originalFile instanceof IFile) {
                    projectDependency.setArtifactId(originalFile.getName().substring(0,
                            originalFile.getName().length() - originalFile.getFileExtension().length() - 1));
                } else {
                    projectDependency.setArtifactId(originalFile.getName());
                }
                List<?> dependencies = mavenProject.getDependencies();
                for (Iterator<?> iterator = dependencies.iterator(); iterator.hasNext();) {
                    Dependency dependency = (Dependency) iterator.next();
                    if (isDependenciesEqual(projectDependency, dependency)) {
                        deleteChange.add(new MavenConfigurationFileRenameChange("updateCapp", pomFile,
                                originalNameWithoutExtension, project, changedNameWithoutExtention,
                                dependency));
                    }
                }

            } catch (Exception e) {
                log.error("Error occurred while trying to generate the Refactoring", e);
            } finally {
                try {
                    if (pomFile != null) {
                        pomFile.refreshLocal(0, new NullProgressMonitor());
                    }
                } catch (Exception ignore) {

                }
            }
        }
    }
    return deleteChange;
}

From source file:org.wso2.developerstudio.eclipse.general.project.capp.refactor.RegistryResourceArtifactDeleteParticipant.java

License:Open Source License

private void deleteFromPOM(CompositeChange deleteChange) throws CoreException {
    IProject[] projects = ResourcesPlugin.getWorkspace().getRoot().getProjects();
    IFile pomFile = null;//from   w  w  w  .j  av a 2s .  co  m
    for (IProject project : projects) {
        if (project.isOpen()
                && project.hasNature("org.wso2.developerstudio.eclipse.distribution.project.nature")) {
            try {
                pomFile = project.getFile("pom.xml");
                try {
                    pomFile.refreshLocal(0, new NullProgressMonitor());
                } catch (Exception ignore) {

                }
                MavenProject mavenProject = RefactorUtils.getMavenProject(project);
                Dependency projectDependency = RefactorUtils
                        .getDependencyForTheProject(originalResource.getProject());
                if (originalResource instanceof IFile) {
                    projectDependency.setArtifactId(
                            originalResource.getName().substring(0, originalResource.getName().length()
                                    - originalResource.getFileExtension().length() - 1));
                } else {
                    projectDependency.setArtifactId(originalResource.getName());
                }
                List<?> dependencies = mavenProject.getDependencies();
                for (Iterator<?> iterator = dependencies.iterator(); iterator.hasNext();) {
                    Dependency dependency = (Dependency) iterator.next();
                    if (RefactorUtils.isDependenciesEqual(projectDependency, dependency)) {
                        deleteChange.add(new MavenConfigurationFileDeleteChange(project.getName(), pomFile,
                                projectDependency));
                    }
                }

            } catch (Exception e) {
                log.error("Error occurred while trying to generate the Refactoring", e);
            } finally {
                try {
                    if (pomFile != null) {
                        pomFile.refreshLocal(0, new NullProgressMonitor());
                    }
                } catch (Exception ignore) {

                }
            }
        }
    }
}

From source file:org.wso2.developerstudio.eclipse.general.project.capp.refactor.RegistryResourceArtifactRenameParticipant.java

License:Open Source License

private void deleteFromPOM(CompositeChange deleteChange) throws CoreException {
    IFile pomFile = null;//w  ww.  jav a2 s.c o  m
    IProject[] projects = ResourcesPlugin.getWorkspace().getRoot().getProjects();
    String changedNameWithoutExtention = FilenameUtils.removeExtension(changedFileName);
    String originalNameWithoutExtension = FilenameUtils.removeExtension(originalFile.getName());
    for (IProject project : projects) {
        if (project.isOpen()
                && project.hasNature("org.wso2.developerstudio.eclipse.distribution.project.nature")) {
            try {
                pomFile = project.getFile("pom.xml");
                try {
                    pomFile.refreshLocal(0, new NullProgressMonitor());
                } catch (Exception ignore) {

                }
                MavenProject mavenProject = RefactorUtils.getMavenProject(project);
                Dependency projectDependency = RefactorUtils
                        .getDependencyForTheProject(originalFile.getProject());
                if (originalFile instanceof IFile) {
                    projectDependency.setArtifactId(originalFile.getName().substring(0,
                            originalFile.getName().length() - originalFile.getFileExtension().length() - 1));
                } else {
                    projectDependency.setArtifactId(originalFile.getName());
                }
                List<?> dependencies = mavenProject.getDependencies();
                for (Iterator<?> iterator = dependencies.iterator(); iterator.hasNext();) {
                    Dependency dependency = (Dependency) iterator.next();
                    if (RefactorUtils.isDependenciesEqual(projectDependency, dependency)) {
                        deleteChange.add(new MavenConfigurationFileRenameChange("updateCapp", pomFile,
                                originalNameWithoutExtension, project, changedNameWithoutExtention,
                                dependency));
                    }
                }

            } catch (Exception e) {
                log.error("Error occurred while trying to generate the Refactoring", e);
            } finally {
                try {
                    if (pomFile != null) {
                        pomFile.refreshLocal(0, new NullProgressMonitor());
                    }
                } catch (Exception ignore) {

                }
            }
        }
    }

}

From source file:org.wso2.developerstudio.eclipse.general.project.refactor.RegistryResourceArtifactDeleteParticipant.java

License:Open Source License

private void deleteFromPOM(CompositeChange deleteChange) throws CoreException {
    IProject[] projects = ResourcesPlugin.getWorkspace().getRoot().getProjects();

    for (IProject project : projects) {
        if (project.isOpen()
                && project.hasNature("org.wso2.developerstudio.eclipse.distribution.project.nature")) {
            try {
                IFile pomFile = project.getFile("pom.xml");
                MavenProject mavenProject = RefactorUtils.getMavenProject(project);
                Dependency projectDependency = RefactorUtils
                        .getDependencyForTheProject(originalResource.getProject());
                if (originalResource instanceof IFile) {
                    projectDependency.setArtifactId(
                            originalResource.getName().substring(0, originalResource.getName().length()
                                    - originalResource.getFileExtension().length() - 1));
                } else {
                    projectDependency.setArtifactId(originalResource.getName());
                }/*from w  w w.  j a  va2s.  c  o m*/
                List<?> dependencies = mavenProject.getDependencies();
                for (Iterator<?> iterator = dependencies.iterator(); iterator.hasNext();) {
                    Dependency dependency = (Dependency) iterator.next();
                    if (RefactorUtils.isDependenciesEqual(projectDependency, dependency)) {
                        deleteChange.add(new MavenConfigurationFileDeleteChange(project.getName(), pomFile,
                                projectDependency));
                    }
                }
            } catch (Exception e) {
                log.error("Error occured while trying to generate the Refactoring", e);
            }
        }
    }
}

From source file:org.wso2.developerstudio.eclipse.general.project.refactor.RegistryResourceArtifactRenameParticipant.java

License:Open Source License

private void deleteFromPOM(CompositeChange deleteChange) throws CoreException {

    IProject[] projects = ResourcesPlugin.getWorkspace().getRoot().getProjects();
    String changedNameWithoutExtention = FilenameUtils.removeExtension(changedFileName);
    String originalNameWithoutExtension = FilenameUtils.removeExtension(originalFile.getName());
    for (IProject project : projects) {
        if (project.isOpen()
                && project.hasNature("org.wso2.developerstudio.eclipse.distribution.project.nature")) {
            try {
                IFile pomFile = project.getFile("pom.xml");
                MavenProject mavenProject = RefactorUtils.getMavenProject(project);
                Dependency projectDependency = RefactorUtils
                        .getDependencyForTheProject(originalFile.getProject());
                if (originalFile instanceof IFile) {
                    projectDependency.setArtifactId(originalFile.getName().substring(0,
                            originalFile.getName().length() - originalFile.getFileExtension().length() - 1));
                } else {
                    projectDependency.setArtifactId(originalFile.getName());
                }/*from   www.j a  v a 2s .c o  m*/
                List<?> dependencies = mavenProject.getDependencies();
                for (Iterator<?> iterator = dependencies.iterator(); iterator.hasNext();) {
                    Dependency dependency = (Dependency) iterator.next();
                    if (RefactorUtils.isDependenciesEqual(projectDependency, dependency)) {
                        deleteChange.add(new MavenConfigurationFileRenameChange("updateCapp", pomFile,
                                originalNameWithoutExtension, project, changedNameWithoutExtention,
                                dependency));
                    }
                }
            } catch (Exception e) {
                log.error("Error occurred while trying to generate the Refactoring", e);
            }
        }
    }

}

From source file:org.wso2.developerstudio.eclipse.platform.core.project.refactor.ArtifactProjectDeleteParticipant.java

License:Open Source License

private void deleteDependencies(CompositeChange deleteChange, IProject project, IProject projectToDelete) {
    IFile pomFile = project.getFile(POM_XML);
    MavenProject mavenProject = ProjectRefactorUtils.getMavenProject(project);
    Dependency projectDependency = ProjectRefactorUtils.getDependencyForTheProject(originalProject);
    if (mavenProject != null) {
        List<?> dependencies = mavenProject.getDependencies();
        if (projectDependency != null) {
            for (Iterator<?> iterator = dependencies.iterator(); iterator.hasNext();) {
                Dependency dependency = (Dependency) iterator.next();
                if (ProjectRefactorUtils.isDependenciesEqual(projectDependency, dependency)) {
                    deleteChange.add(new MavenConfigurationFileDeleteChange(project.getName(), pomFile,
                            projectToDelete));
                }/*from w  w w .j  a v a 2  s  .c o m*/
            }
        }
    }
}

From source file:org.wso2.developerstudio.eclipse.platform.core.project.refactor.ArtifactProjectRenameRefactorParticipant.java

License:Open Source License

/**
 * This method gets executed before the refactoring gets executed on
 * original file which means/*from  w w w  .j  a  va  2  s  . co m*/
 * this method is executed before the actual project is deleted from the
 * workspace.
 * If you have any task need to run before the project is deleted, you need
 * to generate Changes
 * for those tasks in this method.
 */
@Override
public Change createPreChange(IProgressMonitor arg0) throws CoreException, OperationCanceledException {

    IFile pomFile = originalProject.getFile("pom.xml");

    CompositeChange artifactChange = new CompositeChange("Maven Configuration Refactor");

    MavenConfigurationFileChange endpointArtifactFileChange = new MavenConfigurationFileChange("HW", pomFile,
            originalProject.getName(), originalProject, latestName);
    artifactChange.add(endpointArtifactFileChange);

    IProject[] projects = ResourcesPlugin.getWorkspace().getRoot().getProjects();

    for (int i = 0; i < projects.length; i++) {
        if (projects[i].isOpen()
                && projects[i].hasNature("org.wso2.developerstudio.eclipse.distribution.project.nature")) {
            try {
                MavenProject mavenProject = MavenUtils
                        .getMavenProject(projects[i].getFile("pom.xml").getLocation().toFile());
                List<?> dependencies = mavenProject.getDependencies();
                for (Iterator<?> iterator = dependencies.iterator(); iterator.hasNext();) {
                    Dependency dependency = (Dependency) iterator.next();
                    if (originalProject.getName().equalsIgnoreCase(dependency.getArtifactId())) {
                        artifactChange.add(new MavenConfigurationFileChange(projects[i].getName(),
                                projects[i].getFile("pom.xml"), originalProject.getName(), projects[i],
                                latestName));
                    }
                }
            } catch (Exception e) {
                log.error("Error occured while trying to generate the Refactoring", e);
            }
        }
    }

    return artifactChange;
}

From source file:org.wso2.maven.capp.mojo.AbstractPOMGenMojo.java

License:Open Source License

protected void addMavenDependency(MavenProject artifactMavenProject, String dGroupId, String dArtifactId,
        String dVersion, String scope, String type) {
    Dependency mavenDependency = new Dependency();
    mavenDependency.setGroupId(dGroupId);
    mavenDependency.setArtifactId(dArtifactId);
    mavenDependency.setVersion(dVersion);
    mavenDependency.setScope(scope);// w w w .j  av a  2  s.c  om
    if (type != null) {
        mavenDependency.setType(type);
    }
    artifactMavenProject.getDependencies().add(mavenDependency);
}