Changeset 7488


Ignore:
Timestamp:
May 28, 2018, 9:14:39 AM (5 years ago)
Author:
Nicklas Nordborg
Message:

Fixes #2121: Display more information in synchronization filters

Fixed for the platofrm, biowell and parentType filters.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/3.12-stable/src/core/net/sf/basedb/util/formatter/PropertyFilterFormatter.java

    r7487 r7488  
    112112      sb.append(")");
    113113    }
    114     else if (property.equals("itemSubtype") || property.endsWith(".itemSubtype"))
    115     {
    116       // Special handling to display name of subtype
     114    else if (property.equals("bioWell.row") || property.equals("bioWell.column"))
     115    {
     116      WellCoordinateFormatter formatter = new WellCoordinateFormatter(property.equals("bioWell.row"));
    117117      sb.append(property).append(" ").append(operator).append(" ");
    118       List<Object> subtypes = filter.getValuesAsObjects();
    119       if (subtypes.size() > 1) sb.append("(");
    120       if (subtypes.size() == 0) sb.append("null");
     118      List<Object> selected = filter.getValuesAsObjects();
     119      if (selected.size() > 1) sb.append("(");
     120      if (selected.size() == 0) sb.append("null");
    121121      String sep = "";
    122       for (Object id : subtypes)
     122      for (Object index : selected)
    123123      {
    124124        sb.append(sep);
    125125        sep = ", ";
    126         sb.append(nameOfItem(dc, Item.ITEMSUBTYPE, (Integer)id, true));
    127       }
    128       if (subtypes.size() > 1) sb.append(")");
     126        sb.append(formatter.format((Integer)index));
     127      }
     128      if (selected.size() > 1) sb.append(")");
     129    }
     130    else if (property.equals("parentType"))
     131    {
     132      sb.append(property).append(" ").append(operator).append(" ");
     133      List<Object> selected = filter.getValuesAsObjects();
     134      if (selected.size() > 1) sb.append("(");
     135      if (selected.size() == 0) sb.append("null");
     136      String sep = "";
     137      for (Object index : selected)
     138      {
     139        sb.append(sep);
     140        sep = ", ";
     141        sb.append(Item.fromValue((Integer)index).toString());
     142      }
     143      if (selected.size() > 1) sb.append(")");
    129144    }
    130145    else
    131146    {
    132       if (property.startsWith("&") || property.startsWith("@") || property.startsWith("!"))
    133       {
    134         property = property.substring(1);
    135       }
    136       sb.append(property).append(" ").append(operator).append(" ");
    137       if (operator.isListOperator() && value != null)
    138       {
    139         appendListOfValues(sb, value, quote);
     147      Item nameOfItemType = null;
     148      if (property.equals("itemSubtype") || property.endsWith(".itemSubtype"))
     149      {
     150        // Special handling to display name of subtype
     151        nameOfItemType = Item.ITEMSUBTYPE;
     152      }
     153      else if (property.equals("platform"))
     154      {
     155        // Special handling to display name of platform
     156        nameOfItemType = Item.PLATFORM;
     157      }
     158      if (nameOfItemType != null)
     159      {
     160        sb.append(property).append(" ").append(operator).append(" ");
     161        List<Object> itemIds = filter.getValuesAsObjects();
     162        if (itemIds.size() > 1) sb.append("(");
     163        if (itemIds.size() == 0) sb.append("null");
     164        String sep = "";
     165        for (Object id : itemIds)
     166        {
     167          sb.append(sep);
     168          sep = ", ";
     169          sb.append(nameOfItem(dc, nameOfItemType, (Integer)id, true));
     170        }
     171        if (itemIds.size() > 1) sb.append(")");
    140172      }
    141173      else
    142174      {
    143         if (filter.getValueType().isTemporal())
    144         {
    145           value = dateFormatter.format((Date)Type.DATE.parseString(value));
    146         }
    147         sb.append(quote).append(value).append(quote);
     175        if (property.startsWith("&") || property.startsWith("@") || property.startsWith("!"))
     176        {
     177          property = property.substring(1);
     178        }
     179        sb.append(property).append(" ").append(operator).append(" ");
     180        if (operator.isListOperator() && value != null)
     181        {
     182          appendListOfValues(sb, value, quote);
     183        }
     184        else
     185        {
     186          if (filter.getValueType().isTemporal())
     187          {
     188            value = dateFormatter.format((Date)Type.DATE.parseString(value));
     189          }
     190          sb.append(quote).append(value).append(quote);
     191        }
    148192      }
    149193    }
Note: See TracChangeset for help on using the changeset viewer.