1 4 package org.oddjob.webapp.model; 5 6 import java.util.Collection ; 7 import java.util.Iterator ; 8 import java.util.LinkedHashMap ; 9 import java.util.Map ; 10 11 import org.oddjob.monitor.action.ExecuteAction; 12 import org.oddjob.monitor.action.HardResetAction; 13 import org.oddjob.monitor.action.SoftResetAction; 14 import org.oddjob.monitor.action.StopAction; 15 import org.oddjob.monitor.model.ExplorerContext; 16 import org.oddjob.monitor.model.JobAction; 17 import org.oddjob.monitor.model.JobOption; 18 19 24 public class WebJobActions { 25 26 private final Map options = new LinkedHashMap (); 27 28 public WebJobActions() { 29 add(new ExecuteAction()); 31 add(new StopAction()); 32 add(new SoftResetAction()); 33 add(new HardResetAction()); 34 } 35 36 void add(JobOption option) { 37 options.put(option.getName(), option); 38 } 39 40 public void select(Object component, ExplorerContext explorerContext) { 41 for (Iterator it = options.entrySet().iterator(); it.hasNext(); ) { 42 Map.Entry entry = (Map.Entry ) it.next(); 43 JobOption option = (JobOption) entry.getValue(); 44 option.optionSelect(component, explorerContext); 45 } 46 } 47 48 public Collection commands() { 49 return options.keySet(); 50 } 51 52 public boolean isEnabled(String command) { 53 JobOption option = (JobOption) options.get(command); 54 return option.enabled(); 55 } 56 57 public void action(String command) throws Exception { 58 JobOption option = (JobOption) options.get(command); 59 if (option instanceof JobAction) { 60 ((JobAction) option).action(); 61 } else { 62 throw new UnsupportedOperationException ("Can't do menus yet."); 64 } 65 } 66 } 67 | Popular Tags |