You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@shindig.apache.org by Andreas Kohn <an...@gmail.com> on 2014/02/24 21:14:37 UTC

Review Request 18435: SHINDIG-1968: Create CollectionOptions via an injected CollectionOptionsFactory

-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/18435/
-----------------------------------------------------------

Review request for shindig.


Bugs: SHINDIG-1968
    https://issues.apache.org/jira/browse/SHINDIG-1968


Repository: shindig


Description
-------

Introduce a CollectionOptionsFactory class, and inject & use that instead of creating CollectionOptions instances explicitly.


See bug for details.


Diffs
-----

  /trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/service/ActivityHandler.java 1571416 
  /trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/service/ActivityStreamHandler.java 1571416 
  /trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/service/AlbumHandler.java 1571416 
  /trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/service/GroupHandler.java 1571416 
  /trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/service/MediaItemHandler.java 1571416 
  /trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/service/MessageHandler.java 1571416 
  /trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/service/PersonHandler.java 1571416 
  /trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/spi/CollectionOptions.java 1571416 
  /trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/spi/CollectionOptionsFactory.java PRE-CREATION 
  /trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/service/ActivityHandlerTest.java 1571416 
  /trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/service/ActivityStreamHandlerTest.java 1571416 
  /trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/service/AlbumHandlerTest.java 1571416 
  /trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/service/MediaItemHandlerTest.java 1571416 
  /trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/service/MessageHandlerTest.java 1571416 
  /trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/service/PersonHandlerTest.java 1571416 

Diff: https://reviews.apache.org/r/18435/diff/


Testing
-------

Patch used in production application to inject a different implementation: a big amount of minimally changed copy/pasted code could be removed, and replaced with the shindig-provided *Handler/*Service implementations. 


Thanks,

Andreas Kohn


Re: Review Request 18435: SHINDIG-1968: Create CollectionOptions via an injected CollectionOptionsFactory

Posted by Andreas Kohn <an...@gmail.com>.

> On Feb. 25, 2014, 1:47 p.m., Stanton Sievers wrote:
> > In your environment, what pattern are you using to inject your own CollectionOptionsFactory?  Are you binding a subclass to the concrete class, like so:
> > 
> > bind(CollectionOptionsFactory.class).to(YourCollectionOptionsFactory.class)
> > 
> >

Pretty much. As it is stateless and doesn't need any further injection I'm binding it to a specific instance even:
  bind(CollectionOptionsFactory.class).toInstance(new SearchCollectionOptions.Factory());

I had a brief look at using "assisted injects" with Guice for it, but that looked like overkill :)


- Andreas


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/18435/#review35392
-----------------------------------------------------------


On Feb. 24, 2014, 9:14 p.m., Andreas Kohn wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/18435/
> -----------------------------------------------------------
> 
> (Updated Feb. 24, 2014, 9:14 p.m.)
> 
> 
> Review request for shindig.
> 
> 
> Bugs: SHINDIG-1968
>     https://issues.apache.org/jira/browse/SHINDIG-1968
> 
> 
> Repository: shindig
> 
> 
> Description
> -------
> 
> Introduce a CollectionOptionsFactory class, and inject & use that instead of creating CollectionOptions instances explicitly.
> 
> 
> See bug for details.
> 
> 
> Diffs
> -----
> 
>   /trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/service/ActivityHandler.java 1571416 
>   /trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/service/ActivityStreamHandler.java 1571416 
>   /trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/service/AlbumHandler.java 1571416 
>   /trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/service/GroupHandler.java 1571416 
>   /trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/service/MediaItemHandler.java 1571416 
>   /trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/service/MessageHandler.java 1571416 
>   /trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/service/PersonHandler.java 1571416 
>   /trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/spi/CollectionOptions.java 1571416 
>   /trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/spi/CollectionOptionsFactory.java PRE-CREATION 
>   /trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/service/ActivityHandlerTest.java 1571416 
>   /trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/service/ActivityStreamHandlerTest.java 1571416 
>   /trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/service/AlbumHandlerTest.java 1571416 
>   /trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/service/MediaItemHandlerTest.java 1571416 
>   /trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/service/MessageHandlerTest.java 1571416 
>   /trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/service/PersonHandlerTest.java 1571416 
> 
> Diff: https://reviews.apache.org/r/18435/diff/
> 
> 
> Testing
> -------
> 
> Patch used in production application to inject a different implementation: a big amount of minimally changed copy/pasted code could be removed, and replaced with the shindig-provided *Handler/*Service implementations. 
> 
> 
> Thanks,
> 
> Andreas Kohn
> 
>


Re: Review Request 18435: SHINDIG-1968: Create CollectionOptions via an injected CollectionOptionsFactory

Posted by Stanton Sievers <si...@gmail.com>.

> On Feb. 25, 2014, 12:47 p.m., Stanton Sievers wrote:
> > In your environment, what pattern are you using to inject your own CollectionOptionsFactory?  Are you binding a subclass to the concrete class, like so:
> > 
> > bind(CollectionOptionsFactory.class).to(YourCollectionOptionsFactory.class)
> > 
> >
> 
> Andreas Kohn wrote:
>     Pretty much. As it is stateless and doesn't need any further injection I'm binding it to a specific instance even:
>       bind(CollectionOptionsFactory.class).toInstance(new SearchCollectionOptions.Factory());
>     
>     I had a brief look at using "assisted injects" with Guice for it, but that looked like overkill :)
>     
>

I agree. Thanks for the info.


- Stanton


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/18435/#review35392
-----------------------------------------------------------


On Feb. 24, 2014, 8:14 p.m., Andreas Kohn wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/18435/
> -----------------------------------------------------------
> 
> (Updated Feb. 24, 2014, 8:14 p.m.)
> 
> 
> Review request for shindig.
> 
> 
> Bugs: SHINDIG-1968
>     https://issues.apache.org/jira/browse/SHINDIG-1968
> 
> 
> Repository: shindig
> 
> 
> Description
> -------
> 
> Introduce a CollectionOptionsFactory class, and inject & use that instead of creating CollectionOptions instances explicitly.
> 
> 
> See bug for details.
> 
> 
> Diffs
> -----
> 
>   /trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/service/ActivityHandler.java 1571416 
>   /trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/service/ActivityStreamHandler.java 1571416 
>   /trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/service/AlbumHandler.java 1571416 
>   /trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/service/GroupHandler.java 1571416 
>   /trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/service/MediaItemHandler.java 1571416 
>   /trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/service/MessageHandler.java 1571416 
>   /trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/service/PersonHandler.java 1571416 
>   /trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/spi/CollectionOptions.java 1571416 
>   /trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/spi/CollectionOptionsFactory.java PRE-CREATION 
>   /trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/service/ActivityHandlerTest.java 1571416 
>   /trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/service/ActivityStreamHandlerTest.java 1571416 
>   /trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/service/AlbumHandlerTest.java 1571416 
>   /trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/service/MediaItemHandlerTest.java 1571416 
>   /trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/service/MessageHandlerTest.java 1571416 
>   /trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/service/PersonHandlerTest.java 1571416 
> 
> Diff: https://reviews.apache.org/r/18435/diff/
> 
> 
> Testing
> -------
> 
> Patch used in production application to inject a different implementation: a big amount of minimally changed copy/pasted code could be removed, and replaced with the shindig-provided *Handler/*Service implementations. 
> 
> 
> Thanks,
> 
> Andreas Kohn
> 
>


Re: Review Request 18435: SHINDIG-1968: Create CollectionOptions via an injected CollectionOptionsFactory

Posted by Ryan Baxter <rb...@gmail.com>.

> On Feb. 25, 2014, 12:47 p.m., Stanton Sievers wrote:
> > In your environment, what pattern are you using to inject your own CollectionOptionsFactory?  Are you binding a subclass to the concrete class, like so:
> > 
> > bind(CollectionOptionsFactory.class).to(YourCollectionOptionsFactory.class)
> > 
> >
> 
> Andreas Kohn wrote:
>     Pretty much. As it is stateless and doesn't need any further injection I'm binding it to a specific instance even:
>       bind(CollectionOptionsFactory.class).toInstance(new SearchCollectionOptions.Factory());
>     
>     I had a brief look at using "assisted injects" with Guice for it, but that looked like overkill :)
>     
>
> 
> Stanton Sievers wrote:
>     I agree. Thanks for the info.

To bad the provider interface didn't let you pass params, because this seems like a use case for it.


- Ryan


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/18435/#review35392
-----------------------------------------------------------


On Feb. 24, 2014, 8:14 p.m., Andreas Kohn wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/18435/
> -----------------------------------------------------------
> 
> (Updated Feb. 24, 2014, 8:14 p.m.)
> 
> 
> Review request for shindig.
> 
> 
> Bugs: SHINDIG-1968
>     https://issues.apache.org/jira/browse/SHINDIG-1968
> 
> 
> Repository: shindig
> 
> 
> Description
> -------
> 
> Introduce a CollectionOptionsFactory class, and inject & use that instead of creating CollectionOptions instances explicitly.
> 
> 
> See bug for details.
> 
> 
> Diffs
> -----
> 
>   /trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/service/ActivityHandler.java 1571416 
>   /trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/service/ActivityStreamHandler.java 1571416 
>   /trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/service/AlbumHandler.java 1571416 
>   /trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/service/GroupHandler.java 1571416 
>   /trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/service/MediaItemHandler.java 1571416 
>   /trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/service/MessageHandler.java 1571416 
>   /trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/service/PersonHandler.java 1571416 
>   /trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/spi/CollectionOptions.java 1571416 
>   /trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/spi/CollectionOptionsFactory.java PRE-CREATION 
>   /trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/service/ActivityHandlerTest.java 1571416 
>   /trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/service/ActivityStreamHandlerTest.java 1571416 
>   /trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/service/AlbumHandlerTest.java 1571416 
>   /trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/service/MediaItemHandlerTest.java 1571416 
>   /trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/service/MessageHandlerTest.java 1571416 
>   /trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/service/PersonHandlerTest.java 1571416 
> 
> Diff: https://reviews.apache.org/r/18435/diff/
> 
> 
> Testing
> -------
> 
> Patch used in production application to inject a different implementation: a big amount of minimally changed copy/pasted code could be removed, and replaced with the shindig-provided *Handler/*Service implementations. 
> 
> 
> Thanks,
> 
> Andreas Kohn
> 
>


Re: Review Request 18435: SHINDIG-1968: Create CollectionOptions via an injected CollectionOptionsFactory

Posted by Stanton Sievers <si...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/18435/#review35392
-----------------------------------------------------------

Ship it!


In your environment, what pattern are you using to inject your own CollectionOptionsFactory?  Are you binding a subclass to the concrete class, like so:

bind(CollectionOptionsFactory.class).to(YourCollectionOptionsFactory.class)



- Stanton Sievers


On Feb. 24, 2014, 8:14 p.m., Andreas Kohn wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/18435/
> -----------------------------------------------------------
> 
> (Updated Feb. 24, 2014, 8:14 p.m.)
> 
> 
> Review request for shindig.
> 
> 
> Bugs: SHINDIG-1968
>     https://issues.apache.org/jira/browse/SHINDIG-1968
> 
> 
> Repository: shindig
> 
> 
> Description
> -------
> 
> Introduce a CollectionOptionsFactory class, and inject & use that instead of creating CollectionOptions instances explicitly.
> 
> 
> See bug for details.
> 
> 
> Diffs
> -----
> 
>   /trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/service/ActivityHandler.java 1571416 
>   /trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/service/ActivityStreamHandler.java 1571416 
>   /trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/service/AlbumHandler.java 1571416 
>   /trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/service/GroupHandler.java 1571416 
>   /trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/service/MediaItemHandler.java 1571416 
>   /trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/service/MessageHandler.java 1571416 
>   /trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/service/PersonHandler.java 1571416 
>   /trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/spi/CollectionOptions.java 1571416 
>   /trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/spi/CollectionOptionsFactory.java PRE-CREATION 
>   /trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/service/ActivityHandlerTest.java 1571416 
>   /trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/service/ActivityStreamHandlerTest.java 1571416 
>   /trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/service/AlbumHandlerTest.java 1571416 
>   /trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/service/MediaItemHandlerTest.java 1571416 
>   /trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/service/MessageHandlerTest.java 1571416 
>   /trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/service/PersonHandlerTest.java 1571416 
> 
> Diff: https://reviews.apache.org/r/18435/diff/
> 
> 
> Testing
> -------
> 
> Patch used in production application to inject a different implementation: a big amount of minimally changed copy/pasted code could be removed, and replaced with the shindig-provided *Handler/*Service implementations. 
> 
> 
> Thanks,
> 
> Andreas Kohn
> 
>


Re: Review Request 18435: SHINDIG-1968: Create CollectionOptions via an injected CollectionOptionsFactory

Posted by Ryan Baxter <rb...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/18435/#review35401
-----------------------------------------------------------

Ship it!


Ship It!

- Ryan Baxter


On Feb. 24, 2014, 8:14 p.m., Andreas Kohn wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/18435/
> -----------------------------------------------------------
> 
> (Updated Feb. 24, 2014, 8:14 p.m.)
> 
> 
> Review request for shindig.
> 
> 
> Bugs: SHINDIG-1968
>     https://issues.apache.org/jira/browse/SHINDIG-1968
> 
> 
> Repository: shindig
> 
> 
> Description
> -------
> 
> Introduce a CollectionOptionsFactory class, and inject & use that instead of creating CollectionOptions instances explicitly.
> 
> 
> See bug for details.
> 
> 
> Diffs
> -----
> 
>   /trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/service/ActivityHandler.java 1571416 
>   /trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/service/ActivityStreamHandler.java 1571416 
>   /trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/service/AlbumHandler.java 1571416 
>   /trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/service/GroupHandler.java 1571416 
>   /trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/service/MediaItemHandler.java 1571416 
>   /trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/service/MessageHandler.java 1571416 
>   /trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/service/PersonHandler.java 1571416 
>   /trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/spi/CollectionOptions.java 1571416 
>   /trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/spi/CollectionOptionsFactory.java PRE-CREATION 
>   /trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/service/ActivityHandlerTest.java 1571416 
>   /trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/service/ActivityStreamHandlerTest.java 1571416 
>   /trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/service/AlbumHandlerTest.java 1571416 
>   /trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/service/MediaItemHandlerTest.java 1571416 
>   /trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/service/MessageHandlerTest.java 1571416 
>   /trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/service/PersonHandlerTest.java 1571416 
> 
> Diff: https://reviews.apache.org/r/18435/diff/
> 
> 
> Testing
> -------
> 
> Patch used in production application to inject a different implementation: a big amount of minimally changed copy/pasted code could be removed, and replaced with the shindig-provided *Handler/*Service implementations. 
> 
> 
> Thanks,
> 
> Andreas Kohn
> 
>