Create a new package org.apache.myfaces.spi and implement Providers for 
integration points with application containers
----------------------------------------------------------------------------------------------------------------------

                 Key: MYFACES-2863
                 URL: https://issues.apache.org/jira/browse/MYFACES-2863
             Project: MyFaces Core
          Issue Type: Improvement
          Components: JSR-314
    Affects Versions: 2.0.1
            Reporter: Leonardo Uribe
            Assignee: Leonardo Uribe
            Priority: Critical


On jsf 1.2 and earlier, it was only necessary one point for integrate an 
application container, an that was LifecycleProvider2, to handle @PostConstruct 
and @PreDestroy annotations.

But on jsf 2.0, many stuff has been introduced that requires provide spi 
interfaces, so application containers could integrate better.

One problem is how to handle jsf libraries outside WEB-INF/lib directory, or 
how to customize some algorithms that requires knowledge of the container 
protocols.

It is also known protocols like "jar:" to cause problems, when you try to scan 
files, because it is necessary to open a jar file and scan all entries to find 
just one file (see MYFACES-2583 and MYFACES-2833 for details).

I think we should introduce two new packages called org.apache.myfaces.spi and 
org.apache.myfaces.spi.impl to deal with this stuff.

Based on the class names found on com.sun.faces.spi package, we should provide 
the following points:

- Handling of @PostConstruct and @PreDestroy (done in LifecycleProvider2)
- Annotation scanning: containers could have this code duplicated or a 
framework to deal with stuff like that, so it should be a possibility to 
override/extend.
- faces-config.xml and facelet-taglib.xml additions: It should be possible to 
add resource files to be included in the process.
- Serialization (partially done on SerialFactory interface) : Jboss provide its 
own serialization solution.

At this time it is not very clear how this interfaces should looks like. I'll 
provide a proposal for this stuff, but it will take some time, because it is 
necessary to think carefully each interface.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to