diff options
author | Martin Stockhammer <martin_s@apache.org> | 2019-05-05 21:46:25 +0200 |
---|---|---|
committer | Martin Stockhammer <martin_s@apache.org> | 2019-05-05 21:46:25 +0200 |
commit | 79bee6e84771de9b71e7d957e9f10a17364520ed (patch) | |
tree | 1f2a5c8ed6f8e04c6b47cb7d9adc32463546c690 /archiva-modules/archiva-maven/archiva-maven-model | |
parent | 2e2018dbacab91af76b4fb340f902d0a02d5f4e0 (diff) | |
download | archiva-79bee6e84771de9b71e7d957e9f10a17364520ed.tar.gz archiva-79bee6e84771de9b71e7d957e9f10a17364520ed.zip |
Combining maven specific packages into subdirectory and package structure.
Diffstat (limited to 'archiva-modules/archiva-maven/archiva-maven-model')
3 files changed, 816 insertions, 0 deletions
diff --git a/archiva-modules/archiva-maven/archiva-maven-model/pom.xml b/archiva-modules/archiva-maven/archiva-maven-model/pom.xml new file mode 100644 index 000000000..2e8d16e1e --- /dev/null +++ b/archiva-modules/archiva-maven/archiva-maven-model/pom.xml @@ -0,0 +1,43 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + ~ 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. + --> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + <parent> + <groupId>org.apache.archiva.maven</groupId> + <artifactId>archiva-maven</artifactId> + <version>3.0.0-SNAPSHOT</version> + </parent> + + <artifactId>archiva-maven-model</artifactId> + <name>Archiva :: Maven :: Model</name> + + + <properties> + <site.staging.base>${project.parent.parent.basedir}</site.staging.base> + </properties> + + <dependencies> + <dependency> + <groupId>com.fasterxml.jackson.core</groupId> + <artifactId>jackson-annotations</artifactId> + </dependency> + </dependencies> + +</project> diff --git a/archiva-modules/archiva-maven/archiva-maven-model/src/main/java/org/apache/archiva/maven2/model/Artifact.java b/archiva-modules/archiva-maven/archiva-maven-model/src/main/java/org/apache/archiva/maven2/model/Artifact.java new file mode 100644 index 000000000..cf010b309 --- /dev/null +++ b/archiva-modules/archiva-maven/archiva-maven-model/src/main/java/org/apache/archiva/maven2/model/Artifact.java @@ -0,0 +1,659 @@ +package org.apache.archiva.maven2.model; + +/* + * 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 javax.xml.bind.annotation.XmlRootElement; +import java.io.Serializable; +import java.util.List; + +@XmlRootElement( name = "artifact" ) +public class Artifact + implements Serializable +{ + // The (optional) context for this result. + private String context; + + // Basic hit, direct to non-artifact resource. + private String url; + + // Advanced hit, reference to groupId. + private String groupId; + + // Advanced hit, reference to artifactId. + private String artifactId; + + private String repositoryId; + + private String version; + + /** + * Plugin goal prefix (only if packaging is "maven-plugin") + */ + private String prefix; + + /** + * Plugin goals (only if packaging is "maven-plugin") + */ + private List<String> goals; + + /** + * contains osgi metadata Bundle-Version if available + * + * @since 1.4-M1 + */ + private String bundleVersion; + + /** + * contains osgi metadata Bundle-SymbolicName if available + * + * @since 1.4-M1 + */ + private String bundleSymbolicName; + + /** + * contains osgi metadata Export-Package if available + * + * @since 1.4-M1 + */ + private String bundleExportPackage; + + /** + * contains osgi metadata Export-Service if available + * + * @since 1.4-M1 + */ + private String bundleExportService; + + /** + * contains osgi metadata Bundle-Description if available + * + * @since 1.4-M1 + */ + private String bundleDescription; + + /** + * contains osgi metadata Bundle-Name if available + * + * @since 1.4-M1 + */ + private String bundleName; + + /** + * contains osgi metadata Bundle-License if available + * + * @since 1.4-M1 + */ + private String bundleLicense; + + /** + * contains osgi metadata Bundle-DocURL if available + * + * @since 1.4-M1 + */ + private String bundleDocUrl; + + /** + * contains osgi metadata Import-Package if available + * + * @since 1.4-M1 + */ + private String bundleImportPackage; + + /** + * contains osgi metadata Require-Bundle if available + * + * @since 1.4-M1 + */ + private String bundleRequireBundle; + + private String classifier; + + private String packaging; + + /** + * file extension of the artifact + * + * @since 1.4-M2 + */ + private String fileExtension; + + /** + * human readable size : not available for all services + * + * @since 1.4-M3 + */ + private String size; + + /** + * @since 1.4-M3 + */ + private String type; + + + /** + * @since 1.4-M3 + */ + private String path; + + /** + * concat of artifactId+'-'+version+'.'+type + * + * @since 1.4-M3 + */ + private String id; + + /** + * @since 1.4-M3 + */ + private String scope; + + + public Artifact() + { + // no op + } + + public Artifact( String groupId, String artifactId, String version ) + { + this.artifactId = artifactId; + this.groupId = groupId; + this.version = version; + } + + /** + * @since 1.4-M3 + */ + public Artifact( String groupId, String artifactId, String version, String scope ) + { + this( groupId, artifactId, version ); + this.scope = scope; + } + + /** + * @since 1.4-M3 + */ + public Artifact( String groupId, String artifactId, String version, String scope, String classifier ) + { + this( groupId, artifactId, version ); + this.scope = scope; + this.classifier = classifier; + } + + public String getGroupId() + { + return groupId; + } + + public String getArtifactId() + { + return artifactId; + } + + public String getVersion() + { + return version; + } + + public String getRepositoryId() + { + return repositoryId; + } + + public void setGroupId( String groupId ) + { + this.groupId = groupId; + } + + public void setArtifactId( String artifactId ) + { + this.artifactId = artifactId; + } + + public void setVersion( String version ) + { + this.version = version; + } + + public void setRepositoryId( String repositoryId ) + { + this.repositoryId = repositoryId; + } + + public String getContext() + { + return context; + } + + public void setContext( String context ) + { + this.context = context; + } + + public String getUrl() + { + return url; + } + + public void setUrl( String url ) + { + this.url = url; + } + + public String getPrefix() + { + return prefix; + } + + public void setPrefix( String prefix ) + { + this.prefix = prefix; + } + + public List<String> getGoals() + { + return goals; + } + + public void setGoals( List<String> goals ) + { + this.goals = goals; + } + + public String getBundleVersion() + { + return bundleVersion; + } + + public void setBundleVersion( String bundleVersion ) + { + this.bundleVersion = bundleVersion; + } + + public String getBundleSymbolicName() + { + return bundleSymbolicName; + } + + public void setBundleSymbolicName( String bundleSymbolicName ) + { + this.bundleSymbolicName = bundleSymbolicName; + } + + public String getBundleExportPackage() + { + return bundleExportPackage; + } + + public void setBundleExportPackage( String bundleExportPackage ) + { + this.bundleExportPackage = bundleExportPackage; + } + + public String getBundleExportService() + { + return bundleExportService; + } + + public void setBundleExportService( String bundleExportService ) + { + this.bundleExportService = bundleExportService; + } + + public String getBundleDescription() + { + return bundleDescription; + } + + public void setBundleDescription( String bundleDescription ) + { + this.bundleDescription = bundleDescription; + } + + public String getBundleName() + { + return bundleName; + } + + public void setBundleName( String bundleName ) + { + this.bundleName = bundleName; + } + + public String getBundleLicense() + { + return bundleLicense; + } + + public void setBundleLicense( String bundleLicense ) + { + this.bundleLicense = bundleLicense; + } + + public String getBundleDocUrl() + { + return bundleDocUrl; + } + + public void setBundleDocUrl( String bundleDocUrl ) + { + this.bundleDocUrl = bundleDocUrl; + } + + public String getBundleImportPackage() + { + return bundleImportPackage; + } + + public void setBundleImportPackage( String bundleImportPackage ) + { + this.bundleImportPackage = bundleImportPackage; + } + + public String getBundleRequireBundle() + { + return bundleRequireBundle; + } + + public void setBundleRequireBundle( String bundleRequireBundle ) + { + this.bundleRequireBundle = bundleRequireBundle; + } + + public String getClassifier() + { + return classifier; + } + + public void setClassifier( String classifier ) + { + this.classifier = classifier; + } + + + public String getPackaging() + { + return packaging; + } + + public void setPackaging( String packaging ) + { + this.packaging = packaging; + } + + public String getFileExtension() + { + return fileExtension; + } + + public void setFileExtension( String fileExtension ) + { + this.fileExtension = fileExtension; + } + + public String getSize() + { + return size; + } + + public void setSize( String size ) + { + this.size = size; + } + + public String getType() + { + return type; + } + + public void setType( String type ) + { + this.type = type; + } + + public String getPath() + { + return path; + } + + public void setPath( String path ) + { + this.path = path; + } + + public String getId() + { + return id; + } + + public void setId( String id ) + { + this.id = id; + } + + public String getScope() + { + return scope; + } + + public void setScope( String scope ) + { + this.scope = scope; + } + + @Override + public String toString() + { + final StringBuilder sb = new StringBuilder(); + sb.append( "Artifact" ); + sb.append( "{context='" ).append( context ).append( '\'' ); + sb.append( ", url='" ).append( url ).append( '\'' ); + sb.append( ", groupId='" ).append( groupId ).append( '\'' ); + sb.append( ", artifactId='" ).append( artifactId ).append( '\'' ); + sb.append( ", repositoryId='" ).append( repositoryId ).append( '\'' ); + sb.append( ", version='" ).append( version ).append( '\'' ); + sb.append( ", prefix='" ).append( prefix ).append( '\'' ); + sb.append( ", goals=" ).append( goals ); + sb.append( ", bundleVersion='" ).append( bundleVersion ).append( '\'' ); + sb.append( ", bundleSymbolicName='" ).append( bundleSymbolicName ).append( '\'' ); + sb.append( ", bundleExportPackage='" ).append( bundleExportPackage ).append( '\'' ); + sb.append( ", bundleExportService='" ).append( bundleExportService ).append( '\'' ); + sb.append( ", bundleDescription='" ).append( bundleDescription ).append( '\'' ); + sb.append( ", bundleName='" ).append( bundleName ).append( '\'' ); + sb.append( ", bundleLicense='" ).append( bundleLicense ).append( '\'' ); + sb.append( ", bundleDocUrl='" ).append( bundleDocUrl ).append( '\'' ); + sb.append( ", bundleImportPackage='" ).append( bundleImportPackage ).append( '\'' ); + sb.append( ", bundleRequireBundle='" ).append( bundleRequireBundle ).append( '\'' ); + sb.append( ", classifier='" ).append( classifier ).append( '\'' ); + sb.append( ", packaging='" ).append( packaging ).append( '\'' ); + sb.append( ", fileExtension='" ).append( fileExtension ).append( '\'' ); + sb.append( ", size='" ).append( size ).append( '\'' ); + sb.append( ", type='" ).append( type ).append( '\'' ); + sb.append( ", path='" ).append( path ).append( '\'' ); + sb.append( ", id='" ).append( id ).append( '\'' ); + sb.append( '}' ); + return sb.toString(); + } + + @Override + public boolean equals( Object o ) + { + if ( this == o ) + { + return true; + } + if ( !( o instanceof Artifact ) ) + { + return false; + } + + Artifact artifact = (Artifact) o; + + if ( !artifactId.equals( artifact.artifactId ) ) + { + return false; + } + if ( bundleDescription != null + ? !bundleDescription.equals( artifact.bundleDescription ) + : artifact.bundleDescription != null ) + { + return false; + } + if ( bundleDocUrl != null ? !bundleDocUrl.equals( artifact.bundleDocUrl ) : artifact.bundleDocUrl != null ) + { + return false; + } + if ( bundleExportPackage != null + ? !bundleExportPackage.equals( artifact.bundleExportPackage ) + : artifact.bundleExportPackage != null ) + { + return false; + } + if ( bundleExportService != null + ? !bundleExportService.equals( artifact.bundleExportService ) + : artifact.bundleExportService != null ) + { + return false; + } + if ( bundleImportPackage != null + ? !bundleImportPackage.equals( artifact.bundleImportPackage ) + : artifact.bundleImportPackage != null ) + { + return false; + } + if ( bundleLicense != null ? !bundleLicense.equals( artifact.bundleLicense ) : artifact.bundleLicense != null ) + { + return false; + } + if ( bundleName != null ? !bundleName.equals( artifact.bundleName ) : artifact.bundleName != null ) + { + return false; + } + if ( bundleRequireBundle != null + ? !bundleRequireBundle.equals( artifact.bundleRequireBundle ) + : artifact.bundleRequireBundle != null ) + { + return false; + } + if ( bundleSymbolicName != null + ? !bundleSymbolicName.equals( artifact.bundleSymbolicName ) + : artifact.bundleSymbolicName != null ) + { + return false; + } + if ( bundleVersion != null ? !bundleVersion.equals( artifact.bundleVersion ) : artifact.bundleVersion != null ) + { + return false; + } + if ( classifier != null ? !classifier.equals( artifact.classifier ) : artifact.classifier != null ) + { + return false; + } + if ( context != null ? !context.equals( artifact.context ) : artifact.context != null ) + { + return false; + } + if ( fileExtension != null ? !fileExtension.equals( artifact.fileExtension ) : artifact.fileExtension != null ) + { + return false; + } + if ( goals != null ? !goals.equals( artifact.goals ) : artifact.goals != null ) + { + return false; + } + if ( !groupId.equals( artifact.groupId ) ) + { + return false; + } + if ( id != null ? !id.equals( artifact.id ) : artifact.id != null ) + { + return false; + } + if ( packaging != null ? !packaging.equals( artifact.packaging ) : artifact.packaging != null ) + { + return false; + } + if ( path != null ? !path.equals( artifact.path ) : artifact.path != null ) + { + return false; + } + if ( prefix != null ? !prefix.equals( artifact.prefix ) : artifact.prefix != null ) + { + return false; + } + if ( repositoryId != null ? !repositoryId.equals( artifact.repositoryId ) : artifact.repositoryId != null ) + { + return false; + } + if ( scope != null ? !scope.equals( artifact.scope ) : artifact.scope != null ) + { + return false; + } + if ( size != null ? !size.equals( artifact.size ) : artifact.size != null ) + { + return false; + } + if ( type != null ? !type.equals( artifact.type ) : artifact.type != null ) + { + return false; + } + if ( url != null ? !url.equals( artifact.url ) : artifact.url != null ) + { + return false; + } + if ( !version.equals( artifact.version ) ) + { + return false; + } + + return true; + } + + @Override + public int hashCode() + { + int result = context != null ? context.hashCode() : 0; + result = 31 * result + ( url != null ? url.hashCode() : 0 ); + result = 31 * result + groupId.hashCode(); + result = 31 * result + artifactId.hashCode(); + result = 31 * result + ( repositoryId != null ? repositoryId.hashCode() : 0 ); + result = 31 * result + version.hashCode(); + result = 31 * result + ( prefix != null ? prefix.hashCode() : 0 ); + result = 31 * result + ( goals != null ? goals.hashCode() : 0 ); + result = 31 * result + ( bundleVersion != null ? bundleVersion.hashCode() : 0 ); + result = 31 * result + ( bundleSymbolicName != null ? bundleSymbolicName.hashCode() : 0 ); + result = 31 * result + ( bundleExportPackage != null ? bundleExportPackage.hashCode() : 0 ); + result = 31 * result + ( bundleExportService != null ? bundleExportService.hashCode() : 0 ); + result = 31 * result + ( bundleDescription != null ? bundleDescription.hashCode() : 0 ); + result = 31 * result + ( bundleName != null ? bundleName.hashCode() : 0 ); + result = 31 * result + ( bundleLicense != null ? bundleLicense.hashCode() : 0 ); + result = 31 * result + ( bundleDocUrl != null ? bundleDocUrl.hashCode() : 0 ); + result = 31 * result + ( bundleImportPackage != null ? bundleImportPackage.hashCode() : 0 ); + result = 31 * result + ( bundleRequireBundle != null ? bundleRequireBundle.hashCode() : 0 ); + result = 31 * result + ( classifier != null ? classifier.hashCode() : 0 ); + result = 31 * result + ( packaging != null ? packaging.hashCode() : 0 ); + result = 31 * result + ( fileExtension != null ? fileExtension.hashCode() : 0 ); + result = 31 * result + ( size != null ? size.hashCode() : 0 ); + result = 31 * result + ( type != null ? type.hashCode() : 0 ); + result = 31 * result + ( path != null ? path.hashCode() : 0 ); + result = 31 * result + ( id != null ? id.hashCode() : 0 ); + result = 31 * result + ( scope != null ? scope.hashCode() : 0 ); + return result; + } +} diff --git a/archiva-modules/archiva-maven/archiva-maven-model/src/main/java/org/apache/archiva/maven2/model/TreeEntry.java b/archiva-modules/archiva-maven/archiva-maven-model/src/main/java/org/apache/archiva/maven2/model/TreeEntry.java new file mode 100644 index 000000000..7a0db88e7 --- /dev/null +++ b/archiva-modules/archiva-maven/archiva-maven-model/src/main/java/org/apache/archiva/maven2/model/TreeEntry.java @@ -0,0 +1,114 @@ +package org.apache.archiva.maven2.model; +/* + * 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 com.fasterxml.jackson.annotation.JsonIgnore; + +import javax.xml.bind.annotation.XmlRootElement; +import java.io.Serializable; +import java.util.ArrayList; +import java.util.List; + +/** + * @author Olivier Lamy + */ +@XmlRootElement( name = "treeEntry" ) +public class TreeEntry + implements Serializable +{ + + private List<TreeEntry> childs = new ArrayList<>(); + + private Artifact artifact; + + @JsonIgnore + private TreeEntry parent; + + public TreeEntry() + { + // no op + } + + public TreeEntry( Artifact artifact ) + { + this.artifact = artifact; + } + + + public Artifact getArtifact() + { + return artifact; + } + + public void setArtifact( Artifact artifact ) + { + this.artifact = artifact; + } + + public List<TreeEntry> getChilds() + { + return childs; + } + + public void setChilds( List<TreeEntry> childs ) + { + this.childs = childs; + } + + @JsonIgnore + public TreeEntry getParent() + { + return parent; + } + + @JsonIgnore + public void setParent( TreeEntry parent ) + { + this.parent = parent; + } + + @Override + public boolean equals( Object o ) + { + if ( this == o ) + { + return true; + } + if ( !( o instanceof TreeEntry ) ) + { + return false; + } + + TreeEntry treeEntry = (TreeEntry) o; + + if ( artifact != null ? !artifact.equals( treeEntry.artifact ) : treeEntry.artifact != null ) + { + return false; + } + + return true; + } + + @Override + public int hashCode() + { + return artifact != null ? artifact.hashCode() : 0; + } +} |