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<UserPluginInfoParam> getPluginParams() { List<UserPluginInfoParam> pluginParamList = Lists.newArrayList(); for (Map.Entry paramEntry : ((Set<Map.Entry>) pluginParams.entrySet())) { pluginParamList.add(new UserPluginInfoParam(paramEntry.getKey(), paramEntry.getValue())); } Collections.sort(pluginParamList, new Comparator<UserPluginInfoParam>() { 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); } }