Warning: Can't synchronize with repository "(default)" (/home/git/ome.git does not appear to be a Git repository.). Look in the Trac log for more information.
Notice: In order to edit this ticket you need to be either: a Product Owner, The owner or the reporter of the ticket, or, in case of a Task not yet assigned, a team_member"

Task #6966 (closed)

Opened 13 years ago

Closed 13 years ago

Last modified 13 years ago

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

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.

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

Note: See TracTickets for help on using tickets. You may also have a look at Agilo extensions to the ticket.

1.3.13-PRO © 2008-2011 Agilo Software all rights reserved (this page was served in: 0.68667 sec.)

We're Hiring!