You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@deltaspike.apache.org by Thomas Andraschko <an...@gmail.com> on 2013/09/30 22:35:48 UTC

ViewConfig does not work as expected (nested @Folder, @Secured)

Hi,

my ViewConfig:

@Folder
public interface Views extends ViewConfig
{
    @Folder
    @Secured(value = LoggedInAccessDecisionVoter.class, errorView =
Views.LoginRequired.class)
    public interface Internal extends Views
    {
        @View class Home implements Internal { }
    }

    @View class Login implements Views { }

    @View class LoginRequired implements Views { }

    @View class Register implements Views { }

    @View class Error extends DefaultErrorView implements Views { }
}

I get following exception on startup:

java.lang.IllegalStateException: Duplicated config for the same folder
configured. See: xxx.Views$Internal and xxx.Views
    at
org.apache.deltaspike.jsf.impl.config.view.DefaultViewConfigResolver.initCaches(DefaultViewConfigResolver.java:264)
    at
org.apache.deltaspike.jsf.impl.config.view.DefaultViewConfigResolver.<init>(DefaultViewConfigResolver.java:140)
    at
org.apache.deltaspike.jsf.impl.config.view.ViewConfigExtension.transformMetaDataTree(ViewConfigExtension.java:314)
    at
org.apache.deltaspike.jsf.impl.config.view.ViewConfigExtension.buildViewConfig(ViewConfigExtension.java:279)


What's wrong?

Manually adding the folder name solves the startup exception but my custom
AccessDecisionVoter won't be called.

@Folder(name = "views")
public interface Views extends ViewConfig
{
    @Folder(name = "internal")
    @Secured(value = LoggedInAccessDecisionVoter.class, errorView =
Views.LoginRequired.class)
    public interface Internal extends Views...


Any idea?

Regards,
Thomas

Re: ViewConfig does not work as expected (nested @Folder, @Secured)

Posted by Thomas Andraschko <an...@gmail.com>.
Hi Gerhard,

i added a unit test to the ticket.

Regards,
Thomas


2013/10/4 Thomas Andraschko <an...@gmail.com>

> Hi Gerhard,
>
> i will try it at weekend.
>
> Regards,
> Thomas
>
>
> 2013/10/3 Gerhard Petracek <ge...@gmail.com>
>
>> hi thomas,
>>
>> @"Duplicated config for the same folder":
>> can you please provide a test (like [1]) which illustrates the issue.
>>
>> thx & regards,
>> gerhard
>>
>> [1] http://s.apache.org/OZ3
>>
>>
>>
>> 2013/9/30 Gerhard Petracek <ge...@gmail.com>
>>
>> > +1
>> >
>> > regards,
>> > gerhard
>> >
>> >
>> >
>> > 2013/9/30 Thomas Andraschko <an...@gmail.com>
>> >
>> >> Hi Gerhard,
>> >>
>> >> you are right, thanks. The AccessDecisionVoter is also working fine
>> now.
>> >>
>> >> Can i create a issue for the startup issue too?
>> >> I think it should be possible to nest @Folder.
>> >>
>> >> Regards,
>> >> Thomas
>> >>
>> >>
>> >> 2013/9/30 Gerhard Petracek <ge...@gmail.com>
>> >>
>> >> > hi thomas,
>> >> >
>> >> > if you are trying to migrate a codi-view-config, just remove your
>> >> usages of
>> >> > @Folder and it >should< work.
>> >> > (please file an issue, if it isn't the case.)
>> >> >
>> >> > i'll have a look at the name-check.
>> >> > (please file an issue for it in any case.)
>> >> >
>> >> > regards,
>> >> > gerhard
>> >> >
>> >> >
>> >> >
>> >> > 2013/9/30 Thomas Andraschko <an...@gmail.com>
>> >> >
>> >> > > Hi,
>> >> > >
>> >> > > my ViewConfig:
>> >> > >
>> >> > > @Folder
>> >> > > public interface Views extends ViewConfig
>> >> > > {
>> >> > >     @Folder
>> >> > >     @Secured(value = LoggedInAccessDecisionVoter.class, errorView =
>> >> > > Views.LoginRequired.class)
>> >> > >     public interface Internal extends Views
>> >> > >     {
>> >> > >         @View class Home implements Internal { }
>> >> > >     }
>> >> > >
>> >> > >     @View class Login implements Views { }
>> >> > >
>> >> > >     @View class LoginRequired implements Views { }
>> >> > >
>> >> > >     @View class Register implements Views { }
>> >> > >
>> >> > >     @View class Error extends DefaultErrorView implements Views { }
>> >> > > }
>> >> > >
>> >> > > I get following exception on startup:
>> >> > >
>> >> > > java.lang.IllegalStateException: Duplicated config for the same
>> folder
>> >> > > configured. See: xxx.Views$Internal and xxx.Views
>> >> > >     at
>> >> > >
>> >> > >
>> >> >
>> >>
>> org.apache.deltaspike.jsf.impl.config.view.DefaultViewConfigResolver.initCaches(DefaultViewConfigResolver.java:264)
>> >> > >     at
>> >> > >
>> >> > >
>> >> >
>> >>
>> org.apache.deltaspike.jsf.impl.config.view.DefaultViewConfigResolver.<init>(DefaultViewConfigResolver.java:140)
>> >> > >     at
>> >> > >
>> >> > >
>> >> >
>> >>
>> org.apache.deltaspike.jsf.impl.config.view.ViewConfigExtension.transformMetaDataTree(ViewConfigExtension.java:314)
>> >> > >     at
>> >> > >
>> >> > >
>> >> >
>> >>
>> org.apache.deltaspike.jsf.impl.config.view.ViewConfigExtension.buildViewConfig(ViewConfigExtension.java:279)
>> >> > >
>> >> > >
>> >> > > What's wrong?
>> >> > >
>> >> > > Manually adding the folder name solves the startup exception but my
>> >> > custom
>> >> > > AccessDecisionVoter won't be called.
>> >> > >
>> >> > > @Folder(name = "views")
>> >> > > public interface Views extends ViewConfig
>> >> > > {
>> >> > >     @Folder(name = "internal")
>> >> > >     @Secured(value = LoggedInAccessDecisionVoter.class, errorView =
>> >> > > Views.LoginRequired.class)
>> >> > >     public interface Internal extends Views...
>> >> > >
>> >> > >
>> >> > > Any idea?
>> >> > >
>> >> > > Regards,
>> >> > > Thomas
>> >> > >
>> >> >
>> >>
>> >
>> >
>>
>
>

Re: ViewConfig does not work as expected (nested @Folder, @Secured)

Posted by Thomas Andraschko <an...@gmail.com>.
Hi Gerhard,

i will try it at weekend.

Regards,
Thomas


2013/10/3 Gerhard Petracek <ge...@gmail.com>

> hi thomas,
>
> @"Duplicated config for the same folder":
> can you please provide a test (like [1]) which illustrates the issue.
>
> thx & regards,
> gerhard
>
> [1] http://s.apache.org/OZ3
>
>
>
> 2013/9/30 Gerhard Petracek <ge...@gmail.com>
>
> > +1
> >
> > regards,
> > gerhard
> >
> >
> >
> > 2013/9/30 Thomas Andraschko <an...@gmail.com>
> >
> >> Hi Gerhard,
> >>
> >> you are right, thanks. The AccessDecisionVoter is also working fine now.
> >>
> >> Can i create a issue for the startup issue too?
> >> I think it should be possible to nest @Folder.
> >>
> >> Regards,
> >> Thomas
> >>
> >>
> >> 2013/9/30 Gerhard Petracek <ge...@gmail.com>
> >>
> >> > hi thomas,
> >> >
> >> > if you are trying to migrate a codi-view-config, just remove your
> >> usages of
> >> > @Folder and it >should< work.
> >> > (please file an issue, if it isn't the case.)
> >> >
> >> > i'll have a look at the name-check.
> >> > (please file an issue for it in any case.)
> >> >
> >> > regards,
> >> > gerhard
> >> >
> >> >
> >> >
> >> > 2013/9/30 Thomas Andraschko <an...@gmail.com>
> >> >
> >> > > Hi,
> >> > >
> >> > > my ViewConfig:
> >> > >
> >> > > @Folder
> >> > > public interface Views extends ViewConfig
> >> > > {
> >> > >     @Folder
> >> > >     @Secured(value = LoggedInAccessDecisionVoter.class, errorView =
> >> > > Views.LoginRequired.class)
> >> > >     public interface Internal extends Views
> >> > >     {
> >> > >         @View class Home implements Internal { }
> >> > >     }
> >> > >
> >> > >     @View class Login implements Views { }
> >> > >
> >> > >     @View class LoginRequired implements Views { }
> >> > >
> >> > >     @View class Register implements Views { }
> >> > >
> >> > >     @View class Error extends DefaultErrorView implements Views { }
> >> > > }
> >> > >
> >> > > I get following exception on startup:
> >> > >
> >> > > java.lang.IllegalStateException: Duplicated config for the same
> folder
> >> > > configured. See: xxx.Views$Internal and xxx.Views
> >> > >     at
> >> > >
> >> > >
> >> >
> >>
> org.apache.deltaspike.jsf.impl.config.view.DefaultViewConfigResolver.initCaches(DefaultViewConfigResolver.java:264)
> >> > >     at
> >> > >
> >> > >
> >> >
> >>
> org.apache.deltaspike.jsf.impl.config.view.DefaultViewConfigResolver.<init>(DefaultViewConfigResolver.java:140)
> >> > >     at
> >> > >
> >> > >
> >> >
> >>
> org.apache.deltaspike.jsf.impl.config.view.ViewConfigExtension.transformMetaDataTree(ViewConfigExtension.java:314)
> >> > >     at
> >> > >
> >> > >
> >> >
> >>
> org.apache.deltaspike.jsf.impl.config.view.ViewConfigExtension.buildViewConfig(ViewConfigExtension.java:279)
> >> > >
> >> > >
> >> > > What's wrong?
> >> > >
> >> > > Manually adding the folder name solves the startup exception but my
> >> > custom
> >> > > AccessDecisionVoter won't be called.
> >> > >
> >> > > @Folder(name = "views")
> >> > > public interface Views extends ViewConfig
> >> > > {
> >> > >     @Folder(name = "internal")
> >> > >     @Secured(value = LoggedInAccessDecisionVoter.class, errorView =
> >> > > Views.LoginRequired.class)
> >> > >     public interface Internal extends Views...
> >> > >
> >> > >
> >> > > Any idea?
> >> > >
> >> > > Regards,
> >> > > Thomas
> >> > >
> >> >
> >>
> >
> >
>

Re: ViewConfig does not work as expected (nested @Folder, @Secured)

Posted by Gerhard Petracek <ge...@gmail.com>.
hi thomas,

@"Duplicated config for the same folder":
can you please provide a test (like [1]) which illustrates the issue.

thx & regards,
gerhard

[1] http://s.apache.org/OZ3



2013/9/30 Gerhard Petracek <ge...@gmail.com>

> +1
>
> regards,
> gerhard
>
>
>
> 2013/9/30 Thomas Andraschko <an...@gmail.com>
>
>> Hi Gerhard,
>>
>> you are right, thanks. The AccessDecisionVoter is also working fine now.
>>
>> Can i create a issue for the startup issue too?
>> I think it should be possible to nest @Folder.
>>
>> Regards,
>> Thomas
>>
>>
>> 2013/9/30 Gerhard Petracek <ge...@gmail.com>
>>
>> > hi thomas,
>> >
>> > if you are trying to migrate a codi-view-config, just remove your
>> usages of
>> > @Folder and it >should< work.
>> > (please file an issue, if it isn't the case.)
>> >
>> > i'll have a look at the name-check.
>> > (please file an issue for it in any case.)
>> >
>> > regards,
>> > gerhard
>> >
>> >
>> >
>> > 2013/9/30 Thomas Andraschko <an...@gmail.com>
>> >
>> > > Hi,
>> > >
>> > > my ViewConfig:
>> > >
>> > > @Folder
>> > > public interface Views extends ViewConfig
>> > > {
>> > >     @Folder
>> > >     @Secured(value = LoggedInAccessDecisionVoter.class, errorView =
>> > > Views.LoginRequired.class)
>> > >     public interface Internal extends Views
>> > >     {
>> > >         @View class Home implements Internal { }
>> > >     }
>> > >
>> > >     @View class Login implements Views { }
>> > >
>> > >     @View class LoginRequired implements Views { }
>> > >
>> > >     @View class Register implements Views { }
>> > >
>> > >     @View class Error extends DefaultErrorView implements Views { }
>> > > }
>> > >
>> > > I get following exception on startup:
>> > >
>> > > java.lang.IllegalStateException: Duplicated config for the same folder
>> > > configured. See: xxx.Views$Internal and xxx.Views
>> > >     at
>> > >
>> > >
>> >
>> org.apache.deltaspike.jsf.impl.config.view.DefaultViewConfigResolver.initCaches(DefaultViewConfigResolver.java:264)
>> > >     at
>> > >
>> > >
>> >
>> org.apache.deltaspike.jsf.impl.config.view.DefaultViewConfigResolver.<init>(DefaultViewConfigResolver.java:140)
>> > >     at
>> > >
>> > >
>> >
>> org.apache.deltaspike.jsf.impl.config.view.ViewConfigExtension.transformMetaDataTree(ViewConfigExtension.java:314)
>> > >     at
>> > >
>> > >
>> >
>> org.apache.deltaspike.jsf.impl.config.view.ViewConfigExtension.buildViewConfig(ViewConfigExtension.java:279)
>> > >
>> > >
>> > > What's wrong?
>> > >
>> > > Manually adding the folder name solves the startup exception but my
>> > custom
>> > > AccessDecisionVoter won't be called.
>> > >
>> > > @Folder(name = "views")
>> > > public interface Views extends ViewConfig
>> > > {
>> > >     @Folder(name = "internal")
>> > >     @Secured(value = LoggedInAccessDecisionVoter.class, errorView =
>> > > Views.LoginRequired.class)
>> > >     public interface Internal extends Views...
>> > >
>> > >
>> > > Any idea?
>> > >
>> > > Regards,
>> > > Thomas
>> > >
>> >
>>
>
>

Re: ViewConfig does not work as expected (nested @Folder, @Secured)

Posted by Gerhard Petracek <ge...@gmail.com>.
+1

regards,
gerhard



2013/9/30 Thomas Andraschko <an...@gmail.com>

> Hi Gerhard,
>
> you are right, thanks. The AccessDecisionVoter is also working fine now.
>
> Can i create a issue for the startup issue too?
> I think it should be possible to nest @Folder.
>
> Regards,
> Thomas
>
>
> 2013/9/30 Gerhard Petracek <ge...@gmail.com>
>
> > hi thomas,
> >
> > if you are trying to migrate a codi-view-config, just remove your usages
> of
> > @Folder and it >should< work.
> > (please file an issue, if it isn't the case.)
> >
> > i'll have a look at the name-check.
> > (please file an issue for it in any case.)
> >
> > regards,
> > gerhard
> >
> >
> >
> > 2013/9/30 Thomas Andraschko <an...@gmail.com>
> >
> > > Hi,
> > >
> > > my ViewConfig:
> > >
> > > @Folder
> > > public interface Views extends ViewConfig
> > > {
> > >     @Folder
> > >     @Secured(value = LoggedInAccessDecisionVoter.class, errorView =
> > > Views.LoginRequired.class)
> > >     public interface Internal extends Views
> > >     {
> > >         @View class Home implements Internal { }
> > >     }
> > >
> > >     @View class Login implements Views { }
> > >
> > >     @View class LoginRequired implements Views { }
> > >
> > >     @View class Register implements Views { }
> > >
> > >     @View class Error extends DefaultErrorView implements Views { }
> > > }
> > >
> > > I get following exception on startup:
> > >
> > > java.lang.IllegalStateException: Duplicated config for the same folder
> > > configured. See: xxx.Views$Internal and xxx.Views
> > >     at
> > >
> > >
> >
> org.apache.deltaspike.jsf.impl.config.view.DefaultViewConfigResolver.initCaches(DefaultViewConfigResolver.java:264)
> > >     at
> > >
> > >
> >
> org.apache.deltaspike.jsf.impl.config.view.DefaultViewConfigResolver.<init>(DefaultViewConfigResolver.java:140)
> > >     at
> > >
> > >
> >
> org.apache.deltaspike.jsf.impl.config.view.ViewConfigExtension.transformMetaDataTree(ViewConfigExtension.java:314)
> > >     at
> > >
> > >
> >
> org.apache.deltaspike.jsf.impl.config.view.ViewConfigExtension.buildViewConfig(ViewConfigExtension.java:279)
> > >
> > >
> > > What's wrong?
> > >
> > > Manually adding the folder name solves the startup exception but my
> > custom
> > > AccessDecisionVoter won't be called.
> > >
> > > @Folder(name = "views")
> > > public interface Views extends ViewConfig
> > > {
> > >     @Folder(name = "internal")
> > >     @Secured(value = LoggedInAccessDecisionVoter.class, errorView =
> > > Views.LoginRequired.class)
> > >     public interface Internal extends Views...
> > >
> > >
> > > Any idea?
> > >
> > > Regards,
> > > Thomas
> > >
> >
>

Re: ViewConfig does not work as expected (nested @Folder, @Secured)

Posted by Thomas Andraschko <an...@gmail.com>.
Hi Gerhard,

you are right, thanks. The AccessDecisionVoter is also working fine now.

Can i create a issue for the startup issue too?
I think it should be possible to nest @Folder.

Regards,
Thomas


2013/9/30 Gerhard Petracek <ge...@gmail.com>

> hi thomas,
>
> if you are trying to migrate a codi-view-config, just remove your usages of
> @Folder and it >should< work.
> (please file an issue, if it isn't the case.)
>
> i'll have a look at the name-check.
> (please file an issue for it in any case.)
>
> regards,
> gerhard
>
>
>
> 2013/9/30 Thomas Andraschko <an...@gmail.com>
>
> > Hi,
> >
> > my ViewConfig:
> >
> > @Folder
> > public interface Views extends ViewConfig
> > {
> >     @Folder
> >     @Secured(value = LoggedInAccessDecisionVoter.class, errorView =
> > Views.LoginRequired.class)
> >     public interface Internal extends Views
> >     {
> >         @View class Home implements Internal { }
> >     }
> >
> >     @View class Login implements Views { }
> >
> >     @View class LoginRequired implements Views { }
> >
> >     @View class Register implements Views { }
> >
> >     @View class Error extends DefaultErrorView implements Views { }
> > }
> >
> > I get following exception on startup:
> >
> > java.lang.IllegalStateException: Duplicated config for the same folder
> > configured. See: xxx.Views$Internal and xxx.Views
> >     at
> >
> >
> org.apache.deltaspike.jsf.impl.config.view.DefaultViewConfigResolver.initCaches(DefaultViewConfigResolver.java:264)
> >     at
> >
> >
> org.apache.deltaspike.jsf.impl.config.view.DefaultViewConfigResolver.<init>(DefaultViewConfigResolver.java:140)
> >     at
> >
> >
> org.apache.deltaspike.jsf.impl.config.view.ViewConfigExtension.transformMetaDataTree(ViewConfigExtension.java:314)
> >     at
> >
> >
> org.apache.deltaspike.jsf.impl.config.view.ViewConfigExtension.buildViewConfig(ViewConfigExtension.java:279)
> >
> >
> > What's wrong?
> >
> > Manually adding the folder name solves the startup exception but my
> custom
> > AccessDecisionVoter won't be called.
> >
> > @Folder(name = "views")
> > public interface Views extends ViewConfig
> > {
> >     @Folder(name = "internal")
> >     @Secured(value = LoggedInAccessDecisionVoter.class, errorView =
> > Views.LoginRequired.class)
> >     public interface Internal extends Views...
> >
> >
> > Any idea?
> >
> > Regards,
> > Thomas
> >
>

Re: ViewConfig does not work as expected (nested @Folder, @Secured)

Posted by Gerhard Petracek <ge...@gmail.com>.
hi thomas,

if you are trying to migrate a codi-view-config, just remove your usages of
@Folder and it >should< work.
(please file an issue, if it isn't the case.)

i'll have a look at the name-check.
(please file an issue for it in any case.)

regards,
gerhard



2013/9/30 Thomas Andraschko <an...@gmail.com>

> Hi,
>
> my ViewConfig:
>
> @Folder
> public interface Views extends ViewConfig
> {
>     @Folder
>     @Secured(value = LoggedInAccessDecisionVoter.class, errorView =
> Views.LoginRequired.class)
>     public interface Internal extends Views
>     {
>         @View class Home implements Internal { }
>     }
>
>     @View class Login implements Views { }
>
>     @View class LoginRequired implements Views { }
>
>     @View class Register implements Views { }
>
>     @View class Error extends DefaultErrorView implements Views { }
> }
>
> I get following exception on startup:
>
> java.lang.IllegalStateException: Duplicated config for the same folder
> configured. See: xxx.Views$Internal and xxx.Views
>     at
>
> org.apache.deltaspike.jsf.impl.config.view.DefaultViewConfigResolver.initCaches(DefaultViewConfigResolver.java:264)
>     at
>
> org.apache.deltaspike.jsf.impl.config.view.DefaultViewConfigResolver.<init>(DefaultViewConfigResolver.java:140)
>     at
>
> org.apache.deltaspike.jsf.impl.config.view.ViewConfigExtension.transformMetaDataTree(ViewConfigExtension.java:314)
>     at
>
> org.apache.deltaspike.jsf.impl.config.view.ViewConfigExtension.buildViewConfig(ViewConfigExtension.java:279)
>
>
> What's wrong?
>
> Manually adding the folder name solves the startup exception but my custom
> AccessDecisionVoter won't be called.
>
> @Folder(name = "views")
> public interface Views extends ViewConfig
> {
>     @Folder(name = "internal")
>     @Secured(value = LoggedInAccessDecisionVoter.class, errorView =
> Views.LoginRequired.class)
>     public interface Internal extends Views...
>
>
> Any idea?
>
> Regards,
> Thomas
>