Commiters, All,

Sorry, I forgot to temporarily revert my Eclipse "no useless blanks 
everywhere"' setting. By chance this one is easy to read (which
means the file was nearly clean ;o)

Jacques

> Author: jleroux
> Date: Sat Aug 11 14:04:22 2007
> New Revision: 564975
>
> URL: http://svn.apache.org/viewvc?view=rev&rev=564975
> Log:
> A patch from Adrian Crum "Improved template rendering error message" 
> (https://issues.apache.org/jira/browse/OFBIZ-1188)
> Done by hand
>
> Modified:
>     
> ofbiz/branches/release4.0/framework/widget/src/org/ofbiz/widget/screen/HtmlWidget.java
>
> Modified: 
> ofbiz/branches/release4.0/framework/widget/src/org/ofbiz/widget/screen/HtmlWidget.java
> URL:
http://svn.apache.org/viewvc/ofbiz/branches/release4.0/framework/widget/src/org/ofbiz/widget/screen/HtmlWidget.java?view=diff&rev=564975&r1=564974&r2=564975
> ==============================================================================
> --- 
> ofbiz/branches/release4.0/framework/widget/src/org/ofbiz/widget/screen/HtmlWidget.java
>  (original)
> +++ 
> ofbiz/branches/release4.0/framework/widget/src/org/ofbiz/widget/screen/HtmlWidget.java
>  Sat Aug 11 14:04:22 2007
> @@ -6,9 +6,9 @@
>   * to you under the Apache License, Version 2.0 (the
>   * "License"); you may not use this file except in compliance
>   * with the License.  You may obtain a copy of the License at
> - *
> + *
>   * http://www.apache.org/licenses/LICENSE-2.0
> - *
> + *
>   * Unless required by applicable law or agreed to in writing,
>   * software distributed under the License is distributed on an
>   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> @@ -28,6 +28,7 @@
>
>  import org.ofbiz.base.util.Debug;
>  import org.ofbiz.base.util.GeneralException;
> +import org.ofbiz.base.util.UtilValidate;
>  import org.ofbiz.base.util.UtilXml;
>  import org.ofbiz.base.util.collections.MapStack;
>  import org.ofbiz.base.util.string.FlexibleStringExpander;
> @@ -41,9 +42,9 @@
>   */
>  public class HtmlWidget extends ModelScreenWidget {
>      public static final String module = HtmlWidget.class.getName();
> -
> +
>      protected ModelScreenWidget childWidget;
> -
> +
>      public HtmlWidget(ModelScreen modelScreen, Element htmlElement) {
>          super(modelScreen, htmlElement);
>          List childElementList = UtilXml.childElementList(htmlElement);
> @@ -67,11 +68,15 @@
>      public String rawString() {
>          return "<html-widget>" + 
> (this.childWidget==null?"":this.childWidget.rawString());
>      }
> -
> +
>      public static void renderHtmlTemplate(Writer writer, 
> FlexibleStringExpander locationExdr, Map context) {
>          String location = locationExdr.expandString(context);
>          //Debug.logInfo("Rendering template at location [" + location + "] 
> with context: \n" + context, module);
> -
> +
> +        if (UtilValidate.isEmpty(location)) {
> +            throw new IllegalArgumentException("Template location is empty");
> +        }
> +
>          if (location.endsWith(".ftl")) {
>              try {
>                  FreeMarkerWorker.renderTemplateAtLocation(location, context, 
> writer);
> @@ -89,13 +94,13 @@
>                  throw new RuntimeException(errMsg);
>              }
>          } else {
> -            throw new IllegalArgumentException("Rending not yet support for 
> the tempalte at location: " + location);
> +            throw new IllegalArgumentException("Rendering not yet supported 
> for the template at location: " + location);
>          }
>      }
> -
> +
>      public static class HtmlTemplate extends ModelScreenWidget {
>          protected FlexibleStringExpander locationExdr;
> -
> +
>          public HtmlTemplate(ModelScreen modelScreen, Element 
> htmlTemplateElement) {
>              super(modelScreen, htmlTemplateElement);
>              this.locationExdr = new 
> FlexibleStringExpander(htmlTemplateElement.getAttribute("location"));
> @@ -113,11 +118,11 @@
>      public static class HtmlTemplateDecorator extends ModelScreenWidget {
>          protected FlexibleStringExpander locationExdr;
>          protected Map sectionMap = new HashMap();
> -
> +
>          public HtmlTemplateDecorator(ModelScreen modelScreen, Element 
> htmlTemplateDecoratorElement) {
>              super(modelScreen, htmlTemplateDecoratorElement);
>              this.locationExdr = new 
> FlexibleStringExpander(htmlTemplateDecoratorElement.getAttribute("location"));
> -
> +
>              List htmlTemplateDecoratorSectionElementList = 
> UtilXml.childElementList(htmlTemplateDecoratorElement,
"html-template-decorator-section");
>              Iterator htmlTemplateDecoratorSectionElementIter = 
> htmlTemplateDecoratorSectionElementList.iterator();
>              while (htmlTemplateDecoratorSectionElementIter.hasNext()) {
> @@ -139,7 +144,7 @@
>              MapStack standAloneStack = contextMs.standAloneChildStack();
>              standAloneStack.put("screens", new ScreenRenderer(writer, 
> standAloneStack, screenStringRenderer));
>              SectionsRenderer sections = new 
> SectionsRenderer(this.sectionMap, standAloneStack, writer, 
> screenStringRenderer);
> -
> +
>              // put the sectionMap in the context, make sure it is in the 
> sub-scope, ie after calling push on the MapStack
>              contextMs.push();
>              context.put("sections", sections);
> @@ -155,7 +160,7 @@
>      public static class HtmlTemplateDecoratorSection extends 
> ModelScreenWidget {
>          protected String name;
>          protected List subWidgets;
> -
> +
>          public HtmlTemplateDecoratorSection(ModelScreen modelScreen, Element 
> htmlTemplateDecoratorSectionElement) {
>              super(modelScreen, htmlTemplateDecoratorSectionElement);
>              this.name = 
> htmlTemplateDecoratorSectionElement.getAttribute("name");
>

Reply via email to