Bug 128091 - need programmatic enhancement for plugin-provided JSF libraries
Summary: need programmatic enhancement for plugin-provided JSF libraries
Status: NEW
Alias: None
Product: Java Server Faces
Classification: WebTools
Component: JSF Tools (show other bugs)
Version: unspecified   Edit
Hardware: PC Windows XP
: P3 enhancement (vote)
Target Milestone: Future   Edit
Assignee: Ian Trimble CLA
QA Contact:
URL:
Whiteboard:
Keywords: helpwanted
Depends on: 246448
Blocks:
  Show dependency tree
 
Reported: 2006-02-15 15:07 EST by Scott Paxton CLA
Modified: 2008-09-05 18:55 EDT (History)
5 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Scott Paxton CLA 2006-02-15 15:07:48 EST
I would like to see a programmatic way of participating in adding JSF implementations to a project.  The current approach of subclassing JSFLibraryArchiveFilesDelegate is sound but there are a number of scenarios which it will not cover adequately.  Ideally adding some sort of (optional) "post-copy" IRunnable operation will let an implementation provider make further necessary modifications to a project's configuration.  

Examples where such functoinality is needed:

-Resources other than just WEB-INF/lib jarfiles may need to be copied into a project (for example, .css files)

-Different IRuntime targets on a project may result in different files being copied into the project.  For example, one version of a test server may already include some JSF implementation dependencies such as Apache Commons or JSTL hars while a different server may not.  (Some servers will already include an entire JSF implementation as well).

-Some projects will not use the default Faces Servlet configuration (which is not controllable by the delegate).  For example, on a portal server this servlet would not get defined but a Faces Portlet would need to be declared instead.  

-Some JSF implementation want/require additional context parameters defined in web.xml.


I think the existing delegate structure is sufficient for basic cases but an addition to the extension point that allowed a plugin-provider to contribute executable code is needed to handle more exotic cases cleanly.  Adding a runable operation which was executed after the defined archives were copied could solve the problems above.  Obviously the current IProject would also need to be provided to this executable code since some aspects of a successful "install" depend very much on the project's IRuntime target.
Comment 1 Ian Trimble CLA 2006-06-09 15:53:04 EDT
The ability to specify a post-copy IRunnable operation is a sound one, but is too limited. This ability should not be available to just plugin-provided JSF Libraries, it should be available to all, plugin-provided or otherwise. Also, this specific use case requires a post-copy operation, but we can't say with certainty that a pre-copy operation would not also be useful. For these reasons, I would like to seriously consider some form of lifecycle surrounding use of JSF Libraries, into which the user can register for callback on specific events and execute code as required.
Comment 2 Raghunathan Srinivasan CLA 2006-06-14 16:53:05 EDT
Deferred for 1.5. We will review this functionality for the next release and support complete life-cycle events.
Comment 3 David Williams CLA 2007-07-19 02:00:57 EDT
re-opening to change resolved-later to open-Future
Comment 4 Raghunathan Srinivasan CLA 2008-02-07 14:52:54 EST
Deferred due to lack of resources. Contributions from the community would be welcomed.
Comment 5 Konstantin Komissarchik CLA 2008-09-05 18:42:37 EDT
See Bug 246448 which might result in a broader solution for this requirement.
Comment 6 Cameron Bateman CLA 2008-09-05 18:55:49 EDT
Item 2 in the original request list would be addressed by 246448.