View Javadoc

1   /***
2    * 
3    */
4   package org.promotego.runmode;
5   
6   import java.util.HashMap;
7   import java.util.Map;
8   
9   import org.springframework.beans.factory.annotation.Required;
10  
11  
12  /***
13   * @author alf
14   *
15   */
16  public class EnvironmentRunModeChooser implements RunModeChooser
17  {
18  	private Map<String,RunMode> m_runModeMap;
19  	private String m_propertyName;
20  
21  	public RunMode getRunMode()
22  	{
23  		String key = System.getenv().get(m_propertyName);
24  		if (key == null)
25  		{
26  			return null;
27  		}
28  		else
29  		{
30  			return m_runModeMap.get(key);
31  		}
32  	}
33  	
34  	@Required
35  	public void setRunModeMap(Map<String,String> runModeMap)
36  	{
37  		m_runModeMap = new HashMap<String,RunMode>(Math.round(runModeMap.size()/0.75f));
38  		for (Map.Entry<String, String> thisEntry : runModeMap.entrySet())
39  		{
40  			m_runModeMap.put(thisEntry.getKey(), RunMode.valueOf(thisEntry.getValue()));
41  		}
42  	}
43  	
44  	@Required
45  	public void setPropertyName(String propertyName)
46  	{
47  		m_propertyName = propertyName;
48  	}
49  }