ace-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bram de Kruijff (Closed) (JIRA)" <>
Subject [jira] [Closed] (ACE-246) User unfriendly notification when trying to delete an unregistered target.
Date Thu, 12 Apr 2012 10:03:16 GMT


Bram de Kruijff closed ACE-246.

    Assignee:     (was: Bram de Kruijff)

This certainly improves the situation. From a functional perspective I think matters could
still improve. Eg. getting rid of an unregistered stale target now requires first registering
it only to delete it. But hey.. guess that 's another topic.

Tested and reviewed at r1325167.

> User unfriendly notification when trying to delete an unregistered target.
> --------------------------------------------------------------------------
>                 Key: ACE-246
>                 URL:
>             Project: ACE
>          Issue Type: Improvement
>          Components: Web UI
>            Reporter: Matthijs Hendriks
>            Priority: Minor
> When trying to delete an unregistered target the following exception is thrown (in the
> 3-apr-2012 12:33:15 com.vaadin.Application terminalError
> SEVERE: Terminal error:
> com.vaadin.event.ListenerMethod$MethodException
> Cause: java.lang.IllegalArgumentException: defaultTargetID does not represent a TargetObject.
>         at com.vaadin.event.ListenerMethod.receiveEvent(
>         at com.vaadin.event.EventRouter.fireEvent(
>         at com.vaadin.ui.AbstractComponent.fireEvent(
>         at com.vaadin.ui.Button.fireClick(
>         at com.vaadin.ui.Button.changeVariables(
>         at com.vaadin.terminal.gwt.server.AbstractCommunicationManager.handleVariableBurst(
>         at com.vaadin.terminal.gwt.server.AbstractCommunicationManager.handleVariables(
>         at com.vaadin.terminal.gwt.server.AbstractCommunicationManager.doHandleUidlRequest(
>         at com.vaadin.terminal.gwt.server.CommunicationManager.handleUidlRequest(
>         at com.vaadin.terminal.gwt.server.AbstractApplicationServlet.service(
>         at javax.servlet.http.HttpServlet.service(
>         at org.amdatu.web.dispatcher.handler.ServletHandler.handle(
>         at org.amdatu.web.dispatcher.dispatch.CustomFilterChain.doFilter(
>         at org.amdatu.web.dispatcher.dispatch.CustomFilterPipeline.dispatch(
>         at org.amdatu.web.dispatcher.dispatch.ExtenderFilterChain.doFilter(
>         at org.amdatu.web.dispatcher.dispatch.ExtenderFilterPipeline.dispatch(
>         at org.amdatu.web.dispatcher.service.DispatcherServiceImpl.dispatchRequest(
>         at org.amdatu.web.dispatcher.filter.DispatchInterceptFilter.doFilter(
>         at org.apache.felix.http.base.internal.handler.FilterHandler.doHandle(
>         at org.apache.felix.http.base.internal.handler.FilterHandler.handle(
>         at org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(
>         at org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(
>         at org.apache.felix.http.base.internal.dispatch.FilterPipeline.dispatch(
>         at org.apache.felix.http.base.internal.dispatch.Dispatcher.dispatch(
>         at org.apache.felix.http.base.internal.DispatcherServlet.service(
>         at javax.servlet.http.HttpServlet.service(
>         at org.mortbay.jetty.servlet.ServletHolder.handle(
>         at org.mortbay.jetty.servlet.ServletHandler.handle(
>         at org.mortbay.jetty.servlet.SessionHandler.handle(
>         at org.mortbay.jetty.handler.ContextHandler.handle(
>         at org.mortbay.jetty.handler.HandlerWrapper.handle(
>         at org.mortbay.jetty.Server.handle(
>         at org.mortbay.jetty.HttpConnection.handleRequest(
>         at org.mortbay.jetty.HttpConnection$RequestHandler.content(
>         at org.mortbay.jetty.HttpParser.parseNext(
>         at org.mortbay.jetty.HttpParser.parseAvailable(
>         at org.mortbay.jetty.HttpConnection.handle(
>         at
>         at org.mortbay.thread.QueuedThreadPool$
> Caused by: java.lang.IllegalArgumentException: defaultTargetID does not represent a TargetObject.
>         at org.apache.ace.client.repository.stateful.impl.StatefulTargetRepositoryImpl.unregister(
>         at org.apache.ace.client.repository.stateful.impl.StatefulTargetRepositoryImpl.remove(
>         at org.apache.ace.client.repository.stateful.impl.StatefulTargetRepositoryImpl.remove(
>         at org.apache.ace.webui.vaadin.VaadinClient$RemoveItemButton$1.buttonClick(
>         at sun.reflect.GeneratedMethodAccessor7.invoke(Unknown Source)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(
>         at java.lang.reflect.Method.invoke(
>         at com.vaadin.event.ListenerMethod.receiveEvent(
>         ... 38 more
> At the same time, the delete button in the Web UI shows a little error-image, but no
other information is given. The user can not know it failed because of an unregistered target.
I would suggest to disable the delete button if deletion is not possible, rather than throwing
an exception. Also, it would be nice to explicitly and clearly see a message somewhere that
the target is unregistered. You can see that now, but only by checking if the relevant checkbox
in the information screen is unchecked.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:!default.jspa
For more information on JIRA, see:


View raw message