org.jfrog.hudson.plugins.artifactory.util.PublisherContext.java Source code

Java tutorial

Introduction

Here is the source code for org.jfrog.hudson.plugins.artifactory.util.PublisherContext.java

Source

/*
 * Copyright (C) 2011 JFrog Ltd.
 *
 * Licensed 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.
 */

package org.jfrog.hudson.plugins.artifactory.util;

import org.apache.commons.lang.StringUtils;
import org.jfrog.hudson.plugins.artifactory.DeployerOverrider;
import org.jfrog.hudson.plugins.artifactory.ResolverOverrider;
import org.jfrog.hudson.plugins.artifactory.config.ArtifactoryServer;
import org.jfrog.hudson.plugins.artifactory.config.ServerDetails;

/**
 * Container class for build context fields
 *
 * @author Tomer Cohen
 */
public class PublisherContext {

    private ArtifactoryServer artifactoryServer;
    private ServerDetails serverDetails;
    private DeployerOverrider deployerOverrider;
    private ResolverOverrider resolverOverrider;
    private boolean runChecks;
    private boolean includePublishArtifacts;
    private boolean copyAggregatedArtifacts;
    private boolean publishAggregatedArtifacts;
    private String violationRecipients;
    private String aggregateArtifactsPath;
    private String scopes;
    private boolean licenseAutoDiscovery;
    private boolean discardOldBuilds;
    private boolean discardBuildArtifacts;
    private boolean deployArtifacts;
    private boolean resolveArtifacts;
    private IncludesExcludes includesExcludes;
    private boolean skipBuildInfoDeploy;
    private boolean includeEnvVars;
    private IncludesExcludes envVarsPatterns;
    private boolean evenIfUnstable;
    private boolean deployMaven;
    private boolean deployIvy;
    private String artifactsPattern = "";
    private String ivyPattern = "";
    private String matrixParams;
    private boolean maven2Compatible;
    private boolean enableIssueTrackerIntegration;
    private boolean aggregateBuildIssues;
    private String aggregationBuildStatus;
    private boolean filterExcludedArtifactsFromBuild;

    private PublisherContext() {
    }

    public ArtifactoryServer getArtifactoryServer() {
        return artifactoryServer;
    }

    public String getArtifactsPattern() {
        return getCleanString(artifactsPattern);
    }

    public String getMatrixParams() {
        return matrixParams;
    }

    public String getIvyPattern() {
        return getCleanString(ivyPattern);
    }

    public boolean isDiscardBuildArtifacts() {
        return discardBuildArtifacts;
    }

    public ServerDetails getServerDetails() {
        return serverDetails;
    }

    public IncludesExcludes getIncludesExcludes() {
        return includesExcludes;
    }

    public boolean isSkipBuildInfoDeploy() {
        return skipBuildInfoDeploy;
    }

    public boolean isIncludeEnvVars() {
        return includeEnvVars;
    }

    public IncludesExcludes getEnvVarsPatterns() {
        return envVarsPatterns;
    }

    public DeployerOverrider getDeployerOverrider() {
        return deployerOverrider;
    }

    public ResolverOverrider getResolverOverrider() {
        return resolverOverrider;
    }

    public String getScopes() {
        return scopes;
    }

    public boolean isRunChecks() {
        return runChecks;
    }

    public boolean isIncludePublishArtifacts() {
        return includePublishArtifacts;
    }

    public String getViolationRecipients() {
        return violationRecipients;
    }

    public boolean isCopyAggregatedArtifacts() {
        return copyAggregatedArtifacts;
    }

    public boolean isPublishAggregatedArtifacts() {
        return publishAggregatedArtifacts;
    }

    public String getAggregateArtifactsPath() {
        return aggregateArtifactsPath;
    }

    public boolean isLicenseAutoDiscovery() {
        return licenseAutoDiscovery;
    }

    public boolean isDiscardOldBuilds() {
        return discardOldBuilds;
    }

    public boolean isDeployArtifacts() {
        return deployArtifacts;
    }

    public boolean isResolveArtifacts() {
        return resolveArtifacts;
    }

    public final String getArtifactoryName() {
        return serverDetails != null ? serverDetails.artifactoryName : null;
    }

    public boolean isDeployMaven() {
        return deployMaven;
    }

    public boolean isDeployIvy() {
        return deployIvy;
    }

    public boolean isEvenIfUnstable() {
        return evenIfUnstable;
    }

    private String getCleanString(String stringToClean) {
        return StringUtils.removeEnd(StringUtils.removeStart(stringToClean, "\""), "\"");
    }

    public boolean isMaven2Compatible() {
        return maven2Compatible;
    }

    public boolean isEnableIssueTrackerIntegration() {
        return enableIssueTrackerIntegration;
    }

    public boolean isAggregateBuildIssues() {
        return aggregateBuildIssues;
    }

    public String getAggregationBuildStatus() {
        return aggregationBuildStatus;
    }

    public boolean isFilterExcludedArtifactsFromBuild() {
        return filterExcludedArtifactsFromBuild;
    }

    public static class Builder {
        PublisherContext publisher = new PublisherContext();

        public PublisherContext build() {
            if (publisher.artifactoryServer == null) {
                throw new IllegalArgumentException(
                        "No matching Artifactory server was found in General Configuration. Please update your job configuration.");
            }
            if (publisher.serverDetails == null) {
                throw new IllegalArgumentException("serverDetails cannot be null");
            }
            return publisher;
        }

        public Builder artifactoryServer(ArtifactoryServer artifactoryServer) {
            publisher.artifactoryServer = artifactoryServer;
            return this;
        }

        public Builder serverDetails(ServerDetails serverDetails) {
            publisher.serverDetails = serverDetails;
            return this;
        }

        public Builder deployerOverrider(DeployerOverrider deployerOverrider) {
            publisher.deployerOverrider = deployerOverrider;
            return this;
        }

        public Builder resolverOverrider(ResolverOverrider resolverOverrider) {
            publisher.resolverOverrider = resolverOverrider;
            return this;
        }

        public Builder runChecks(boolean runChecks) {
            publisher.runChecks = runChecks;
            return this;
        }

        public Builder includePublishArtifacts(boolean includePublishArtifacts) {
            publisher.includePublishArtifacts = includePublishArtifacts;
            return this;
        }

        public Builder violationRecipients(String violationRecipients) {
            publisher.violationRecipients = violationRecipients;
            return this;
        }

        public Builder aggregateArtifactsPath(String aggregateArtifactsPath) {
            publisher.aggregateArtifactsPath = aggregateArtifactsPath;
            return this;
        }

        public Builder copyAggregatedArtifacts(boolean copyAggregatedArtifacts) {
            publisher.copyAggregatedArtifacts = copyAggregatedArtifacts;
            return this;
        }

        public Builder publishAggregatedArtifacts(boolean publishAggregatedArtifacts) {
            publisher.publishAggregatedArtifacts = publishAggregatedArtifacts;
            return this;
        }

        public Builder scopes(String scopes) {
            publisher.scopes = scopes;
            return this;
        }

        public Builder licenseAutoDiscovery(boolean licenseAutoDiscovery) {
            publisher.licenseAutoDiscovery = licenseAutoDiscovery;
            return this;
        }

        public Builder discardOldBuilds(boolean discardOldBuilds) {
            publisher.discardOldBuilds = discardOldBuilds;
            return this;
        }

        public Builder deployArtifacts(boolean deployArtifacts) {
            publisher.deployArtifacts = deployArtifacts;
            return this;
        }

        public Builder resolveArtifacts(boolean resolveArtifacts) {
            publisher.resolveArtifacts = resolveArtifacts;
            return this;
        }

        public Builder includesExcludes(IncludesExcludes includesExcludes) {
            publisher.includesExcludes = includesExcludes;
            return this;
        }

        public Builder skipBuildInfoDeploy(boolean skipBuildInfoDeploy) {
            publisher.skipBuildInfoDeploy = skipBuildInfoDeploy;
            return this;
        }

        public Builder includeEnvVars(boolean includeEnvVars) {
            publisher.includeEnvVars = includeEnvVars;
            return this;
        }

        public Builder envVarsPatterns(IncludesExcludes envVarsPatterns) {
            publisher.envVarsPatterns = envVarsPatterns;
            return this;
        }

        public Builder discardBuildArtifacts(boolean discardBuildArtifacts) {
            publisher.discardBuildArtifacts = discardBuildArtifacts;
            return this;
        }

        public Builder matrixParams(String matrixParams) {
            publisher.matrixParams = matrixParams;
            return this;
        }

        public Builder artifactsPattern(String artifactsPattern) {
            publisher.artifactsPattern = artifactsPattern;
            return this;
        }

        public Builder ivyPattern(String ivyPattern) {
            publisher.ivyPattern = ivyPattern;
            return this;
        }

        public Builder deployMaven(boolean deployMaven) {
            publisher.deployMaven = deployMaven;
            return this;
        }

        public Builder deployIvy(boolean deployIvy) {
            publisher.deployIvy = deployIvy;
            return this;
        }

        public Builder evenIfUnstable(boolean evenIfUnstable) {
            publisher.evenIfUnstable = evenIfUnstable;
            return this;
        }

        public Builder maven2Compatible(boolean maven2Compatible) {
            publisher.maven2Compatible = maven2Compatible;
            return this;
        }

        public Builder enableIssueTrackerIntegration(boolean enableIssueTrackerIntegration) {
            publisher.enableIssueTrackerIntegration = enableIssueTrackerIntegration;
            return this;
        }

        public Builder aggregateBuildIssues(boolean aggregateBuildIssues) {
            publisher.aggregateBuildIssues = aggregateBuildIssues;
            return this;
        }

        public Builder aggregationBuildStatus(String aggregationBuildStatus) {
            publisher.aggregationBuildStatus = aggregationBuildStatus;
            return this;
        }

        public Builder filterExcludedArtifactsFromBuild(boolean filterExcludedArtifactsFromBuild) {
            publisher.filterExcludedArtifactsFromBuild = filterExcludedArtifactsFromBuild;
            return this;
        }
    }
}