[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Hi 
All,
 
For the last few 
weeks the WTP JSF Tools team has been working with the 1021 IBuild.  The 
main reason for this was stability as the IBuilds after that one seemed to 
have some kind of problem that persuaded us to stick with 
it.
 
Anyway, we we had 
facets working and are preparing to do an initial check-in of code but we first 
are moving up to the latest available IBuild (20051111814).   This 
email is being written to describe some of the pain I went through so as to 
help solidify the API and perhaps help others working with facets.  
Konstantin - if you would like me to enter bugs for anything I mention 
below, please let me know.
 
A little 
background.   In the 1021 build, the JSF Facet did not show up in the 
DynamicWebApp creation wizard.  It was necessary to use the Add/Remove 
facets wizard.  I have also tried to avoid using any internal WTP 
classes.
 
In the 1021 build, I 
was able to use a POJO for the facet install action's "config" .  The API 
still says that it's type is Object.  I discovered that it must now be an 
IDataModel or nothing works.  The API should be updated for this.  
With that came a series of significant changes.
 
I 
then discovered that there is now a config-factory ext-pt element that must 
be used to create an IDataModelProvider.   After figuring out how to 
convert my original model, I still struggled to get my 
install delegate to work.  The problem that I was seeing was that 
my model was not being updated with the wizard values.   My wizard 
page was using the public AbstractFacetWizardPage class and I discovered that 
the API, transferStateToConfig() which I was relying on, was not being called in 
the context of a New WebApp Wizard.   At that point I found it 
necessary to follow the WebApp facet creation patterns.
 
That meant instead 
of using the public AbstractFacetWizardPage, I used the 
internal DataModelWizardPage class.   Please consider making this 
public.    Although it may not have been absolutely necessary, I 
then moved the validation code out of the UI to my model provider class to take 
advantage of the DataModelWizardPage.  I like the synchHelpers, btw, which 
greatly simplified handling the movement of the UI data to the 
model.   Please consider adding a synchHelper for CCombo as I needed 
to change to Combo due to the lack of helper for that control 
type.    
 
At this time I am 
back in business, so to speak, but still see the following issues that are 
probably framework related.   I have not found bugzilla entries for 
them.
  - I have 2 facet 
  versions defined but only one of them is ever available.   It does 
  not matter what runtime is specified.
- If the JSF Facet is 
  created as part of WebApp project creation, and when I use Add/Remove Facet 
  wizard, the JSF facet becomes "fixed".  Only if the facet is created 
  after the project am I able to remove the facet.
One last 
thing.  I need to be able to know the WebContent directory for validation 
purposes from my facet install page.  In the case of project creation, 
there is not yet a WebApp and I must somehow get it from the previous page's 
datamodel(WebFacetInstallDataModelProvider).   How can this be 
done?
 
Thanks,
Gerry 
Kessler
WTP JSF Tools 
Team