You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by Elijah Zupancic <el...@zupancic.name> on 2011/10/06 18:53:52 UTC

Re: [chain][v2] clever context - follow-up

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 <si...@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 <el...@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 <
> simonetripodi@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
> >> <si...@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 <
> elijah@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 <
> >> simonetripodi@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 <
> pbenedict@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
> >> >>> > <si...@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 <
> >> elijah@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
> >> >>> >>> <si...@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-unsubscribe@commons.apache.org
> >> >>> >>>> For additional commands, e-mail: dev-help@commons.apache.org
> >> >>> >>>>
> >> >>> >>>>
> >> >>> >>>
> >> >>> >>
> >> >>> >>
> >> ---------------------------------------------------------------------
> >> >>> >> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> >> >>> >> For additional commands, e-mail: dev-help@commons.apache.org
> >> >>> >>
> >> >>> >>
> >> >>> >
> >> >>> >
> ---------------------------------------------------------------------
> >> >>> > To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> >> >>> > For additional commands, e-mail: dev-help@commons.apache.org
> >> >>> >
> >> >>> >
> >> >>>
> >> >>>
> ---------------------------------------------------------------------
> >> >>> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> >> >>> For additional commands, e-mail: dev-help@commons.apache.org
> >> >>>
> >> >>>
> >> >>
> >> >
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> >> For additional commands, e-mail: dev-help@commons.apache.org
> >>
> >>
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> For additional commands, e-mail: dev-help@commons.apache.org
>
>

Re: [chain][v2] clever context - follow-up

Posted by Simone Tripodi <si...@apache.org>.
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 <el...@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 <el...@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 <si...@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 <el...@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 <
>>> simonetripodi@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
>>> >> <si...@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 <
>>> elijah@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 <
>>> >> simonetripodi@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 <
>>> pbenedict@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
>>> >> >>> > <si...@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 <
>>> >> elijah@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
>>> >> >>> >>> <si...@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-unsubscribe@commons.apache.org
>>> >> >>> >>>> For additional commands, e-mail: dev-help@commons.apache.org
>>> >> >>> >>>>
>>> >> >>> >>>>
>>> >> >>> >>>
>>> >> >>> >>
>>> >> >>> >>
>>> >> ---------------------------------------------------------------------
>>> >> >>> >> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
>>> >> >>> >> For additional commands, e-mail: dev-help@commons.apache.org
>>> >> >>> >>
>>> >> >>> >>
>>> >> >>> >
>>> >> >>> >
>>> ---------------------------------------------------------------------
>>> >> >>> > To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
>>> >> >>> > For additional commands, e-mail: dev-help@commons.apache.org
>>> >> >>> >
>>> >> >>> >
>>> >> >>>
>>> >> >>>
>>> ---------------------------------------------------------------------
>>> >> >>> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
>>> >> >>> For additional commands, e-mail: dev-help@commons.apache.org
>>> >> >>>
>>> >> >>>
>>> >> >>
>>> >> >
>>> >>
>>> >> ---------------------------------------------------------------------
>>> >> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
>>> >> For additional commands, e-mail: dev-help@commons.apache.org
>>> >>
>>> >>
>>> >
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
>>> For additional commands, e-mail: dev-help@commons.apache.org
>>>
>>>
>>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Re: [chain][v2] clever context - follow-up

Posted by Elijah Zupancic <el...@zupancic.name>.
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 <el...@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 <si...@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 <el...@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 <
>> simonetripodi@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
>> >> <si...@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 <
>> elijah@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 <
>> >> simonetripodi@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 <
>> pbenedict@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
>> >> >>> > <si...@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 <
>> >> elijah@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
>> >> >>> >>> <si...@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-unsubscribe@commons.apache.org
>> >> >>> >>>> For additional commands, e-mail: dev-help@commons.apache.org
>> >> >>> >>>>
>> >> >>> >>>>
>> >> >>> >>>
>> >> >>> >>
>> >> >>> >>
>> >> ---------------------------------------------------------------------
>> >> >>> >> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
>> >> >>> >> For additional commands, e-mail: dev-help@commons.apache.org
>> >> >>> >>
>> >> >>> >>
>> >> >>> >
>> >> >>> >
>> ---------------------------------------------------------------------
>> >> >>> > To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
>> >> >>> > For additional commands, e-mail: dev-help@commons.apache.org
>> >> >>> >
>> >> >>> >
>> >> >>>
>> >> >>>
>> ---------------------------------------------------------------------
>> >> >>> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
>> >> >>> For additional commands, e-mail: dev-help@commons.apache.org
>> >> >>>
>> >> >>>
>> >> >>
>> >> >
>> >>
>> >> ---------------------------------------------------------------------
>> >> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
>> >> For additional commands, e-mail: dev-help@commons.apache.org
>> >>
>> >>
>> >
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
>> For additional commands, e-mail: dev-help@commons.apache.org
>>
>>
>