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