diff options
author | Ashlee Young <ashlee@onosfw.com> | 2015-10-23 10:00:02 -0700 |
---|---|---|
committer | Ashlee Young <ashlee@onosfw.com> | 2015-10-23 10:00:02 -0700 |
commit | 753a6c60f47f3ac4f270005b65e9d6481de8eb68 (patch) | |
tree | 3d0a1ae3b4d994550f6614b417b991eee3eb8911 /framework/src/maven/apache-maven-3.3.3/maven-compat/src/main/java/org/apache/maven/repository/metadata/MetadataGraphVertex.java | |
parent | c62d20eb3b4620c06d833be06f50b2600d96dd42 (diff) |
Adding maven and ant source trees
Change-Id: I0a39b9add833a31b9c3f98d193983ae2f3a5a445
Signed-off-by: Ashlee Young <ashlee@onosfw.com>
Diffstat (limited to 'framework/src/maven/apache-maven-3.3.3/maven-compat/src/main/java/org/apache/maven/repository/metadata/MetadataGraphVertex.java')
-rw-r--r-- | framework/src/maven/apache-maven-3.3.3/maven-compat/src/main/java/org/apache/maven/repository/metadata/MetadataGraphVertex.java | 216 |
1 files changed, 216 insertions, 0 deletions
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-compat/src/main/java/org/apache/maven/repository/metadata/MetadataGraphVertex.java b/framework/src/maven/apache-maven-3.3.3/maven-compat/src/main/java/org/apache/maven/repository/metadata/MetadataGraphVertex.java new file mode 100644 index 00000000..bdccf6a5 --- /dev/null +++ b/framework/src/maven/apache-maven-3.3.3/maven-compat/src/main/java/org/apache/maven/repository/metadata/MetadataGraphVertex.java @@ -0,0 +1,216 @@ +package org.apache.maven.repository.metadata; + +/* + * 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.artifact.ArtifactScopeEnum; + +/** + * metadata graph vertice - just a wrapper around artifact's metadata + * + * @author <a href="oleg@codehaus.org">Oleg Gusakov</a> + */ +public class MetadataGraphVertex + implements Comparable<MetadataGraphVertex> +{ + ArtifactMetadata md; + + // indications to use these in comparrison + private boolean compareVersion = false; + private boolean compareScope = false; + + public MetadataGraphVertex( ArtifactMetadata md ) + { + super(); + this.md = md; + } + + public MetadataGraphVertex( ArtifactMetadata md, boolean compareVersion, boolean compareScope ) + { + this( md ); + this.compareVersion = compareVersion; + this.compareScope = compareScope; + } + + public ArtifactMetadata getMd() + { + return md; + } + + public void setMd( ArtifactMetadata md ) + { + this.md = md; + } + + // --------------------------------------------------------------------- + public boolean isCompareVersion() + { + return compareVersion; + } + + public void setCompareVersion( boolean compareVersion ) + { + this.compareVersion = compareVersion; + } + + public boolean isCompareScope() + { + return compareScope; + } + + public void setCompareScope( boolean compareScope ) + { + this.compareScope = compareScope; + } + + // --------------------------------------------------------------------- + @Override + public String toString() + { + return "[" + ( md == null ? "no metadata" : md.toString() ) + "]"; + } + + // --------------------------------------------------------------------- + private static int compareStrings( String s1, String s2 ) + { + if ( s1 == null && s2 == null ) + { + return 0; + } + + if ( s1 == null /* && s2 != null */ ) + { + return -1; + } + + if ( /* s1 != null && */ s2 == null ) + { + return 1; + } + + return s1.compareTo( s2 ); + } + + // --------------------------------------------------------------------- + public int compareTo( MetadataGraphVertex vertex ) + { + if ( vertex == null || vertex.getMd() == null ) + { + return 1; + } + + ArtifactMetadata vmd = vertex.getMd(); + + if ( vmd == null ) + { + if ( md == null ) + { + return 0; + } + else + { + return 1; + } + } + + int g = compareStrings( md.groupId, vmd.groupId ); + + if ( g == 0 ) + { + int a = compareStrings( md.artifactId, vmd.artifactId ); + if ( a == 0 ) + { + if ( compareVersion ) + { + int v = compareStrings( md.version, vmd.version ); + if ( v == 0 ) + { + if ( compareScope ) + { + String s1 = ArtifactScopeEnum.checkScope( md.artifactScope ).getScope(); + String s2 = ArtifactScopeEnum.checkScope( vmd.artifactScope ).getScope(); + return s1.compareTo( s2 ); + } + else + { + return 0; + } + } + else + { + return v; + } + } + else + { + return 0; + } + } + else + { + return a; + } + } + + return g; + } + + // --------------------------------------------------------------------- + @Override + public boolean equals( Object vo ) + { + if ( vo == null || !( vo instanceof MetadataGraphVertex ) ) + { + return false; + } + return compareTo( (MetadataGraphVertex) vo ) == 0; + } + + // --------------------------------------------------------------------- + + @Override + public int hashCode() + { + if ( md == null ) + { + return super.hashCode(); + } + StringBuilder hashString = new StringBuilder( 128 ); + hashString.append( md.groupId ).append( "|" ); + hashString.append( md.artifactId ).append( "|" ); + + if ( compareVersion ) + { + hashString.append( md.version ).append( "|" ); + } + + if ( compareScope ) + { + hashString.append( md.getArtifactScope() ).append( "|" ); + } + + return hashString.toString().hashCode(); + + // BASE64Encoder b64 = new BASE64Encoder(); + // return b64.encode( hashString.toString().getBytes() ).hashCode(); + } + + // --------------------------------------------------------------------- + // --------------------------------------------------------------------- +} |