/** * 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. */ package org.apache.ambari.server.controller; import java.io.File; import java.util.Collection; import java.util.Collections; import java.util.HashSet; import java.util.Map; import java.util.Set; import org.apache.ambari.server.stack.Validable; public class StackVersionResponse implements Validable{ private String minJdk; private String maxJdk; public String getMinJdk() { return minJdk; } public void setMinJdk(String minJdk) { this.minJdk = minJdk; } public String getMaxJdk() { return maxJdk; } public void setMaxJdk(String maxJdk) { this.maxJdk = maxJdk; } private String stackName; private String stackVersion; private String minUpgradeVersion; private boolean active; private boolean valid; private String parentVersion; private Map<String, Map<String, Map<String, String>>> configTypes; /** * A File pointing to the stack-level Kerberos descriptor file * * This may be null if a relevant file is not available. */ private File stackKerberosDescriptorFile; /** * A Collection of Files pointing to the service-level Kerberos descriptor files * * This may be null or empty if no relevant files are available. */ private Collection<File> serviceKerberosDescriptorFiles; private Set<String> upgradePacks = Collections.emptySet(); public StackVersionResponse(String stackVersion, String minUpgradeVersion, boolean active, String parentVersion, Map<String, Map<String, Map<String, String>>> configTypes, File stackKerberosDescriptorFile, Collection<File> serviceKerberosDescriptorFiles, Set<String> upgradePacks, boolean valid, Collection<String> errorSet, String minJdk, String maxJdk) { setStackVersion(stackVersion); setMinUpgradeVersion(minUpgradeVersion); setActive(active); setParentVersion(parentVersion); setConfigTypes(configTypes); setKerberosDescriptorFile(stackKerberosDescriptorFile); setServiceKerberosDescriptorFiles(serviceKerberosDescriptorFiles); setUpgradePacks(upgradePacks); setValid(valid); addErrors(errorSet); setMinJdk(minJdk); setMaxJdk(maxJdk); } @Override public boolean isValid() { return valid; } @Override public void setValid(boolean valid) { this.valid = valid; } private Set<String> errorSet = new HashSet<>(); @Override public void addError(String error) { errorSet.add(error); } @Override public Collection<String> getErrors() { return errorSet; } @Override public void addErrors(Collection<String> errors) { this.errorSet.addAll(errors); } public String getStackName() { return stackName; } public void setStackName(String stackName) { this.stackName = stackName; } public String getStackVersion() { return stackVersion; } public void setStackVersion(String stackVersion) { this.stackVersion = stackVersion; } public String getMinUpgradeVersion() { return minUpgradeVersion; } public void setMinUpgradeVersion(String minUpgradeVersion) { this.minUpgradeVersion = minUpgradeVersion; } public boolean isActive() { return active; } public void setActive(boolean active) { this.active = active; } public String getParentVersion() { return parentVersion; } public void setParentVersion(String parentVersion) { this.parentVersion = parentVersion; } public Map<String, Map<String, Map<String, String>>> getConfigTypes() { return configTypes; } public void setConfigTypes( Map<String, Map<String, Map<String, String>>> configTypes) { this.configTypes = configTypes; } /** * Gets a File pointing to the stack-level Kerberos descriptor * * @return a File pointing to the stack-level Kerberos descriptor, or null if no relevant file is * available */ public File getStackKerberosDescriptorFile() { return stackKerberosDescriptorFile; } /** * Sets the stack-level Kerberos descriptor File * * @param stackKerberosDescriptorFile a File pointing to the stack-level Kerberos descriptor */ public void setKerberosDescriptorFile(File stackKerberosDescriptorFile) { this.stackKerberosDescriptorFile = stackKerberosDescriptorFile; } /** * Gets the Collection of Files pointing to the stack-specific service-level Kerberos descriptor * files * * @return a Collection of Files pointing to the stack-specific service-level Kerberos descriptor * files, or null if no relevant files are available */ public Collection<File> getServiceKerberosDescriptorFiles() { return serviceKerberosDescriptorFiles; } /** * Sets the Collection of stack-specific service-level Kerberos descriptor Files * * @param serviceKerberosDescriptorFiles a Collection of stack-specific service-level Kerberos * descriptor Files */ public void setServiceKerberosDescriptorFiles(Collection<File> serviceKerberosDescriptorFiles) { this.serviceKerberosDescriptorFiles = serviceKerberosDescriptorFiles; } /** * @param upgradePacks the names of the upgrade packs for the stack version */ public void setUpgradePacks(Set<String> upgradePacks) { this.upgradePacks = upgradePacks; } /** * @return the upgrade pack names for the stack version */ public Set<String> getUpgradePacks() { return upgradePacks; } }