Task #6966 (closed)
BUG: delete annotation refresh iframe
| Reported by: | atarkowska | Owned by: | atarkowska |
|---|---|---|---|
| Priority: | minor | Milestone: | OMERO-Beta4.3.3 |
| Component: | Web | Version: | n.a. |
| Keywords: | n.a. | Cc: | jamoore, wmoore |
| Resources: | n.a. | Referenced By: | n.a. |
| References: | n.a. | Remaining Time: | 0.0d |
| Sprint: | 2011-10-13 (1) |
Description (last modified by atarkowska)
In order to delete annotation, javascript function deleteItem makes an asynchronous ajax call. This all works fine while user click on "-" - unlink button then deleteDirect is called. The problem appears when user clicks on "X" delete button while deleting annotation. Server is to slow to delete the object before template is rendered again.
Original Traceback (most recent call last):
File "/Users/ola/Dev/omero/dist/lib/python/django/template/debug.py", line 71, in render_node
result = node.render(context)
File "/Users/ola/Dev/omero/dist/lib/python/django/template/debug.py", line 87, in render
output = force_unicode(self.filter_expression.resolve(context))
File "/Users/ola/Dev/omero/dist/lib/python/django/template/__init__.py", line 546, in resolve
obj = self.var.resolve(context)
File "/Users/ola/Dev/omero/dist/lib/python/django/template/__init__.py", line 687, in resolve
value = self._resolve_lookup(context)
File "/Users/ola/Dev/omero/dist/lib/python/django/template/__init__.py", line 722, in _resolve_lookup
current = current()
File "/Users/ola/Dev/omero/dist/lib/python/omero/gateway/__init__.py", line 3377, in getFileName
return self.getFile().name
File "/Users/ola/Dev/omero/dist/lib/python/omero/gateway/__init__.py", line 965, in wrap
return getattr(omero.gateway, a[len(tattr)+1:])(self._conn, getattr(self, tattr))
File "/Users/ola/Dev/omero/dist/lib/python/omero/gateway/__init__.py", line 164, in __init__
self._obj = self._conn.getQueryService().get(self._obj.__class__.__name__, self._oid)
File "/Users/ola/Dev/omero/dist/lib/python/omero/gateway/__init__.py", line 2959, in __call__
return self.handle_exception(e, *args, **kwargs)
File "/Users/ola/Dev/omero/components/tools/OmeroWeb/omeroweb/webclient/webclient_gateway.py", line 1651, in handle_exception
e, *args, **kwargs)
File "/Users/ola/Dev/omero/dist/lib/python/omero/gateway/__init__.py", line 2956, in __call__
return self.f(*args, **kwargs)
File "/Users/ola/Dev/omero/dist/lib/python/omero_api_IQuery_ice.py", line 90, in get
return _M_omero.api.IQuery._op_get.invoke(self, ((klass, id), _ctx))
ValidationException: exception ::omero::ValidationException
{
serverStackTrace = ome.conditions.ValidationException: No row with the given identifier exists: [ome.model.core.OriginalFile#1102]; nested exception is org.hibernate.ObjectNotFoundException: No row with the given identifier exists: [ome.model.core.OriginalFile#1102]
at org.springframework.orm.hibernate3.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:663)
at org.springframework.orm.hibernate3.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:412)
at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:411)
at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:339)
at ome.logic.QueryImpl.get(QueryImpl.java:157)
at sun.reflect.GeneratedMethodAccessor335.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
at ome.security.basic.EventHandler.invoke(EventHandler.java:150)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.orm.hibernate3.HibernateInterceptor.invoke(HibernateInterceptor.java:111)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:108)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at ome.tools.hibernate.ProxyCleanupFilter$Interceptor.invoke(ProxyCleanupFilter.java:231)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at ome.services.util.ServiceHandler.invoke(ServiceHandler.java:116)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
at $Proxy75.get(Unknown Source)
at sun.reflect.GeneratedMethodAccessor335.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
at ome.security.basic.BasicSecurityWiring.invoke(BasicSecurityWiring.java:83)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at ome.services.blitz.fire.AopContextInitializer.invoke(AopContextInitializer.java:43)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
at $Proxy75.get(Unknown Source)
at sun.reflect.GeneratedMethodAccessor788.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at ome.services.blitz.util.IceMethodInvoker.invoke(IceMethodInvoker.java:179)
at ome.services.throttling.Callback.run(Callback.java:56)
at ome.services.throttling.InThreadThrottlingStrategy.callInvokerOnRawArgs(InThreadThrottlingStrategy.java:56)
at ome.services.blitz.impl.AbstractAmdServant.callInvokerOnRawArgs(AbstractAmdServant.java:136)
at ome.services.blitz.impl.QueryI.get_async(QueryI.java:110)
at omero.api._IQueryTie.get_async(_IQueryTie.java:127)
at omero.api._IQueryDisp.___get(_IQueryDisp.java:170)
at omero.api._IQueryDisp.__dispatch(_IQueryDisp.java:516)
at IceInternal.Incoming.invoke(Incoming.java:159)
at Ice.ConnectionI.invokeAll(ConnectionI.java:2037)
at Ice.ConnectionI.message(ConnectionI.java:972)
at IceInternal.ThreadPool.run(ThreadPool.java:577)
at IceInternal.ThreadPool.access$100(ThreadPool.java:12)
at IceInternal.ThreadPool$EventHandlerThread.run(ThreadPool.java:971)
serverExceptionClass = ome.conditions.ValidationException
message = No row with the given identifier exists: [ome.model.core.OriginalFile#1102]; nested exception is org.hibernate.ObjectNotFoundException: No row with the given identifier exists: [ome.model.core.OriginalFile#1102]
}
Change History (9)
comment:1 Changed 8 years ago by atarkowska
- Description modified (diff)
comment:2 Changed 8 years ago by atarkowska
- Description modified (diff)
comment:3 Changed 8 years ago by atarkowska
- Description modified (diff)
comment:4 Changed 8 years ago by atarkowska
- Cc jmoore wmoore added
- Component changed from General to Web
- Remaining Time set to 0.3
comment:5 Changed 8 years ago by atarkowska
- Status changed from new to accepted
comment:6 Changed 8 years ago by atarkowska
comment:7 Changed 8 years ago by saloynton
tested chrome
comment:8 Changed 8 years ago by Aleksandra Tarkowska <atarkowska@…>
- Remaining Time changed from 0.3 to 0
- Resolution set to fixed
- Status changed from accepted to closed
(In [0fcd4bb160070830a23fb134cd52bf859342d786/ome.git]) refactoring delete annotation to avoid refeshing the page, close #6966
comment:9 Changed 8 years ago by Aleksandra Tarkowska <atarkowska@…>
(In [d9aac4ad1c802984c1e1ae3c28a69934dcaf5171/ome.git]) adding refreshProgressBar, see #6966
TESTING :
In order to test it, select image/dataset/project and attach couple of files. Then try to delete one. Check Activities windows if file was deleted. Then select the same object again to double check if file is gone.