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 SystemPropertiesRunModeChooser implements RunModeChooser
17 {
18 private Map<String,RunMode> m_runModeMap;
19 private String m_propertyName;
20
21 public RunMode getRunMode()
22 {
23 String key = (String)System.getProperties().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 }