Hi Elijah, don't be sorry, OSS is something (almost) everybody does in his spare time ;) Thanks for the new patch, I'll process during the day as soon as I get a spare time slot. Have a nice day, all the best! Simo
http://people.apache.org/~simonetripodi/ http://simonetripodi.livejournal.com/ http://twitter.com/simonetripodi http://www.99soft.org/ On Tue, Oct 25, 2011 at 3:37 AM, Elijah Zupancic <eli...@zupancic.name> wrote: > Hi Simo and everyone else, > > I finally got around to updating the patch to contain comments explaining > what the suppressed unchecked annotations are doing. The patch attached to > CHAIN-61, now has thsse additions. Now, chain *should* compile without > warnings. > > Thanks and sorry about the wait, > -Elijah > > On Thu, Oct 6, 2011 at 9:53 AM, Elijah Zupancic <eli...@zupancic.name>wrote: > >> I've created a new bug: https://issues.apache.org/jira/browse/CHAIN-61 for >> dealing with compiler warnings. I want to have chain build cleanly before I >> work on the Context signature. I have just attached a patch for the compiler >> warnings. I have annotated with @SuppressWarnings and @Deprecated where >> appropriate. >> >> Thanks, >> -Elijah >> >> >> On Tue, Sep 20, 2011 at 1:22 AM, Simone Tripodi >> <simonetrip...@apache.org>wrote: >> >>> Hi Elijah, >>> by default Maven doesn't show warnings, you have to modify the pom.xml >>> in that way: >>> >>> {code} >>> <plugin> >>> <groupId>org.apache.maven.plugins</groupId> >>> <artifactId>maven-compiler-plugin</artifactId> >>> <version>2.1</version> >>> <configuration> >>> <source>${maven.compile.source}</source> >>> <target>${maven.compile.target}</target> >>> <compilerArgument>-Xlint:all</compilerArgument> >>> <showWarnings>true</showWarnings> >>> </configuration> >>> </plugin> >>> {code} >>> >>> If you try to run {{mvn clean compile}} to vanilla [chain] code, you >>> can already notice some warnings: >>> >>> $ mvn --version >>> Apache Maven 3.0.3 (r1075438; 2011-02-28 18:31:09+0100) >>> Maven home: /Applications/apache-maven-3.0.3 >>> Java version: 1.5.0_30, vendor: Apple Inc. >>> Java home: /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home >>> Default locale: en_US, platform encoding: MacRoman >>> OS name: "mac os x", version: "10.7.1", arch: "i386", family: "unix" >>> >>> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >>> >>> $ mvn clean compile >>> >>> [INFO] Compiling 63 source files to >>> /Users/simonetripodi/Documents/workspace/commons-chain/target/classes >>> [WARNING] >>> /Users/simonetripodi/Documents/workspace/commons-chain/src/main/java/org/apache/commons/chain/impl/ContextBase.java:[633,46] >>> [unchecked] unchecked conversion >>> found : java.util.Map.Entry >>> required: java.util.Map.Entry<java.lang.String,java.lang.Object> >>> >>> [WARNING] >>> /Users/simonetripodi/Documents/workspace/commons-chain/src/main/java/org/apache/commons/chain/impl/ContextBase.java:[652,76] >>> [unchecked] unchecked cast >>> found : java.lang.Object >>> required: java.util.Map.Entry<java.lang.String,java.lang.Object> >>> >>> [WARNING] >>> /Users/simonetripodi/Documents/workspace/commons-chain/src/main/java/org/apache/commons/chain/impl/ContextBase.java:[779,48] >>> [unchecked] unchecked conversion >>> found : java.util.Map.Entry >>> required: java.util.Map.Entry<java.lang.String,java.lang.Object> >>> >>> [WARNING] >>> /Users/simonetripodi/Documents/workspace/commons-chain/src/main/java/org/apache/commons/chain/web/faces/FacesWebContext.java:[133,58] >>> [unchecked] unchecked conversion >>> found : java.util.Map >>> required: java.util.Map<java.lang.String,java.lang.Object> >>> >>> [WARNING] >>> /Users/simonetripodi/Documents/workspace/commons-chain/src/main/java/org/apache/commons/chain/web/faces/FacesWebContext.java:[133,11] >>> [unchecked] unchecked conversion >>> found : java.util.Map >>> required: java.util.Map<java.lang.String,java.lang.Object> >>> >>> [WARNING] >>> /Users/simonetripodi/Documents/workspace/commons-chain/src/main/java/org/apache/commons/chain/web/faces/FacesWebContext.java:[145,60] >>> [unchecked] unchecked conversion >>> found : java.util.Map >>> required: java.util.Map<java.lang.String,java.lang.String> >>> >>> [WARNING] >>> /Users/simonetripodi/Documents/workspace/commons-chain/src/main/java/org/apache/commons/chain/web/faces/FacesWebContext.java:[145,11] >>> [unchecked] unchecked conversion >>> found : java.util.Map >>> required: java.util.Map<java.lang.String,java.lang.String> >>> >>> [WARNING] >>> /Users/simonetripodi/Documents/workspace/commons-chain/src/main/java/org/apache/commons/chain/web/faces/FacesWebContext.java:[157,66] >>> [unchecked] unchecked conversion >>> found : java.util.Map >>> required: java.util.Map<java.lang.String,java.lang.String[]> >>> >>> [WARNING] >>> /Users/simonetripodi/Documents/workspace/commons-chain/src/main/java/org/apache/commons/chain/web/faces/FacesWebContext.java:[157,11] >>> [unchecked] unchecked conversion >>> found : java.util.Map >>> required: java.util.Map<java.lang.String,java.lang.String[]> >>> >>> [WARNING] >>> /Users/simonetripodi/Documents/workspace/commons-chain/src/main/java/org/apache/commons/chain/web/faces/FacesWebContext.java:[169,60] >>> [unchecked] unchecked conversion >>> found : java.util.Map >>> required: java.util.Map<java.lang.String,java.lang.String> >>> >>> [WARNING] >>> /Users/simonetripodi/Documents/workspace/commons-chain/src/main/java/org/apache/commons/chain/web/faces/FacesWebContext.java:[169,11] >>> [unchecked] unchecked conversion >>> found : java.util.Map >>> required: java.util.Map<java.lang.String,java.lang.String> >>> >>> [WARNING] >>> /Users/simonetripodi/Documents/workspace/commons-chain/src/main/java/org/apache/commons/chain/web/faces/FacesWebContext.java:[181,63] >>> [unchecked] unchecked conversion >>> found : java.util.Map >>> required: java.util.Map<java.lang.String,java.lang.String> >>> >>> [WARNING] >>> /Users/simonetripodi/Documents/workspace/commons-chain/src/main/java/org/apache/commons/chain/web/faces/FacesWebContext.java:[181,11] >>> [unchecked] unchecked conversion >>> found : java.util.Map >>> required: java.util.Map<java.lang.String,java.lang.String> >>> >>> [WARNING] >>> /Users/simonetripodi/Documents/workspace/commons-chain/src/main/java/org/apache/commons/chain/web/faces/FacesWebContext.java:[193,69] >>> [unchecked] unchecked conversion >>> found : java.util.Map >>> required: java.util.Map<java.lang.String,java.lang.String[]> >>> >>> [WARNING] >>> /Users/simonetripodi/Documents/workspace/commons-chain/src/main/java/org/apache/commons/chain/web/faces/FacesWebContext.java:[193,11] >>> [unchecked] unchecked conversion >>> found : java.util.Map >>> required: java.util.Map<java.lang.String,java.lang.String[]> >>> >>> [WARNING] >>> /Users/simonetripodi/Documents/workspace/commons-chain/src/main/java/org/apache/commons/chain/web/faces/FacesWebContext.java:[207,64] >>> [unchecked] unchecked conversion >>> found : java.util.Map >>> required: java.util.Map<java.lang.String,java.lang.Object> >>> >>> [WARNING] >>> /Users/simonetripodi/Documents/workspace/commons-chain/src/main/java/org/apache/commons/chain/web/faces/FacesWebContext.java:[220,24] >>> [unchecked] unchecked conversion >>> found : java.util.Map >>> required: java.util.Map<java.lang.String,javax.servlet.http.Cookie> >>> >>> [WARNING] >>> /Users/simonetripodi/Documents/workspace/commons-chain/src/main/java/org/apache/commons/chain/web/faces/FacesWebContext.java:[219,70] >>> [unchecked] unchecked method invocation: >>> <K,V>checkedMap(java.util.Map<K,V>,java.lang.Class<K>,java.lang.Class<V>) >>> in java.util.Collections is applied to >>> >>> (java.util.Map,java.lang.Class<java.lang.String>,java.lang.Class<javax.servlet.http.Cookie>) >>> >>> [WARNING] >>> /Users/simonetripodi/Documents/workspace/commons-chain/src/main/java/org/apache/commons/chain/web/faces/FacesWebContext.java:[219,70] >>> [unchecked] unchecked conversion >>> found : java.util.Map >>> required: java.util.Map<java.lang.String,javax.servlet.http.Cookie> >>> >>> [WARNING] >>> /Users/simonetripodi/Documents/workspace/commons-chain/src/main/java/org/apache/commons/chain/web/faces/FacesWebContext.java:[229,30] >>> [unchecked] unchecked conversion >>> found : java.util.Map >>> required: java.util.Map<java.lang.String,javax.servlet.http.Cookie> >>> >>> [WARNING] >>> /Users/simonetripodi/Documents/workspace/commons-chain/src/main/java/org/apache/commons/chain/web/faces/FacesWebContext.java:[241,54] >>> [unchecked] unchecked conversion >>> found : java.util.Map >>> required: java.util.Map<java.lang.String,java.lang.Object> >>> >>> [WARNING] >>> /Users/simonetripodi/Documents/workspace/commons-chain/src/main/java/org/apache/commons/chain/web/faces/FacesWebContext.java:[241,11] >>> [unchecked] unchecked conversion >>> found : java.util.Map >>> required: java.util.Map<java.lang.String,java.lang.Object> >>> >>> [WARNING] >>> /Users/simonetripodi/Documents/workspace/commons-chain/src/main/java/org/apache/commons/chain/web/faces/FacesWebContext.java:[253,54] >>> [unchecked] unchecked conversion >>> found : java.util.Map >>> required: java.util.Map<java.lang.String,java.lang.Object> >>> >>> [WARNING] >>> /Users/simonetripodi/Documents/workspace/commons-chain/src/main/java/org/apache/commons/chain/web/faces/FacesWebContext.java:[253,11] >>> [unchecked] unchecked conversion >>> found : java.util.Map >>> required: java.util.Map<java.lang.String,java.lang.Object> >>> >>> [WARNING] >>> /Users/simonetripodi/Documents/workspace/commons-chain/src/main/java/org/apache/commons/chain/web/servlet/RequestParameterMapper.java:[76,16] >>> [dep-ann] deprecated name isnt annotated with @Deprecated >>> >>> [WARNING] >>> /Users/simonetripodi/Documents/workspace/commons-chain/src/main/java/org/apache/commons/chain/web/servlet/RequestParameterMapper.java:[92,18] >>> [dep-ann] deprecated name isnt annotated with @Deprecated >>> >>> [WARNING] >>> /Users/simonetripodi/Documents/workspace/commons-chain/src/main/java/org/apache/commons/chain/web/ChainListener.java:[304,17] >>> [dep-ann] deprecated name isnt annotated with @Deprecated >>> >>> [WARNING] >>> /Users/simonetripodi/Documents/workspace/commons-chain/src/main/java/org/apache/commons/chain/config/ConfigParser.java:[159,16] >>> [dep-ann] deprecated name isnt annotated with @Deprecated >>> >>> [WARNING] >>> /Users/simonetripodi/Documents/workspace/commons-chain/src/main/java/org/apache/commons/chain/web/ChainResources.java:[105,16] >>> [dep-ann] deprecated name isnt annotated with @Deprecated >>> >>> [WARNING] >>> /Users/simonetripodi/Documents/workspace/commons-chain/src/main/java/org/apache/commons/chain/web/ChainResources.java:[191,16] >>> [dep-ann] deprecated name isnt annotated with @Deprecated >>> >>> [WARNING] >>> /Users/simonetripodi/Documents/workspace/commons-chain/src/main/java/org/apache/commons/chain/config/ConfigRegisterRule.java:[101,55] >>> [unchecked] unchecked conversion >>> found : org.apache.commons.chain.Command >>> required: org.apache.commons.chain.Command<C> >>> >>> [WARNING] >>> /Users/simonetripodi/Documents/workspace/commons-chain/src/main/java/org/apache/commons/chain/config/ConfigRegisterRule.java:[101,43] >>> [unchecked] unchecked method invocation: >>> <C>addCommand(java.lang.String,org.apache.commons.chain.Command<C>) in >>> org.apache.commons.chain.Catalog is applied to >>> (java.lang.String,org.apache.commons.chain.Command) >>> >>> [WARNING] >>> /Users/simonetripodi/Documents/workspace/commons-chain/src/main/java/org/apache/commons/chain/config/ConfigRegisterRule.java:[104,37] >>> [unchecked] unchecked call to >>> addCommand(org.apache.commons.chain.Command<C>) as a member of the raw >>> type org.apache.commons.chain.Chain >>> >>> [WARNING] >>> /Users/simonetripodi/Documents/workspace/commons-chain/src/main/java/org/apache/commons/chain/web/servlet/ServletPathMapper.java:[61,18] >>> [dep-ann] deprecated name isnt annotated with @Deprecated >>> >>> [WARNING] >>> /Users/simonetripodi/Documents/workspace/commons-chain/src/main/java/org/apache/commons/chain/web/servlet/ServletPathMapper.java:[77,16] >>> [dep-ann] deprecated name isnt annotated with @Deprecated >>> >>> [WARNING] >>> /Users/simonetripodi/Documents/workspace/commons-chain/src/main/java/org/apache/commons/chain/web/servlet/PathInfoMapper.java:[61,18] >>> [dep-ann] deprecated name isnt annotated with @Deprecated >>> >>> [WARNING] >>> /Users/simonetripodi/Documents/workspace/commons-chain/src/main/java/org/apache/commons/chain/web/servlet/PathInfoMapper.java:[77,16] >>> [dep-ann] deprecated name isnt annotated with @Deprecated >>> >>> HTH, have a nice day!!! >>> All the best, >>> Simo >>> >>> http://people.apache.org/~simonetripodi/ >>> http://www.99soft.org/ >>> >>> >>> >>> On Mon, Sep 19, 2011 at 11:56 PM, Elijah Zupancic <eli...@zupancic.name> >>> wrote: >>> > Hi Simo, >>> > >>> > Funny, I don't believe think that compiler complained at all. I will >>> double >>> > check soon and try some other compilers and let you know soon. >>> > >>> > Thanks, >>> > -Elijah >>> > >>> > On Mon, Sep 19, 2011 at 8:12 AM, Simone Tripodi < >>> simonetrip...@apache.org>wrote: >>> > >>> >> Hi Elijah, >>> >> I had e deeper look at your patch and raw more carefully your message, >>> >> I just have a BIG trouble: when changing the Context interface to >>> >> >>> >> public interface Context<K, V> extends Map<K, V> { >>> >> >>> >> } >>> >> >>> >> you can easily note that, in Command interface (just to mention one) >>> >> compiler complains: >>> >> >>> >> "Context is a raw type. References to generic type Context<K, V> >>> >> should be parametrized" >>> >> >>> >> and we can not just ignore it... that's why I thought that adopting >>> >> the signature Command<K, V, C extends Context<K, V>> in the command >>> >> interface is not nice but needed. >>> >> More thoughts? >>> >> Simo >>> >> >>> >> http://people.apache.org/~simonetripodi/ >>> >> http://www.99soft.org/ >>> >> >>> >> >>> >> >>> >> On Mon, Sep 19, 2011 at 10:01 AM, Simone Tripodi >>> >> <simonetrip...@apache.org> wrote: >>> >> > Hi Elijah! >>> >> > great report, thanks for your effort! :) >>> >> > I'll have a look at your patch as soon as I get a spare time slot, >>> >> > I'll let you know ASAP! >>> >> > Have a nice day, all the best! >>> >> > Simo >>> >> > >>> >> > http://people.apache.org/~simonetripodi/ >>> >> > http://www.99soft.org/ >>> >> > >>> >> > >>> >> > >>> >> > On Mon, Sep 19, 2011 at 3:52 AM, Elijah Zupancic < >>> eli...@zupancic.name> >>> >> wrote: >>> >> >> I just submitted a patch to jira as CHAIN-58. This changes Context >>> to >>> >> >> Context<K,V>. >>> >> >> >>> >> >> Thanks, >>> >> >> -Elijah >>> >> >> >>> >> >> On Fri, Sep 16, 2011 at 2:16 PM, Simone Tripodi < >>> >> simonetrip...@apache.org>wrote: >>> >> >> >>> >> >>> Hi Paul! >>> >> >>> yes it can be done, of course :) I'm not convinced anyway by the >>> heavy >>> >> >>> notation that, modifying the Context, would impact the Command and >>> >> >>> Filter classes. I think it is because just a matter of taste :P >>> >> >>> Feedbacks/suggestions/patches are welcome, if you want to provide a >>> >> >>> solution feel free to fill an issue and attach a patch!! >>> >> >>> TIA, all the best! >>> >> >>> Simo >>> >> >>> >>> >> >>> http://people.apache.org/~simonetripodi/ >>> >> >>> http://www.99soft.org/ >>> >> >>> >>> >> >>> >>> >> >>> >>> >> >>> On Fri, Sep 16, 2011 at 11:05 PM, Paul Benedict < >>> pbened...@apache.org> >>> >> >>> wrote: >>> >> >>> > The basic context should be Context<K, V> and then use interface >>> >> >>> > composition to define other things like: >>> >> >>> > >>> >> >>> > public interface PropertyContext extends Context<String, Object>, >>> >> >>> > Map<String, Object> >>> >> >>> > >>> >> >>> > It can be done... I think :-) >>> >> >>> > >>> >> >>> > Paul >>> >> >>> > >>> >> >>> > On Fri, Sep 16, 2011 at 3:40 PM, Simone Tripodi >>> >> >>> > <simonetrip...@apache.org> wrote: >>> >> >>> >> Hi Elijah, >>> >> >>> >> I spent some spare time trying to figure out how to improve the >>> >> >>> >> Context design, I didn't have a lot of success anyway :( >>> >> >>> >> >>> >> >>> >> * dropping the Map inheritance makes not easy maintaining the >>> >> classes >>> >> >>> >> in the 'generic' package; >>> >> >>> >> * adding generics in the Context to specify K,V types, makes >>> all >>> >> the >>> >> >>> >> rest of the notation not so nice (IMHO), take a look as a sample >>> a >>> >> >>> >> Command<K, V, C extends Context<K, V>> :? >>> >> >>> >> >>> >> >>> >> Do you have more ideas? >>> >> >>> >> Many thanks in advance, all the best! >>> >> >>> >> Simo >>> >> >>> >> >>> >> >>> >> http://people.apache.org/~simonetripodi/ >>> >> >>> >> http://www.99soft.org/ >>> >> >>> >> >>> >> >>> >> >>> >> >>> >> >>> >> >>> >> On Wed, Sep 14, 2011 at 4:12 AM, Elijah Zupancic < >>> >> eli...@zupancic.name> >>> >> >>> wrote: >>> >> >>> >>> Hi Everyone, >>> >> >>> >>> >>> >> >>> >>> I don't have any votes as I'm not a commiter, but I would still >>> >> like to >>> >> >>> add >>> >> >>> >>> in my suggestion. >>> >> >>> >>> >>> >> >>> >>> After our previous exchange, I'm of the mind that we should use >>> the >>> >> >>> second >>> >> >>> >>> option - that is be collection agnostic and work by >>> composition. I >>> >> may >>> >> >>> be >>> >> >>> >>> biased towards defined getters and setters, but I really like >>> to be >>> >> >>> able to >>> >> >>> >>> use auto-complete, automatic code refactoring tools and static >>> code >>> >> >>> analysis >>> >> >>> >>> tools. If we used only a Map, then the contract for a context >>> >> becomes a >>> >> >>> >>> black box of anything. I like the way it is now where you have >>> to >>> >> >>> implement >>> >> >>> >>> a Map on your context or extend ContextBase. I may be biased >>> out of >>> >> >>> habit - >>> >> >>> >>> if so, please convince me (by proxy everyone else). >>> >> >>> >>> >>> >> >>> >>> Thanks, >>> >> >>> >>> -Elijah >>> >> >>> >>> >>> >> >>> >>> On Mon, Sep 12, 2011 at 12:04 AM, Simone Tripodi >>> >> >>> >>> <simonetrip...@apache.org>wrote: >>> >> >>> >>> >>> >> >>> >>>> Hi all guys, >>> >> >>> >>>> after mails and mails of discussions, I don't think there is a >>> >> general >>> >> >>> >>>> agreement on how Context API should look alike. >>> >> >>> >>>> At the end of the discussions I figured out that, briefly >>> >> resuming, we >>> >> >>> >>>> have following proposals: >>> >> >>> >>>> >>> >> >>> >>>> * be replaced by Map; >>> >> >>> >>>> * be Collection agnostic and work by composition. >>> >> >>> >>>> >>> >> >>> >>>> Please add what is missing and correct what is wrong; we need >>> to >>> >> find >>> >> >>> >>>> a general agreement before to continue working toward the 2.0 >>> >> release >>> >> >>> >>>> :) >>> >> >>> >>>> >>> >> >>> >>>> TIA, all the best!!! >>> >> >>> >>>> Simo >>> >> >>> >>>> >>> >> >>> >>>> http://people.apache.org/~simonetripodi/ >>> >> >>> >>>> http://www.99soft.org/ >>> >> >>> >>>> >>> >> >>> >>>> >>> >> --------------------------------------------------------------------- >>> >> >>> >>>> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org >>> >> >>> >>>> For additional commands, e-mail: dev-h...@commons.apache.org >>> >> >>> >>>> >>> >> >>> >>>> >>> >> >>> >>> >>> >> >>> >> >>> >> >>> >> >>> >> --------------------------------------------------------------------- >>> >> >>> >> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org >>> >> >>> >> For additional commands, e-mail: dev-h...@commons.apache.org >>> >> >>> >> >>> >> >>> >> >>> >> >>> > >>> >> >>> > >>> --------------------------------------------------------------------- >>> >> >>> > To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org >>> >> >>> > For additional commands, e-mail: dev-h...@commons.apache.org >>> >> >>> > >>> >> >>> > >>> >> >>> >>> >> >>> >>> --------------------------------------------------------------------- >>> >> >>> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org >>> >> >>> For additional commands, e-mail: dev-h...@commons.apache.org >>> >> >>> >>> >> >>> >>> >> >> >>> >> > >>> >> >>> >> --------------------------------------------------------------------- >>> >> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org >>> >> For additional commands, e-mail: dev-h...@commons.apache.org >>> >> >>> >> >>> > >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org >>> For additional commands, e-mail: dev-h...@commons.apache.org >>> >>> >> > --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org For additional commands, e-mail: dev-h...@commons.apache.org