You are viewing a plain text version of this content. The canonical link for it is here.
Posted to adffaces-dev@incubator.apache.org by Pavitra Subramaniam <pa...@oracle.com> on 2006/07/13 19:18:39 UTC

ProcessTrainRenderer (pda vs. desktop renderers?)

Hello, 

I have merged the current ProcessRenderer.java (under 'adf-faces-impl\...\renderkit\uix') and ProcessTrainRenderer.java (under 'adf-faces-impl\...\ui\laf\base\pda\desktop') into one single renderer implementation under 'adf-faces-impl\...\renderkit\core\xhtml\ProcessTrainRenderer.java' that extends the XhtmlRenderer. 

I noticed that there are currently 2 implementations for ProcessTrainRenderer (under ui\laf\base\pda and ui\laf\base\pda\desktop) for different renderkits, I assume? 
Should I create a pda renderer in addition to the desktop version I have created, and put them under 'renderkit\core\pda' and 'renderkit\core\desktop" resp.? 

Thanks
- Pavitra

-----Original Message-----
From: Pavitra Subramaniam [mailto:pavitra.subramaniam@oracle.com]
Sent: Monday, July 10, 2006 2:55 PM
To: adffaces-dev@incubator.apache.org
Subject: RE: ProcessTrain enhancement

Hello Simon,
 
Yes, I have started on this and will deliver the changes by mid-week, latest eow. 

Thanks
- Pavitra

-----Original Message-----
From: Simon_Lessard@DMR.CA [mailto:Simon_Lessard@DMR.CA]
Sent: Friday, July 07, 2006 6:17 AM
To: adffaces-dev@incubator.apache.org
Subject: RE: ProcessTrain enhancement

Hello,

Thank for your reply. I already started, but I'm not very far into it since I'm on another project at the same time. Personally I think I could have it done by Tuesday or Wednesday of next week. If you plan to be almost done by then as well then I should indeed start working on something else.


Regards,

Simon Lessard
Fujitsu Consulting





"Pavitra Subramaniam" <pa...@oracle.com>
2006-07-06 22:00
Please respond to adffaces-user
 
        To:     "adffaces-user@incubator.apache.org" 
<ad...@incubator.apache.org>
        cc: 
        Subject:        RE: ProcessTrain enhancement


Hello,

I have a task lined up to convert the existing Trinidad processTrain renderer to a "faces major" version. And I plan to do it the following week. If you haven't already started it I would be happy to work on it. I plan to deliver it in 2 phases. 
For phase 1, I simply plan to get the renderer to render the current layout and in the second phase add the extra skinning selectors that you requested. 

If it's simple enough I can deliver both changes in one shot. Is that acceptable?

Thanks
- Pavitra

-----Original Message-----
From: Simon_Lessard@DMR.CA [mailto:Simon_Lessard@DMR.CA]
Sent: Thursday, July 06, 2006 10:13 AM
To: adffaces-user@incubator.apache.org
Subject: Re: ProcessTrain enhancement

Hello,

Thank for the reply. I don't mind creating a new Renderer that extends XhtmlRenderer. However, I have a little question about the FacesBean.Type that I must specify to the constructor. I checked InputTextRenderer and saw that it was using CoreInputText.TYPE. That class seems to be automatically generated so I assume there's a XML file somewhere from which the .java is generated? Is that faces-config.xml, the .tld? A completely different one ? Where can I find it?


Thanks,

Simon Lessard
Fujitsu Consulting





"Adam Winer" <aw...@gmail.com>
2006-07-06 11:50
Please respond to adffaces-user
 
        To:     adffaces-user@incubator.apache.org
        cc: 
        Subject:        Re: ProcessTrain enhancement


These look good to me.  One thing that's important:  we really need a Faces-major version of this renderer - that is, instead of one that is in the "org.apache.myfaces.adfinternal.ui" package, one that is in "org.apache.myfaces.adfinternal.renderkit.core.xhtml".
Everything in "ui" is obsolete (oooold UIX-based code), and a major technical goal of the project is to delete "ui" and "uinode" from the Apache Trinidad codebase.  So, -1 to adding this feature to the old renderer, +1 to adding it to a new renderer.

I'm more than happy to provide lots of details on how to write a new-style renderer, though you can look at the existing examples for a pretty good clue how it works.

-- Adam

On 7/6/06, Simon_Lessard@dmr.ca <Si...@dmr.ca> wrote:
>
> Hello,
>
> I'm currently working to modify the processTrain to accept more skin 
> selectors in order to open all icons provided by Oracle skin. The 
> selectors I plan to add are:
>
>   // processTrain styles used for the disabled links
>   public static final String AF_PROCESS_TRAIN_TEXT_STYLE_CLASS =
>     "af|processTrain::text";
>
>   // For outer margins
>   public static final String AF_PROCESS_TRAIN_MARGIN_START_STYLE_CLASS =
>     "af|processTrain::margin-start";
>   public static final String AF_PROCESS_TRAIN_MARGIN_END_STYLE_CLASS =
>     "af|processTrain::margin-end";
>
>   // For inner spacing
>   public static final String AF_PROCESS_TRAIN_SPACING_STYLE_CLASS =
>     "af|processTrain::step-spacing";
>
>   // For active steps
>   public static final String AF_PROCESS_TRAIN_ACTIVE_START_ICON_NAME =
>     "af|processTrain::step-active-start-icon";
>   public static final String AF_PROCESS_TRAIN_ACTIVE_END_ICON_NAME =
>     "af|processTrain::step-active-end-icon";
>
>   // For visited steps
>   public static final String AF_PROCESS_TRAIN_VISITED_START_ICON_NAME =
>     "af|processTrain::step-visited-start-icon";
>   public static final String AF_PROCESS_TRAIN_VISITED_END_ICON_NAME =
>     "af|processTrain::step-visited-end-icon";
>
>   // For unvisited steps
>   public static final String AF_PROCESS_TRAIN_UNVISITED_START_ICON_NAME=
>     "af|processTrain::step-unvisited-start-icon";
>   public static final String AF_PROCESS_TRAIN_UNVISITED_END_ICON_NAME =
>     "af|processTrain::step-unvisited-end-icon";
>
>   // For disabled steps
>   public static final String AF_PROCESS_TRAIN_DISABLED_START_ICON_NAME =
>     "af|processTrain::step-disabled-start-icon";
>   public static final String AF_PROCESS_TRAIN_DISABLED_END_ICON_NAME =
>     "af|processTrain::step-disabled-end-icon";
>
>   // For joints
>   public static final String AF_PROCESS_TRAIN_JOINT_VISITED_ICON_NAME =
>     "af|processTrain::joint-visited-icon";
>   public static final String
> AF_PROCESS_TRAIN_JOINT_UNVISITED_ICON_NAME
=
>     "af|processTrain::joint-unvisited-icon";
>
>   // For backward overflows
>   public static final String
AF_PROCESS_TRAIN_OVERFLOW_BACKWARD_STYLE_CLASS =
>     "af|processTrain::overflow-backward";
>   public static final String
AF_PROCESS_TRAIN_OVERFLOW_BACKWARD_START_ICON_NAME =
>     "af|processTrain::overflow-backward-start-icon";
>   public static final String
AF_PROCESS_TRAIN_OVERFLOW_BACKWARD_END_ICON_NAME =
>     "af|processTrain::overflow-backward-end-icon";
>
>   // For forward overflows
>   public static final String
AF_PROCESS_TRAIN_OVERFLOW_FORWARD_STYLE_CLASS =
>     "af|processTrain::overflow-forward";
>   public static final String
AF_PROCESS_TRAIN_OVERFLOW_FORWARD_START_ICON_NAME =
>     "af|processTrain::overflow-forward-start-icon";
>   public static final String
AF_PROCESS_TRAIN_OVERFLOW_FORWARD_END_ICON_NAME =
>     "af|processTrain::overflow-forward-end-icon";
>
> The target HTML structure for the process train in LtR mode is:
>
> <table align="center" border="0" cellpadding="0" cellspacing="0"
> class="af|processTrain">
>   <tbody>
>     <tr>
>       <td class="af|processTrain::margin-start" rowspan="2"></td>
>
>       <td align="right" class="af|processTrain::overflow-backward">
>         <img src="af|processTrain::overflow-backward-start-icon"
> title="%step-label%" alt="%step-label% : previous set"/>
>       </td>
>       <td background="af|processTrain::joint-visited-icon" align="left"
> class="af|processTrain::overflow-backward>
>         <img src="af|processTrain::overflow-backward-end-icon" alt="">
>       </td>
>
>       <td background="af|processTrain::joint-visited-icon" class="
> af|processTrain::step-spacing"></td>
>
>       <td background="af|processTrain::joint-visited-icon" align="right"
> class="af|processTrain::step-visited">
>         <img src="af|processTrain::step-visited-start-icon"
> title="%step-label%" alt="%step-label% : previous step"/>
>       </td>
>       <td background="af|processTrain::joint-visited-icon" align="left"
> class="af|processTrain::step-visited">
>         <img src="af|processTrain::step-visited-end-icon" alt="">
>       </td>
>
>       <td background="af|processTrain::joint-visited-icon" class="
> af|processTrain::step-spacing"></td>
>
>       <td background="af|processTrain::joint-visited-icon" align="right"
> class="af|processTrain::step-active">
>         <img src="af|processTrain::step-active-start-icon"
> title="%step-label%" alt="%step-label% : active step"/>
>       </td>
>       <td background="af|processTrain::joint-unvisited-icon" 
align="left"
> class="af|processTrain::step-active">
>         <img src="af|processTrain::step-active-end-icon" alt="">
>       </td>
>
>       <td background="af|processTrain::joint-unvisited-icon" class="
> af|processTrain::step-spacing"></td>
>
>       <td background="af|processTrain::joint-unvisited-icon" 
align="right"
> class="af|processTrain::step-unvisited">
>         <img src="af|processTrain::step-unvisited-start-icon"
> title="%step-label%" alt="%step-label% : next step"/>
>       </td>
>       <td background="af|processTrain::joint-unvisited-icon" 
align="left"
> class="af|processTrain::step-unvisited">
>         <img src="af|processTrain::step-unvisited-end-icon" alt="">
>       </td>
>
>       <td background="af|processTrain::joint-unvisited-icon" class="
> af|processTrain::step-spacing"></td>
>
>       <td background="af|processTrain::joint-unvisited-icon" 
align="right"
> class="af|processTrain::overflow-forward">
>         <img src="af|processTrain::overflow-forward-start-icon"
> title="%step-label%" alt="%step-label% : next set"/>
>       </td>
>       <td align="left" class="af|processTrain::overflow-forward">
>         <img src="af|processTrain::overflow-forward-end-icon" alt="">
>       </td>
>
>       <td class="af|processTrain::margin-end" rowspan="2"></td>
>     </tr>
>     <tr>
>       <td colspan="2" class="af|processTrain::overflow-backward">
>         <a class="af|processTrain::link">%step-label%</a>
>       </td>
>       <td colspan="2" class="af|processTrain::step-visited">
>         <a class="af|processTrain::link">%step-label%</a>
>       </td>
>       <td colspan="2" class="af|processTrain::step-active">
>         <a class="af|processTrain::link">%step-label%</a>
>       </td>
>       <td colspan="2" class="af|processTrain::step-unvisited">
>         <a class="af|processTrain::text">%step-label%</a>
>       </td>
>       <td colspan="2" class="af|processTrain::overflow-forward">
>         <a class="af|processTrain::text">%step-label%</a>
>       </td>
>     </tr>
>   </tbody>
> </table>
>
> Is that ok with you?
>
> Simon Lessard
> DMR Conseil Inc. (http://www.dmrconseil.ca) Téléphone : (418) 653-6881
>
> Sun Certified Programmer for Java 2 Platform 1.4
>









Re: ProcessTrainRenderer (pda vs. desktop renderers?)

Posted by Adam Winer <aw...@gmail.com>.
Pavitra,

I haven't looked at these classes in a loooong while.

The general strategy is to avoid creating PDA-specific subclasses,
and instead add skinning keys or CSS classes to discriminate between
the two. That works when the differences are fairly minor tweaks, esp.
sizing.

However, looking at these classes now, it looks like the PDA
is radically different - much much simpler.  If your merged class
is basically a big "if desktop, use one code path, if PDA, use
a separate codepath", then it's better to just split them into
two classes and be done with it.

-- Adam


On 7/13/06, Pavitra Subramaniam <pa...@oracle.com> wrote:
> Hello,
>
> I have merged the current ProcessRenderer.java (under 'adf-faces-impl\...\renderkit\uix') and ProcessTrainRenderer.java (under 'adf-faces-impl\...\ui\laf\base\pda\desktop') into one single renderer implementation under 'adf-faces-impl\...\renderkit\core\xhtml\ProcessTrainRenderer.java' that extends the XhtmlRenderer.
>
> I noticed that there are currently 2 implementations for ProcessTrainRenderer (under ui\laf\base\pda and ui\laf\base\pda\desktop) for different renderkits, I assume?
> Should I create a pda renderer in addition to the desktop version I have created, and put them under 'renderkit\core\pda' and 'renderkit\core\desktop" resp.?
>
> Thanks
> - Pavitra
>
> -----Original Message-----
> From: Pavitra Subramaniam [mailto:pavitra.subramaniam@oracle.com]
> Sent: Monday, July 10, 2006 2:55 PM
> To: adffaces-dev@incubator.apache.org
> Subject: RE: ProcessTrain enhancement
>
> Hello Simon,
>
> Yes, I have started on this and will deliver the changes by mid-week, latest eow.
>
> Thanks
> - Pavitra
>
> -----Original Message-----
> From: Simon_Lessard@DMR.CA [mailto:Simon_Lessard@DMR.CA]
> Sent: Friday, July 07, 2006 6:17 AM
> To: adffaces-dev@incubator.apache.org
> Subject: RE: ProcessTrain enhancement
>
> Hello,
>
> Thank for your reply. I already started, but I'm not very far into it since I'm on another project at the same time. Personally I think I could have it done by Tuesday or Wednesday of next week. If you plan to be almost done by then as well then I should indeed start working on something else.
>
>
> Regards,
>
> Simon Lessard
> Fujitsu Consulting
>
>
>
>
>
> "Pavitra Subramaniam" <pa...@oracle.com>
> 2006-07-06 22:00
> Please respond to adffaces-user
>
>         To:     "adffaces-user@incubator.apache.org"
> <ad...@incubator.apache.org>
>         cc:
>         Subject:        RE: ProcessTrain enhancement
>
>
> Hello,
>
> I have a task lined up to convert the existing Trinidad processTrain renderer to a "faces major" version. And I plan to do it the following week. If you haven't already started it I would be happy to work on it. I plan to deliver it in 2 phases.
> For phase 1, I simply plan to get the renderer to render the current layout and in the second phase add the extra skinning selectors that you requested.
>
> If it's simple enough I can deliver both changes in one shot. Is that acceptable?
>
> Thanks
> - Pavitra
>
> -----Original Message-----
> From: Simon_Lessard@DMR.CA [mailto:Simon_Lessard@DMR.CA]
> Sent: Thursday, July 06, 2006 10:13 AM
> To: adffaces-user@incubator.apache.org
> Subject: Re: ProcessTrain enhancement
>
> Hello,
>
> Thank for the reply. I don't mind creating a new Renderer that extends XhtmlRenderer. However, I have a little question about the FacesBean.Type that I must specify to the constructor. I checked InputTextRenderer and saw that it was using CoreInputText.TYPE. That class seems to be automatically generated so I assume there's a XML file somewhere from which the .java is generated? Is that faces-config.xml, the .tld? A completely different one ? Where can I find it?
>
>
> Thanks,
>
> Simon Lessard
> Fujitsu Consulting
>
>
>
>
>
> "Adam Winer" <aw...@gmail.com>
> 2006-07-06 11:50
> Please respond to adffaces-user
>
>         To:     adffaces-user@incubator.apache.org
>         cc:
>         Subject:        Re: ProcessTrain enhancement
>
>
> These look good to me.  One thing that's important:  we really need a Faces-major version of this renderer - that is, instead of one that is in the "org.apache.myfaces.adfinternal.ui" package, one that is in "org.apache.myfaces.adfinternal.renderkit.core.xhtml".
> Everything in "ui" is obsolete (oooold UIX-based code), and a major technical goal of the project is to delete "ui" and "uinode" from the Apache Trinidad codebase.  So, -1 to adding this feature to the old renderer, +1 to adding it to a new renderer.
>
> I'm more than happy to provide lots of details on how to write a new-style renderer, though you can look at the existing examples for a pretty good clue how it works.
>
> -- Adam
>
> On 7/6/06, Simon_Lessard@dmr.ca <Si...@dmr.ca> wrote:
> >
> > Hello,
> >
> > I'm currently working to modify the processTrain to accept more skin
> > selectors in order to open all icons provided by Oracle skin. The
> > selectors I plan to add are:
> >
> >   // processTrain styles used for the disabled links
> >   public static final String AF_PROCESS_TRAIN_TEXT_STYLE_CLASS =
> >     "af|processTrain::text";
> >
> >   // For outer margins
> >   public static final String AF_PROCESS_TRAIN_MARGIN_START_STYLE_CLASS =
> >     "af|processTrain::margin-start";
> >   public static final String AF_PROCESS_TRAIN_MARGIN_END_STYLE_CLASS =
> >     "af|processTrain::margin-end";
> >
> >   // For inner spacing
> >   public static final String AF_PROCESS_TRAIN_SPACING_STYLE_CLASS =
> >     "af|processTrain::step-spacing";
> >
> >   // For active steps
> >   public static final String AF_PROCESS_TRAIN_ACTIVE_START_ICON_NAME =
> >     "af|processTrain::step-active-start-icon";
> >   public static final String AF_PROCESS_TRAIN_ACTIVE_END_ICON_NAME =
> >     "af|processTrain::step-active-end-icon";
> >
> >   // For visited steps
> >   public static final String AF_PROCESS_TRAIN_VISITED_START_ICON_NAME =
> >     "af|processTrain::step-visited-start-icon";
> >   public static final String AF_PROCESS_TRAIN_VISITED_END_ICON_NAME =
> >     "af|processTrain::step-visited-end-icon";
> >
> >   // For unvisited steps
> >   public static final String AF_PROCESS_TRAIN_UNVISITED_START_ICON_NAME=
> >     "af|processTrain::step-unvisited-start-icon";
> >   public static final String AF_PROCESS_TRAIN_UNVISITED_END_ICON_NAME =
> >     "af|processTrain::step-unvisited-end-icon";
> >
> >   // For disabled steps
> >   public static final String AF_PROCESS_TRAIN_DISABLED_START_ICON_NAME =
> >     "af|processTrain::step-disabled-start-icon";
> >   public static final String AF_PROCESS_TRAIN_DISABLED_END_ICON_NAME =
> >     "af|processTrain::step-disabled-end-icon";
> >
> >   // For joints
> >   public static final String AF_PROCESS_TRAIN_JOINT_VISITED_ICON_NAME =
> >     "af|processTrain::joint-visited-icon";
> >   public static final String
> > AF_PROCESS_TRAIN_JOINT_UNVISITED_ICON_NAME
> =
> >     "af|processTrain::joint-unvisited-icon";
> >
> >   // For backward overflows
> >   public static final String
> AF_PROCESS_TRAIN_OVERFLOW_BACKWARD_STYLE_CLASS =
> >     "af|processTrain::overflow-backward";
> >   public static final String
> AF_PROCESS_TRAIN_OVERFLOW_BACKWARD_START_ICON_NAME =
> >     "af|processTrain::overflow-backward-start-icon";
> >   public static final String
> AF_PROCESS_TRAIN_OVERFLOW_BACKWARD_END_ICON_NAME =
> >     "af|processTrain::overflow-backward-end-icon";
> >
> >   // For forward overflows
> >   public static final String
> AF_PROCESS_TRAIN_OVERFLOW_FORWARD_STYLE_CLASS =
> >     "af|processTrain::overflow-forward";
> >   public static final String
> AF_PROCESS_TRAIN_OVERFLOW_FORWARD_START_ICON_NAME =
> >     "af|processTrain::overflow-forward-start-icon";
> >   public static final String
> AF_PROCESS_TRAIN_OVERFLOW_FORWARD_END_ICON_NAME =
> >     "af|processTrain::overflow-forward-end-icon";
> >
> > The target HTML structure for the process train in LtR mode is:
> >
> > <table align="center" border="0" cellpadding="0" cellspacing="0"
> > class="af|processTrain">
> >   <tbody>
> >     <tr>
> >       <td class="af|processTrain::margin-start" rowspan="2"></td>
> >
> >       <td align="right" class="af|processTrain::overflow-backward">
> >         <img src="af|processTrain::overflow-backward-start-icon"
> > title="%step-label%" alt="%step-label% : previous set"/>
> >       </td>
> >       <td background="af|processTrain::joint-visited-icon" align="left"
> > class="af|processTrain::overflow-backward>
> >         <img src="af|processTrain::overflow-backward-end-icon" alt="">
> >       </td>
> >
> >       <td background="af|processTrain::joint-visited-icon" class="
> > af|processTrain::step-spacing"></td>
> >
> >       <td background="af|processTrain::joint-visited-icon" align="right"
> > class="af|processTrain::step-visited">
> >         <img src="af|processTrain::step-visited-start-icon"
> > title="%step-label%" alt="%step-label% : previous step"/>
> >       </td>
> >       <td background="af|processTrain::joint-visited-icon" align="left"
> > class="af|processTrain::step-visited">
> >         <img src="af|processTrain::step-visited-end-icon" alt="">
> >       </td>
> >
> >       <td background="af|processTrain::joint-visited-icon" class="
> > af|processTrain::step-spacing"></td>
> >
> >       <td background="af|processTrain::joint-visited-icon" align="right"
> > class="af|processTrain::step-active">
> >         <img src="af|processTrain::step-active-start-icon"
> > title="%step-label%" alt="%step-label% : active step"/>
> >       </td>
> >       <td background="af|processTrain::joint-unvisited-icon"
> align="left"
> > class="af|processTrain::step-active">
> >         <img src="af|processTrain::step-active-end-icon" alt="">
> >       </td>
> >
> >       <td background="af|processTrain::joint-unvisited-icon" class="
> > af|processTrain::step-spacing"></td>
> >
> >       <td background="af|processTrain::joint-unvisited-icon"
> align="right"
> > class="af|processTrain::step-unvisited">
> >         <img src="af|processTrain::step-unvisited-start-icon"
> > title="%step-label%" alt="%step-label% : next step"/>
> >       </td>
> >       <td background="af|processTrain::joint-unvisited-icon"
> align="left"
> > class="af|processTrain::step-unvisited">
> >         <img src="af|processTrain::step-unvisited-end-icon" alt="">
> >       </td>
> >
> >       <td background="af|processTrain::joint-unvisited-icon" class="
> > af|processTrain::step-spacing"></td>
> >
> >       <td background="af|processTrain::joint-unvisited-icon"
> align="right"
> > class="af|processTrain::overflow-forward">
> >         <img src="af|processTrain::overflow-forward-start-icon"
> > title="%step-label%" alt="%step-label% : next set"/>
> >       </td>
> >       <td align="left" class="af|processTrain::overflow-forward">
> >         <img src="af|processTrain::overflow-forward-end-icon" alt="">
> >       </td>
> >
> >       <td class="af|processTrain::margin-end" rowspan="2"></td>
> >     </tr>
> >     <tr>
> >       <td colspan="2" class="af|processTrain::overflow-backward">
> >         <a class="af|processTrain::link">%step-label%</a>
> >       </td>
> >       <td colspan="2" class="af|processTrain::step-visited">
> >         <a class="af|processTrain::link">%step-label%</a>
> >       </td>
> >       <td colspan="2" class="af|processTrain::step-active">
> >         <a class="af|processTrain::link">%step-label%</a>
> >       </td>
> >       <td colspan="2" class="af|processTrain::step-unvisited">
> >         <a class="af|processTrain::text">%step-label%</a>
> >       </td>
> >       <td colspan="2" class="af|processTrain::overflow-forward">
> >         <a class="af|processTrain::text">%step-label%</a>
> >       </td>
> >     </tr>
> >   </tbody>
> > </table>
> >
> > Is that ok with you?
> >
> > Simon Lessard
> > DMR Conseil Inc. (http://www.dmrconseil.ca) T�l�phone : (418) 653-6881
> >
> > Sun Certified Programmer for Java 2 Platform 1.4
> >
>
>
>
>
>
>
>
>
>