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

Reply via email to