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 13 years ago by atarkowska
- Description modified (diff)
comment:2 Changed 13 years ago by atarkowska
- Description modified (diff)
comment:3 Changed 13 years ago by atarkowska
- Description modified (diff)
comment:4 Changed 13 years ago by atarkowska
- Cc jmoore wmoore added
- Component changed from General to Web
- Remaining Time set to 0.3
comment:5 Changed 13 years ago by atarkowska
- Status changed from new to accepted
comment:6 Changed 13 years ago by atarkowska
comment:7 Changed 13 years ago by saloynton
tested chrome
comment:8 Changed 13 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 13 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.