public Result resolve()

in gshell-support/gshell-artifact-maven/src/main/java/org/apache/geronimo/gshell/artifact/maven/ArtifactResolverImpl.java [59:125]


    public Result resolve(final Request request) throws Failure {
        assert request != null;

        ArtifactResolutionRequest _request = new ArtifactResolutionRequest();

        if (request.artifact != null) {
            log.debug("Artifact: {}", request.artifact);

            _request.setArtifact(createArtifact(request.artifact));
        }

        if (request.artifacts != null) {
            Set<org.apache.maven.artifact.Artifact> artifacts = new LinkedHashSet<org.apache.maven.artifact.Artifact>();

            log.debug("Dependencies:");

            for (Artifact source : request.artifacts) {
                org.apache.maven.artifact.Artifact artifact = createArtifact(source);
                log.debug("    {}", artifact);
                artifacts.add(artifact);
            }

            _request.setArtifactDependencies(artifacts);
        }

        AndArtifactFilter filter = new AndArtifactFilter();
        _request.setFilter(filter);

        // Always filter for runtime scope
        filter.add(new ScopeArtifactFilter(org.apache.maven.artifact.Artifact.SCOPE_RUNTIME));

        // Filter deps needed for use of maven-artifact
        filter.add(new MavenArtifactDependenciesFilter());

        if (request.filter != null) {
            log.debug("Filter: {}", request.filter);
            
            filter.add(new ArtifactFilter() {
                public boolean include(final org.apache.maven.artifact.Artifact source) {
                    assert source != null;
                    Artifact artifact = createArtifact(source);
                    return request.filter.accept(artifact);
                }
            });
        }

        Result result = new Result();
        try {
            ArtifactResolutionResult _result = artifactManager.resolve(_request);
            result.artifacts = new LinkedHashSet<Artifact>();

            log.debug("Resolved:");

            for (org.apache.maven.artifact.Artifact source : _result.getArtifacts()) {
                Artifact artifact = createArtifact(source);

                log.debug("    {}", artifact);
                
                result.artifacts.add(artifact);
            }
        }
        catch (ResolutionException e) {
            throw new Failure(e);
        }

        return result;
    }