package com.sixsq.slipstream.factory; /* * +=================================================================+ * SlipStream Server (WAR) * ===== * Copyright (C) 2013 SixSq Sarl (sixsq.com) * ===== * 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. * -=================================================================- */ import java.util.HashMap; import java.util.Map; import com.sixsq.slipstream.exceptions.ValidationException; import com.sixsq.slipstream.persistence.ModuleParameter; public abstract class ModuleParametersFactoryBase extends ParametersFactoryBase<ModuleParameter> { protected Map<String, ModuleParameter> referenceParameters = new HashMap<String, ModuleParameter>(); protected Map<String, ModuleParameter> getReferenceParameters() { return referenceParameters; } public ModuleParametersFactoryBase(String category) throws ValidationException { super(category); initReferenceParameters(); } public Map<String, ModuleParameter> getParameters() { return referenceParameters; } protected ModuleParameter createParameter(String name, String description, boolean mandatory) throws ValidationException { return createParameter(name, null, description, mandatory); } protected ModuleParameter createParameter(String name, boolean value, String description) throws ValidationException { ModuleParameter p = new ModuleParameter(constructKey(name), value ? "on" : null, description); p.setCategory(getCategory()); p.setMandatory(true); return p; } protected ModuleParameter createParameter(String name, String value, String description, boolean mandatory) throws ValidationException { ModuleParameter p = new ModuleParameter(constructKey(name), value, description); p.setName(p.getName()); p.setCategory(getCategory()); p.setMandatory(true); return p; } protected void addSecurityGroupsParameter() throws ValidationException { putMandatoryParameter(SECURITY_GROUPS_PARAMETER_NAME, "Security Groups (comma separated list)", SECURITY_GROUPS_ALLOW_ALL, "If you don't know what is a security group or if you don't want to take care of them, you can use the " + "special value <code>" + SECURITY_GROUPS_ALLOW_ALL + "</code> to let SlipStream generate a security group with " + "everything allowed."); } }