Shindig should not use Guice @ImplementedBy as a "default" value setting tool
-----------------------------------------------------------------------------

                 Key: SHINDIG-759
                 URL: https://issues.apache.org/jira/browse/SHINDIG-759
             Project: Shindig
          Issue Type: Improvement
            Reporter: Henning Schmiedehausen
         Attachments: remove-implementedby.patch

Shindig uses @ImplementedBy to create "default" bindings for Guice because it 
does not allow overriding once set bindings in the default modules. 

This is a largely patch which removes all @ImplementedBy references from the 
release branch. The code still passes all unit tests and runs the embedded 
server. :-) 

This patch can probably be split up into a bunch of smaller patches to make it 
more digestable. This is more intended as an overview of what needs to be done 
here. It contains the following functional changes (smaller patches would be 
along these lines):

- Remove all occurences of @ImplementedBy annotations from java/common, 
java/gadgets, java/social-api and java/server

common:

- Introduce a DefaultCommonModule which contains all bindings for the Common 
code. Using this module also implies using the PropertiesModule.
- Introduce a LruCacheModule similar to EhCacheModule to allow configuration of 
the LruCache by adding the module

gadgets:

- Extend the DefaultGuiceModule to explicitly bind all classes needed for 
Injection
- Fix the bug/quirk in HttpResponse where the default constants have different 
values than the fields set in shindig.properties (the default constants are 
used in the unit tests)

opensocial:

- introduce a DefaultOpensocialObjectsModule which maps all the model objects
- fix the getImplementation() method in InterfaceClassMapper (this is actually 
an evolved version of SHINDIG-728)
- add an unit test for InterfaceClassMapper to validate its function


-- 
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