1 24 package org.ofbiz.widget.html; 25 26 import java.io.IOException ; 27 import java.util.HashMap ; 28 import java.util.Map ; 29 import javax.servlet.http.HttpServletRequest ; 30 import javax.servlet.http.HttpServletResponse ; 31 import javax.xml.parsers.ParserConfigurationException ; 32 33 import org.ofbiz.base.util.Debug; 34 import org.ofbiz.base.util.UtilHttp; 35 import org.ofbiz.base.util.UtilValidate; 36 import org.ofbiz.base.util.collections.MapStack; 37 import org.ofbiz.widget.form.FormFactory; 38 import org.ofbiz.widget.form.FormStringRenderer; 39 import org.ofbiz.widget.form.ModelForm; 40 41 import org.xml.sax.SAXException ; 42 43 44 51 public class HtmlFormWrapper { 52 53 public static final String module = HtmlFormWrapper.class.getName(); 54 55 protected String resourceName; 56 protected String formName; 57 protected HttpServletRequest request; 58 protected HttpServletResponse response; 59 protected ModelForm modelForm; 60 protected FormStringRenderer renderer; 61 protected Map context; 62 63 protected HtmlFormWrapper() {} 64 65 public HtmlFormWrapper(String resourceName, String formName, HttpServletRequest request, HttpServletResponse response) 66 throws IOException , SAXException , ParserConfigurationException { 67 this.resourceName = resourceName; 68 this.formName = formName; 69 this.request = request; 70 this.response = response; 71 72 this.modelForm = FormFactory.getFormFromWebappContext(resourceName, formName, request); 73 74 this.renderer = new HtmlFormRenderer(request, response); 75 76 this.context = new HashMap (); 77 Map parameterMap = UtilHttp.getParameterMap(request); 78 context.put("parameters", parameterMap); 79 80 context.put("locale", UtilHttp.getLocale(request)); 82 83 if (UtilValidate.isNotEmpty((String ) request.getAttribute("_ERROR_MESSAGE_"))) { 85 context.put("isError", Boolean.TRUE); 86 } else { 87 context.put("isError", Boolean.FALSE); 88 } 89 90 if ("true".equals((String ) parameterMap.get("isError"))) { 92 context.put("isError", Boolean.TRUE); 93 } 94 95 Map uiLabelMap = (Map ) request.getAttribute("uiLabelMap"); 96 if (uiLabelMap != null && uiLabelMap.size() > 0 && context.get("uiLabelMap") == null) { 97 Debug.logInfo("Got uiLabelMap: " + uiLabelMap, module); 98 context.put("uiLabelMap", uiLabelMap); 99 } 100 } 101 102 public String renderFormString(Object contextStack) { 103 if (contextStack instanceof MapStack) { 104 return renderFormString((MapStack) contextStack); 105 } else { 106 Debug.logWarning("WARNING: call renderFormString with a non-MapStack: " + (contextStack == null ? "null" : contextStack.getClass().getName()), module); 107 return renderFormString(); 108 } 109 } 110 public String renderFormString(MapStack contextStack) { 111 contextStack.push(this.context); 113 StringBuffer buffer = new StringBuffer (); 114 modelForm.renderFormString(buffer, contextStack, renderer); 115 contextStack.pop(); 116 return buffer.toString(); 117 } 118 public String renderFormString() { 119 StringBuffer buffer = new StringBuffer (); 120 modelForm.renderFormString(buffer, context, renderer); 121 return buffer.toString(); 122 } 123 124 131 public void setIsError(boolean isError) { 132 this.context.put("isError", new Boolean (isError)); 133 } 134 135 public boolean getIsError() { 136 Boolean isErrorBoolean = (Boolean ) this.context.get("isError"); 137 if (isErrorBoolean == null) { 138 return false; 139 } else { 140 return isErrorBoolean.booleanValue(); 141 } 142 } 143 144 153 public void setUseRequestParameters(boolean useRequestParameters) { 154 this.context.put("useRequestParameters", new Boolean (useRequestParameters)); 155 } 156 157 public boolean getUseRequestParameters() { 158 Boolean useRequestParametersBoolean = (Boolean ) this.context.get("useRequestParameters"); 159 if (useRequestParametersBoolean == null) { 160 return false; 161 } else { 162 return useRequestParametersBoolean.booleanValue(); 163 } 164 } 165 166 public void setFormOverrideName(String formName) { 167 this.context.put("formName", formName); 168 } 169 170 public void putInContext(String name, Object value) { 171 this.context.put(name, value); 172 } 173 174 public Object getFromContext(String name) { 175 return this.context.get(name); 176 } 177 178 public ModelForm getModelForm() { 179 return modelForm; 180 } 181 182 public FormStringRenderer getRenderer() { 183 return renderer; 184 } 185 186 public void setRenderer(FormStringRenderer renderer) { 187 this.renderer = renderer; 188 } 189 } 190 | Popular Tags |