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 }