I think we should let the developer decide if he wants a trivial
change (and adding an attribute might be trivial) to show up in the
release notes.
As the tabbed-pane is a major component, I'd love to have an
additional attribute in the relase-notes, though.
If the developer decides for no, it can still be the community which
opens a jira-issue and attaches the commit log there.
regards,
Martin
On 9/22/06, Thomas Spiegl <[EMAIL PROTECTED]> wrote:
> Is an additional attribute always a non-trivial change? In the
> specific case it was a trivial change from my point of view. How
> should we handle this in the future?
>
> On 9/22/06, Mike Kienenberger <[EMAIL PROTECTED]> wrote:
> > Hey Thomas,
> >
> > We're now opening jira issues for any non-trivial change change to
> > Core or Tomahawk (Sandbox is still optional although recommended).
> >
> > This is how we're generating change-logs, release notes for new releases.
> >
> > On 9/22/06, Thomas Spiegl <[EMAIL PROTECTED]> wrote:
> > > Hi Mike,
> > >
> > > no need to feel bad. I thought we open jira issues for important
> > > changes, like new components or changes to MyFaces core. I did not
> > > knew that we have to open a jira issue for new component attributes. I
> > > will consider this in the future.
> > >
> > > -Thomas
> > >
> > > On 9/20/06, Mike Kienenberger <[EMAIL PROTECTED]> wrote:
> > > > Thomas,
> > > >
> > > > I hate to keep picking on you, but where's the JIRA issue for this?
> > > > We'll also want to update the commit log message to point to that
> > > > issue (Martin and Wendy talked about how to do that in the last couple
> > > > of weeks when Martin forgot to add a JIRA issue).
> > > >
> > > > On 9/20/06, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:
> > > > > Author: tomsp
> > > > > Date: Wed Sep 20 04:50:22 2006
> > > > > New Revision: 448171
> > > > >
> > > > > URL: http://svn.apache.org/viewvc?view=rev&rev=448171
> > > > > Log:
> > > > > new attribute "activePanelTabVar" for HtmlPanelTabbedPane
> > > > >
> > > > > Modified:
> > > > >
myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/tabbedpane/HtmlPanelTabbedPane.java
> > > > >
myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/tabbedpane/HtmlPanelTabbedPaneTag.java
> > > > >
myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/tabbedpane/HtmlTabbedPaneRenderer.java
> > > > >
myfaces/tomahawk/trunk/core/src/main/resources/org/apache/myfaces/custom/tabbedpane/HtmlPanelTabbedPane.xml
> > > > >
myfaces/tomahawk/trunk/core/src/main/tld/tomahawk-entities/tomahawk_panel_tabbed_pane_attributes.xml
> > > > >
> > > > > Modified:
myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/tabbedpane/HtmlPanelTabbedPane.java
> > > > > URL:
http://svn.apache.org/viewvc/myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/tabbedpane/HtmlPanelTabbedPane.java?view=diff&rev=448171&r1=448170&r2=448171
> > > > >
==============================================================================
> > > > > ---
myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/tabbedpane/HtmlPanelTabbedPane.java
(original)
> > > > > +++
myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/tabbedpane/HtmlPanelTabbedPane.java
Wed Sep 20 04:50:22 2006
> > > > > @@ -161,6 +161,7 @@
> > > > > private String _inactiveSubStyleClass = null;
> > > > > private String _tabContentStyleClass = null;
> > > > > private Boolean _serverSideTabSwitch = null;
> > > > > + private String _activePanelTabVar;
> > > > >
> > > > > public HtmlPanelTabbedPane()
> > > > > {
> > > > > @@ -172,6 +173,17 @@
> > > > > return COMPONENT_FAMILY;
> > > > > }
> > > > >
> > > > > + public String getActiveTabVar() {
> > > > > + if (_activePanelTabVar != null) return _activePanelTabVar;
> > > > > + ValueBinding vb = getValueBinding("activeTabVar");
> > > > > + return vb != null ?
_ComponentUtils.getStringValue(getFacesContext(), vb) : null;
> > > > > + }
> > > > > +
> > > > > + public void setActiveTabVar(String activeTabVar) {
> > > > > + _activePanelTabVar = activeTabVar;
> > > > > + }
> > > > > +
> > > > > +
> > > > > public void setSelectedIndex(int selectedIndex)
> > > > > {
> > > > > _selectedIndex = new Integer(selectedIndex);
> > > > > @@ -284,7 +296,7 @@
> > > > >
> > > > > public Object saveState(FacesContext context)
> > > > > {
> > > > > - Object values[] = new Object[11];
> > > > > + Object values[] = new Object[12];
> > > > > values[0] = super.saveState(context);
> > > > > values[1] = _selectedIndex;
> > > > > values[2] = _bgcolor;
> > > > > @@ -296,6 +308,7 @@
> > > > > values[8] = _tabContentStyleClass;
> > > > > values[9] = _disabledTabStyleClass;
> > > > > values[10] = _serverSideTabSwitch;
> > > > > + values[11] = _activePanelTabVar;
> > > > > return ((Object) (values));
> > > > > }
> > > > >
> > > > > @@ -313,6 +326,7 @@
> > > > > _tabContentStyleClass = (String)values[8];
> > > > > _disabledTabStyleClass = (String)values[9];
> > > > > _serverSideTabSwitch = (Boolean) values[10];
> > > > > + _activePanelTabVar = (String) values[11];
> > > > > }
> > > > > //------------------ GENERATED CODE END
---------------------------------------
> > > > > }
> > > > >
> > > > > Modified:
myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/tabbedpane/HtmlPanelTabbedPaneTag.java
> > > > > URL:
http://svn.apache.org/viewvc/myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/tabbedpane/HtmlPanelTabbedPaneTag.java?view=diff&rev=448171&r1=448170&r2=448171
> > > > >
==============================================================================
> > > > > ---
myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/tabbedpane/HtmlPanelTabbedPaneTag.java
(original)
> > > > > +++
myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/tabbedpane/HtmlPanelTabbedPaneTag.java
Wed Sep 20 04:50:22 2006
> > > > > @@ -63,6 +63,7 @@
> > > > > private String _inactiveSubStyleClass;
> > > > > private String _tabContentStyleClass;
> > > > > private String _serverSideTabSwitch;
> > > > > + private String _activePanelTabVar;
> > > > > // User Role support --> already handled by HtmlPanelGroupTag
> > > > >
> > > > >
> > > > > @@ -91,6 +92,7 @@
> > > > > setStringProperty(component, "inactiveSubStyleClass",
_inactiveSubStyleClass);
> > > > > setStringProperty(component, "tabContentStyleClass",
_tabContentStyleClass);
> > > > > setBooleanProperty(component, "serverSideTabSwitch",
_serverSideTabSwitch);
> > > > > + setStringProperty(component, "activePanelTabVar",
_activePanelTabVar);
> > > > > }
> > > > >
> > > > >
> > > > > @@ -116,6 +118,7 @@
> > > > > _inactiveSubStyleClass = null;
> > > > > _tabContentStyleClass = null;
> > > > > _serverSideTabSwitch = null;
> > > > > + _activePanelTabVar = null;
> > > > > }
> > > > >
> > > > > public void setServerSideTabSwitch(String serverSideTabSwitch)
> > > > > @@ -222,4 +225,7 @@
> > > > > _disabledTabStyleClass = disabledTabStyleClass;
> > > > > }
> > > > >
> > > > > + public void setActivePanelTabVar(String activePanelTabVar) {
> > > > > + _activePanelTabVar = activePanelTabVar;
> > > > > + }
> > > > > }
> > > > >
> > > > > Modified:
myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/tabbedpane/HtmlTabbedPaneRenderer.java
> > > > > URL:
http://svn.apache.org/viewvc/myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/tabbedpane/HtmlTabbedPaneRenderer.java?view=diff&rev=448171&r1=448170&r2=448171
> > > > >
==============================================================================
> > > > > ---
myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/tabbedpane/HtmlTabbedPaneRenderer.java
(original)
> > > > > +++
myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/tabbedpane/HtmlTabbedPaneRenderer.java
Wed Sep 20 04:50:22 2006
> > > > > @@ -220,7 +220,7 @@
> > > > > String tabContentStyleClass =
tabbedPane.getTabContentStyleClass();
> > > > > writer.writeAttribute(HTML.CLASS_ATTR,
TAB_PANE_CLASS+(tabContentStyleClass==null ? "" : " "+tabContentStyleClass), null);
> > > > >
> > > > > - writeTabsContents(writer, facesContext, tabbedPane,
selectedIndex);
> > > > > + writeTabsContents(writer, facesContext, tabbedPane,
selectedIndex);
> > > > >
> > > > > writer.endElement(HTML.TD_ELEM);
> > > > > writer.endElement(HTML.TR_ELEM);
> > > > > @@ -514,28 +514,38 @@
> > > > >
> > > > > protected void writeTabsContents(ResponseWriter writer,
FacesContext facesContext, HtmlPanelTabbedPane tabbedPane,
> > > > > int selectedIndex) throws
IOException {
> > > > > - HtmlRendererUtils.writePrettyLineSeparator(facesContext);
> > > > > + HtmlRendererUtils.writePrettyLineSeparator(facesContext);
> > > > > +
> > > > > + int tabIdx = 0;
> > > > > + List children = tabbedPane.getChildren();
> > > > > + for (int i = 0, len = children.size(); i < len; i++) {
> > > > > + UIComponent child = getUIComponent((UIComponent)
children.get(i));
> > > > > + if (child instanceof HtmlPanelTab) {
> > > > > + String activeTabVar = tabbedPane.getActiveTabVar();
> > > > > + if (activeTabVar != null) {
> > > > > + Map requestMap =
facesContext.getExternalContext().getRequestMap();
> > > > > + requestMap.put(activeTabVar,
Boolean.valueOf(tabIdx == selectedIndex));
> > > > > + }
> > > > >
> > > > > - int tabIdx = 0;
> > > > > - List children = tabbedPane.getChildren();
> > > > > - for (int i = 0, len = children.size(); i < len; i++) {
> > > > > - UIComponent child = getUIComponent((UIComponent)
children.get(i));
> > > > > - if (child instanceof HtmlPanelTab) {
> > > > > - HtmlPanelTab tab = (HtmlPanelTab)child;
> > > > > - writer.startElement(HTML.DIV_ELEM, tabbedPane);
> > > > > - writer.writeAttribute(HTML.ID_ATTR,
tab.getClientId(facesContext), null);
> > > > > - // the inactive tabs are hidden with a div-tag
> > > > > - if (tabIdx != selectedIndex) {
> > > > > - writer.writeAttribute(HTML.STYLE_ATTR,
"display:none", null);
> > > > > - }
> > > > > - RendererUtils.renderChild(facesContext, child);
> > > > > - writer.endElement(HTML.DIV_ELEM);
> > > > > -
> > > > > - tabIdx++;
> > > > > - } else {
> > > > > - RendererUtils.renderChild(facesContext, child);
> > > > > - }
> > > > > - }
> > > > > + HtmlPanelTab tab = (HtmlPanelTab)child;
> > > > > + writer.startElement(HTML.DIV_ELEM, tabbedPane);
> > > > > + writer.writeAttribute(HTML.ID_ATTR,
tab.getClientId(facesContext), null);
> > > > > + // the inactive tabs are hidden with a div-tag
> > > > > + if (tabIdx != selectedIndex) {
> > > > > + writer.writeAttribute(HTML.STYLE_ATTR,
"display:none", null);
> > > > > + }
> > > > > + RendererUtils.renderChild(facesContext, child);
> > > > > + writer.endElement(HTML.DIV_ELEM);
> > > > > +
> > > > > + tabIdx++;
> > > > > + if (activeTabVar != null) {
> > > > > + Map requestMap =
facesContext.getExternalContext().getRequestMap();
> > > > > + requestMap.remove(tabbedPane.getActiveTabVar());
> > > > > + }
> > > > > + } else {
> > > > > + RendererUtils.renderChild(facesContext, child);
> > > > > + }
> > > > > + }
> > > > > }
> > > > >
> > > > > private UIComponent getUIComponent(UIComponent uiComponent)
> > > > >
> > > > > Modified:
myfaces/tomahawk/trunk/core/src/main/resources/org/apache/myfaces/custom/tabbedpane/HtmlPanelTabbedPane.xml
> > > > > URL:
http://svn.apache.org/viewvc/myfaces/tomahawk/trunk/core/src/main/resources/org/apache/myfaces/custom/tabbedpane/HtmlPanelTabbedPane.xml?view=diff&rev=448171&r1=448170&r2=448171
> > > > >
==============================================================================
> > > > > ---
myfaces/tomahawk/trunk/core/src/main/resources/org/apache/myfaces/custom/tabbedpane/HtmlPanelTabbedPane.xml
(original)
> > > > > +++
myfaces/tomahawk/trunk/core/src/main/resources/org/apache/myfaces/custom/tabbedpane/HtmlPanelTabbedPane.xml
Wed Sep 20 04:50:22 2006
> > > > > @@ -45,4 +45,8 @@
> > > > > <name>tabContentStyleClass</name>
> > > > > <type>java.lang.String</type>
> > > > > </field>
> > > > > + <field>
> > > > > + <name>activePanelTabVar</name>
> > > > > + <type>java.lang.String</type>
> > > > > + </field>
> > > > > </component>
> > > > >
> > > > > Modified:
myfaces/tomahawk/trunk/core/src/main/tld/tomahawk-entities/tomahawk_panel_tabbed_pane_attributes.xml
> > > > > URL:
http://svn.apache.org/viewvc/myfaces/tomahawk/trunk/core/src/main/tld/tomahawk-entities/tomahawk_panel_tabbed_pane_attributes.xml?view=diff&rev=448171&r1=448170&r2=448171
> > > > >
==============================================================================
> > > > > ---
myfaces/tomahawk/trunk/core/src/main/tld/tomahawk-entities/tomahawk_panel_tabbed_pane_attributes.xml
(original)
> > > > > +++
myfaces/tomahawk/trunk/core/src/main/tld/tomahawk-entities/tomahawk_panel_tabbed_pane_attributes.xml
Wed Sep 20 04:50:22 2006
> > > > > @@ -62,3 +62,12 @@
> > > > > Toggle client-side/server-side tab switches.
> > > > > </description>
> > > > > </attribute>
> > > > > + <attribute>
> > > > > + <name>_activePanelTabVar</name>
> > > > > + <required>false</required>
> > > > > + <rtexprvalue>false</rtexprvalue>
> > > > > + <description>
> > > > > + Boolean Variable that is set in request scope when
rendering a panelTab. True means that the currently rendered
> > > > > + panelTab is active.
> > > > > + </description>
> > > > > + </attribute>
> > > > >
> > > > >
> > > > >
> > > >
> > >
> > >
> > > --
> > > http://www.irian.at
> > >
> > > Your JSF powerhouse -
> > > JSF Consulting, Development and
> > > Courses in English and German
> > >
> > > Professional Support for Apache MyFaces
> > >
> >
>
>
> --
> http://www.irian.at
>
> Your JSF powerhouse -
> JSF Consulting, Development and
> Courses in English and German
>
> Professional Support for Apache MyFaces
>
--
http://www.irian.at
Your JSF powerhouse -
JSF Consulting, Development and
Courses in English and German
Professional Support for Apache MyFaces