[ 
https://issues.apache.org/jira/browse/SHIRO-488?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ignacio Baca Moreno-Torres updated SHIRO-488:
---------------------------------------------

    Description: 
ShiroWebModule$FilterConfigKey is not instantiable in sisu-guice 3.1.8.

To reproduce the error, configure dependencies.
{code}
<dependency>
    <groupId>org.apache.shiro</groupId>
    <artifactId>shiro-guice</artifactId>
    <version>1.2.2</version>
    <exclusions>
        <exclusion>
            <artifactId>guice</artifactId>
            <groupId>com.google.inject</groupId>
        </exclusion>
        <exclusion>
            <artifactId>guice-multibindings</artifactId>
            <groupId>com.google.inject.extensions</groupId>
        </exclusion>
    </exclusions>
</dependency>
<dependency>
    <groupId>org.apache.shiro</groupId>
    <artifactId>shiro-web</artifactId>
    <version>1.2.2</version>
</dependency>
<dependency>
    <groupId>org.sonatype.sisu.inject</groupId>
    <artifactId>guice-servlet</artifactId>
    <version>3.1.0</version>
</dependency>
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>servlet-api</artifactId>
    <version>2.4</version>
</dependency>
<dependency>
    <groupId>org.sonatype.sisu</groupId>
    <artifactId>sisu-guice</artifactId>
    <version>3.1.8</version>
</dependency>
{code}

Run this code:
{code}
public static void main(String[] args) {
    new MyShiroWebModule();
}

private static class MyShiroWebModule extends ShiroWebModule {
    public MyShiroWebModule() {
        super(null);
        addFilterChain("/**", AUTHC, config(PERMS, "hello"));
    }
    @Override public void configureShiroWeb() {}
}
{code}

And the result:
{code}
Exception in thread "main" com.google.inject.ConfigurationException: Guice 
configuration errors:

1) T cannot be used as a key; It is not fully specified.

1 error
        at 
com.google.inject.internal.MoreTypes.canonicalizeForKey(MoreTypes.java:80)
        at com.google.inject.Key.<init>(Key.java:115)
        at 
org.apache.shiro.guice.web.ShiroWebModule$FilterConfigKey.<init>(ShiroWebModule.java:243)
        at 
org.apache.shiro.guice.web.ShiroWebModule$FilterConfigKey.<init>(ShiroWebModule.java:238)
        at 
org.apache.shiro.guice.web.ShiroWebModule.config(ShiroWebModule.java:225)
        at 
com.bacamt.ibaca.sandbox.ShiroBug$MyShiroWebModule.<init>(ShiroBug.java:14)
{code}

  was:
ShiroWebModule$FilterConfigKey is not instantiable in sisu-guice 3.1.8.

To reproduce the error, configure dependencies.
{code}
<dependency>
    <groupId>org.apache.shiro</groupId>
    <artifactId>shiro-guice</artifactId>
    <version>1.2.2</version>
    <exclusions>
        <exclusion>
            <artifactId>guice</artifactId>
            <groupId>com.google.inject</groupId>
        </exclusion>
        <exclusion>
            <artifactId>guice-multibindings</artifactId>
            <groupId>com.google.inject.extensions</groupId>
        </exclusion>
    </exclusions>
</dependency>
<dependency>
    <groupId>org.apache.shiro</groupId>
    <artifactId>shiro-web</artifactId>
    <version>1.2.2</version>
</dependency>
<dependency>
    <groupId>org.sonatype.sisu.inject</groupId>
    <artifactId>guice-servlet</artifactId>
    <version>3.1.0</version>
</dependency>
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>servlet-api</artifactId>
    <version>2.4</version>
</dependency>
<dependency>
    <groupId>org.sonatype.sisu</groupId>
    <artifactId>sisu-guice</artifactId>
    <version>3.1.8</version>
</dependency>
{code}

And run:
{code}
public static void main(String[] args) {
    new MyShiroWebModule();
}

private static class MyShiroWebModule extends ShiroWebModule {
    public MyShiroWebModule() {
        super(null);
        addFilterChain("/**", AUTHC, config(PERMS, "hello"));
    }
    @Override public void configureShiroWeb() {}
}
{code}


> ShiroWebModule.config does not work with sisu-guice 3.1.8
> ---------------------------------------------------------
>
>                 Key: SHIRO-488
>                 URL: https://issues.apache.org/jira/browse/SHIRO-488
>             Project: Shiro
>          Issue Type: Bug
>          Components: Integration: Guice
>    Affects Versions: 1.2.2
>            Reporter: Ignacio Baca Moreno-Torres
>            Assignee: Jared Bunting
>            Priority: Trivial
>
> ShiroWebModule$FilterConfigKey is not instantiable in sisu-guice 3.1.8.
> To reproduce the error, configure dependencies.
> {code}
> <dependency>
>     <groupId>org.apache.shiro</groupId>
>     <artifactId>shiro-guice</artifactId>
>     <version>1.2.2</version>
>     <exclusions>
>         <exclusion>
>             <artifactId>guice</artifactId>
>             <groupId>com.google.inject</groupId>
>         </exclusion>
>         <exclusion>
>             <artifactId>guice-multibindings</artifactId>
>             <groupId>com.google.inject.extensions</groupId>
>         </exclusion>
>     </exclusions>
> </dependency>
> <dependency>
>     <groupId>org.apache.shiro</groupId>
>     <artifactId>shiro-web</artifactId>
>     <version>1.2.2</version>
> </dependency>
> <dependency>
>     <groupId>org.sonatype.sisu.inject</groupId>
>     <artifactId>guice-servlet</artifactId>
>     <version>3.1.0</version>
> </dependency>
> <dependency>
>     <groupId>javax.servlet</groupId>
>     <artifactId>servlet-api</artifactId>
>     <version>2.4</version>
> </dependency>
> <dependency>
>     <groupId>org.sonatype.sisu</groupId>
>     <artifactId>sisu-guice</artifactId>
>     <version>3.1.8</version>
> </dependency>
> {code}
> Run this code:
> {code}
> public static void main(String[] args) {
>     new MyShiroWebModule();
> }
> private static class MyShiroWebModule extends ShiroWebModule {
>     public MyShiroWebModule() {
>         super(null);
>         addFilterChain("/**", AUTHC, config(PERMS, "hello"));
>     }
>     @Override public void configureShiroWeb() {}
> }
> {code}
> And the result:
> {code}
> Exception in thread "main" com.google.inject.ConfigurationException: Guice 
> configuration errors:
> 1) T cannot be used as a key; It is not fully specified.
> 1 error
>       at 
> com.google.inject.internal.MoreTypes.canonicalizeForKey(MoreTypes.java:80)
>       at com.google.inject.Key.<init>(Key.java:115)
>       at 
> org.apache.shiro.guice.web.ShiroWebModule$FilterConfigKey.<init>(ShiroWebModule.java:243)
>       at 
> org.apache.shiro.guice.web.ShiroWebModule$FilterConfigKey.<init>(ShiroWebModule.java:238)
>       at 
> org.apache.shiro.guice.web.ShiroWebModule.config(ShiroWebModule.java:225)
>       at 
> com.bacamt.ibaca.sandbox.ShiroBug$MyShiroWebModule.<init>(ShiroBug.java:14)
> {code}



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to