Features for JavaSE

This page is a starting point for the discussions to merge features of MyFaces CODI and Seam3. This page just ranks features which are available for JavaSE applications and the only dependency is the API of CDI.

The donating teams list all features of the corresponding code-base and rank them based on the priority for DeltaSpike (priority: 1...low - 10...high). In the 2nd column place a 'y' if a feature is important but the concept should be changed a bit for DeltaSpike. Placing a 'n' doesn't mean that the implementation won't change - it's just about the basic concept. A team places a 'x' in the 4th column of the other project, if there are basic objections about the concept itself. The ranking as well as the objections will be discussed on the dev list.

This list does also contain a few Utils methods which will most times be of public interest and thus be served in the +api+ modules.

MyFaces CODI feature ranking

Core

|| Feature || "Requires" concept changes || Ranking || Objections || Discussion finished | BeanManagerProvider | n | 10 | | (+) | | ProjectStage | n | 10 | | (+) | | Deactivatable | n | 10 | | (+) | | ProjectStageActivated | n | 10 | | (+) | | ExpressionActivated | n | 10 | | (+) | | ClassloaderUtils | y (needs tweaking: collection of ClassLoader related standard java stuff) | 10 | | CodiConfig | n (we can remove the workarounds we introduced for weld < v1.1.4). Code must get cleaned up and reviewed. | 9 | | (+) | | ServiceProvider | y (use the version of owb instead) | 9 | | (+) | | AccessDecisionVoter | postponed | 9 | | @Secured | postponed ( y) | 9 | | Logger | postponed | 8 | we should generally discuss if CDI Loggers are useful. | | Startup logging of module config | postponed | 8 | | @InvocationOrder | postponed | 7 | | ClassDeactivator | y | 7 | | (+) | | StartupEventBroadcaster | postponed | 7 | | ...resource. * | postponed | 6 | | StartupEvent | postponed ( y) | 5 | | BeanNames | n | 3 | | (+) | | @Advanced | postponed ( y) | 2 | | @Enhanced | postponed ( y) | 2 | | Aggregatable | y | 2 | | (+) | DefaultAnnotation | n | overlap | | (+) (will be continued at AnnotationInstanceProvider) | | rest of ...config.* | postponed | | ViewNavigationHandler | postponed | | ...scope.* | postponed |

You can find details at: * [https://cwiki.apache.org/confluence/display/EXTCDI/Core+Usage] * [https://cwiki.apache.org/confluence/display/EXTCDI/Core+Config+and+SPI] * [https://cwiki.apache.org/confluence/display/EXTCDI/Core+DevDoc]

I18n Module

|| Feature || "Requires" concept changes || Ranking || Objections ||

(discussion postponed)

Seam3 feature ranking

Solder

|| Feature || "Requires" changes || Ranking || Objections || Discussion finished || | [@Veto|https://github.com/seam/solder/blob/develop/api/src/main/java/org/jboss/solder/core/Veto.java] | n | 10 | | (+) | | [@Requires|https://github.com/seam/solder/blob/develop/api/src/main/java/org/jboss/solder/core/Requires.java] | y clean up, possibly rework for OWB. | 10 | x (behaviour non-spec conform; doesn't work with OWB and Resin)| (+) | | [javax.enterprise.inject.spi.Bean metadata implementations / utils|https://github.com/seam/solder/tree/develop/impl/src/main/java/org/jboss/solder/bean] | y(@DefaultBean is only needed for some CDI-1.0 containers if BDA is enabled - should get moved into an own jar) | 10 | | (+) / (-) still more to talk about | [Reflection utilities|https://github.com/seam/solder/tree/develop/api/src/main/java/org/jboss/solder/reflection] | n | 9 | I think we could consolidate things a bit with what's in MyFaces CODI | | [Properties|https://github.com/seam/solder/tree/develop/impl/src/main/java/org/jboss/solder/properties] | n | 7 | | [Logging|https://github.com/seam/solder/tree/develop/api/src/main/java/org/jboss/solder/logging] | n - probably need more impls | 7 | Currently based on JBoss logging, need to investigate changing to some other logging API (slf4j?). Provides typesafe logging feature, which is important. | | [Unwrap|https://github.com/seam/solder/tree/develop/api/src/main/java/org/jboss/solder/unwraps] | n | 5 | | [ServiceHandler|https://github.com/seam/solder/tree/develop/api/src/main/java/org/jboss/solder/serviceHandler] | n - We've talked about doing a Binding approach though like interceptors | 5 | | [@System|https://github.com/seam/solder/blob/develop/api/src/main/java/org/jboss/solder/core/System.java] | n Could be part of resources | 4 | | [ResourceLoader|https://github.com/seam/solder/tree/develop/api/src/main/java/org/jboss/solder/resourceLoader] | n | 4 | | [@Exact|https://github.com/seam/solder/blob/develop/api/src/main/java/org/jboss/solder/core/Exact.java] | n | 3 | | [Messages & i18n|https://github.com/seam/solder/tree/develop/api/src/main/java/org/jboss/solder/messages] | postponed | 3 | | [@FullyQualified|https://github.com/seam/solder/blob/develop/api/src/main/java/org/jboss/solder/core/FullyQualified.java] | n | 2 | | [@ExtensionManaged|https://github.com/seam/solder/blob/develop/api/src/main/java/org/jboss/solder/core/ExtensionManaged.java] | n | 2 | | [VersionLoggerUtil|https://github.com/seam/solder/blob/develop/api/src/main/java/org/jboss/solder/core/VersionLoggerUtil.java] | n | 2 | | [Generic Beans|https://github.com/seam/solder/tree/develop/impl/src/main/java/org/jboss/solder/bean/generic] | y - need a better impl for hierarchical servers | up for debate |

[Solder documentation|http://docs.jboss.org/seam/3/latest/reference/en-US/html/pt01.html] not everything is completely documented as well as it ought to be :-( but between that and the links to the source should be enough.

Non Core Solder Parts

|| Feature || "Requires" changes || Ranking || Objections || | Seam Config both xml and possible Java based \ | n | 10 | | [Seam Catch|https://github.com/seam/solder/tree/develop/api/src/main/java/org/jboss/solder/exception] | n | 9 | \

Misc

InterDyn

see https://github.com/struberg/InterDyn

Approved features of MyFaces CODI for DeltaSpike

Core

|| Feature || Comment || Initial impl. finished || Tests finished || JavaDoc finished || Documentation finished || Review finished | BeanManagerProvider | we move the util methods to BeanProvider | (+) | (+) | (+) | (+) | (+) | | BeanProvider | | (+) | (+) | (+) | (+) | (+) | | ProjectStage | | (+) | (+) | (+) | (+) | (+) | | Deactivatable | | (+) | (+) | (+) | (+) | (+) | | ProjectStageActivated | see Exclude | - | - | - | - | - | | ExpressionActivated | see Exclude | - | - | - | - | - |

Approved features of Seam3 for DeltaSpike

Solder

Feature Comment Initial impl. finished
Veto see Exclude - - - - -

New and approved DeltaSpike features

Core

Feature Comment Initial impl. finished