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

Dan Haywood resolved ISIS-906.
------------------------------
    Resolution: Cannot Reproduce

Looks like this has been fixed somewhere along the line.

I added:

{code}
package domainapp.dom.simple;

import com.google.common.eventbus.Subscribe;

import org.apache.isis.applib.annotation.*;

@DomainService(
        nature = NatureOfService.DOMAIN
)
@DomainServiceLayout(
        menuOrder = "1"
)
public class VetoDeleteSubscriber extends 
org.apache.isis.applib.AbstractSubscriber {

    @Subscribe
    public void on(SimpleObject.DeleteDomainEvent ev) {
        ev.disable("no go, matey!");
    }
}
{code}

and this correctly vetoed the "delete" action

> incorrectly attempts to render a veto exception (from a subscriber) to a 
> non-existent action dialog panel when invoked for a no-arg action.
> -------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: ISIS-906
>                 URL: https://issues.apache.org/jira/browse/ISIS-906
>             Project: Isis
>          Issue Type: Bug
>          Components: Core: Viewer: Wicket
>    Affects Versions: viewer-wicket-1.6.0
>            Reporter: Jeroen van der Wal
>            Assignee: Dan Haywood
>            Priority: Minor
>             Fix For: 1.12.0
>
>
> eg, with this code, the "remove" fails though the "removeAndReplace" works 
> fine:
> {code}
>     @ActionInteraction(Party.RemoveEvent.class)
>     public void remove() {
>         removeAndReplace(null);
>     }
>     @ActionInteraction(Party.RemoveEvent.class)
>     public void removeAndReplace(@Named("Replace with") @Optional Party 
> replacement) {
>         getContainer().remove(this);
>         getContainer().flush();
>     }
> {code}
> and the following stacktrace:
> {code}
> 13:24:48,119 [MarkupContainer               ] Unable to find component with 
> id 'actionName' in [ActionPanel [Component id = content]]
>       Expected: 'theme:actionPromptModalWindow:content:actionName'.
>       Found with similar names: ''
> 13:24:48,119 [RequestCycleExtra             ] ********************************
> 13:24:48,120 [RequestCycleExtra             ] Handling the following exception
> Unable to find component with id 'actionName' in [ActionPanel [Component id = 
> content]]
>       Expected: 'theme:actionPromptModalWindow:content:actionName'.
>       Found with similar names: ''
>  MarkupStream: [markup = 
> file:/C:/Users/jvanderwal/src/isis/component/viewer/wicket/ui/target-ide/classes/org/apache/isis/viewer/wicket/ui/components/actions/ActionPanel.html
> <wicket:panel>
>                       <div class="actionPanel actionComponentType">
>                 <div class="myBlockContainer">
>                               <div class="iconAndTitle panel 
> actionPanelHeaderNew">
>                                <span wicket:id="entityIconAndTitle">[icon and 
> title]</span>
>                                <p wicket:id="actionName" 
> class="actionName">[action name]</p>
>                     </div>
>                               <span wicket:id="parameters">
>                               </span>
>                 </div>
>                       </div>
>               </wicket:panel>, index = 6, current =  '<p 
> wicket:id="actionName" class="actionName">' (line 0, column 0)]
>       at 
> org.apache.wicket.markup.MarkupStream.throwMarkupException(MarkupStream.java:526)
>       at 
> org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1438)
>       at 
> org.apache.wicket.MarkupContainer.renderAll(MarkupContainer.java:1557)
>       at 
> org.apache.wicket.MarkupContainer.renderComponentTagBody(MarkupContainer.java:1532)
>       at 
> org.apache.wicket.MarkupContainer.renderAssociatedMarkup(MarkupContainer.java:689)
>       at 
> org.apache.wicket.markup.html.panel.AssociatedMarkupSourcingStrategy.renderAssociatedMarkup(AssociatedMarkupSourcingStrategy.java:76)
>       at 
> org.apache.wicket.markup.html.panel.PanelMarkupSourcingStrategy.onComponentTagBody(PanelMarkupSourcingStrategy.java:112)
>       at 
> org.apache.wicket.Component.internalRenderComponent(Component.java:2514)
>       at org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1496)
>       at org.apache.wicket.Component.internalRender(Component.java:2344)
>       at org.apache.wicket.Component.render(Component.java:2272)
>       at 
> org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1392)
>       at 
> org.apache.wicket.MarkupContainer.renderAll(MarkupContainer.java:1557)
>       at 
> org.apache.wicket.MarkupContainer.renderComponentTagBody(MarkupContainer.java:1532)
>       at 
> org.apache.wicket.MarkupContainer.renderAssociatedMarkup(MarkupContainer.java:689)
>       at 
> org.apache.wicket.markup.html.panel.AssociatedMarkupSourcingStrategy.renderAssociatedMarkup(AssociatedMarkupSourcingStrategy.java:76)
>       at 
> org.apache.wicket.markup.html.panel.PanelMarkupSourcingStrategy.onComponentTagBody(PanelMarkupSourcingStrategy.java:112)
>       at 
> org.apache.wicket.Component.internalRenderComponent(Component.java:2514)
>       at org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1496)
>       at org.apache.wicket.Component.internalRender(Component.java:2344)
>       at org.apache.wicket.Component.render(Component.java:2272)
>       at 
> org.apache.wicket.ajax.XmlAjaxResponse.writeComponent(XmlAjaxResponse.java:128)
>       at 
> org.apache.wicket.ajax.AbstractAjaxResponse.writeComponents(AbstractAjaxResponse.java:218)
>       at 
> org.apache.wicket.ajax.AbstractAjaxResponse.writeTo(AbstractAjaxResponse.java:150)
>       at 
> org.apache.wicket.ajax.AjaxRequestHandler.respond(AjaxRequestHandler.java:359)
>       at 
> org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:862)
>       at 
> org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64)
>       at 
> org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:97)
>       at 
> org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:261)
>       at 
> org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:218)
>       at 
> org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:289)
>       at 
> org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:259)
>       at 
> org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:201)
>       at 
> org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:282)
>       at 
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212)
>       at 
> org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449)
>       at 
> org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365)
>       at 
> org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
>       at 
> org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
>       at 
> org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383)
>       at 
> org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362)
>       at 
> org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
>       at 
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212)
>       at 
> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:399)
>       at 
> org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
>       at 
> org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
>       at 
> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
>       at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450)
>       at 
> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
>       at org.mortbay.jetty.Server.handle(Server.java:326)
>       at 
> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
>       at 
> org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:928)
>       at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:549)
>       at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
>       at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
>       at 
> org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:228)
>       at 
> org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
> 13:24:48,120 [RequestCycleExtra             ] ********************************
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to