1 52 53 package freemarker.testcase; 54 55 import java.util.HashMap ; 56 import java.util.Map ; 57 58 import freemarker.ext.beans.BeansWrapper; 59 import freemarker.template.TemplateModelException; 60 61 64 public class TestBeanMaps extends AbstractTestCase 65 { 66 public TestBeanMaps(String name) 67 { 68 super(name); 69 } 70 71 74 public void setUp() 75 throws TemplateModelException 76 { 77 setUpFiles( "test-bean-maps.html" ); 78 79 BeansWrapper w1 = new BeansWrapper(); 80 BeansWrapper w2 = new BeansWrapper(); 81 BeansWrapper w3 = new BeansWrapper(); 82 BeansWrapper w4 = new BeansWrapper(); 83 BeansWrapper w5 = new BeansWrapper(); 84 BeansWrapper w6 = new BeansWrapper(); 85 BeansWrapper w7 = new BeansWrapper(); 86 87 w1.setExposureLevel(BeansWrapper.EXPOSE_PROPERTIES_ONLY); 88 w2.setExposureLevel(BeansWrapper.EXPOSE_PROPERTIES_ONLY); 89 w3.setExposureLevel(BeansWrapper.EXPOSE_NOTHING); 90 w4.setExposureLevel(BeansWrapper.EXPOSE_NOTHING); 91 w5.setExposureLevel(BeansWrapper.EXPOSE_ALL); 92 w6.setExposureLevel(BeansWrapper.EXPOSE_ALL); 93 94 w1.setMethodsShadowItems(true); 95 w2.setMethodsShadowItems(false); 96 w3.setMethodsShadowItems(true); 97 w4.setMethodsShadowItems(false); 98 w5.setMethodsShadowItems(true); 99 w6.setMethodsShadowItems(false); 100 101 w7.setSimpleMapWrapper(true); 102 103 Object test = getTestBean(); 104 105 root.put("m1", w1.wrap(test)); 106 root.put("m2", w2.wrap(test)); 107 root.put("m3", w3.wrap(test)); 108 root.put("m4", w4.wrap(test)); 109 root.put("m5", w5.wrap(test)); 110 root.put("m6", w6.wrap(test)); 111 root.put("m7", w7.wrap(test)); 112 113 root.put("s1", w1.wrap("hello")); 114 root.put("s2", w1.wrap("world")); 115 root.put("s3", w5.wrap("hello")); 116 root.put("s4", w5.wrap("world")); 117 } 118 119 public Object getTestBean() 120 { 121 Map testBean = new TestBean(); 122 testBean.put("name", "Chris"); 123 testBean.put("location", "San Francisco"); 124 testBean.put("age", new Integer (27)); 125 return testBean; 126 } 127 128 public static class TestBean extends HashMap { 129 public String getName() { 130 return "Christopher"; 131 } 132 public int getLuckyNumber() { 133 return 7; 134 } 135 } 136 137 139 public static void main( String [] argc ) throws Exception { 140 AbstractTestCase cTest = new TestBeanMaps( "test-bean-maps.html" ); 141 cTest.run(); 142 } 143 } 144 | Popular Tags |