Hi,

I went to add a Jira issue for this autoComplete problem this morning (I
forgot it before and went away for a few days) but it cannot be added at
the moment due to some spamming issues.

Meanwhile, I just came across a problem in the  Isis Security Add-on that
may be related, starting with a fresh system, when I go to add a new local
user I see an exception message.

I am using 1.12.1 version, add role and add tenancy both work.



Stack trace:

   - org.apache.wicket.WicketRuntimeException
   - Error attaching this container for rendering: [WebMarkupContainer
   [Component id = 4]]
   - 
org.apache.wicket.MarkupContainer#onBeforeRenderChildren(MarkupContainer.java:1696)

   - org.apache.wicket.Component#onBeforeRender(Component.java:3833)
   - org.apache.wicket.Component#internalBeforeRender(Component.java:949)
   - org.apache.wicket.Component#beforeRender(Component.java:1017)
   - 
org.apache.wicket.MarkupContainer#onBeforeRenderChildren(MarkupContainer.java:1684)

   - org.apache.wicket.Component#onBeforeRender(Component.java:3833)
   - 
org.apache.wicket.markup.repeater.AbstractRepeater#onBeforeRender(AbstractRepeater.java:143)

   - org.apache.wicket.Component#internalBeforeRender(Component.java:949)
   - org.apache.wicket.Component#beforeRender(Component.java:1017)
   - 
org.apache.wicket.MarkupContainer#onBeforeRenderChildren(MarkupContainer.java:1684)

   - org.apache.wicket.Component#onBeforeRender(Component.java:3833)
   - org.apache.wicket.markup.html.form.Form#onBeforeRender(Form.java:1803)
   - org.apache.wicket.Component#internalBeforeRender(Component.java:949)
   - org.apache.wicket.Component#beforeRender(Component.java:1017)
   - 
org.apache.wicket.MarkupContainer#onBeforeRenderChildren(MarkupContainer.java:1684)

   - org.apache.wicket.Component#onBeforeRender(Component.java:3833)
   - org.apache.wicket.Component#internalBeforeRender(Component.java:949)
   - org.apache.wicket.Component#beforeRender(Component.java:1017)
   - 
org.apache.wicket.MarkupContainer#onBeforeRenderChildren(MarkupContainer.java:1684)

   - org.apache.wicket.Component#onBeforeRender(Component.java:3833)
   - org.apache.wicket.Component#internalBeforeRender(Component.java:949)
   - org.apache.wicket.Component#beforeRender(Component.java:1017)
   - 
org.apache.wicket.MarkupContainer#onBeforeRenderChildren(MarkupContainer.java:1684)

   - org.apache.wicket.Component#onBeforeRender(Component.java:3833)
   - org.apache.wicket.Component#internalBeforeRender(Component.java:949)
   - org.apache.wicket.Component#beforeRender(Component.java:1017)
   - org.apache.wicket.Component#internalPrepareForRender(Component.java:2201)

   - org.apache.wicket.Component#prepareForRender(Component.java:2240)
   - 
org.apache.wicket.ajax.XmlAjaxResponse#writeComponent(XmlAjaxResponse.java:107)

   - 
org.apache.wicket.ajax.AbstractAjaxResponse#writeComponents(AbstractAjaxResponse.java:218)

   - 
org.apache.wicket.ajax.AbstractAjaxResponse#writeTo(AbstractAjaxResponse.java:150)

   - 
org.apache.wicket.ajax.AjaxRequestHandler#respond(AjaxRequestHandler.java:359)

   - 
org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor#respond(RequestCycle.java:890)

   - 
org.apache.wicket.request.RequestHandlerStack#execute(RequestHandlerStack.java:64)

   - 
org.apache.wicket.request.RequestHandlerStack#execute(RequestHandlerStack.java:97)

   - org.apache.wicket.request.cycle.RequestCycle#execute(RequestCycle.java:261)

   - 
org.apache.wicket.request.cycle.RequestCycle#processRequest(RequestCycle.java:218)

   - 
org.apache.wicket.request.cycle.RequestCycle#processRequestAndDetach(RequestCycle.java:289)

   - 
org.apache.wicket.protocol.http.WicketFilter#processRequestCycle(WicketFilter.java:259)

   - 
org.apache.wicket.protocol.http.WicketFilter#processRequest(WicketFilter.java:201)

   - 
org.apache.wicket.protocol.http.WicketFilter#doFilter(WicketFilter.java:282)

   - 
org.eclipse.jetty.servlet.ServletHandler$CachedChain#doFilter(ServletHandler.java:1668)

   - 
org.apache.isis.core.webapp.diagnostics.IsisLogOnExceptionFilter#doFilter(IsisLogOnExceptionFilter.java:52)

   - 
org.eclipse.jetty.servlet.ServletHandler$CachedChain#doFilter(ServletHandler.java:1668)

   - 
org.apache.shiro.web.servlet.AbstractShiroFilter#executeChain(AbstractShiroFilter.java:449)

   - 
org.apache.shiro.web.servlet.AbstractShiroFilter$1#call(AbstractShiroFilter.java:365)

   - 
org.apache.shiro.subject.support.SubjectCallable#doCall(SubjectCallable.java:90)

   - 
org.apache.shiro.subject.support.SubjectCallable#call(SubjectCallable.java:83)

   - 
org.apache.shiro.subject.support.DelegatingSubject#execute(DelegatingSubject.java:383)

   - 
org.apache.shiro.web.servlet.AbstractShiroFilter#doFilterInternal(AbstractShiroFilter.java:362)

   - 
org.apache.shiro.web.servlet.OncePerRequestFilter#doFilter(OncePerRequestFilter.java:125)

   - 
org.eclipse.jetty.servlet.ServletHandler$CachedChain#doFilter(ServletHandler.java:1668)

   - org.eclipse.jetty.servlet.ServletHandler#doHandle(ServletHandler.java:581)

   - 
org.eclipse.jetty.server.handler.ScopedHandler#handle(ScopedHandler.java:143)

   - org.eclipse.jetty.security.SecurityHandler#handle(SecurityHandler.java:548)

   - 
org.eclipse.jetty.server.session.SessionHandler#doHandle(SessionHandler.java:226)

   - 
org.eclipse.jetty.server.handler.ContextHandler#doHandle(ContextHandler.java:1158)

   - org.eclipse.jetty.servlet.ServletHandler#doScope(ServletHandler.java:511)

   - 
org.eclipse.jetty.server.session.SessionHandler#doScope(SessionHandler.java:185)

   - 
org.eclipse.jetty.server.handler.ContextHandler#doScope(ContextHandler.java:1090)

   - 
org.eclipse.jetty.server.handler.ScopedHandler#handle(ScopedHandler.java:141)

   - 
org.eclipse.jetty.server.handler.HandlerWrapper#handle(HandlerWrapper.java:119)

   - org.eclipse.jetty.server.Server#handle(Server.java:517)
   - org.eclipse.jetty.server.HttpChannel#handle(HttpChannel.java:308)
   - org.eclipse.jetty.server.HttpConnection#onFillable(HttpConnection.java:242)

   - 
org.eclipse.jetty.io.AbstractConnection$ReadCallback#succeeded(AbstractConnection.java:261)

   - org.eclipse.jetty.io.FillInterest#fillable(FillInterest.java:95)
   - 
org.eclipse.jetty.io.SelectChannelEndPoint$2#run(SelectChannelEndPoint.java:75)

   - 
org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume#produceAndRun(ExecuteProduceConsume.java:213)

   - 
org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume#run(ExecuteProduceConsume.java:147)

   - 
org.eclipse.jetty.util.thread.QueuedThreadPool#runJob(QueuedThreadPool.java:654)

   - 
org.eclipse.jetty.util.thread.QueuedThreadPool$3#run(QueuedThreadPool.java:572)

   - java.lang.Thread#run(Thread.java:745)
   -
   - Caused by:
   -
   - java.lang.NullPointerException
   -
   - 
org.apache.isis.core.metamodel.facets.object.autocomplete.AutoCompleteFacetAbstract#findMethod(AutoCompleteFacetAbstract.java:145)

   - 
org.apache.isis.core.metamodel.facets.object.autocomplete.AutoCompleteFacetAbstract#getMinLength(AutoCompleteFacetAbstract.java:134)

   - 
org.apache.isis.viewer.wicket.ui.components.scalars.reference.ReferencePanel#syncWithInput(ReferencePanel.java:281)

   - 
org.apache.isis.viewer.wicket.ui.components.scalars.reference.ReferencePanel#addComponentForRegular(ReferencePanel.java:126)

   - 
org.apache.isis.viewer.wicket.ui.components.scalars.reference.ReferencePanel#addComponentForRegular(ReferencePanel.java:72)

   - 
org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelAbstract#buildGui(ScalarPanelAbstract.java:245)

   - 
org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelAbstract#onBeforeRender(ScalarPanelAbstract.java:199)

   - org.apache.wicket.Component#internalBeforeRender(Component.java:949)
   - org.apache.wicket.Component#beforeRender(Component.java:1017)
   - 
org.apache.wicket.MarkupContainer#onBeforeRenderChildren(MarkupContainer.java:1684)

   - org.apache.wicket.Component#onBeforeRender(Component.java:3833)
   - org.apache.wicket.Component#internalBeforeRender(Component.java:949)
   - org.apache.wicket.Component#beforeRender(Component.java:1017)
   - 
org.apache.wicket.MarkupContainer#onBeforeRenderChildren(MarkupContainer.java:1684)

   - org.apache.wicket.Component#onBeforeRender(Component.java:3833)
   - 
org.apache.wicket.markup.repeater.AbstractRepeater#onBeforeRender(AbstractRepeater.java:143)

   - org.apache.wicket.Component#internalBeforeRender(Component.java:949)
   - org.apache.wicket.Component#beforeRender(Component.java:1017)
   - 
org.apache.wicket.MarkupContainer#onBeforeRenderChildren(MarkupContainer.java:1684)

   - org.apache.wicket.Component#onBeforeRender(Component.java:3833)
   - org.apache.wicket.markup.html.form.Form#onBeforeRender(Form.java:1803)
   - org.apache.wicket.Component#internalBeforeRender(Component.java:949)
   - org.apache.wicket.Component#beforeRender(Component.java:1017)
   - 
org.apache.wicket.MarkupContainer#onBeforeRenderChildren(MarkupContainer.java:1684)

   - org.apache.wicket.Component#onBeforeRender(Component.java:3833)
   - org.apache.wicket.Component#internalBeforeRender(Component.java:949)
   - org.apache.wicket.Component#beforeRender(Component.java:1017)
   - 
org.apache.wicket.MarkupContainer#onBeforeRenderChildren(MarkupContainer.java:1684)

   - org.apache.wicket.Component#onBeforeRender(Component.java:3833)
   - org.apache.wicket.Component#internalBeforeRender(Component.java:949)
   - org.apache.wicket.Component#beforeRender(Component.java:1017)
   - 
org.apache.wicket.MarkupContainer#onBeforeRenderChildren(MarkupContainer.java:1684)

   - org.apache.wicket.Component#onBeforeRender(Component.java:3833)
   - org.apache.wicket.Component#internalBeforeRender(Component.java:949)
   - org.apache.wicket.Component#beforeRender(Component.java:1017)
   - org.apache.wicket.Component#internalPrepareForRender(Component.java:2201)

   - org.apache.wicket.Component#prepareForRender(Component.java:2240)
   - 
org.apache.wicket.ajax.XmlAjaxResponse#writeComponent(XmlAjaxResponse.java:107)

   - 
org.apache.wicket.ajax.AbstractAjaxResponse#writeComponents(AbstractAjaxResponse.java:218)

   - 
org.apache.wicket.ajax.AbstractAjaxResponse#writeTo(AbstractAjaxResponse.java:150)

   - 
org.apache.wicket.ajax.AjaxRequestHandler#respond(AjaxRequestHandler.java:359)

   - 
org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor#respond(RequestCycle.java:890)

   - 
org.apache.wicket.request.RequestHandlerStack#execute(RequestHandlerStack.java:64)

   - 
org.apache.wicket.request.RequestHandlerStack#execute(RequestHandlerStack.java:97)

   - org.apache.wicket.request.cycle.RequestCycle#execute(RequestCycle.java:261)

   - 
org.apache.wicket.request.cycle.RequestCycle#processRequest(RequestCycle.java:218)

   - 
org.apache.wicket.request.cycle.RequestCycle#processRequestAndDetach(RequestCycle.java:289)

   - 
org.apache.wicket.protocol.http.WicketFilter#processRequestCycle(WicketFilter.java:259)

   - 
org.apache.wicket.protocol.http.WicketFilter#processRequest(WicketFilter.java:201)

   - 
org.apache.wicket.protocol.http.WicketFilter#doFilter(WicketFilter.java:282)

   - 
org.eclipse.jetty.servlet.ServletHandler$CachedChain#doFilter(ServletHandler.java:1668)

   - 
org.apache.isis.core.webapp.diagnostics.IsisLogOnExceptionFilter#doFilter(IsisLogOnExceptionFilter.java:52)

   - 
org.eclipse.jetty.servlet.ServletHandler$CachedChain#doFilter(ServletHandler.java:1668)

   - 
org.apache.shiro.web.servlet.AbstractShiroFilter#executeChain(AbstractShiroFilter.java:449)

   - 
org.apache.shiro.web.servlet.AbstractShiroFilter$1#call(AbstractShiroFilter.java:365)

   - 
org.apache.shiro.subject.support.SubjectCallable#doCall(SubjectCallable.java:90)

   - 
org.apache.shiro.subject.support.SubjectCallable#call(SubjectCallable.java:83)

   - 
org.apache.shiro.subject.support.DelegatingSubject#execute(DelegatingSubject.java:383)

   - 
org.apache.shiro.web.servlet.AbstractShiroFilter#doFilterInternal(AbstractShiroFilter.java:362)

   - 
org.apache.shiro.web.servlet.OncePerRequestFilter#doFilter(OncePerRequestFilter.java:125)

   - 
org.eclipse.jetty.servlet.ServletHandler$CachedChain#doFilter(ServletHandler.java:1668)

   - org.eclipse.jetty.servlet.ServletHandler#doHandle(ServletHandler.java:581)

   - 
org.eclipse.jetty.server.handler.ScopedHandler#handle(ScopedHandler.java:143)

   - org.eclipse.jetty.security.SecurityHandler#handle(SecurityHandler.java:548)

   - 
org.eclipse.jetty.server.session.SessionHandler#doHandle(SessionHandler.java:226)

   - 
org.eclipse.jetty.server.handler.ContextHandler#doHandle(ContextHandler.java:1158)

   - org.eclipse.jetty.servlet.ServletHandler#doScope(ServletHandler.java:511)

   - 
org.eclipse.jetty.server.session.SessionHandler#doScope(SessionHandler.java:185)

   - 
org.eclipse.jetty.server.handler.ContextHandler#doScope(ContextHandler.java:1090)

   - 
org.eclipse.jetty.server.handler.ScopedHandler#handle(ScopedHandler.java:141)

   - 
org.eclipse.jetty.server.handler.HandlerWrapper#handle(HandlerWrapper.java:119)

   - org.eclipse.jetty.server.Server#handle(Server.java:517)
   - org.eclipse.jetty.server.HttpChannel#handle(HttpChannel.java:308)
   - org.eclipse.jetty.server.HttpConnection#onFillable(HttpConnection.java:242)

   - 
org.eclipse.jetty.io.AbstractConnection$ReadCallback#succeeded(AbstractConnection.java:261)

   - org.eclipse.jetty.io.FillInterest#fillable(FillInterest.java:95)
   - 
org.eclipse.jetty.io.SelectChannelEndPoint$2#run(SelectChannelEndPoint.java:75)

   - 
org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume#produceAndRun(ExecuteProduceConsume.java:213)

   - 
org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume#run(ExecuteProduceConsume.java:147)

   - 
org.eclipse.jetty.util.thread.QueuedThreadPool#runJob(QueuedThreadPool.java:654)

   - 
org.eclipse.jetty.util.thread.QueuedThreadPool$3#run(QueuedThreadPool.java:572)

   - java.lang.Thread#run(Thread.java:745)





On Thu, May 5, 2016 at 4:42 PM, Stephen Cameron <[email protected]>
wrote:

> thanks for the rapid response, I should have looked in JIRA too, will do
> so now.
>
> On Thu, May 5, 2016 at 4:39 PM, Dan Haywood <[email protected]>
> wrote:
>
>> Meantime, the work-around is to use a view model, eg:
>>
>>
>> import org.apache.isis.applib.annotation.Title;
>>
>> @javax.xml.bind.annotation.XmlRootElement(name = "address")
>> @javax.xml.bind.annotation.XmlType(propOrder = { "name" } )
>> public class Address implements org.apache.isis.applib.services.dto.Dto {
>>
>>     public static Address of(String name) {
>>         final Address address = new Address();
>>         address.setName(name);
>>         return address;
>>     }
>>
>>     private String name;
>>
>>     @Title
>>     public String getName() { return name; }
>>     public void setName(final String name) { this.name = name; }
>>
>> }
>>
>>
>> and then:
>>
>>
>>     final ArrayList<Address> addresses = Lists.newArrayList(
>>             Address.of("Strawberry fields"),
>>             Address.of("Penny Lane"),
>>             Address.of("Abbey Road"),
>>             Address.of("Octopuses Garden"),
>>             Address.of("Blackburn, Lancashire"),
>>             Address.of("Georgia"),
>>             Address.of("Eiffel Tower"),
>>             Address.of("Isle of Wight"));
>>
>>     public void updateStreetAddress(String field1, String field2, Address
>> field3) {
>>
>>     }
>>     public List<Address> autoComplete2UpdateStreetAddress(@MinLength(1)
>> final String search) {
>>         return
>>                 Lists.newArrayList(
>>                         FluentIterable.from(addresses).filter(x ->
>> x.getName().contains(search)).toList()
>>                 );
>>     }
>>
>>
>> nb: need to wrap the returned list in an ArrayList, else I get a "Loading
>> Failed" exception.  But that's a side issue.
>>
>>
>> I wonder if there's a ticket for this missing feature... I probably
>> should've checked JIRA first.  Anyway, if you can't find one, go ahead and
>> create a new one.
>>
>> Dan
>>
>>
>>
>>
>>
>>
>> On 5 May 2016 at 07:19, Dan Haywood <[email protected]> wrote:
>>
>> > I see the same behaviour (ie no drop-down) on 1.11.1; the validate
>> doesn't
>> > seem to be relevant:
>> >
>> >     final ArrayList<String> addresses = Lists.newArrayList(
>> >             "Strawberry fields", "Penny Lane","Abbey Road","Octopuses
>> > Garden","Blackburn, Lancashire","Georgia","Eiffel Tower","Isle of
>> Wight");
>> >
>> >     public void updateStreetAddress(String field1, String field2, String
>> > field3) {
>> >
>> >     }
>> >     public List<String> autoComplete2UpdateStreetAddress(@MinLength(3)
>> > final String search) {
>> >         return
>> >                 FluentIterable.from(addresses).filter(x ->
>> > x.contains(search)).toList();
>> >     }
>> >
>> >
>> > Conversely, a choices field works fine for both 1.11.1 and 1.12.1:
>> >
>> >     public List<String> choices2UpdateStreetAddress() {
>> >         return addresses;
>> >     }
>> >
>> >
>> > Perhaps this never worked.  Have you seen this work in any earlier
>> > versions?
>> >
>> >
>> >
>> >
>> >
>> >
>> > On 5 May 2016 at 06:57, Dan Haywood <[email protected]>
>> wrote:
>> >
>> >> Hmm, I can't see a mistake here.  Investigating...
>> >>
>> >> On 5 May 2016 at 03:41, Stephen Cameron <[email protected]>
>> >> wrote:
>> >>
>> >>> Hi,
>> >>>
>> >>> I am trying to use autoCompleteNXxxx() for the first time and not
>> having
>> >>> any success with 1.12.1, it just doesn't seem to fire my routine at
>> all.
>> >>> I
>> >>> have the following two methods an autoComplete and a validate, the
>> first
>> >>> doesn't get used but the second does.
>> >>>
>> >>>     public List<String> autoComplete2UpdateStreetAddress(@MinLength(3)
>> >>> String search) {
>> >>>         return suburbs.listSuburbNamesLike(search);
>> >>>     }
>> >>>
>> >>>     public String validate2UpdateStreetAddress(String name) {
>> >>>         Suburb s = suburbs.suburbForName(name);
>> >>>         if (s != null) {
>> >>>             return null;
>> >>>         } else
>> >>>             return "Unknown suburb, please check spelling and use
>> proper
>> >>> case";
>> >>>     }
>> >>>
>> >>> If someone can confirm its working for them in 1.12.1 or else tell me
>> I
>> >>> have made a mistake.
>> >>>
>> >>> Steve Cameron
>> >>>
>> >>
>> >>
>> >
>>
>
>

Reply via email to