![JAR search and dependency download from the Maven repository](/logo.png)
com.cloudbees.sdk.commands.config.model.ConfigParameters Maven / Gradle / Ivy
/*
* Copyright 2010-2013, CloudBees Inc.
*
* 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 com.cloudbees.sdk.commands.config.model;
import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.annotations.XStreamAlias;
import com.thoughtworks.xstream.annotations.XStreamImplicit;
import com.thoughtworks.xstream.io.json.JettisonMappedXmlDriver;
import com.thoughtworks.xstream.mapper.MapperWrapper;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
/**
* @author Fabian Donze
*/
@XStreamAlias("config")
public class ConfigParameters {
@XStreamImplicit(itemFieldName = "resource")
private List resources;
@XStreamImplicit(itemFieldName = "env")
private List environments;
@XStreamImplicit(itemFieldName="param")
private List parameters;
@XStreamImplicit(itemFieldName="runtime-param")
private List runtimeParameters;
public ConfigParameters() {
}
public List getEnvironments() {
if (environments == null)
environments = new ArrayList();
return environments;
}
public void setEnvironments(List environments) {
this.environments = environments;
}
public void setEnvironment(Environment environment) {
deleteEnvironment(environment.getName());
getEnvironments().add(environment);
}
public Environment getEnvironment(String env) {
for (Environment environment: getEnvironments()) {
if (env.equals(environment.getName()))
return environment;
}
return null;
}
public void deleteEnvironment(String name) {
Iterator it = getEnvironments().iterator();
while (it.hasNext()) {
if (it.next().getName().equals(name)) {
it.remove();
}
}
}
public List getResources() {
if (resources == null)
resources = new ArrayList();
return resources;
}
public void setResources(List resources) {
this.resources = resources;
}
public void setResource(ResourceSettings resource) {
deleteResource(resource.getName());
getResources().add(resource);
}
public ResourceSettings getResource(String name) {
for (ResourceSettings resource : getResources()) {
if (resource.getName().equals(name))
return resource;
}
return null;
}
public void deleteResource(String name) {
Iterator it = getResources().iterator();
while (it.hasNext()) {
if (it.next().getName().equals(name)) {
it.remove();
}
}
}
public List getParameters() {
if (parameters == null)
parameters = new ArrayList();
return parameters;
}
public void setParameters(List parameters) {
this.parameters = parameters;
}
public void deleteParameter(String name) {
Iterator it = getParameters().iterator();
while (it.hasNext()) {
if (it.next().getName().equals(name)) {
it.remove();
}
}
}
public void setParameter(ParameterSettings parameter) {
deleteParameter(parameter.getName());
getParameters().add(parameter);
}
public ParameterSettings getParameter(String name) {
for (ParameterSettings resource : getParameters()) {
if (resource.getName().equals(name))
return resource;
}
return null;
}
public List getRuntimeParameters() {
if (runtimeParameters == null)
runtimeParameters = new ArrayList();
return runtimeParameters;
}
public void setRuntimeParameters(List runtimeParameters) {
this.runtimeParameters = runtimeParameters;
}
public void deleteRuntimeParameter(String name) {
Iterator it = getRuntimeParameters().iterator();
while (it.hasNext()) {
if (it.next().getName().equals(name)) {
it.remove();
}
}
}
public void setRuntimeParameter(ParameterSettings parameter) {
deleteRuntimeParameter(parameter.getName());
getRuntimeParameters().add(parameter);
}
public ParameterSettings getRuntimeParameter(String name) {
for (ParameterSettings resource : getRuntimeParameters()) {
if (resource.getName().equals(name))
return resource;
}
return null;
}
private static XStream createXStream() {
XStream xstream = new XStream() {
protected MapperWrapper wrapMapper(MapperWrapper next) {
return new MapperWrapper(next) {
public boolean shouldSerializeMember(Class definedIn, String fieldName) {
return definedIn != Object.class ? super.shouldSerializeMember(definedIn, fieldName) : false;
}
};
}
};
xstream.setClassLoader(ConfigParameters.class.getClassLoader());
xstream.processAnnotations(ParameterSettings.class);
xstream.processAnnotations(ResourceSettings.class);
xstream.processAnnotations(Environment.class);
xstream.processAnnotations(ConfigParameters.class);
return xstream;
}
public String toXML() {
return createXStream().toXML(this);
}
public static ConfigParameters parse(String xml) {
if (xml == null)
return new ConfigParameters();
return (ConfigParameters) createXStream().fromXML(xml);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy