Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 312954

Summary: Change the default preference for the TagIntrospectingStrategy to be disabled
Product: [WebTools] Java Server Faces Reporter: Carlin Rogers <carlin.rogers>
Component: CoreAssignee: Carlin Rogers <carlin.rogers>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: cameron.bateman, david_williams, raghunathan.srinivasan, yurykats
Version: 3.2Flags: david_williams: pmc_approved+
raghunathan.srinivasan: pmc_approved? (naci.dai)
raghunathan.srinivasan: pmc_approved? (deboer)
raghunathan.srinivasan: pmc_approved? (neil.hauge)
raghunathan.srinivasan: pmc_approved? (kaloyan)
raghunathan.srinivasan: review+
Target Milestone: 3.2 RC2   
Hardware: PC   
OS: Windows XP   
Whiteboard: PMC_approved
Attachments:
Description Flags
patch to disable TagIntrospectingStrategy in default preferences. none

Description Carlin Rogers CLA 2010-05-14 14:13:56 EDT
The TagAnalyzer used by the TagIntrospectingStrategy has some issues when trying to instantiate some Tags, for example the RegexValidatorTag from the Mojarra faces ext tag lib for JSF 2.0. See bug 312936.

To avoid users experiencing issues that have not been resolved in the TagAnalyzer, we should change the default preference for the TagIntrospectingStrategy to be disabled. A user could still change the 
"Web | JavaServer Faces | Views | JSP Tag Registry" preference to enable 
it as desired.
Comment 1 Yury Kats CLA 2010-05-14 17:40:52 EDT
There have been known issues like this with TagIntrospectingStrategy in the past. See bug 240394 for example.

Note: it is possible to disable TagIntrospectingStrategy through product customization or programmatically through preferences store. Our adopter product does that.
Comment 2 Carlin Rogers CLA 2010-05-14 18:40:49 EDT
(In reply to comment #1)
> There have been known issues like this with TagIntrospectingStrategy in the
> past. See bug 240394 for example.
> 

Thanks, yes, I had noticed bug 240394 when I was doing a search for issues involving the TagAnalyzer class while investigating bug 312936.

> Note: it is possible to disable TagIntrospectingStrategy through product
> customization or programmatically through preferences store. Our adopter
> product does that.

Since I don't have a solution for 312936 and was concerned about the potential for further issues other than just the JEM warning in the error log, figured temporarily disabling TagIntrospectingStrategy in the JSF tools for this release would be best. Once we have a solution for some of these issues, we could revert this.
Comment 3 Carlin Rogers CLA 2010-05-17 19:24:29 EDT
Created attachment 168839 [details]
patch to disable TagIntrospectingStrategy in default preferences.
Comment 4 Raghunathan Srinivasan CLA 2010-05-18 00:44:34 EDT
* Explain why you believe this is a stop-ship defect. Or, if it is a "hotbug"
(requested by an adopter) please document it as such. 
This is a stop-ship defect since the bug results in numerous NPE when using the JSF 2.0 implementation. See bug 312936
* Is there a work-around? If so, why do you believe the work-around is
insufficient? 
The user has to manually turn-off the TagIntrospectingStrategy in the Preferences page. However, this will not be obvious to a end-user.
* How has the fix been tested? Is there a test case attached to the bugzilla
record? Has a JUnit Test been added? 
Manual
* Give a brief technical overview. Who has reviewed this fix? 
See description.
* What is the risk associated with this fix?
none
Comment 5 David Williams CLA 2010-05-18 01:17:18 EDT
I'm approving based on assumption this doesn't change ability or method of "product customization" already in use. Doesn't sound like would, that it should continue to work as is. 

Thanks,
Comment 6 Carlin Rogers CLA 2010-05-18 13:06:53 EDT
Correct, this should not impact any product customization. The code just disables the TagIntrospectingStrategy in the default list of strategies. This default list will only be used if there are no values contained in the preference store.

Checked the patch into HEAD for 3.2RC2.