org.SimpleModelResolver.java Source code

Java tutorial

Introduction

Here is the source code for org.SimpleModelResolver.java

Source

/**
 * Copyright (c) 2008-2011 Sonatype, Inc.
 * All rights reserved. Includes the third-party code listed at http://www.sonatype.com/products/nexus/attributions.
 *
 * This program is free software: you can redistribute it and/or modify it only under the terms of the GNU Affero General
 * Public License Version 3 as published by the Free Software Foundation.
 *
 * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Affero General Public License Version 3
 * for more details.
 *
 * You should have received a copy of the GNU Affero General Public License Version 3 along with this program.  If not, see
 * http://www.gnu.org/licenses.
 *
 * Sonatype Nexus (TM) Open Source Version is available from Sonatype, Inc. Sonatype and Sonatype Nexus are trademarks of
 * Sonatype, Inc. Apache Maven is a trademark of the Apache Foundation. M2Eclipse is a trademark of the Eclipse Foundation.
 * All other trademarks are the property of their respective owners.
 */
package org;

import java.net.URL;

import org.apache.maven.model.Repository;
import org.apache.maven.model.building.ModelSource;
import org.apache.maven.model.building.UrlModelSource;
import org.apache.maven.model.resolution.InvalidRepositoryException;
import org.apache.maven.model.resolution.ModelResolver;
import org.apache.maven.model.resolution.UnresolvableModelException;

public class SimpleModelResolver implements ModelResolver {

    public void addRepository(Repository repository) throws InvalidRepositoryException {
        // no-op, we don't care about POM repos right now
    }

    public ModelResolver newCopy() {
        // this class is stateless so can be reused
        return this;
    }

    public ModelSource resolveModel(String groupId, String artifactId, String version)
            throws UnresolvableModelException {
        // do your repo magic here

        String resource = "/repo/" + groupId + '/' + artifactId + '/' + version + "/pom.xml";

        URL url = getClass().getResource(resource);

        if (url == null) {
            throw new UnresolvableModelException("PANIC!", groupId, artifactId, version);
        }

        return new UrlModelSource(url);
    }

}