package com.perforce.spark.artifact; import java.util.List; import org.apache.commons.fileupload.FileUploadException; import spark.Request; import spark.Response; import com.perforce.p4java.core.file.IFileSpec; import com.perforce.p4java.exception.P4JavaException; import com.perforce.p4java.server.IOptionsServer; import com.perforce.spark.artifact.gem.GemArtifact; import com.perforce.spark.artifact.gem.GemResult; import com.perforce.spark.artifact.gem.GemSummary; import com.perforce.spark.artifact.maven.MavenArtifact; import com.perforce.spark.artifact.maven.MavenResult; import com.perforce.spark.artifact.maven.MavenSummary; import com.perforce.spark.artifact.perforce.LocalArtifact; import com.perforce.spark.artifact.perforce.LocalResult; import com.perforce.spark.common.AbstractControl; import com.perforce.spark.depot.DepotFactory; import com.perforce.spark.depot.DepotModel; import com.perforce.spark.search.ResultDetailed; public class ArtifactFactory extends AbstractControl { public static ArtifactInterface getArtifact(Request request, Response response) throws P4JavaException, FileUploadException { ArtifactType type = getType(request); switch (type) { case MAVEN: return new MavenArtifact(request, response); case GEM: return new GemArtifact(request, response); case LOCAL: return new LocalArtifact(request, response); default: return null; } } public static ArtifactInterface getProxy(IOptionsServer p4, String repoID) throws P4JavaException { DepotModel depot = DepotFactory.getByName(p4, repoID); ArtifactType type = depot.getType(); switch (type) { case MAVEN: return new MavenArtifact(p4, repoID); case GEM: return new GemArtifact(p4, repoID); case LOCAL: return new LocalArtifact(p4, repoID); default: return null; } } public static SummaryInterface getSummary(IOptionsServer p4, ArtifactType type, List<IFileSpec> summary) { switch (type) { case MAVEN: return new MavenSummary(p4, summary); case GEM: return new GemSummary(p4, summary); default: return null; } } public static ResultInterface getResult(ArtifactType type, ResultDetailed r) { switch (type) { case MAVEN: return new MavenResult(r); case GEM: return new GemResult(r); case LOCAL: return new LocalResult(r); default: return null; } } }
# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#9 | 15221 | Paul Allen | Generate Gem index and submit after a deploy or proxy fetch event. | ||
#8 | 15218 | Paul Allen |
Index/catalog for Ruby. Plus depot names must be lower-case. |
||
#7 | 15215 | Paul Allen | Added RubyGem pages and tidy up. | ||
#6 | 15181 | Paul Allen | Maven/Generic search results. | ||
#5 | 14897 | Paul Allen | Added form validation and Perforce Artifacts | ||
#4 | 14886 | Paul Allen | Asset --> Artifact refactor | ||
#3 | 14883 | Paul Allen | Submit via preview and redirect to asset | ||
#2 | 14723 | Paul Allen | Tidy up deploy/upload | ||
#1 | 14227 | Paul Allen | Moved over MAVEN Artifact summary. |