All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.jfrog.hudson.UserPluginInfo Maven / Gradle / Ivy

The newest version!
package org.jfrog.hudson;

import com.google.common.collect.Lists;
import com.google.common.collect.Maps;

import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.Map;
import java.util.Set;

/**
 * @author Noam Y. Tenne
 */
public class UserPluginInfo {

    public static final String NO_PLUGIN_KEY = "None";

    private String pluginName;
    private Map pluginParams;

    public static final UserPluginInfo NO_PLUGIN = new UserPluginInfo(NO_PLUGIN_KEY);

    public UserPluginInfo(Map stagingPluginInfo) {
        pluginName = stagingPluginInfo.get("name").toString();
        Object params = stagingPluginInfo.get("params");
        if (params == null) {
            pluginParams = Maps.newHashMap();
        } else {
            pluginParams = (Map) params;
        }
    }

    private UserPluginInfo(String name) {
        pluginName = name;
        pluginParams = Maps.newHashMap();
    }

    public String getPluginName() {
        return pluginName;
    }

    public List getPluginParams() {
        List pluginParamList = Lists.newArrayList();
        for (Map.Entry paramEntry : ((Set) pluginParams.entrySet())) {
            pluginParamList.add(new UserPluginInfoParam(paramEntry.getKey(), paramEntry.getValue()));
        }
        Collections.sort(pluginParamList, new Comparator() {
            public int compare(UserPluginInfoParam o1, UserPluginInfoParam o2) {
                return o1.getKey().toString().compareTo(o2.getKey().toString());
            }
        });
        return pluginParamList;
    }

    public void addParam(Object key, Object value) {
        pluginParams.put(key, value);
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy