[Trinidad] Examples for using Trinidad with Struts 2?

2008-08-04 Thread Graeme Steyn
Hi,
 
Are there any good examples available showing how to integrate/use Trinidad 
with the Struts 2 framework?
 
Thank you.
 
Regards,
 
Graeme.


RE: [Trinidad] tr:table range navigation only works after row selection

2008-07-23 Thread Graeme Steyn
Hi,

My apologies for this.  I had a validator interfering with the table.
By setting the immediate property to true on the table, the validator no
longer interfered with the PPR for the range selection.

Regards,

Graeme.

 -Original Message-
 From: Graeme Steyn 
 Sent: Wednesday, 23 July 2008 3:37 PM
 To: MyFaces Discussion
 Subject: [Trinidad] tr:table range navigation only works after row
 selection
 
 Hi,
 
 I am experiencing a strange problem with the range navigation in
 tr:table.  The range navigation only works if a row selection has been
 made.  For the following table, you need to make a selection first,
 before using the range navigation drop-down list.  If no selection is
 made, it is possible to observe the PPR request using firebug, but the
 range displayed always remains at 1 - 10 of x.  Any pointers would be
 greatly appreciated.
 
   tr:table
 id=results
 
 binding=#{programSelection.offeringsTable}

value=#{sessionScope['offeringList']}
 var=offering
 rowSelection=single
 rowBandingInterval=1
 horizontalGridVisible=true
 verticalGridVisible=true
 emptyText=#{bundle.crseNoResults}
 rows=10
 
 shortDesc=#{bundle.crseSelectionTable}
 
 
   etc.
 
 Note: programSelection managed bean is in request scope.
 
 Thank you.
 
 Graeme.



[Trinidad] tr:table range navigation only works after row selection

2008-07-22 Thread Graeme Steyn
Hi,

I am experiencing a strange problem with the range navigation in
tr:table.  The range navigation only works if a row selection has been
made.  For the following table, you need to make a selection first,
before using the range navigation drop-down list.  If no selection is
made, it is possible to observe the PPR request using firebug, but the
range displayed always remains at 1 - 10 of x.  Any pointers would be
greatly appreciated.

tr:table
id=results
 
binding=#{programSelection.offeringsTable}
value=#{sessionScope['offeringList']}
var=offering
rowSelection=single
rowBandingInterval=1
horizontalGridVisible=true
verticalGridVisible=true
emptyText=#{bundle.crseNoResults}
rows=10
shortDesc=#{bundle.crseSelectionTable}


etc.

Note: programSelection managed bean is in request scope.

Thank you.

Graeme.



[Trinidad] How to use PPR and a valueChangeEvent to update components in a tr:table row

2008-07-15 Thread Graeme Steyn
Hi,

I have a table with a tr:inputText field that I have attached a jquery
autocomplete function to.  When the value of this input field changes, I
would like to do a PPR operation that updates corresponding hidden input
and select one choice components in the same row.  The code for the two
columns appears below.

Within the institutionValueChange event code, how would I access the
constHep and constCntry components to update their values and in the
case of the constCntry disable the component based on the new value.

Any points would be greatly appreciate.

Thank you.

Regards,

Graeme.

tr:column
 f:facet name=header
 tr:panelHorizontalLayout
 valign=middle
 tr:image 
 source=#{bundle.liveSearch} 
 styleClass=searchIco 
 shortDesc=#{bundle.iconLiveSearch} /
 tr:outputText value=#{bundle.eduInstitutionHeader} /
 /tr:panelHorizontalLayout
 /f:facet
 tr:panelHorizontalLayout
 valign=middle
 tr:inputHidden
 id=constHep
 value=#{entry.institutionId}
 partialTriggers=constInst /
 
 tr:inputText
 id=constInst
 value=#{entry.institution}
 immediate=true
 autoSubmit=true
 valueChangeListener=#{entry.institutionValueChange} 
 f:validateLength maximum=50 /
 /tr:inputText
 /tr:panelHorizontalLayout
 /tr:column
 
 tr:column 
 f:facet name=header
 /f:facet
 
 tr:selectOneChoice
 id=constCntry
 partialTriggers=constInst
 value=#{entry.country} 
 f:selectItems value=#{applicationSelectItems.countryList} /
 /tr:selectOneChoice
 /tr:column


Graeme Steyn
Information Systems
Information Technology Division
CQUniversity
Tel: +61 7 4930 9256
Fax: +61 7 4930 6814
E-mail: [EMAIL PROTECTED]


This e-mail message is intended only for the use of the individual or
entity to which it is addressed and may contain information that is
privileged, confidential and exempt from disclosure under applicable
law. If you are not the intended recipient, any dissemination,
distribution or copying of this communication is strictly prohibited. If
you have received this communication in error, please notify me
immediately by facsimile or telephone.



RE: [Trinidad] How to use PPR and a valueChangeEvent to update components in a tr:table row

2008-07-15 Thread Graeme Steyn
Andrew, thank you.  I think the problem is in the actual value change
event listener code.  I am not sure how to access or update the
individual components.  The current code appears as follows:

public void institutionValueChange(ValueChangeEvent event) {

String newValue = (String) event.getNewValue();

UIXTable table = (UIXTable) constrainedTertiaryEducationTable;
TertiaryEducation row = (TertiaryEducation) table.getRowData();

if (newValue != null) {

// Find the hepCode value...

if (inHepList) {
row.setInstitutionId(hepCode);
row.setCountry(
PeopleSoftConstants.AUSTRALIAN_COUNTRY_CODE);
}
} else {
row.setInstitutionId(null);
}

// Render response to prevent going to the validation phase for
the
// other components. This prevents validation errors for the as
yet
// incomplete fields.
getFacesContext().renderResponse();

}

Basically, the row.set... operations are for updating the values in the
other columns for the same row.  I would also have liked to do something
along the lines of

countryComponent.setDisabled(true);

Unfortunately, I am not sure how this gets done without binding to the
component in the backing bean, which I have being having problems with
as well.  As you can see, I am a little new at trying to manipulate
table contents using PPR.

Regards,

Graeme.

 -Original Message-
 From: Andrew Robinson 
 Sent: Wednesday, 16 July 2008 1:48 AM
 
 For access in the same row, what you have done looks correct to me.
 Only when you want to go to a different row or from outside the table
 into a row that it is a problem (must be handled with code). Can you
 check using firebug if the HTML is being sent down for the two
 components?
 
 -Andrew
 
 On Tue, Jul 15, 2008 at 4:57 AM, Graeme Steyn [EMAIL PROTECTED]
 wrote:
  Hi,
 
  I have a table with a tr:inputText field that I have attached a
 jquery
  autocomplete function to.  When the value of this input field
 changes, I
  would like to do a PPR operation that updates corresponding hidden
 input
  and select one choice components in the same row.  The code for the
 two
  columns appears below.
 
  Within the institutionValueChange event code, how would I access the
  constHep and constCntry components to update their values and in
 the
  case of the constCntry disable the component based on the new
 value.
 
  Any points would be greatly appreciate.
 
  Thank you.
 
  Regards,
 
  Graeme.
 
  tr:column
  f:facet name=header
  tr:panelHorizontalLayout
  valign=middle
  tr:image
  source=#{bundle.liveSearch}
  styleClass=searchIco
  shortDesc=#{bundle.iconLiveSearch} /
  tr:outputText value=#{bundle.eduInstitutionHeader} /
  /tr:panelHorizontalLayout
  /f:facet
  tr:panelHorizontalLayout
  valign=middle
  tr:inputHidden
  id=constHep
  value=#{entry.institutionId}
  partialTriggers=constInst /
 
  tr:inputText
  id=constInst
  value=#{entry.institution}
  immediate=true
  autoSubmit=true
  valueChangeListener=#{entry.institutionValueChange} 
  f:validateLength maximum=50 /
  /tr:inputText
  /tr:panelHorizontalLayout
   /tr:column
 
   tr:column 
  f:facet name=header
  /f:facet
 
  tr:selectOneChoice
  id=constCntry
  partialTriggers=constInst
  value=#{entry.country} 
  f:selectItems value=#{applicationSelectItems.countryList}
 /
  /tr:selectOneChoice
   /tr:column
 
 
  Graeme Steyn
  Information Systems
  Information Technology Division
  CQUniversity
  Tel: +61 7 4930 9256
  Fax: +61 7 4930 6814
  E-mail: [EMAIL PROTECTED]
 
 
  This e-mail message is intended only for the use of the individual
or
  entity to which it is addressed and may contain information that is
  privileged, confidential and exempt from disclosure under applicable
  law. If you are not the intended recipient, any dissemination,
  distribution or copying of this communication is strictly
prohibited.
 If
  you have received this communication in error, please notify me
  immediately by facsimile or telephone.
 
 


RE: [Trinidad] Compatibility with JavaScript Libraries

2008-07-07 Thread Graeme Steyn


 -Original Message-
 From: Matthias Wessendorf
 Sent: Sunday, 6 July 2008 8:15 PM
 To: MyFaces Discussion
 Subject: Re: [Trinidad] Compatibility with JavaScript Libraries
Matthias,

Thank you.  The information is great.

Graeme.

 
 On Sun, Jul 6, 2008 at 6:25 AM, Graeme Steyn [EMAIL PROTECTED]
 wrote:
  Hi,
 
  I was wondering if there is any information available on Trinidad's
  (1.2.8) compatibility with various JavaScript libraries.
 
  Are the any known issues with using one of the following in a
 Trinidad
  project:
 
  - prototype
  - scriptaculous
 
 not that I know. I know there are issue with those libs, since
 they don't use namespacing, but haven't heard about anything
 regarding Trinidad.
 
  - jquery (e.g. jquery autocomplete)
 
 jQuery is pretty neat. I like it . Haven't used it with Trinidad,
 but I think it should work.
 
 
  Does Trinidad make use of any of these libraries?
 
 Trinidad doesn't use any of these libs. It has a tiny JS lib,
 written by the Trinidad community.
 
 But... you can integrate 3rd party JS libs to your Trinidad-based
 application.
 I gave a talk about Trinidad at the New York AjaxWorld. One topic was
 the
 integration of 3rd party JS libs. Perhaps the slides give you an idea
 on
 integration:
 
 http://www.slideshare.net/mwessendorf/ajax-world-east-2008
 
 I did it with Dojo and YUI, and it worked. Even integrating their JS +
 our, like combining
 YUI slider + Trinidad's client side validators worked fine.
 
 I put one of my example to my little FacesGoodies project:
 -

http://code.google.com/p/facesgoodies/source/browse/trunk/src/main/weba
 pp/dojo.xhtml
 -

http://code.google.com/p/facesgoodies/source/browse/trunk/src/main/weba
 pp/WEB-INF/facelets/components/accordionPane.xhtml
 -

http://code.google.com/p/facesgoodies/source/browse/trunk/src/main/weba
 pp/WEB-INF/facelets/components/accordionContainer.xhtml
 
 HTH,
 Matthias
 
 
  Thank you.
 
  Graeme.
 
 
 
 
 
 
 --
 Matthias Wessendorf
 
 further stuff:
 blog: http://matthiaswessendorf.wordpress.com/
 sessions: http://www.slideshare.net/mwessendorf
 mail: matzew-at-apache-dot-org


[Trinidad] Compatibility with JavaScript Libraries

2008-07-05 Thread Graeme Steyn
Hi,

I was wondering if there is any information available on Trinidad's
(1.2.8) compatibility with various JavaScript libraries.

Are the any known issues with using one of the following in a Trinidad
project:

- prototype
- scriptaculous
- jquery (e.g. jquery autocomplete)

Does Trinidad make use of any of these libraries?

Thank you.

Graeme.




RE: [Trinidad] Inline Validation incorrect when using PPR

2007-12-21 Thread Graeme Steyn
Hi Sven,

I was alredy making use of panelGroupLayouts.  I have created a JIRA issues 
(TRINIDAD-880 http://issues.apache.org/jira/browse/TRINIDAD-880) and attached a 
maven 2 project to the issue to demonstrate the problem.

Regards,

Graeme.


-Original Message-
From: Rottstock, Sven
Sent: Thu 12/20/2007 7:52 PM
To: MyFaces Discussion
Subject: AW: [Trinidad] Inline Validation incorrect when using PPR
 
Can you surround the components with a panelGroupLayout and let have a 
partialTrigger to the first selectOneRadio? Does it works now?

Regards,

Sven

winmail.dat

[Trinidad] Inline Validation incorrect when using PPR

2007-12-20 Thread Graeme Steyn
Hi,

I have being experiencing a inline validation problem with Trinidad 1.2.4 (with 
Facelets) and was wondering if anyone is aware of a work-around or pending fix. 
 It appears that the problem may be related to TRINIDAD-96 - Validators should 
be added incrementally, not set as a whole.

Basically, field 1 is a tr:selectOneRadio component (required = true) and based 
on the selection, field 2 (another tr:selectOneRadio component) gets changed 
using ppr to become required or optional.  Assuming that field 1 only has 2 
values - yes for field 2 being optional and no for field 2 being required.  
Inline validation fails after executing the following sequence:

1. Page is first displayed - both radio buttons have no selection and hitting 
submit causes a value required message to appear for field 1. Correct.
2. Set field 1 to No and then to Yes.  Press submit and a value required 
message appears for field 2, even though its required property is set to false 
on the component at this point.

Using Firebug, the ppr requests appear to have being updating the page 
correctly, however, it appears that once the required validation is added to 
the js validation array by selecting No, it never gets removed.  Soo even 
though the component has its required property set to false, the js still 
appears to think that field 2 is required.

Any information would be appreciated.

Thank you.

Graeme.


RE: [Trinidad] selectOneRadio query for 1.2.2 tag

2007-09-10 Thread Graeme Steyn
Hi,
 
I finally got around to taking another look at this and found the
problem relates to the fieldset being used.  I see that this has already
been reported and fix.
 
http://issues.apache.org/jira/browse/TRINIDAD-629
 
Regards,
 
Graeme.





From: Graeme Steyn [mailto:[EMAIL PROTECTED] 
Sent: Monday, 3 September 2007 11:58 AM
To: MyFaces Discussion
Subject: [Trinidad] selectOneRadio query for 1.2.2 tag


Hi Matthias,
 
I noticed this posting in the list and the fact that a tag
exists for 1.2.2 in the SVN repos.  I gave it a quick try and noticed
that the rendering behavior for the tr:selectOneRadio has changed.  It
now renders the label twice; as follows for vertical layouts with simple
= false (using facelets 1.1.12):
 
[Required indicator] LabelLabel
* Option 1
* Option 2
[Validation failure]
 
Do you know if this has this been an intentional change (can't
see any reference in JIRA - client side validation has been fixed)?
 
Thank you.
 
Graeme. 



From: Matthias Wessendorf [mailto:[EMAIL PROTECTED] 
Sent: Friday, 31 August 2007 5:56 PM
To: MyFaces Discussion
Subject: Re: Re: [Trinidad] General question: development 1.0.x
vs. 1.2.x


ok, the main focus for dev is trunk (1.0.x)

time by time (that can be every 4 weeks, 5 weeks, 3 month,...) a
1.2.x branch is created.

trunk is 1.0.3-SNAPSHOT there is NO ! 1.2.3-SNAP yet!

the latest JSF 1.2.x branch is the 1.2.2-branch.
That will be released next week (I'll provide the RC over the
weekend)

HTH,
Matthias


On 8/31/07, [EMAIL PROTECTED] [EMAIL PROTECTED]
wrote: 


Hi, 

Sorry but it does not seem to be so clear to me how to
get/make a fresh build of the 1.2.x branch. 

I looked into the repositories but only discovered the
1.0.x branch plus the rather older 1.2.x snapshots. 

It might be a good idea to briefly describe the steps to
build oneself a fresh 1.2.x release e.g. in the wiki. 

Or, if you do not mind, please just point out the main
steps here in the mailing list, many thanks! 

Best, 
Wolfgang. 




Matthias Wessendorf [EMAIL PROTECTED] 
Gesendet von: [EMAIL PROTECTED] 

28.08.2007 10:51 
Bitte antworten an
MyFaces Discussion users@myfaces.apache.org


An
MyFaces Discussion users@myfaces.apache.org 
Kopie


Thema
Re: [Trinidad] General question: development 1.0.x vs. 1.2.x








Hi,

yes. Trinidad 1.0.x is designed to work in a JSF 1.1
environment and
Trinidad 1.2.x is the JSF 1.2 counterpart.

The main development (like fixing bugs) goes to trunk
(Trinidad 1.0.x).
Time by time, we (Adam) creates a special 1.2.x branches
to get the
latest/greates 1.0.x features to be available in
Trinidad 1.2.x as
well.

JSF 1.2 specific bugs, for instance, will be fixed
directly on the
particular Trinidad 1.2.x branch.

HTH,
Matthias

On 8/28/07, [EMAIL PROTECTED] 
[EMAIL PROTECTED] mailto:[EMAIL PROTECTED]  wrote:

 Hi,

 I am new to Trinidad and have a general question
regarding the Trinidad
 development process:

 Development seems to be done for two versions: 1.0.x
and 1.2.x.

 I suppose the development going on for 1.0.x is only
done for downward
 compatibility regarding JSF 1.1.
 So the 1.2.x versions already have all the stuff
working where in 1.0.x
 there is still work being done.

 Is my understanding correct?

 Thanks for clarifying!

 Best,
 Wolfgang.


-- 
Matthias Wessendorf

further stuff:
blog: http://matthiaswessendorf.wordpress.com/
mail: matzew-at-apache-dot-org

[Trinidad] selectOneRadio query for 1.2.2 tag

2007-09-02 Thread Graeme Steyn
Hi Matthias,
 
I noticed this posting in the list and the fact that a tag exists for
1.2.2 in the SVN repos.  I gave it a quick try and noticed that the
rendering behavior for the tr:selectOneRadio has changed.  It now
renders the label twice; as follows for vertical layouts with simple =
false (using facelets 1.1.12):
 
[Required indicator] LabelLabel
* Option 1
* Option 2
[Validation failure]
 
Do you know if this has this been an intentional change (can't see any
reference in JIRA - client side validation has been fixed)?
 
Thank you.
 
Graeme. 



From: Matthias Wessendorf [mailto:[EMAIL PROTECTED] 
Sent: Friday, 31 August 2007 5:56 PM
To: MyFaces Discussion
Subject: Re: Re: [Trinidad] General question: development 1.0.x vs.
1.2.x


ok, the main focus for dev is trunk (1.0.x)

time by time (that can be every 4 weeks, 5 weeks, 3 month,...) a 1.2.x
branch is created.

trunk is 1.0.3-SNAPSHOT there is NO ! 1.2.3-SNAP yet!

the latest JSF 1.2.x branch is the 1.2.2-branch.
That will be released next week (I'll provide the RC over the weekend)

HTH,
Matthias


On 8/31/07, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: 


Hi, 

Sorry but it does not seem to be so clear to me how to get/make
a fresh build of the 1.2.x branch. 

I looked into the repositories but only discovered the 1.0.x
branch plus the rather older 1.2.x snapshots. 

It might be a good idea to briefly describe the steps to build
oneself a fresh 1.2.x release e.g. in the wiki. 

Or, if you do not mind, please just point out the main steps
here in the mailing list, many thanks! 

Best, 
Wolfgang. 




Matthias Wessendorf [EMAIL PROTECTED] 
Gesendet von: [EMAIL PROTECTED] 

28.08.2007 10:51 
Bitte antworten an
MyFaces Discussion users@myfaces.apache.org


An
MyFaces Discussion users@myfaces.apache.org 
Kopie


Thema
Re: [Trinidad] General question: development 1.0.x vs. 1.2.x








Hi,

yes. Trinidad 1.0.x is designed to work in a JSF 1.1 environment
and
Trinidad 1.2.x is the JSF 1.2 counterpart.

The main development (like fixing bugs) goes to trunk (Trinidad
1.0.x).
Time by time, we (Adam) creates a special 1.2.x branches to get
the
latest/greates 1.0.x features to be available in Trinidad 1.2.x
as
well.

JSF 1.2 specific bugs, for instance, will be fixed directly on
the
particular Trinidad 1.2.x branch.

HTH,
Matthias

On 8/28/07, [EMAIL PROTECTED]  [EMAIL PROTECTED]
mailto:[EMAIL PROTECTED]  wrote:

 Hi,

 I am new to Trinidad and have a general question regarding the
Trinidad
 development process:

 Development seems to be done for two versions: 1.0.x and
1.2.x.

 I suppose the development going on for 1.0.x is only done for
downward
 compatibility regarding JSF 1.1.
 So the 1.2.x versions already have all the stuff working where
in 1.0.x
 there is still work being done.

 Is my understanding correct?

 Thanks for clarifying!

 Best,
 Wolfgang.


-- 
Matthias Wessendorf

further stuff:
blog: http://matthiaswessendorf.wordpress.com/
mail: matzew-at-apache-dot-org






-- 
Matthias Wessendorf

further stuff:
blog: http://matthiaswessendorf.wordpress.com/
mail: matzew-at-apache-dot-org 


[Trinidad] When will the JSF 1.2 branch become trunk?

2007-08-15 Thread Graeme Steyn
Hi Adam,
 
In the Trinidad JSF 1.2 Support wiki
(http://wiki.apache.org/myfaces/Trinidad_JSF12_Support) you mentioned
that my current thinking is that this should happen when MyFaces
http://wiki.apache.org/myfaces/MyFaces  switches their trunk to JSF
1.2. We should continue to keep around a JSF 1.1 branch.
 
Have there been any further updates related to when this is likely to
happen?
 
Thank you.
 
Regards,
 
Graeme.
 


RE: [Trinidad] tr:column header facets are not being rendered

2007-08-13 Thread Graeme Steyn
Hi,
 
This is a quick update.  The problem was a REALLY simple mistake on my
part (at least I learnt a bit more about Facelets :-) ).  I had a typing
error for the xmlns for JSF core:
 
Was:
 
xmlns:f=http//java.sun.com/jsf/core
 
Should have been (missing colon):
 
xmlns:f=http://java.sun.com/jsf/core;
 
This meant that the Namespace was not bound to the TagLibrary correctly,
as seen in the following log entries (Enable these log entries in
Glassfish via Application Server  Logging  Log Levels  Add Property 
facelets.compiler = FINE).
 
Starting Unit: TextUnit[0] and adding it to parent:
[EMAIL PROTECTED]
Namespace Pushed : http://www.w3.org/1999/xhtml
Starting Unit: [EMAIL PROTECTED] and
adding it to parent: TextUnit[0]
Namespace Pushed ui: http://java.sun.com/jsf/facelets
Namespace Pushed c: http://java.sun.com/jstl/core
Namespace Pushed tr: http://myfaces.apache.org/trinidad
Namespace Pushed f: http//java.sun.com/jsf/core
Namespace Pushed cqu: http://onlineapp.web.cis.cqu.edu.au/
Namespace Pushed ft: http://sourceforge.net/projects/facestrace/facelets
Tag Pushed: /views/applicationReview.xhtml @13,19 html
/views/applicationReview.xhtml @13,19
xmlns:ui=http://java.sun.com/jsf/facelets; Namespace Bound to
TagLibrary
/views/applicationReview.xhtml @13,19
xmlns:c=http://java.sun.com/jstl/core; Namespace Bound to TagLibrary
/views/applicationReview.xhtml @13,19
xmlns:tr=http://myfaces.apache.org/trinidad; Namespace Bound to
TagLibrary
/views/applicationReview.xhtml @13,19
xmlns:cqu=http://onlineapp.web.cis.cqu.edu.au/; Namespace Bound to
TagLibrary
/views/applicationReview.xhtml @13,19
xmlns:ft=http://sourceforge.net/projects/facestrace/facelets; Namespace
Bound to TagLibrary
Starting Unit: TextUnit[0] and adding it to parent:
[EMAIL PROTECTED]
Tag Pushed: /views/applicationReview.xhtml @14,11 head
 
This explains why tables included as part of other compositions worked
well, but the tables configured directly in the affected page did not.
Facelets was not recognizing any of the f: tags due to my typo.
 
Regards,
 
Graeme.





From: Graeme Steyn 
Sent: Friday, 10 August 2007 5:07 PM
To: MyFaces Discussion
Subject: [Trinidad] tr:column header facets are not being rendered


Hi,
 
I was hoping that someone may be able to point me in the right direct
with a problem that I am experiencing.  Basically, I have a number of
tables within a form.  I have applied some basic css to the column
header text.  When the form is rendered, the first table in the form
does not render the column header facets if there is no content.  When
there are data rows, then the facets are rendered, but not styled.
However, the other tables in the form do render the column header facets
and apply the styling correctly.  I cannot see any obvious difference
between the table definitions that would produce this difference in
behavior.
 
The two tables also produce different html and facelets debug
information.  I have provided the details below.  Any pointers would be
greatly appreciated.
 
Regards,
 
Graeme.
 
Environment: JSF 1.2, Trinidad 1.2.1, Facelets 1.1.12, Glassfish 1 ur 1
p03.
 
Problem Table:
 
  tr:table
  id=applSubmitted
  emptyText=#{bundle.appRvSubmittedTableEmpty}
  value=#{visit.candidate.admissionApplCollection}
  var=completedAppls
  rowBandingInterval=1
  horizontalGridVisible=true
  verticalGridVisible=true
  shortDesc=#{bundle.appRvSubmittedRefNbrs}
  summary=#{bundle.appRvSubmittedRefNbrs}
  width=750px 
  
  tr:column headerNoWrap=true
  f:facet name=header
  tr:outputText
  value=#{bundle.appRvReference}
  shortDesc=#{bundle.appRvReference} /
  /f:facet
  tr:panelGroupLayout
  layout=vertical 
  tr:outputText value=#{completedAppls.admissionApplId} 
  f:convertNumber pattern=/
  /tr:outputText
  tr:outputText value=#{completedAppls.timeStamp} 
  tr:convertDateTime type=date /
  /tr:outputText
  tr:outputText value=#{completedAppls.timeStamp} 
  tr:convertDateTime type=time /
  /tr:outputText
  /tr:panelGroupLayout
  /tr:column
:
:
   /tr:table
 
Facelets Debug Info:
 
CoreTable allDetailsEnabled=false autoSubmit=false
columnBandingInterval=0 emptyText=No applications for admission have
been submitted.  first=0 horizontalGridVisible=true
id=applSubmitted immediate=false rendered=true
rowBandingInterval=1 rowIndex=-1 rowSelection=none rows=25
shortDesc=You have successfully submitted the following applications
during this session.  showAll=false summary=You have successfully
submitted the following applications during this session. 
transient=false var=completedAppls verticalGridVisible=true
width=750px
CoreColumn align=start defaultSortOrder=ascending
headerNoWrap=true id=j_id27 noWrap=false rendered=true

[Trinidad] tr:column header facets are not being rendered

2007-08-10 Thread Graeme Steyn
Hi,
 
I was hoping that someone may be able to point me in the right direct
with a problem that I am experiencing.  Basically, I have a number of
tables within a form.  I have applied some basic css to the column
header text.  When the form is rendered, the first table in the form
does not render the column header facets if there is no content.  When
there are data rows, then the facets are rendered, but not styled.
However, the other tables in the form do render the column header facets
and apply the styling correctly.  I cannot see any obvious difference
between the table definitions that would produce this difference in
behavior.
 
The two tables also produce different html and facelets debug
information.  I have provided the details below.  Any pointers would be
greatly appreciated.
 
Regards,
 
Graeme.
 
Environment: JSF 1.2, Trinidad 1.2.1, Facelets 1.1.12, Glassfish 1 ur 1
p03.
 
Problem Table:
 
  tr:table
  id=applSubmitted
  emptyText=#{bundle.appRvSubmittedTableEmpty}
  value=#{visit.candidate.admissionApplCollection}
  var=completedAppls
  rowBandingInterval=1
  horizontalGridVisible=true
  verticalGridVisible=true
  shortDesc=#{bundle.appRvSubmittedRefNbrs}
  summary=#{bundle.appRvSubmittedRefNbrs}
  width=750px 
  
  tr:column headerNoWrap=true
  f:facet name=header
  tr:outputText
  value=#{bundle.appRvReference}
  shortDesc=#{bundle.appRvReference} /
  /f:facet
  tr:panelGroupLayout
  layout=vertical 
  tr:outputText value=#{completedAppls.admissionApplId} 
  f:convertNumber pattern=/
  /tr:outputText
  tr:outputText value=#{completedAppls.timeStamp} 
  tr:convertDateTime type=date /
  /tr:outputText
  tr:outputText value=#{completedAppls.timeStamp} 
  tr:convertDateTime type=time /
  /tr:outputText
  /tr:panelGroupLayout
  /tr:column
:
:
   /tr:table
 
Facelets Debug Info:
 
CoreTable allDetailsEnabled=false autoSubmit=false
columnBandingInterval=0 emptyText=No applications for admission have
been submitted.  first=0 horizontalGridVisible=true
id=applSubmitted immediate=false rendered=true
rowBandingInterval=1 rowIndex=-1 rowSelection=none rows=25
shortDesc=You have successfully submitted the following applications
during this session.  showAll=false summary=You have successfully
submitted the following applications during this session. 
transient=false var=completedAppls verticalGridVisible=true
width=750px
CoreColumn align=start defaultSortOrder=ascending
headerNoWrap=true id=j_id27 noWrap=false rendered=true
rowHeader=false separateRows=false sortable=false
transient=false
f:facet name=header
CoreOutputText escape=true id=j_id29 rendered=true
shortDesc=Reference Details. transient=false truncateAt=0
value=Reference Details./
/f:facet
CorePanelGroupLayout id=j_id31 layout=vertical
rendered=true transient=false
CoreOutputText escape=true id=j_id32 rendered=true
transient=false truncateAt=0
f:convertNumber pattern=/
/CoreOutputText
CoreOutputText
converter=org.apache.myfaces.trinidadinternal.convert.DateTimeConverter
@b9f16ec1 escape=true id=j_id34 rendered=true transient=false
truncateAt=0/
CoreOutputText
converter=org.apache.myfaces.trinidadinternal.convert.DateTimeConverter
@fb2426f0 escape=true id=j_id35 rendered=true transient=false
truncateAt=0/
/CorePanelGroupLayout
/CoreColumn
CoreColumn align=start defaultSortOrder=ascending
headerNoWrap=true id=j_id36 noWrap=false rendered=true
rowHeader=false separateRows=false sortable=false
transient=false
f:facet name=header
CoreOutputText escape=true id=j_id38 rendered=true
shortDesc=Career transient=false truncateAt=0 value=Career/
/f:facet
CoreOutputText escape=true id=j_id40 rendered=true
transient=false truncateAt=0/
/CoreColumn
 
Html:
 
!--Start: org.apache.myfaces.trinidad.Table[applSubmitted]--div
id=applSubmitted title=You have successfully submitted the following
applications during this session. table cellpadding=0
cellspacing=0 border=0 width=750px summary=tr
tdtable class=af_table_content cellpadding=1 cellspacing=0
border=0 width=100% summary=You have successfully submitted the
following applications during this session. tr
td class=af_column_cell-text OraTableBorderNo
applications for admission have been submitted. /td

td class=af_column_cell-text OraTableBorder/td

td class=af_column_cell-text OraTableBorder/td

td class=af_column_cell-text OraTableBorder/td

td class=af_column_cell-text OraTableBorder/td

td 

RE: [Trinidad] Using Spring Web Flow with Trinidad?

2007-07-28 Thread Graeme Steyn
Adam,

Thanks for the response.  Your hunch is right. Sprig Web Flow makes use
of the following:

navigation-handlerorg.springframework.webflow.executor.jsf.FlowNavigat
ionHandler/navigation-handler
variable-resolverorg.springframework.webflow.executor.jsf.DelegatingFl
owVariableResolver/variable-resolver
phase-listenerorg.springframework.webflow.executor.jsf.FlowPhaseListen
er/phase-listener 

Thanks for pointing me in the right direction.  I will spend some time
trying to see what the wrapping order is, etc.

Regards,

Graeme.

-Original Message-
From: Adam Winer [mailto:[EMAIL PROTECTED] 
Sent: Sunday, 29 July 2007 4:12 AM
To: MyFaces Discussion
Subject: Re: [Trinidad] Using Spring Web Flow with Trinidad?

On 7/27/07, Graeme Steyn [EMAIL PROTECTED] wrote:

 I am currently looking at introducing some form of conversation state 
 management into an existing Trinidad-1.2.1/Facelets-1.1.12 web 
 application that currently makes use of Trinidad's Dialog Framework.  
 Ultimately, I would like to prevent issues that can occur if the use 
 starts multiple conversations and data is stored in session scope.  I 
 would also like to restrict their ability to access the workflow by 
 directly entering a URL for one of the pages in the middle of the 
 workflow, instead of going through the designated start page.  We are 
 already making use of Spring in many areas and Spring Web Flow would
be a natural extension to try use.

 - Has anyone attempted to use Spring Web Flow with Trinidad?

 - Are there any common integration issues/pitfalls?

 - Is it worth looking at Spring Web Flow, or would the use of 
 pageFlowScope and phaseListeners for a custom solution be easier?

 The first thing that came to mind was the Dialog Framework-Spring Web 
 Flow interaction.  I am not sure how this would work or if it would 
 even work.  A quick initial attempt resulted in the following error:

 javax.faces.el.EvaluationException:
 /views/lastSchoolSearch.xhtml @172,55
 actionListener=#{lastSchoolSearch.done}:
java.lang.IllegalStateException:
 popView(): No view has been pushed.

 Dialogue gets displayed based on the following transitions, but fails 
 when returning.

My hunch is that dialog: is not actually really launching the dialog.
As for why, I'd wonder how Spring Web Flow is installing.  My guess is
that it's a NavigationHandler wrapper (is that accurate?)  and if so,
for dialog: to magically work you'd have to make sure that the
Trinidad dialog:
ViewHandler wrapper wraps the SWF ViewHandler wrapper, not the other way
around.

-- Adam



  view-state id=educationHistory
 view=/views/educationHistory.xhtml
   transition on=employment to=employmentHistory /
   transition on=back to=addressPage /
   transition on=proficiency to=englishProficiency /
   transition on=dialog:lastSchoolSearch to=lastSchoolSearch /  
 /view-state

  view-state id=lastSchoolSearch
 view=/views/lastSchoolSearch.xhtml
   transition on=done to=educationHistory /  /view-state

 Any feedback would be great.  Thank you in advance..


[Trinidad] Using Spring Web Flow with Trinidad?

2007-07-27 Thread Graeme Steyn
Hi,
 
I am currently looking at introducing some form of conversation state
management into an existing Trinidad-1.2.1/Facelets-1.1.12 web
application that currently makes use of Trinidad's Dialog Framework.
Ultimately, I would like to prevent issues that can occur if the use
starts multiple conversations and data is stored in session scope.  I
would also like to restrict their ability to access the workflow by
directly entering a URL for one of the pages in the middle of the
workflow, instead of going through the designated start page.  We are
already making use of Spring in many areas and Spring Web Flow would be
a natural extension to try use.
 
- Has anyone attempted to use Spring Web Flow with Trinidad?
 
- Are there any common integration issues/pitfalls?
 
- Is it worth looking at Spring Web Flow, or would the use of
pageFlowScope and phaseListeners for a custom solution be easier?
 
The first thing that came to mind was the Dialog Framework-Spring Web
Flow interaction.  I am not sure how this would work or if it would even
work.  A quick initial attempt resulted in the following error:
 
javax.faces.el.EvaluationException: /views/lastSchoolSearch.xhtml
@172,55 actionListener=#{lastSchoolSearch.done}:
java.lang.IllegalStateException: popView(): No view has been pushed.

Dialogue gets displayed based on the following transitions, but fails
when returning.
 
 view-state id=educationHistory view=/views/educationHistory.xhtml
  transition on=employment to=employmentHistory /
  transition on=back to=addressPage /
  transition on=proficiency to=englishProficiency /
  transition on=dialog:lastSchoolSearch to=lastSchoolSearch /
 /view-state
 
 view-state id=lastSchoolSearch view=/views/lastSchoolSearch.xhtml
  transition on=done to=educationHistory /
 /view-state

Any feedback would be great.  Thank you in advance..
 
Regards,
 
Graeme.


RE: Validating Multiple Components in DataTable

2007-07-23 Thread Graeme Steyn
.
 
Graeme.
 


From: David Delbecq [mailto:[EMAIL PROTECTED]
Sent: Fri 20/07/2007 10:18 PM
To: MyFaces Discussion
Subject: Re: Validating Multiple Components in DataTable



Quick suggestion:
tr:table
id=tblx
value=#{bean.collection}
binding=#{bean.coreTable}
var=entry 

tr:column
tr:inputText value=#{entry.prop1}  id=prop1
my:NotNullIfOtherNotNull others=prop2,prop3,prop4/
/tr:inputText
/tr:column

tr:column
tr:inputText value=#{entry.prop2} id=prop2 


as for the content of the cutsom my:NotNullIfOtherNotNull, i suggest you
look at code of validateEqual in tomahawk, that check 2 component
value are same. You can do similar thing with null.
That way, non need to limit your check to the use of a UIData.


En l'instant précis du 20/07/07 12:56, Graeme Steyn s'exprimait en ces
termes:
 Hi,
 
 I have a tr:table component that is displaying rows from an
 ArrayLIst containing instances of class X.  I would like to introduce
 a validator that checks that if information is entered for any
 property, then all properties must be populated for that row.  ANy
 rows that have no data entered or all data entered are thus valid. At
 present I have the arrangement provided below, but I appear to be
 getting the instances of X from the original collection, rather than
 the table components local values.  Thus when the view is first
 displayed, I can enter data in row 1 cell 1 and press next to invoke a
 POST back and the validation.  Using the debugger, I find that the
 first iteration through the loop returns an instance of X, but without
 the posted back data (everything is null).  I do not appear to be
 getting at the local converted value.
 
 Any help would be greatly appreciated.
 
 Thank you,
 
 Regards,
 
 Graeme.
 
 PS.
 I came across a related query located at
 http://mail-archives.apache.org/mod_mbox/myfaces-users/200608.mbox/[EMAIL 
 PROTECTED]
 I am trying to avoid binding as the user will be able to add and
 delete rows within my datatable, so I was hoping to keep things flexible.
 
 public class X {
 
 private String prop1;
 private String prop2;
 private String prop3;
 
 getters/setters...etc
 }
 
 
 
 class BackingBean {
 
 Collection X collection = new ArrayList X ();
 
 etc
 }
 
 
 
 tr:message for=validateRows /
 
 tr:table
 id=tblx
 value=#{bean.collection}
 binding=#{bean.coreTable}
 var=entry 
 
 tr:column
 tr:inputText value=#{entry.prop1} /
 /tr:column
 
 tr:column
 tr:inputText value=#{entry.prop2} /
 /tr:column
 :
 :
 etc
 /tr:table
 
 tr:inputHidden id=validateRows value=dummy
 validator=#{bean.validateRows} /

 =
 
 Will only catch the first invlaid instance in the table - the
 validation message appears at the table level rather than per row.
 
 public void validateEntriesComplete(FacesContext facesContext,
 UIComponent uIComponent,
 Object object) throws ValidatorException {

 UIXCollection uixCollection = (UIXCollection) coreTable;
 int oldRowIndex = uixCollection.getRowIndex();
 for (int rowNum = 0, numRows = uixCollection.getRowCount();
 rowNum  numRows; rowNum++) {  
 uixCollection.setRowIndex(rowNum);
 X instancex = (X) uixCollection.getRowData();
   
 if (!instancex.isAllPropertiesSet()
  instancex.isAnyPropertySet()) {
   
 FacesMessage message = Messages.getMessage(
 Constants.LOCALIZATION_RESOURCE,
 IncompleteRecord, null);
 message.setSeverity(FacesMessage.SEVERITY_ERROR);
 throw new ValidatorException(message);
   
 }
 }
 uixCollection.setRowIndex(oldRowIndex);
   
 }


--
http://www.noooxml.org/



winmail.dat

Validating Multiple Components in DataTable

2007-07-20 Thread Graeme Steyn
Hi,
 
I have a tr:table component that is displaying rows from an ArrayLIst
containing instances of class X.  I would like to introduce a validator
that checks that if information is entered for any property, then all
properties must be populated for that row.  ANy rows that have no data
entered or all data entered are thus valid. At present I have the
arrangement provided below, but I appear to be getting the instances of
X from the original collection, rather than the table components local
values.  Thus when the view is first displayed, I can enter data in row
1 cell 1 and press next to invoke a POST back and the validation.  Using
the debugger, I find that the first iteration through the loop returns
an instance of X, but without the posted back data (everything is null).
I do not appear to be getting at the local converted value.
 
Any help would be greatly appreciated.
 
Thank you,
 
Regards,
 
Graeme.
 
PS. 
I came across a related query located at
http://mail-archives.apache.org/mod_mbox/myfaces-users/200608.mbox/%3c55
[EMAIL PROTECTED]  I am trying to avoid binding as the user
will be able to add and delete rows within my datatable, so I was hoping
to keep things flexible.
 
public class X {
 
private String prop1;
private String prop2;
private String prop3;
 
getters/setters...etc
}
 

 
class BackingBean {
 
Collection X collection = new ArrayList X ();
 
etc
}
 

 
tr:message for=validateRows /
 
tr:table
id=tblx
value=#{bean.collection}
binding=#{bean.coreTable}
var=entry 
 
tr:column
tr:inputText value=#{entry.prop1} /
/tr:column
 
tr:column
tr:inputText value=#{entry.prop2} /
/tr:column
:
:
etc
/tr:table
 
tr:inputHidden id=validateRows value=dummy
validator=#{bean.validateRows} /

=
 
Will only catch the first invlaid instance in the table - the validation
message appears at the table level rather than per row.
 
public void validateEntriesComplete(FacesContext facesContext,
UIComponent uIComponent,
Object object) throws ValidatorException {

UIXCollection uixCollection = (UIXCollection) coreTable;
int oldRowIndex = uixCollection.getRowIndex();
for (int rowNum = 0, numRows = uixCollection.getRowCount();
rowNum  numRows; rowNum++) {
uixCollection.setRowIndex(rowNum);
X instancex = (X) uixCollection.getRowData();

if (!instancex.isAllPropertiesSet()
 instancex.isAnyPropertySet()) {

FacesMessage message = Messages.getMessage(
Constants.LOCALIZATION_RESOURCE,
IncompleteRecord, null);
message.setSeverity(FacesMessage.SEVERITY_ERROR);
throw new ValidatorException(message);

}
}
uixCollection.setRowIndex(oldRowIndex);

}



[Trinidad] Validating Multiple Components in DataTable

2007-07-20 Thread Graeme Steyn
Sorry, forgot to include Trinidad in the subject.



From: Graeme Steyn
Sent: Fri 20/07/2007 8:56 PM
To: 'MyFaces Discussion'
Subject: Validating Multiple Components in DataTable


Hi,
 
I have a tr:table component that is displaying rows from an ArrayLIst 
containing instances of class X.  I would like to introduce a validator that 
checks that if information is entered for any property, then all properties 
must be populated for that row.  ANy rows that have no data entered or all data 
entered are thus valid. At present I have the arrangement provided below, but I 
appear to be getting the instances of X from the original collection, rather 
than the table components local values.  Thus when the view is first displayed, 
I can enter data in row 1 cell 1 and press next to invoke a POST back and the 
validation.  Using the debugger, I find that the first iteration through the 
loop returns an instance of X, but without the posted back data (everything is 
null).  I do not appear to be getting at the local converted value.
 
Any help would be greatly appreciated.
 
Thank you,
 
Regards,
 
Graeme.
 
PS. 
I came across a related query located at 
http://mail-archives.apache.org/mod_mbox/myfaces-users/200608.mbox/[EMAIL 
PROTECTED]  I am trying to avoid binding as the user will be able to add and 
delete rows within my datatable, so I was hoping to keep things flexible.
 
public class X {
 
private String prop1;
private String prop2;
private String prop3;
 
getters/setters...etc
}
 

 
class BackingBean {
 
Collection X collection = new ArrayList X ();
 
etc
}
 

 
tr:message for=validateRows /
 
tr:table
id=tblx
value=#{bean.collection}
binding=#{bean.coreTable}
var=entry 
 
tr:column
tr:inputText value=#{entry.prop1} /
/tr:column
 
tr:column
tr:inputText value=#{entry.prop2} /
/tr:column
:
:
etc
/tr:table
 
tr:inputHidden id=validateRows value=dummy 
validator=#{bean.validateRows} /

=
 
Will only catch the first invlaid instance in the table - the validation 
message appears at the table level rather than per row.
 
public void validateEntriesComplete(FacesContext facesContext,
UIComponent uIComponent,
Object object) throws ValidatorException {

UIXCollection uixCollection = (UIXCollection) coreTable;
int oldRowIndex = uixCollection.getRowIndex();
for (int rowNum = 0, numRows = uixCollection.getRowCount(); rowNum  
numRows; rowNum++) {
uixCollection.setRowIndex(rowNum);
X instancex = (X) uixCollection.getRowData();

if (!instancex.isAllPropertiesSet()
 instancex.isAnyPropertySet()) {

FacesMessage message = Messages.getMessage(
Constants.LOCALIZATION_RESOURCE,
IncompleteRecord, null);
message.setSeverity(FacesMessage.SEVERITY_ERROR);
throw new ValidatorException(message);

}
}
uixCollection.setRowIndex(oldRowIndex);

}



RE: [Trinidad] PPR duplicating transient components

2007-07-12 Thread Graeme Steyn
Thanks Adam.  I did miss the previous reference to CACHE_VIEW_ROOT lower
down in the email.

Regards,

Graeme. 

-Original Message-
From: Adam Winer [mailto:[EMAIL PROTECTED] 
Sent: Friday, 13 July 2007 2:30 AM
To: MyFaces Discussion
Subject: Re: [Trinidad] PPR duplicating transient components

You can set:
context-param
param-name
org.apache.myfaces.trinidad.CACHE_VIEW_ROOT
/param-name
param-valuefalse/param-value
/context-param

to bypass the issue.  Performance will be a little slower.

-- Adam



On 7/11/07, Graeme Steyn [EMAIL PROTECTED] wrote:
 Hi,

 I have recently made a correction to my Facelets pages to make sure 
 that the PPR works correctly.  I included the trh:body tag thanks to

 a response from Matthias to someone else's posting (without the tag it

 simply does a full refresh).  The impact was immediate and all of my 
 headers and footers started to duplicate.

 The duplication of components when using Facelets is not limited to
PPR.
 I have attached a sample project showing the problem, with 
 corresponding JSP pages that do not have the problem (one of which 
 produces a NullPointerException)(have also uploaded the attachment to
 https://issues.apache.org/jira/browse/TRINIDAD-95 as it appears 
 closely related).  The project uses a maven pom to build.

 Basically, any template text that is not wrapped in a Trinidad 
 component will be duplicated if the page is render after a full 
 request cycle (no validation errors, etc.)  For example, in the 
 snippet below, the h3 element will be duplicated, but not the h2 
 element which lies outside of any tr: tag.

 body
 h:form id=form1

 h2Heading in form (using lt;tr:formgt;)/h2

 tr:panelGroupLayout id=layout
 f:facet name=separator
 tr:separator /
 /f:facet

 h3Heading within tr:panelGroupLayout/h3

 tr:inputText
 label=Test Input
 required=true /

 tr:panelButtonBar id=pageNav
 tr:commandButton id=command
 action=submit
 text=Submit
 shortDesc=Submit /
 /tr:panelButtonBar

 /tr:panelGroupLayout

 /h:form
 /body

 Unfortunately, I have not got as far as debugging to find where the 
 problem is.  To correct it, the h3 element can be wrapped in a 
 tr:outputText or tr:outputDocument tag.  This is however not ideal as 
 all of the original headers and footers etc. have been done by web 
 developers using normal xhtml and css.  To rework this into standard 
 Trinidad components will take time.  It also removes some of the 
 flexibility of using Facelets.  It would be easier to switch back to 
 JSP using static and dynamic includes, tag files and simple tags.

 Does anyone have an opinions if it is worth sticking with Facelets 
 when using Trinidad or is it just simpler to switch back to JSP 2.1?

 Regards,

 Graeme.



 -Original Message-
 From: Matthias Wessendorf [mailto:[EMAIL PROTECTED]
 Sent: Wednesday, 11 July 2007 12:18 AM
 To: MyFaces Discussion
 Subject: Re: [Trinidad] PPR duplicating transient components

 not you,

 I only noticed the words transient and JSF12

 https://issues.apache.org/jira/browse/TRINIDAD-95

 :-)

 On 7/10/07, noah [EMAIL PROTECTED] wrote:
  ? I didn't create one for this issue. Should I?
 
  On 7/10/07, Matthias Wessendorf [EMAIL PROTECTED] wrote:
   jira allows doing an upload, I noticed you created already an 
   issue
 in there.
  
   -M
  
   On 7/10/07, noah [EMAIL PROTECTED] wrote:
OK. Mail daemon hates zip files.  Here's a tarball of a demo
 project.
   
On 7/10/07, Adam Winer [EMAIL PROTECTED] wrote:
 A testcase would be great!  I suspect a Facelets bug here, 
 though it's kind of a corner case.

 -- Adam


 On 7/9/07, noah [EMAIL PROTECTED] wrote:
  On 7/6/07, Adam Winer [EMAIL PROTECTED] wrote:
   On 7/6/07, noah [EMAIL PROTECTED] wrote:
On 7/6/07, Gary VanMatre [EMAIL PROTECTED] wrote:


 From: noah [EMAIL PROTECTED]
 
  On 7/6/07, Gary VanMatre wrote:
  
   From: noah
   
Thought I'd post this before creating a JIRA 
issue, in case I've overlooked something. I just

now produced this with 1.2.1 but I think I've 
seen
 it in 1.0.x before.
   
In the following page, clicking the link 
correctly

updates 'Foo=' to 'Foo=1' but it renders the 
paragraph twice. Clicking again updates
-both- paragraphs to 'Foo=2' and adds a third.
Click again for a 4th, and Foo=3, and so on.
   
Using an h:outputText instead of inline EL keeps

the text from being repeated, but additional
 paragraph elements are added with each click.
   
   
  
  tr:document xmlns=http://www.w3.org/1999/xhtml

RE: [Trinidad] PPR duplicating transient components

2007-07-11 Thread Graeme Steyn
Hi,

I have recently made a correction to my Facelets pages to make sure that
the PPR works correctly.  I included the trh:body tag thanks to a
response from Matthias to someone else's posting (without the tag it
simply does a full refresh).  The impact was immediate and all of my
headers and footers started to duplicate.  

The duplication of components when using Facelets is not limited to PPR.
I have attached a sample project showing the problem, with corresponding
JSP pages that do not have the problem (one of which produces a
NullPointerException)(have also uploaded the attachment to
https://issues.apache.org/jira/browse/TRINIDAD-95 as it appears closely
related).  The project uses a maven pom to build.

Basically, any template text that is not wrapped in a Trinidad component
will be duplicated if the page is render after a full request cycle (no
validation errors, etc.)  For example, in the snippet below, the h3
element will be duplicated, but not the h2 element which lies outside
of any tr: tag.

body
h:form id=form1

h2Heading in form (using lt;tr:formgt;)/h2

tr:panelGroupLayout id=layout
f:facet name=separator
tr:separator /
/f:facet

h3Heading within tr:panelGroupLayout/h3

tr:inputText
label=Test Input
required=true /

tr:panelButtonBar id=pageNav
tr:commandButton id=command
action=submit
text=Submit
shortDesc=Submit /
/tr:panelButtonBar

/tr:panelGroupLayout

/h:form
/body

Unfortunately, I have not got as far as debugging to find where the
problem is.  To correct it, the h3 element can be wrapped in a
tr:outputText or tr:outputDocument tag.  This is however not ideal as
all of the original headers and footers etc. have been done by web
developers using normal xhtml and css.  To rework this into standard
Trinidad components will take time.  It also removes some of the
flexibility of using Facelets.  It would be easier to switch back to JSP
using static and dynamic includes, tag files and simple tags.

Does anyone have an opinions if it is worth sticking with Facelets when
using Trinidad or is it just simpler to switch back to JSP 2.1?

Regards,

Graeme.



-Original Message-
From: Matthias Wessendorf [mailto:[EMAIL PROTECTED] 
Sent: Wednesday, 11 July 2007 12:18 AM
To: MyFaces Discussion
Subject: Re: [Trinidad] PPR duplicating transient components

not you,

I only noticed the words transient and JSF12

https://issues.apache.org/jira/browse/TRINIDAD-95

:-)

On 7/10/07, noah [EMAIL PROTECTED] wrote:
 ? I didn't create one for this issue. Should I?

 On 7/10/07, Matthias Wessendorf [EMAIL PROTECTED] wrote:
  jira allows doing an upload, I noticed you created already an issue
in there.
 
  -M
 
  On 7/10/07, noah [EMAIL PROTECTED] wrote:
   OK. Mail daemon hates zip files.  Here's a tarball of a demo
project.
  
   On 7/10/07, Adam Winer [EMAIL PROTECTED] wrote:
A testcase would be great!  I suspect a Facelets bug here, 
though it's kind of a corner case.
   
-- Adam
   
   
On 7/9/07, noah [EMAIL PROTECTED] wrote:
 On 7/6/07, Adam Winer [EMAIL PROTECTED] wrote:
  On 7/6/07, noah [EMAIL PROTECTED] wrote:
   On 7/6/07, Gary VanMatre [EMAIL PROTECTED] wrote:
   
   
From: noah [EMAIL PROTECTED]

 On 7/6/07, Gary VanMatre wrote:
 
  From: noah
  
   Thought I'd post this before creating a JIRA 
   issue, in case I've overlooked something. I just 
   now produced this with 1.2.1 but I think I've seen
it in 1.0.x before.
  
   In the following page, clicking the link correctly

   updates 'Foo=' to 'Foo=1' but it renders the 
   paragraph twice. Clicking again updates
   -both- paragraphs to 'Foo=2' and adds a third. 
   Click again for a 4th, and Foo=3, and so on.
  
   Using an h:outputText instead of inline EL keeps 
   the text from being repeated, but additional
paragraph elements are added with each click.
  
  
 
 tr:document xmlns=http://www.w3.org/1999/xhtml;
xmlns:ui=http://java.sun.com/jsf/facelets;
xmlns:f=http://java.sun.com/jsf/core;
xmlns:h=http://java.sun.com/jsf/html;
xmlns:tr=http://myfaces.apache.org/trinidad;
   tr:form
   tr:panelHeader partialTriggers=foo
  pFoo=#{pageFlowScope.foo}/p
gt ;   /tr:panelHeader
   nbsp; nbsp;   tr:commandLink id=foo
partialSubmit=true text=Do
 it!
  f:setPropertyActionListener
value=#{pageFlowScope.foo + 1}
 target=#{pageFlowScope.foo} /
   /tr:commandLink
/tr:form
 /tr:document
 
 
 
 
  What happens if you use the output text with the
transient 

RE: [Trinidad] PPR in panelFormLayout - Changing required/rendered states

2007-06-07 Thread Graeme Steyn
Adam,

Thank you for the feedback.  Looking forward to using the AJAX XMLHttp
changes.

Regards,

Graeme.

-Original Message-
From: Adam Winer [mailto:[EMAIL PROTECTED] 
Sent: Friday, 8 June 2007 1:44 AM
To: MyFaces Discussion
Subject: Re: [Trinidad] PPR in panelFormLayout - Changing
required/rendered states

Currently, you have to put the partialTriggers on the panelFormLayout as
a whole, which is awkward.  I think it's about time we look at
re-jiggering the DOM here to support PPR of labels, but I've got plenty
on my plate right now.

FYI, the workaround of not using trh:body isn't going to be a workaround
for much longer.  I'm hard at work swapping out the iframe-based PPR
mechanism for real AJAX XMLHttp (going very well), and as part of that
PPR now works no matter what components you have on the page.  (Bye,
bye, panelPartialRoot!)

--- Adam


On 6/6/07, Graeme Steyn [EMAIL PROTECTED] wrote:


 Hi,

 Would anyone be able to shed some light on the problem that I am 
 trying to find a suitable work-around for.  I have two sections of 
 code where I am attempting to make use of PPR in Trinidad (using 
 Facelets 1.1.12, Trinidad 1.2, JSF 1.2_04 p02, SJSAS 9.0 ur1 patch
03).

 1.  In the first instance, a change in the value of a field needs to 
 set the required field indicator on the dependant fields.  The PPR is 
 however not updating the label indicator to show a required status in 
 this case.  I am assuming that this is related to ADFFACES-471, where 
 the resolution indicates that the labels in a panelFormLayout cannot
be updated via PPR.
 The component will however, be set to required so that when the user 
 navigates to the next page, they get corresponding required error 
 messages (would be nice to show the field as required before getting
the errors).

 The current work-around that I have used is to enclose all of the 
 dependant fields in a separate panelFormLayout that has its 
 partialTriggers property set to the prefChannel.  This works, but 
 messes up the page layout a little as the dependant fields are no
longer aligned with the driving field.

 The ability to change a field's required status based on some other 
 driving value is common throughout the application making a suitable 
 work-around important.


 2. In the second instance, I am attempting to hide/unhide a field 
 using PPR.  Once again, with the fields laid out using the normal 
 panelFormLayout, the PPR does not work and the rendered state of the 
 component does not change - it is always displayed.  The disabled 
 attribute for the birthCountry does work.  The problem sample appears
below.

 In this case the work-around is basically the same as the first one, 
 but using a panelGroupLayout with its partialTriggers set to the 
 driving components.  Once again, not ideal as it changes the original
form layout.

 For both scenarios a third work-around is to do the following:

 a. Change the trh:body tag to a normal body tag.
 b. Change the ValueChangeListeners to update the model when a value 
 changes and force rendering using getFacesContext().renderResponse();
 c. Link the required / rendered properties to the updated model
values.

 The big disadvantage is that this provides the required effect by 
 doing a full page refresh every time a driving value changes - PPR has

 effectively been removed.

 Would anyone have any suggestions on a more efficient work-around for 
 the two problem scenarios.

 Thank you.

 Regards,

 Graeme.




 --
 ---
 Problem Code Sample 1:


-
 tr:panelFormLayout
 shortDesc=#{bundle.fldSetContact}

 tr:selectOneChoice
 id=prefChannel
 label=#{bundle.contactPrefChannel}
 value=#{contact.preferredChannel}
 immediate=true
 autoSubmit=true

 binding=#{contact.preferredChannelComponent}

 valueChangeListener=#{contact.preferredChannelValueChange}
 required=true
 disabled=#{formReadOnly}
 shortDesc=#{bundle.contactPrefChannel}
 f:selectItems 
 value=#{applicationSelectItems.contactTypeList} /
 /tr:selectOneChoice

 tr:inputText
 id=WRK_PH
 label=#{bundle.contactPhoneDay}
 value=#{contact.dayPhone}
 disabled=#{formReadOnly}
 partialTriggers=prefChannel
 binding=#{contact.workComponent}
 required=#{visit.candidate.prefContact == 
 'WRK_PH'}
 shortDesc

RE: [Trinidad] faces-1_2-070427 build problem

2007-05-20 Thread Graeme Steyn
Good Morning,
 
A quick update.  The problem still occurs on my system when attempting
to build the plug-ins.  I have however, downloaded the affected plug-in
from
 
http://people.apache.org/repo/m2-snapshot-repository/org/apache/myfaces/
trinidadbuild/maven-xrts-plugin/1.2-07-apr-SNAPSHOT/
 
The plug-in has then been installed locally using:
 
mvn install:install-file -DgroupId=org.apache.myfaces.trinidadbuild
-DartifactId=maven-xrts-plugin -Dversion=1.2-07-apr-SNAPSHOT
-Dpackaging=maven-plugin -Dfile=e:/
 
The main Trinidad project now builds without any problems.
 
Regards,
 
Graeme.



From: Graeme Steyn [mailto:[EMAIL PROTECTED] 
Sent: Friday, 18 May 2007 9:24 AM
To: users@myfaces.apache.org
Subject: [Trinidad] faces-1_2-070427 build problem


Good Morning,
 
Please can someone point me in the right direction.  I have checked out
the
http://svn.apache.org/repos/asf/myfaces/trinidad/branches/faces-1_2-0704
27/
http://svn.apache.org/repos/asf/myfaces/trinidad/branches/faces-1_2-070
427/  branch.  I then do the following:
 
cd plugins
mvn install
 
I have always being getting the error below.  Any ideas?
 
Thank you.
 
Graeme.
 
[INFO]


[INFO] Building Apache Trinidad Maven XRTS Plugin
[INFO]task-segment: [install]
[INFO]


[INFO] [plugin:descriptor]
[INFO] Using 2 extractors.
[INFO] Applying extractor for language: java
[INFO]

[ERROR] FATAL ERROR
[INFO]

[INFO] syntax error @[199,67] in
file:/E:/opensrc_svn/faces-1_2-070427/plugins/maven-xrts-plugin/src/main
/java/org/apache/myfaces/trinidadbuild/plugin/x
rts/XRTSParser.java
[INFO]

[INFO] Trace
com.thoughtworks.qdox.parser.ParseException: syntax error @[199,67] in
file:/E:/opensrc_svn/faces-1_2-070427/plugins/maven-xrts-plugin/src/main
/java/org
/apache/myfaces/trinidadbuild/plugin/xrts/XRTSParser.java
at
com.thoughtworks.qdox.parser.impl.Parser.yyerror(Parser.java:504)
at
com.thoughtworks.qdox.parser.impl.Parser.yyparse(Parser.java:610)
at
com.thoughtworks.qdox.parser.impl.Parser.parse(Parser.java:488)
at
com.thoughtworks.qdox.JavaDocBuilder.addSource(JavaDocBuilder.java:296)
at
com.thoughtworks.qdox.JavaDocBuilder.addSource(JavaDocBuilder.java:312)
at
com.thoughtworks.qdox.JavaDocBuilder.addSource(JavaDocBuilder.java:308)
at
com.thoughtworks.qdox.JavaDocBuilder$1.visitFile(JavaDocBuilder.java:365
)
at
com.thoughtworks.qdox.directorywalker.DirectoryScanner.walk(DirectorySca
nner.java:43)
at
com.thoughtworks.qdox.directorywalker.DirectoryScanner.walk(DirectorySca
nner.java:34)
at
com.thoughtworks.qdox.directorywalker.DirectoryScanner.walk(DirectorySca
nner.java:34)
at
com.thoughtworks.qdox.directorywalker.DirectoryScanner.walk(DirectorySca
nner.java:34)
at
com.thoughtworks.qdox.directorywalker.DirectoryScanner.walk(DirectorySca
nner.java:34)
at
com.thoughtworks.qdox.directorywalker.DirectoryScanner.walk(DirectorySca
nner.java:34)
at
com.thoughtworks.qdox.directorywalker.DirectoryScanner.walk(DirectorySca
nner.java:34)
at
com.thoughtworks.qdox.directorywalker.DirectoryScanner.walk(DirectorySca
nner.java:34)
at
com.thoughtworks.qdox.directorywalker.DirectoryScanner.scan(DirectorySca
nner.java:52)
at
com.thoughtworks.qdox.JavaDocBuilder.addSourceTree(JavaDocBuilder.java:3
62)
at
org.apache.maven.tools.plugin.extractor.java.JavaMojoDescriptorExtractor
.execute(JavaMojoDescriptorExtractor.java:477)
at
org.apache.maven.tools.plugin.scanner.DefaultMojoScanner.populatePluginD
escriptor(DefaultMojoScanner.java:69)
at
org.apache.maven.plugin.plugin.AbstractGeneratorMojo.execute(AbstractGen
eratorMojo.java:99)
at
org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginMa
nager.java:443)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(Default
LifecycleExecutor.java:539)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifec
ycle(DefaultLifecycleExecutor.java:480)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultL
ifecycleExecutor.java:459)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandle
Failures(DefaultLifecycleExecutor.java:311)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(
DefaultLifecycleExecutor.java:278)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifec
ycleExecutor.java:143)
at
org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:334

[Trinidad] faces-1_2-070427 build problem

2007-05-17 Thread Graeme Steyn
Good Morning,
 
Please can someone point me in the right direction.  I have checked out
the
http://svn.apache.org/repos/asf/myfaces/trinidad/branches/faces-1_2-0704
27/
http://svn.apache.org/repos/asf/myfaces/trinidad/branches/faces-1_2-070
427/  branch.  I then do the following:
 
cd plugins
mvn install
 
I have always being getting the error below.  Any ideas?
 
Thank you.
 
Graeme.
 
[INFO]


[INFO] Building Apache Trinidad Maven XRTS Plugin
[INFO]task-segment: [install]
[INFO]


[INFO] [plugin:descriptor]
[INFO] Using 2 extractors.
[INFO] Applying extractor for language: java
[INFO]

[ERROR] FATAL ERROR
[INFO]

[INFO] syntax error @[199,67] in
file:/E:/opensrc_svn/faces-1_2-070427/plugins/maven-xrts-plugin/src/main
/java/org/apache/myfaces/trinidadbuild/plugin/x
rts/XRTSParser.java
[INFO]

[INFO] Trace
com.thoughtworks.qdox.parser.ParseException: syntax error @[199,67] in
file:/E:/opensrc_svn/faces-1_2-070427/plugins/maven-xrts-plugin/src/main
/java/org
/apache/myfaces/trinidadbuild/plugin/xrts/XRTSParser.java
at
com.thoughtworks.qdox.parser.impl.Parser.yyerror(Parser.java:504)
at
com.thoughtworks.qdox.parser.impl.Parser.yyparse(Parser.java:610)
at
com.thoughtworks.qdox.parser.impl.Parser.parse(Parser.java:488)
at
com.thoughtworks.qdox.JavaDocBuilder.addSource(JavaDocBuilder.java:296)
at
com.thoughtworks.qdox.JavaDocBuilder.addSource(JavaDocBuilder.java:312)
at
com.thoughtworks.qdox.JavaDocBuilder.addSource(JavaDocBuilder.java:308)
at
com.thoughtworks.qdox.JavaDocBuilder$1.visitFile(JavaDocBuilder.java:365
)
at
com.thoughtworks.qdox.directorywalker.DirectoryScanner.walk(DirectorySca
nner.java:43)
at
com.thoughtworks.qdox.directorywalker.DirectoryScanner.walk(DirectorySca
nner.java:34)
at
com.thoughtworks.qdox.directorywalker.DirectoryScanner.walk(DirectorySca
nner.java:34)
at
com.thoughtworks.qdox.directorywalker.DirectoryScanner.walk(DirectorySca
nner.java:34)
at
com.thoughtworks.qdox.directorywalker.DirectoryScanner.walk(DirectorySca
nner.java:34)
at
com.thoughtworks.qdox.directorywalker.DirectoryScanner.walk(DirectorySca
nner.java:34)
at
com.thoughtworks.qdox.directorywalker.DirectoryScanner.walk(DirectorySca
nner.java:34)
at
com.thoughtworks.qdox.directorywalker.DirectoryScanner.walk(DirectorySca
nner.java:34)
at
com.thoughtworks.qdox.directorywalker.DirectoryScanner.scan(DirectorySca
nner.java:52)
at
com.thoughtworks.qdox.JavaDocBuilder.addSourceTree(JavaDocBuilder.java:3
62)
at
org.apache.maven.tools.plugin.extractor.java.JavaMojoDescriptorExtractor
.execute(JavaMojoDescriptorExtractor.java:477)
at
org.apache.maven.tools.plugin.scanner.DefaultMojoScanner.populatePluginD
escriptor(DefaultMojoScanner.java:69)
at
org.apache.maven.plugin.plugin.AbstractGeneratorMojo.execute(AbstractGen
eratorMojo.java:99)
at
org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginMa
nager.java:443)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(Default
LifecycleExecutor.java:539)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifec
ycle(DefaultLifecycleExecutor.java:480)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultL
ifecycleExecutor.java:459)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandle
Failures(DefaultLifecycleExecutor.java:311)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(
DefaultLifecycleExecutor.java:278)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifec
ycleExecutor.java:143)
at
org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:334)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:125)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:272)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.jav
a:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor
Impl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
at
org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
at org.codehaus.classworlds.Launcher.main(Launcher.java:375)