[
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)