svn commit: r619599 - /ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/ModelScreenWidget.java

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

svn commit: r619599 - /ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/ModelScreenWidget.java

adrianc
Author: adrianc
Date: Thu Feb  7 11:44:51 2008
New Revision: 619599

URL: http://svn.apache.org/viewvc?rev=619599&view=rev
Log:
Another fixup for previous commit, based on David's advice.

Modified:
    ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/ModelScreenWidget.java

Modified: ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/ModelScreenWidget.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/ModelScreenWidget.java?rev=619599&r1=619598&r2=619599&view=diff
==============================================================================
--- ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/ModelScreenWidget.java (original)
+++ ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/ModelScreenWidget.java Thu Feb  7 11:44:51 2008
@@ -585,7 +585,6 @@
         protected FlexibleStringExpander nameExdr;
         protected FlexibleStringExpander locationExdr;
         protected FlexibleStringExpander shareScopeExdr;
-        protected ModelForm modelForm = null;
         
         public Form(ModelScreen modelScreen, Element formElement) {
             super(modelScreen, formElement);
@@ -604,7 +603,6 @@
                 ((MapStack) context).push();
             }
             
-            getModelForm(context);
             // try finding the formStringRenderer by name in the context in case one was prepared and put there
             FormStringRenderer formStringRenderer = (FormStringRenderer) context.get("formStringRenderer");
             // if there was no formStringRenderer put in place, now try finding the request/response in the context and creating a new one
@@ -620,6 +618,7 @@
                 throw new IllegalArgumentException("Could not find a formStringRenderer in the context, and could not find HTTP request/response objects need to create one.");
             }
             
+            ModelForm modelForm = getModelForm(context);
             //Debug.logInfo("before renderFormString, context:" + context, module);
             try {
                 modelForm.renderFormString(writer, context, formStringRenderer);
@@ -635,18 +634,17 @@
         }
         
         public ModelForm getModelForm(Map context) {
-            if (this.modelForm == null) {
-                String name = this.getName(context);
-                String location = this.getLocation(context);
-                try {
-                    this.modelForm = FormFactory.getFormFromLocation(location, name, this.modelScreen.getDelegator(context), this.modelScreen.getDispatcher(context));
-                } catch (Exception e) {
-                    String errMsg = "Error rendering included form named [" + name + "] at location [" + location + "]: ";
-                    Debug.logError(e, errMsg, module);
-                    throw new RuntimeException(errMsg + e);
-                }
+            ModelForm modelForm = null;
+            String name = this.getName(context);
+            String location = this.getLocation(context);
+            try {
+                modelForm = FormFactory.getFormFromLocation(location, name, this.modelScreen.getDelegator(context), this.modelScreen.getDispatcher(context));
+            } catch (Exception e) {
+                String errMsg = "Error rendering included form named [" + name + "] at location [" + location + "]: ";
+                Debug.logError(e, errMsg, module);
+                throw new RuntimeException(errMsg + e);
             }
-            return this.modelForm;
+            return modelForm;
         }
         
         public String getName(Map context) {
@@ -991,7 +989,6 @@
     public static class Menu extends ModelScreenWidget {
         protected FlexibleStringExpander nameExdr;
         protected FlexibleStringExpander locationExdr;
-        protected ModelMenu modelMenu = null;
         
         public Menu(ModelScreen modelScreen, Element menuElement) {
             super(modelScreen, menuElement);
@@ -1018,7 +1015,8 @@
             }
             
             StringBuffer renderBuffer = new StringBuffer();
-            this.modelMenu.renderMenuString(renderBuffer, context, menuStringRenderer);
+            ModelMenu modelMenu = getModelMenu(context);
+            modelMenu.renderMenuString(renderBuffer, context, menuStringRenderer);
             try {
                 writer.write(renderBuffer.toString());
             } catch (IOException e) {
@@ -1029,18 +1027,17 @@
         }
         
         public ModelMenu getModelMenu(Map context) {
-            if (this.modelMenu == null) {
-                String name = this.getName(context);
-                String location = this.getLocation(context);
-                try {
-                    this.modelMenu = MenuFactory.getMenuFromLocation(location, name, this.modelScreen.getDelegator(context), this.modelScreen.getDispatcher(context));
-                } catch (Exception e) {
-                    String errMsg = "Error rendering included menu named [" + name + "] at location [" + location + "]: ";
-                    Debug.logError(e, errMsg, module);
-                    throw new RuntimeException(errMsg + e);
-                }
+            String name = this.getName(context);
+            String location = this.getLocation(context);
+            ModelMenu modelMenu = null;
+            try {
+                modelMenu = MenuFactory.getMenuFromLocation(location, name, this.modelScreen.getDelegator(context), this.modelScreen.getDispatcher(context));
+            } catch (Exception e) {
+                String errMsg = "Error rendering included menu named [" + name + "] at location [" + location + "]: ";
+                Debug.logError(e, errMsg, module);
+                throw new RuntimeException(errMsg + e);
             }
-            return this.modelMenu;
+            return modelMenu;
         }
 
         public String getName(Map context) {