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

Bug 321039

Summary: [API] Helios JSFAppConfigManager APIs are marked internal
Product: [WebTools] Java Server Faces Reporter: Xiaonan Jiang <xiaonan_jiang>
Component: JSF ToolsAssignee: Gerry Kessler <gerry.kessler>
Status: ASSIGNED --- QA Contact:
Severity: normal    
Priority: P3 CC: raghunathan.srinivasan, yurykats
Version: unspecified   
Target Milestone: Future   
Hardware: PC   
OS: Windows XP   
Whiteboard:

Description Xiaonan Jiang CLA 2010-07-27 11:42:28 EDT
Build Identifier: wtp 3.2

  I tried to extend the JsfAppConfigManager using the following feature in bugzilla #308419:
  "An orthogonal feature will also be to given to allow adopters to provide their
own set of IJSFAppConfigLocators that the JSFAppConfigManager will use to
locate faces configuration elements."

There are some issues:
1) The following two classes need to be public APIs
   (A) org.eclipse.jst.jsf.core.jsfappconfig.internal.IJSFAppConfigLocatorProvider  
       When I define a "org.eclipse.jst.jsf.core.jsfAppConfigLocatorProviderFactory" extension, I need to implement my own IJSFAppConfigLocatorProvider.
   (B) org.eclipse.jst.jsf.core.jsfappconfig.internal.IJSFAppConfigManager
       I need to call IJSFAppConfigManager.getProject() method.
2) Can't guarantee the extended LocatorProvider will be picked up each time 
   In the CompositeFactorySelectionStrategyProvider.getFactoryToUse() method in JSFAppConfigManagerFactory.java, it calls providerSelector.perform(project) method. In the perform() method, it uses an iterator for a HashMap to find the first LocatorProvider. If DefaultJSFAppConfigManagerProviderStrategy is searched before ExtensionBasedJSFAppConfigManagerProviderStrategy, the DefaultProvider instead of my extended LocatorProvider will be returned.

Reproducible: Always
Comment 1 Cameron Bateman CLA 2010-07-29 12:01:22 EDT
Passing over to Gerry, since he did the work on 308419.
Comment 2 Gerry Kessler CLA 2010-08-23 16:07:18 EDT
Splitting out the second part of this to bug 323436.  This bug has also been renamed to be more descriptive.

Xiaonan, please create new bugs if you find any additional APIs that you use that are marked internal and should be made public.
Comment 3 Raghunathan Srinivasan CLA 2010-08-23 17:47:14 EDT
Since this requires changes to API, we will target this for the Indigo release.
Comment 4 Gerry Kessler CLA 2011-03-08 19:01:29 EST
Hi Xiaonan,

I'm sorry that this fell off of our radar; it has become almost too late to fix at this time.  

How critical is this fix for you in the Indigo release?   Are you currently using these internally packaged APIs?   

GK
Comment 5 Raghunathan Srinivasan CLA 2011-03-28 13:50:24 EDT
Deferring due to lack of resources.