Changeset 6962


Ignore:
Timestamp:
Oct 1, 2015, 2:29:38 PM (6 years ago)
Author:
Nicklas Nordborg
Message:

References #1941: Store experimental factor values as part experiments

Using a different "Edit" icon for cloned annotations that are out-of-sync.

Location:
trunk
Files:
1 added
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/core/net/sf/basedb/core/snapshot/AnnotationSnapshot.java

    r6939 r6962  
    524524 
    525525  /**
     526    A primary or inherited annotation is always up-to-date. A cloned annotation
     527    is up-to-date if the link to the source annotation exists and the source
     528    annotation has a date equal to or before the cloned annotation.
     529    @since 3.6
     530  */
     531  public boolean isUpToDate()
     532  {
     533    boolean upToDate = true;
     534    if (source == Annotation.Source.CLONED)
     535    {
     536      AnnotationSnapshot inherited = getInheritedFrom();
     537      Date cloned = getThisLastUpdate();
     538      Date source = inherited != null ? inherited.getThisLastUpdate() : null;
     539      upToDate = cloned != null && source != null && !source.after(cloned);
     540    }
     541    return upToDate;
     542  }
     543 
     544  /**
    526545    Get the id of the item this annotation belongs to.
    527546    @deprecated In 3.6, use {@link #getThisItemId()} or
  • trunk/www/common/annotations/list_annotations.jsp

    r6939 r6962  
    510510              String description = HTML.encodeTags(at.getDescription());
    511511              Date lastModified = a.getThisLastUpdate();
    512               boolean isUpToDate = true;
     512              boolean isUpToDate = a.isUpToDate();
    513513             
    514514              // Which item are we inheriting from?
     
    522522                {
    523523                  lastModified = from.getThisLastUpdate();
    524                 }
    525                 else
    526                 {
    527                   isUpToDate = !lastModified.before(from.getThisLastUpdate());
    528524                }
    529525                try
     
    557553                  <%=values == null || values.size() == 0 ?
    558554                    "<i>- no values -</i>" : Values.getString(values, ", ", true, formatter)%>
    559                   <base:icon image="edit.png" subclass="edit-annotation auto-init link"
     555                  <base:icon image="<%=isUpToDate ? "edit.png" : "edit-outofsync.png"%>"
     556                    subclass="edit-annotation auto-init link"
    560557                    data-auto-init="edit-annotation"
    561558                    data-annotation="<%= a.getThisAnnotationId()%>"
  • trunk/www/common/overview/info.jsp

    r6939 r6962  
    449449                // Inheritance information
    450450                Date lastModified = snapshot.getThisLastUpdate();
    451                 boolean isUpToDate = true;
     451                boolean isUpToDate = snapshot.isUpToDate();
    452452                AnnotationSnapshot inherited = snapshot.getInheritedFrom();
    453453                Annotatable inheritedFrom = null;
     
    457457                  {
    458458                    lastModified = inherited.getThisLastUpdate();
    459                   }
    460                   else
    461                   {
    462                     isUpToDate = !lastModified.before(inherited.getThisLastUpdate());
    463459                  }
    464460                  try
     
    481477                    <%=Values.getString(values, ", ", true, formatter)%>
    482478                    <base:icon id="<%=Integer.toString(snapshot.getThisAnnotationId())%>"
    483                       image="edit.png" subclass="edit-annotation auto-init" data-auto-init="edit-annotation"
     479                      image="<%=isUpToDate ? "edit.png" : "edit-outofsync.png"%>"
     480                      subclass="edit-annotation auto-init"
     481                      data-auto-init="edit-annotation"
    484482                      data-item-type="<%=annotatable.getType().name()%>"
    485483                      data-item-id="<%=annotatable.getId()%>"
  • trunk/www/views/experiments/bioassays/view_bioassay.jsp

    r6942 r6962  
    293293                        {
    294294                          List values = a.getActualValues();
     295                          boolean isUpToDate = a.isUpToDate();
    295296                          %>
    296297                          <tbl:cellvalue list="<%=values%>" suffix="<%=unitSymbol%>"/>
     
    303304                            data-annotation="<%=a.getThisAnnotationId()%>"
    304305                            visible="<%=writePermission%>"
    305                             image="edit.png"
     306                            image="<%=isUpToDate ? "edit.png" : "edit-outofsync.png"%>"
    306307                            tooltip="Modify the values of this experimental factor"
    307308                          />
  • trunk/www/views/experiments/rootrawbioassays/view_bioassay.jsp

    r6942 r6962  
    105105    manager.getSnapshot(dc, bioAssay.getAnnotationSet().getId()) : null;
    106106
     107  Formatter<Date> dateTimeFormatter = FormatterFactory.getDateTimeFormatter(sc);
    107108  final boolean writePermission = bioAssay.hasPermission(Permission.WRITE);
    108109  Map<Plugin.MainType, Integer> pluginCount = PluginDefinition.countPlugins(dc, guiContext);
     
    244245              id="note"
    245246              title="Note"
     247            />
     248            <tbl:columndef
     249              id="lastModified"
     250              title="Last modified"
     251              formatter="<%=dateTimeFormatter %>"
    246252            />
    247253            <tbl:columndef
     
    283289
    284290                    Date lastModified = a.getThisLastUpdate();
    285                     boolean isUpToDate = true;
     291                    boolean isUpToDate = a.isUpToDate();
    286292                    AnnotationSnapshot inherited = a.getInheritedFrom();
    287293                    if (inherited != null)
     
    291297                      {
    292298                        lastModified = inherited.getThisLastUpdate();
    293                       }
    294                       else
    295                       {
    296                         isUpToDate = !lastModified.before(inherited.getThisLastUpdate());
    297299                      }
    298300                      try
     
    323325                        <%=Values.getString(values, ", ", true, formatter)%>
    324326                        <base:icon id="<%=Integer.toString(a.getThisAnnotationId())%>"
    325                           image="edit.png" subclass="edit-experimental-factor auto-init" data-auto-init="edit-experimental-factor"
     327                          image="<%=isUpToDate ? "edit.png" : "edit-outofsync.png"%>"
     328                          subclass="edit-experimental-factor auto-init"
     329                          data-auto-init="edit-experimental-factor"
    326330                          data-item-type="ROOTRAWBIOASSAY"
    327331                          data-item-id="<%=itemId%>"
     
    348352                      </tbl:cell>
    349353                      <tbl:cell column="note"><%=a.getSource() == Annotation.Source.CLONED ? "Cloned" + (isUpToDate ? "; up-to-date" : "; modified") : "" %></tbl:cell>
     354                      <tbl:cell column="lastModified" value="<%=lastModified %>" />
    350355                    </tbl:row>
    351356                    <%
  • trunk/www/views/experiments/view_experiment.jsp

    r6942 r6962  
    556556                        factorValuesCount.put(at, factorValuesCount.get(at)+1);
    557557                        List values = a.getActualValues();
     558                        boolean isUpToDate = a.isUpToDate();
    558559                        usedFactorValues.get(at).addAll(values);
    559560                        %>
     
    567568                          data-annotation="<%=a.getThisAnnotationId()%>"
    568569                          visible="<%=writePermission%>"
    569                           image="edit.png"
     570                          image="<%=isUpToDate ? "edit.png" : "edit-outofsync.png"%>"
    570571                          tooltip="Modify the values of this experimental factor"
    571572                        />
Note: See TracChangeset for help on using the changeset viewer.