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 #2797 (closed)

Opened 14 years ago

Closed 14 years ago

Add Annotation.ns support to delete specs

Reported by: jamoore Owned by: jamoore
Priority: critical Milestone: OMERO-Beta4.2.1
Component: Services Version: n.a.
Keywords: n.a. Cc: jburel, atarkowska
Resources: n.a. Referenced By: n.a.
References: n.a. Remaining Time: 0.0d
Sprint: 2010-08-26 (15)

Description (last modified by jmoore)

For some types of deletes, taking the values of Annotation.ns need to decide whether or not they will be "shared" or "nonshared".

For example, measurement file annotations should always be removed even if a user specifies "KEEP" for "/FileAnnotation"

One proposed solution is to use a new format for the DeleteEntry which points to a Spring bean:

    <bean parent="delSpec" name="Annotation">
        <constructor-arg>
            <list>
                <value>/CommentAnnotation</value>
                <value>@InternalFileAnnotation</value>

The new DeleteEntry should long-term be able to take parameters via the options map:

 {"@InternalFileAnnotation" : "ns.includes=%volviewer%"}

Update

Rather than adding "@"-prefixed, bean-based entries, the "/Annotation" entry is a subclass of BaseDeleteSpec with special handling. Its DeleteEntries can take a KEEP value with a trailing "excludes" parameter:

Map<String, String> options = new HashMap<String, String>();
options.put("/TagAnnotation", "KEEP;excludes=some_ns");

which will prevent all tag annotations from being deleted except those matching the namespace.

Several namespaces are defined server-side by default. The user is responsible for copying the default values and passing them back to the server. I.e. the user values completely overwrite the server values.

Change History (7)

comment:1 Changed 14 years ago by jmoore

  • Description modified (diff)

comment:2 Changed 14 years ago by jmoore

  • Owner set to jmoore
  • Status changed from new to assigned

comment:3 Changed 14 years ago by jmoore

(In [7932]) Support for reagent deletion (Fix #2819)

This also includes a preliminary refactoring
for annotation deletes (See #2770 and #2797)

comment:4 Changed 14 years ago by jmoore

  • Remaining Time changed from 1.5 to 0
  • Resolution set to fixed
  • Status changed from assigned to closed

(In [7955]) Disabling delete based on annotation type using KEEP (Fix #2797)

Added DeleteEntry.initialize to allow entries a chance to
reset their op value based on options.

comment:5 Changed 14 years ago by jmoore

  • Remaining Time changed from 0 to 1.0
  • Resolution fixed deleted
  • Status changed from closed to reopened

Previous commit intended for #2770.

comment:6 Changed 14 years ago by jmoore

  • Description modified (diff)

See also #2837

comment:7 Changed 14 years ago by jmoore

  • Remaining Time changed from 1.0 to 0
  • Resolution set to fixed
  • Status changed from reopened to closed

(In [7964]) Adding annotation.ns support. (Fix #2797)

  • Working implementation of 'KEEP;excludes=...' for delete
  • Currently filtering only companion files and measurement files
  • Refactored some code into DeleteEntry?. More could go.
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.71401 sec.)

We're Hiring!