By the way, I'd be happy if someone (martin marinschek) did a quick double-check of this commit. The patch seems obvious, and works fine when testing, but a second pair of eyes might be nice.
---- [EMAIL PROTECTED] schrieb: > Author: skitching > Date: Fri Dec 7 03:15:14 2007 > New Revision: 602069 > > URL: http://svn.apache.org/viewvc?rev=602069&view=rev > Log: > Minor code optimisation: when rendering readonly or disabled calendar, don't > bother to create link and param components that will never be used. > > Modified: > > myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/calendar/HtmlCalendarRenderer.java > > Modified: > myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/calendar/HtmlCalendarRenderer.java > URL: > http://svn.apache.org/viewvc/myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/calendar/HtmlCalendarRenderer.java?rev=602069&r1=602068&r2=602069&view=diff > ============================================================================== > --- > myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/calendar/HtmlCalendarRenderer.java > (original) > +++ > myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/calendar/HtmlCalendarRenderer.java > Fri Dec 7 03:15:14 2007 > @@ -734,13 +734,7 @@ > throws IOException > { > Converter converter = getConverter(component); > - > Application application = facesContext.getApplication(); > - HtmlCommandLink link > - = > (HtmlCommandLink)application.createComponent(HtmlCommandLink.COMPONENT_TYPE); > - link.setId(component.getId() + "_" + valueForLink.getTime() + > "_link"); > - link.setTransient(true); > - link.setImmediate(component.isImmediate()); > > HtmlOutputText text > = > (HtmlOutputText)application.createComponent(HtmlOutputText.COMPONENT_TYPE); > @@ -748,30 +742,33 @@ > text.setId(component.getId() + "_" + valueForLink.getTime() + > "_text"); > text.setTransient(true); > > - UIParameter parameter > - = > (UIParameter)application.createComponent(UIParameter.COMPONENT_TYPE); > - parameter.setId(component.getId() + "_" + valueForLink.getTime() + > "_param"); > - parameter.setTransient(true); > - parameter.setName(component.getClientId(facesContext)); > - parameter.setValue(converter.getAsString(facesContext, component, > valueForLink)); > - > HtmlInputCalendar calendar = (HtmlInputCalendar)component; > if (calendar.isDisabled() || calendar.isReadonly()) > { > - // In this case, it appears that the link and parameter > components are not > - // used .. so why bother creating them above? > component.getChildren().add(text); > > RendererUtils.renderChild(facesContext, text); > + return; > } > - else > - { > - RendererUtils.addOrReplaceChild(component,link); > - link.getChildren().add(parameter); > - link.getChildren().add(text); > > - RendererUtils.renderChild(facesContext, link); > - } > + HtmlCommandLink link > + = > (HtmlCommandLink)application.createComponent(HtmlCommandLink.COMPONENT_TYPE); > + link.setId(component.getId() + "_" + valueForLink.getTime() + > "_link"); > + link.setTransient(true); > + link.setImmediate(component.isImmediate()); > + > + UIParameter parameter > + = > (UIParameter)application.createComponent(UIParameter.COMPONENT_TYPE); > + parameter.setId(component.getId() + "_" + valueForLink.getTime() + > "_param"); > + parameter.setTransient(true); > + parameter.setName(component.getClientId(facesContext)); > + parameter.setValue(converter.getAsString(facesContext, component, > valueForLink)); > + > + RendererUtils.addOrReplaceChild(component,link); > + link.getChildren().add(parameter); > + link.getChildren().add(text); > + > + RendererUtils.renderChild(facesContext, link); > } > > private Converter getConverter(UIInput component) > >
