1 15 package org.apache.tapestry.junit.mock.c14; 16 17 import java.util.ArrayList ; 18 import java.util.Collections ; 19 import java.util.HashMap ; 20 import java.util.List ; 21 import java.util.Map ; 22 23 import org.apache.tapestry.IRequestCycle; 24 import org.apache.tapestry.form.IPropertySelectionModel; 25 import org.apache.tapestry.form.StringPropertySelectionModel; 26 import org.apache.tapestry.html.BasePage; 27 28 34 35 public abstract class ListEdit extends BasePage 36 { 37 public abstract Map getColorMap(); 38 39 public abstract void setColorMap(Map colorMap); 40 41 public abstract String getColorKey(); 42 43 private IPropertySelectionModel _colorModel; 44 45 public IPropertySelectionModel getColorModel() 46 { 47 if (_colorModel == null) 48 _colorModel = buildColorModel(); 49 50 return _colorModel; 51 } 52 53 private IPropertySelectionModel buildColorModel() 54 { 55 59 return new StringPropertySelectionModel(Color.ALL_COLORS); 60 } 61 62 public List getSortedColorKeys() 63 { 64 Map map = getColorMap(); 65 List result = new ArrayList (map.keySet()); 66 67 Collections.sort(result); 68 69 return result; 70 } 71 72 protected void finishLoad() 73 { 74 Map colorMap = new HashMap (); 75 76 colorMap.put("Food", Color.RED); 77 colorMap.put("Clothing", Color.BLACK); 78 colorMap.put("Eye Color", Color.BLUE); 79 80 setColorMap(colorMap); 81 } 82 83 86 87 public void setColor(String color) 88 { 89 getColorMap().put(getColorKey(), color); 90 } 91 92 public String getColor() 93 { 94 return (String ) getColorMap().get(getColorKey()); 95 } 96 97 public void formSubmit(IRequestCycle cycle) 98 { 99 ListEditResults results = (ListEditResults) cycle.getPage("ListEditResults"); 100 101 results.setColorMap(getColorMap()); 102 103 cycle.activate(results); 104 } 105 106 } 107 | Popular Tags |