blob: 07e4a702c7a06176bd767e0664063c0dddca8fbe [file] [log] [blame]
package org.apache.maven.archiva.web.util;
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
//import org.apache.maven.archiva.indexer.record.StandardArtifactIndexRecord;
//import org.apache.maven.artifact.versioning.DefaultArtifactVersion;
//import org.apache.maven.model.Dependency;
import java.util.ArrayList;
import java.util.Collection;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
public class VersionMerger
{
public static List /*<DependencyWrapper>*/ wrap( List /*<StandardArtifactIndexRecord>*/ artifacts )
{
List dependencies = new ArrayList();
// for ( Iterator i = artifacts.iterator(); i.hasNext(); )
// {
// Dependency dependency = (Dependency) i.next();
//
// dependencies.add( new DependencyWrapper( dependency ) );
// }
return dependencies;
}
public static Collection /*<DependencyWrapper*/ merge( Collection /*<StandardArtifactIndexRecord>*/ artifacts )
{
Map dependees = new LinkedHashMap();
// for ( Iterator i = artifacts.iterator(); i.hasNext(); )
// {
// StandardArtifactIndexRecord record = (StandardArtifactIndexRecord) i.next();
//
// String key = record.getGroupId() + ":" + record.getArtifactId();
// if ( dependees.containsKey( key ) )
// {
// DependencyWrapper wrapper = (DependencyWrapper) dependees.get( key );
// wrapper.addVersion( record.getVersion() );
// }
// else
// {
// DependencyWrapper wrapper = new DependencyWrapper( record );
//
// dependees.put( key, wrapper );
// }
// }
return dependees.values();
}
// public static class DependencyWrapper
// {
// private final String groupId;
//
// private final String artifactId;
//
// /**
// * Versions added. We ignore duplicates since you might add those with varying classifiers.
// */
// private Set versions = new HashSet();
//
// private String version;
//
// private String scope;
//
// private String classifier;
//
// public DependencyWrapper( StandardArtifactIndexRecord record )
// {
// this.groupId = record.getGroupId();
//
// this.artifactId = record.getArtifactId();
//
// addVersion( record.getVersion() );
// }
//
// public DependencyWrapper( Dependency dependency )
// {
// this.groupId = dependency.getGroupId();
//
// this.artifactId = dependency.getArtifactId();
//
// this.scope = dependency.getScope();
//
// this.classifier = dependency.getClassifier();
//
// addVersion( dependency.getVersion() );
// }
//
// public String getScope()
// {
// return scope;
// }
//
// public String getClassifier()
// {
// return classifier;
// }
//
// public void addVersion( String version )
// {
// // We use DefaultArtifactVersion to get the correct sorting order later, however it does not have
// // hashCode properly implemented, so we add it here.
// // TODO: add these methods to the actual DefaultArtifactVersion and use that.
// versions.add( new DefaultArtifactVersion( version )
// {
// public int hashCode()
// {
// int result;
// result = getBuildNumber();
// result = 31 * result + getMajorVersion();
// result = 31 * result + getMinorVersion();
// result = 31 * result + getIncrementalVersion();
// result = 31 * result + ( getQualifier() != null ? getQualifier().hashCode() : 0 );
// return result;
// }
//
// public boolean equals( Object o )
// {
// if ( this == o )
// {
// return true;
// }
// if ( o == null || getClass() != o.getClass() )
// {
// return false;
// }
//
// DefaultArtifactVersion that = (DefaultArtifactVersion) o;
//
// if ( getBuildNumber() != that.getBuildNumber() )
// {
// return false;
// }
// if ( getIncrementalVersion() != that.getIncrementalVersion() )
// {
// return false;
// }
// if ( getMajorVersion() != that.getMajorVersion() )
// {
// return false;
// }
// if ( getMinorVersion() != that.getMinorVersion() )
// {
// return false;
// }
// if ( getQualifier() != null ? !getQualifier().equals( that.getQualifier() )
// : that.getQualifier() != null )
// {
// return false;
// }
//
// return true;
// }
// } );
//
// if ( versions.size() == 1 )
// {
// this.version = version;
// }
// else
// {
// this.version = null;
// }
// }
//
// public String getGroupId()
// {
// return groupId;
// }
//
// public String getArtifactId()
// {
// return artifactId;
// }
//
// public List getVersions()
// {
// List versions = new ArrayList( this.versions );
// Collections.sort( versions );
// return versions;
// }
//
// public String getVersion()
// {
// return version;
// }
// }
}