OK. I will try. Thanks.
On Sun, Nov 2, 2014 at 6:36 PM, Adrian Crum < [email protected]> wrote: > The same problem exists with the current ScreenStringRenderer interface. > > You can extend ModelWidgetVisitor to include your custom widgets: > > public interface MyVisitor extends ModelWidgetVisitor { > void visit(MyWidget myWidget); > } > > and then your custom widget's accept method would look like this: > > @Override > public void accept(ModelWidgetVisitor visitor) { > if (visitor instanceof MyVisitor) { > ((MyVisitor)visitor).visit(this); > } > } > > > Adrian Crum > Sandglass Software > www.sandglass-software.com > > On 11/2/2014 10:03 AM, Chatree Srichart wrote: > >> Hi Adrian*,* >> >> OFBiz uses ServiceLoader.load() to load widget loaders from >> >> [CLASSPATH]/META-INF/services/org.ofbiz.widget.WidgetLoader >> >> That means it allows us to create a custom widget loader with custom >> widgets >> >> However, your ModelWidgetVisitor class limit a number of widget classes to >> send to visit() method. >> >> I think it should use generic type like this: >> >> public interface ModelWidgetVisitor<T extends ModelWidget> { >> >> void visit(T t); >> } >> >> Best Regards, >> Chatree Srichart >> >> On Sat, Nov 1, 2014 at 11:57 PM, <[email protected]> wrote: >> >> Author: adrianc >>> Date: Sat Nov 1 16:57:07 2014 >>> New Revision: 1635990 >>> >>> URL: http://svn.apache.org/r1635990 >>> Log: >>> Add a screen widget model visitor. This will enable us to externalize a >>> lot of unrelated code that has been included in the models, as well as >>> provide a cleaner API for the renderers. >>> >>> Added: >>> >>> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/ >>> ModelWidgetVisitor.java >>> Modified: >>> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/ModelWidget.java >>> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ >>> ModelForm.java >>> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/menu/ >>> ModelMenu.java >>> >>> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/HtmlWidget.java >>> >>> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/ >>> IterateSectionWidget.java >>> >>> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/ >>> ModelScreen.java >>> >>> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/ >>> ModelScreenWidget.java >>> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/tree/ >>> ModelTree.java >>> >>> Modified: >>> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/ModelWidget.java >>> URL: >>> http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/ >>> src/org/ofbiz/widget/ModelWidget.java?rev=1635990& >>> r1=1635989&r2=1635990&view=diff >>> >>> ============================================================ >>> ================== >>> --- ofbiz/trunk/framework/widget/src/org/ofbiz/widget/ModelWidget.java >>> (original) >>> +++ ofbiz/trunk/framework/widget/src/org/ofbiz/widget/ModelWidget.java >>> Sat >>> Nov 1 16:57:07 2014 >>> @@ -53,6 +53,8 @@ public abstract class ModelWidget implem >>> this.startLine = ((Integer) >>> widgetElement.getUserData("startLine")).intValue(); >>> } >>> >>> + public abstract void accept(ModelWidgetVisitor visitor); >>> + >>> /** >>> * Returns the widget's name. >>> * @return Widget's name >>> >>> Added: >>> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/ >>> ModelWidgetVisitor.java >>> URL: >>> http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/ >>> src/org/ofbiz/widget/ModelWidgetVisitor.java?rev=1635990&view=auto >>> >>> ============================================================ >>> ================== >>> --- >>> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/ >>> ModelWidgetVisitor.java >>> (added) >>> +++ >>> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/ >>> ModelWidgetVisitor.java >>> Sat Nov 1 16:57:07 2014 >>> @@ -0,0 +1,87 @@ >>> >>> +/********************************************************** >>> ********************* >>> + * Licensed to the Apache Software Foundation (ASF) under one >>> + * or more contributor license agreements. See the NOTICE file >>> + * distributed with this work for additional information >>> + * regarding copyright ownership. The ASF licenses this file >>> + * 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 >>> + * KIND, either express or implied. See the License for the >>> + * specific language governing permissions and limitations >>> + * under the License. >>> + >>> ************************************************************ >>> *******************/ >>> +package org.ofbiz.widget; >>> + >>> +import org.ofbiz.widget.form.ModelForm; >>> +import org.ofbiz.widget.menu.ModelMenu; >>> +import org.ofbiz.widget.screen.HtmlWidget; >>> +import org.ofbiz.widget.screen.IterateSectionWidget; >>> +import org.ofbiz.widget.screen.ModelScreen; >>> +import org.ofbiz.widget.screen.ModelScreenWidget; >>> +import org.ofbiz.widget.tree.ModelTree; >>> + >>> +/** >>> + * A <code>ModelWidget</code> visitor. >>> + */ >>> +public interface ModelWidgetVisitor { >>> + >>> + void visit(HtmlWidget htmlWidget); >>> + >>> + void visit(HtmlWidget.HtmlTemplate htmlTemplate); >>> + >>> + void visit(HtmlWidget.HtmlTemplateDecorator htmlTemplateDecorator); >>> + >>> + void visit(HtmlWidget.HtmlTemplateDecoratorSection >>> htmlTemplateDecoratorSection); >>> + >>> + void visit(IterateSectionWidget iterateSectionWidget); >>> + >>> + void visit(ModelForm modelForm); >>> + >>> + void visit(ModelMenu modelMenu); >>> + >>> + void visit(ModelScreen modelScreen); >>> + >>> + void visit(ModelScreenWidget.ColumnContainer columnContainer); >>> + >>> + void visit(ModelScreenWidget.Container container); >>> + >>> + void visit(ModelScreenWidget.Content content); >>> + >>> + void visit(ModelScreenWidget.DecoratorScreen decoratorScreen); >>> + >>> + void visit(ModelScreenWidget.DecoratorSection decoratorSection); >>> + >>> + void visit(ModelScreenWidget.DecoratorSectionInclude >>> decoratorSectionInclude); >>> + >>> + void visit(ModelScreenWidget.Form form); >>> + >>> + void visit(ModelScreenWidget.HorizontalSeparator >>> horizontalSeparator); >>> + >>> + void visit(ModelScreenWidget.Image image); >>> + >>> + void visit(ModelScreenWidget.IncludeScreen includeScreen); >>> + >>> + void visit(ModelScreenWidget.Label label); >>> + >>> + void visit(ModelScreenWidget.Link link); >>> + >>> + void visit(ModelScreenWidget.Menu menu); >>> + >>> + void visit(ModelScreenWidget.PlatformSpecific platformSpecific); >>> + >>> + void visit(ModelScreenWidget.PortalPage portalPage); >>> + >>> + void visit(ModelScreenWidget.Screenlet screenlet); >>> + >>> + void visit(ModelScreenWidget.Section section); >>> + >>> + void visit(ModelScreenWidget.Tree tree); >>> + >>> + void visit(ModelTree modelTree); >>> +} >>> >>> Modified: >>> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelForm.java >>> URL: >>> http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/ >>> src/org/ofbiz/widget/form/ModelForm.java?rev=1635990&r1= >>> 1635989&r2=1635990&view=diff >>> >>> ============================================================ >>> ================== >>> --- ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ >>> ModelForm.java >>> (original) >>> +++ ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ >>> ModelForm.java >>> Sat Nov 1 16:57:07 2014 >>> @@ -57,6 +57,7 @@ import org.ofbiz.service.ModelParam; >>> import org.ofbiz.service.ModelService; >>> import org.ofbiz.webapp.control.ConfigXMLReader; >>> import org.ofbiz.widget.ModelWidget; >>> +import org.ofbiz.widget.ModelWidgetVisitor; >>> import org.ofbiz.widget.WidgetWorker; >>> import org.w3c.dom.Element; >>> >>> @@ -3318,4 +3319,9 @@ public class ModelForm extends ModelWidg >>> >>> return allRequestsUsed; >>> } >>> + >>> + @Override >>> + public void accept(ModelWidgetVisitor visitor) { >>> + visitor.visit(this); >>> + } >>> } >>> >>> Modified: >>> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/menu/ModelMenu.java >>> URL: >>> http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/ >>> src/org/ofbiz/widget/menu/ModelMenu.java?rev=1635990&r1= >>> 1635989&r2=1635990&view=diff >>> >>> ============================================================ >>> ================== >>> --- ofbiz/trunk/framework/widget/src/org/ofbiz/widget/menu/ >>> ModelMenu.java >>> (original) >>> +++ ofbiz/trunk/framework/widget/src/org/ofbiz/widget/menu/ >>> ModelMenu.java >>> Sat Nov 1 16:57:07 2014 >>> @@ -30,6 +30,7 @@ import org.ofbiz.base.util.UtilXml; >>> import org.ofbiz.base.util.collections.FlexibleMapAccessor; >>> import org.ofbiz.base.util.string.FlexibleStringExpander; >>> import org.ofbiz.widget.ModelWidget; >>> +import org.ofbiz.widget.ModelWidgetVisitor; >>> import org.w3c.dom.Element; >>> >>> /** >>> @@ -598,4 +599,9 @@ public class ModelMenu extends ModelWidg >>> public void setExtraIndex(String extraIndex) { >>> this.extraIndex = FlexibleStringExpander. >>> getInstance(extraIndex); >>> } >>> + >>> + @Override >>> + public void accept(ModelWidgetVisitor visitor) { >>> + visitor.visit(this); >>> + } >>> } >>> >>> Modified: >>> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/HtmlWidget.java >>> URL: >>> http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/ >>> src/org/ofbiz/widget/screen/HtmlWidget.java?rev=1635990& >>> r1=1635989&r2=1635990&view=diff >>> >>> ============================================================ >>> ================== >>> --- >>> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/HtmlWidget.java >>> (original) >>> +++ >>> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/HtmlWidget.java >>> Sat Nov 1 16:57:07 2014 >>> @@ -37,6 +37,7 @@ import org.ofbiz.base.util.collections.M >>> import org.ofbiz.base.util.string.FlexibleStringExpander; >>> import org.ofbiz.base.util.template.FreeMarkerWorker; >>> import org.ofbiz.widget.ModelWidget; >>> +import org.ofbiz.widget.ModelWidgetVisitor; >>> import org.ofbiz.widget.html.HtmlWidgetRenderer; >>> import org.w3c.dom.Element; >>> >>> @@ -200,6 +201,11 @@ public class HtmlWidget extends ModelScr >>> public void renderWidgetString(Appendable writer, Map<String, >>> Object> context, ScreenStringRenderer screenStringRenderer) { >>> renderHtmlTemplate(writer, this.locationExdr, context); >>> } >>> + >>> + @Override >>> + public void accept(ModelWidgetVisitor visitor) { >>> + visitor.visit(this); >>> + } >>> } >>> >>> public static class HtmlTemplateDecorator extends >>> ModelScreenWidget { >>> @@ -240,6 +246,11 @@ public class HtmlWidget extends ModelScr >>> renderHtmlTemplate(writer, this.locationExdr, context); >>> contextMs.pop(); >>> } >>> + >>> + @Override >>> + public void accept(ModelWidgetVisitor visitor) { >>> + visitor.visit(this); >>> + } >>> } >>> >>> public static class HtmlTemplateDecoratorSection extends >>> ModelScreenWidget { >>> @@ -259,5 +270,15 @@ public class HtmlWidget extends ModelScr >>> // render sub-widgets >>> renderSubWidgetsString(this.subWidgets, writer, context, >>> screenStringRenderer); >>> } >>> + >>> + @Override >>> + public void accept(ModelWidgetVisitor visitor) { >>> + visitor.visit(this); >>> + } >>> + } >>> + >>> + @Override >>> + public void accept(ModelWidgetVisitor visitor) { >>> + visitor.visit(this); >>> } >>> } >>> >>> Modified: >>> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/ >>> IterateSectionWidget.java >>> URL: >>> http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/ >>> src/org/ofbiz/widget/screen/IterateSectionWidget.java?rev= >>> 1635990&r1=1635989&r2=1635990&view=diff >>> >>> ============================================================ >>> ================== >>> --- >>> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/ >>> IterateSectionWidget.java >>> (original) >>> +++ >>> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/ >>> IterateSectionWidget.java >>> Sat Nov 1 16:57:07 2014 >>> @@ -44,6 +44,7 @@ import org.ofbiz.base.util.collections.F >>> import org.ofbiz.base.util.collections.MapStack; >>> import org.ofbiz.base.util.string.FlexibleStringExpander; >>> import org.ofbiz.webapp.control.RequestHandler; >>> +import org.ofbiz.widget.ModelWidgetVisitor; >>> import org.ofbiz.widget.WidgetWorker; >>> import org.w3c.dom.Element; >>> >>> @@ -351,6 +352,11 @@ public class IterateSectionWidget extend >>> writer.append("</table>\n"); >>> >>> } >>> + >>> + @Override >>> + public void accept(ModelWidgetVisitor visitor) { >>> + visitor.visit(this); >>> + } >>> } >>> >>> >>> >>> Modified: >>> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/ >>> ModelScreen.java >>> URL: >>> http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/ >>> src/org/ofbiz/widget/screen/ModelScreen.java?rev=1635990& >>> r1=1635989&r2=1635990&view=diff >>> >>> ============================================================ >>> ================== >>> --- >>> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/ >>> ModelScreen.java >>> (original) >>> +++ >>> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/ >>> ModelScreen.java >>> Sat Nov 1 16:57:07 2014 >>> @@ -38,6 +38,7 @@ import org.ofbiz.service.LocalDispatcher >>> import org.ofbiz.webapp.control.ConfigXMLReader; >>> import org.ofbiz.widget.ModelWidget; >>> import org.ofbiz.widget.ModelWidgetAction; >>> +import org.ofbiz.widget.ModelWidgetVisitor; >>> import org.w3c.dom.Element; >>> >>> /** >>> @@ -75,6 +76,11 @@ public class ModelScreen extends ModelWi >>> this.section = new ModelScreenWidget.Section(this, >>> sectionElement, true); >>> } >>> >>> + @Override >>> + public void accept(ModelWidgetVisitor visitor) { >>> + visitor.visit(this); >>> + } >>> + >>> public String getTransactionTimeout() { >>> return transactionTimeoutExdr.getOriginal(); >>> } >>> >>> 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= >>> 1635990&r1=1635989&r2=1635990&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 >>> Sat Nov 1 16:57:07 2014 >>> @@ -46,6 +46,7 @@ import org.ofbiz.entity.condition.Entity >>> import org.ofbiz.entity.util.EntityQuery; >>> import org.ofbiz.widget.ModelWidget; >>> import org.ofbiz.widget.ModelWidgetAction; >>> +import org.ofbiz.widget.ModelWidgetVisitor; >>> import org.ofbiz.widget.PortalPageWorker; >>> import org.ofbiz.widget.WidgetFactory; >>> import org.ofbiz.widget.WidgetWorker; >>> @@ -241,6 +242,11 @@ public abstract class ModelScreenWidget >>> } >>> >>> @Override >>> + public void accept(ModelWidgetVisitor visitor) { >>> + visitor.visit(this); >>> + } >>> + >>> + @Override >>> public void renderWidgetString(Appendable writer, Map<String, >>> Object> context, ScreenStringRenderer screenStringRenderer) throws >>> GeneralException, IOException { >>> // check the condition, if there is one >>> boolean condTrue = true; >>> @@ -331,6 +337,11 @@ public abstract class ModelScreenWidget >>> } >>> >>> @Override >>> + public void accept(ModelWidgetVisitor visitor) { >>> + visitor.visit(this); >>> + } >>> + >>> + @Override >>> public void renderWidgetString(Appendable writer, Map<String, >>> Object> context, ScreenStringRenderer screenStringRenderer) throws >>> GeneralException, IOException { >>> try { >>> screenStringRenderer.renderColumnContainer(writer, >>> context, this); >>> @@ -437,6 +448,11 @@ public abstract class ModelScreenWidget >>> public List<ModelScreenWidget> getSubWidgets() { >>> return subWidgets; >>> } >>> + >>> + @Override >>> + public void accept(ModelWidgetVisitor visitor) { >>> + visitor.visit(this); >>> + } >>> } >>> >>> public static final class Screenlet extends ModelScreenWidget { >>> @@ -594,6 +610,11 @@ public abstract class ModelScreenWidget >>> public Menu getTabMenu() { >>> return this.tabMenu; >>> } >>> + >>> + @Override >>> + public void accept(ModelWidgetVisitor visitor) { >>> + visitor.visit(this); >>> + } >>> } >>> >>> public static final class HorizontalSeparator extends >>> ModelScreenWidget { >>> @@ -619,6 +640,11 @@ public abstract class ModelScreenWidget >>> public String getStyle(Map<String, Object> context) { >>> return this.styleExdr.expandString(context); >>> } >>> + >>> + @Override >>> + public void accept(ModelWidgetVisitor visitor) { >>> + visitor.visit(this); >>> + } >>> } >>> >>> public static final class IncludeScreen extends ModelScreenWidget { >>> @@ -685,6 +711,11 @@ public abstract class ModelScreenWidget >>> // defaults to false, so anything but true is false >>> return "true".equals(shareScopeString); >>> } >>> + >>> + @Override >>> + public void accept(ModelWidgetVisitor visitor) { >>> + visitor.visit(this); >>> + } >>> } >>> >>> public static final class DecoratorScreen extends >>> ModelScreenWidget { >>> @@ -744,6 +775,11 @@ public abstract class ModelScreenWidget >>> public Map<String, DecoratorSection> getSectionMap() { >>> return sectionMap; >>> } >>> + >>> + @Override >>> + public void accept(ModelWidgetVisitor visitor) { >>> + visitor.visit(this); >>> + } >>> } >>> >>> public static final class DecoratorSection extends >>> ModelScreenWidget { >>> @@ -766,6 +802,11 @@ public abstract class ModelScreenWidget >>> public List<ModelScreenWidget> getSubWidgets() { >>> return subWidgets; >>> } >>> + >>> + @Override >>> + public void accept(ModelWidgetVisitor visitor) { >>> + visitor.visit(this); >>> + } >>> } >>> >>> public static final class DecoratorSectionInclude extends >>> ModelScreenWidget { >>> @@ -796,6 +837,11 @@ public abstract class ModelScreenWidget >>> } >>> } >>> } >>> + >>> + @Override >>> + public void accept(ModelWidgetVisitor visitor) { >>> + visitor.visit(this); >>> + } >>> } >>> >>> public static final class Label extends ModelScreenWidget { >>> @@ -846,6 +892,11 @@ public abstract class ModelScreenWidget >>> public String getStyle(Map<String, Object> context) { >>> return this.styleExdr.expandString(context); >>> } >>> + >>> + @Override >>> + public void accept(ModelWidgetVisitor visitor) { >>> + visitor.visit(this); >>> + } >>> } >>> >>> public static final class Form extends ModelScreenWidget { >>> @@ -921,6 +972,11 @@ public abstract class ModelScreenWidget >>> // defaults to false, so anything but true is false >>> return "true".equals(shareScopeString); >>> } >>> + >>> + @Override >>> + public void accept(ModelWidgetVisitor visitor) { >>> + visitor.visit(this); >>> + } >>> } >>> >>> public static final class Tree extends ModelScreenWidget { >>> @@ -998,6 +1054,11 @@ public abstract class ModelScreenWidget >>> // defaults to false, so anything but true is false >>> return "true".equals(shareScopeString); >>> } >>> + >>> + @Override >>> + public void accept(ModelWidgetVisitor visitor) { >>> + visitor.visit(this); >>> + } >>> } >>> >>> public static final class PlatformSpecific extends >>> ModelScreenWidget { >>> @@ -1037,6 +1098,11 @@ public abstract class ModelScreenWidget >>> subWidget.renderWidgetString(writer, context, >>> screenStringRenderer); >>> } >>> } >>> + >>> + @Override >>> + public void accept(ModelWidgetVisitor visitor) { >>> + visitor.visit(this); >>> + } >>> } >>> >>> public static final class Content extends ModelScreenWidget { >>> @@ -1175,6 +1241,11 @@ public abstract class ModelScreenWidget >>> public String getBorder() { >>> return this.border; >>> } >>> + >>> + @Override >>> + public void accept(ModelWidgetVisitor visitor) { >>> + visitor.visit(this); >>> + } >>> } >>> >>> public static final class SubContent extends ModelScreenWidget { >>> @@ -1236,6 +1307,12 @@ public abstract class ModelScreenWidget >>> public boolean xmlEscape() { >>> return this.xmlEscape; >>> } >>> + >>> + @Override >>> + public void accept(ModelWidgetVisitor visitor) { >>> + // TODO Auto-generated method stub >>> + >>> + } >>> } >>> >>> public static final class Menu extends ModelScreenWidget { >>> @@ -1282,6 +1359,11 @@ public abstract class ModelScreenWidget >>> public String getLocation(Map<String, Object> context) { >>> return this.locationExdr.expandString(context); >>> } >>> + >>> + @Override >>> + public void accept(ModelWidgetVisitor visitor) { >>> + visitor.visit(this); >>> + } >>> } >>> >>> public static final class Link extends ModelScreenWidget { >>> @@ -1455,6 +1537,11 @@ public abstract class ModelScreenWidget >>> >>> return fullParameterMap; >>> } >>> + >>> + @Override >>> + public void accept(ModelWidgetVisitor visitor) { >>> + visitor.visit(this); >>> + } >>> } >>> >>> public static final class Image extends ModelScreenWidget { >>> @@ -1531,6 +1618,11 @@ public abstract class ModelScreenWidget >>> public String getUrlMode() { >>> return this.urlMode; >>> } >>> + >>> + @Override >>> + public void accept(ModelWidgetVisitor visitor) { >>> + visitor.visit(this); >>> + } >>> } >>> >>> public static final class PortalPage extends ModelScreenWidget { >>> @@ -1696,6 +1788,11 @@ public abstract class ModelScreenWidget >>> public String getUsePrivate() { >>> return Boolean.toString(this.usePrivate); >>> } >>> + >>> + @Override >>> + public void accept(ModelWidgetVisitor visitor) { >>> + visitor.visit(this); >>> + } >>> } >>> >>> } >>> >>> Modified: >>> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/tree/ModelTree.java >>> URL: >>> http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/ >>> src/org/ofbiz/widget/tree/ModelTree.java?rev=1635990&r1= >>> 1635989&r2=1635990&view=diff >>> >>> ============================================================ >>> ================== >>> --- ofbiz/trunk/framework/widget/src/org/ofbiz/widget/tree/ >>> ModelTree.java >>> (original) >>> +++ ofbiz/trunk/framework/widget/src/org/ofbiz/widget/tree/ >>> ModelTree.java >>> Sat Nov 1 16:57:07 2014 >>> @@ -50,6 +50,7 @@ import org.ofbiz.entity.model.ModelField >>> import org.ofbiz.entity.util.EntityListIterator; >>> import org.ofbiz.service.LocalDispatcher; >>> import org.ofbiz.widget.ModelWidget; >>> +import org.ofbiz.widget.ModelWidgetVisitor; >>> import org.ofbiz.widget.WidgetWorker; >>> import org.ofbiz.widget.screen.ModelScreen; >>> import org.ofbiz.widget.screen.ScreenFactory; >>> @@ -1106,6 +1107,9 @@ public class ModelTree extends ModelWidg >>> } >>> } >>> } >>> -} >>> - >>> >>> + @Override >>> + public void accept(ModelWidgetVisitor visitor) { >>> + visitor.visit(this); >>> + } >>> +} >>> >>> >>> >>> >>
