Exemplo n.º 1
0
 private void generateDefaultSorting(ColumnType column) {
   if (column.getName().equals(ILguiItem.JOB_ID)
       || column.getName().equals(ILguiItem.JOB_OWNER)
       || column.getName().equals(ILguiItem.JOB_QUEUE_NAME)
       || column.getName().equals(ILguiItem.JOB_STATUS)) {
     column.setSort(SortingType.ALPHA);
   } else if (column.getName().equals(ILguiItem.JOB_WALL)
       || column.getName().equals(ILguiItem.JOB_TOTAL_CORES)) {
     column.setSort(SortingType.NUMERIC);
   } else {
     column.setSort(SortingType.DATE);
   }
 }
Exemplo n.º 2
0
  /**
   * Forwards new information for the jobs to the jobstatus instances, which are afterwards saved
   * via Memento within the monitor.core plug-in. This function stores all additional information
   * provided by lml_da in each jobStatusData instance.
   */
  public void forwardRowToJobData() {
    final JobStatusData[] userJobs = lguiItem.getUserJobs();
    final Set<String> userNames = new HashSet<String>();
    for (final JobStatusData jobStatus : userJobs) {
      userNames.add(jobStatus.getString(JobStatusData.OWNER_ATTR));
    }

    // Traverse all tables
    for (final TableType table : getTables()) {
      // Get extended rows with attached jobStatusData
      final Row[] rows =
          getTableDataWithColor(
              table.getId(), false); // Contains extended rows with additional data
      for (int i = 0; i < rows.length; i++) {
        if (rows[i].status == null) { // If there is no jobstatusdata, do not add additional data
          continue;
        }
        if (!userNames.contains(rows[i].status.getString(JobStatusData.OWNER_ATTR))) {
          continue;
        }

        final RowType rawRow = table.getRow().get(i); // The actual row from LML data
        // Iterate over all columns and save their key value pairs
        // into the jobstatus instances
        for (final ColumnType column : table.getColumn()) {
          final String columnName = column.getName();
          final String value = getCellValue(table, rawRow, columnName);
          if (value != null) {
            rows[i].status.putString(columnName, value);
          }
        }
      }
    }
  }
Exemplo n.º 3
0
 private BigInteger getColumnIndex(TableType table, String colName) {
   if (table != null) {
     for (final ColumnType column : table.getColumn()) {
       if (colName.equals(column.getName())) {
         return column.getId();
       }
     }
   }
   return null;
 }
Exemplo n.º 4
0
  public Row[] getTableDataWithColor(
      String gid, boolean addColor, List<IPattern> filterTitlesValues) {
    final Row[] rows = getTableDataWithColor(gid, addColor);
    if (rows.length == 0) {
      return rows;
    }
    final BigInteger[] cids = getCids(gid);
    final TableType table = getTable(gid);

    // Convert Map filterTitlesValues into Map filterPosValues
    final Map<Integer, IPattern> filterPosValues = new HashMap<Integer, IPattern>();
    for (final IPattern pattern : filterTitlesValues) {
      BigInteger cid = BigInteger.valueOf(-1);
      for (final ColumnType column : table.getColumn()) {
        if (column.getName().equals(pattern.getColumnTitle())) {
          cid = column.getId();
          break;
        }
      }
      if (cid.equals(BigInteger.valueOf(-1))) {
        continue;
      }
      int position = -1;
      for (int i = 0; i < cids.length; i++) {
        if (cids[i].equals(cid)) {
          position = i;
          break;
        }
      }
      if (position == -1) {
        continue;
      }

      filterPosValues.put(position, pattern);
    }

    // Filter the rows
    final List<Row> filterRows = new ArrayList<Row>();
    for (final Row row : rows) {
      boolean allIncluded = true;
      for (final int position : filterPosValues.keySet()) {

        if (row.cells[position] == null) {
          continue;
        }
        final IPattern pattern = filterPosValues.get(position);
        final String rowValue = row.cells[position].value;

        if (rowValue.equals(ILMLCoreConstants.QM)) {
          allIncluded = false;
          continue;
        }

        final String type = pattern.getType();

        if (pattern.isRange()) {
          // Range
          final String minValue = pattern.getMinValueRange();
          final String maxValue = pattern.getMaxValueRange();
          if (type.equals(ILMLCoreConstants.TABLECOLUMN_NUMERIC)) {
            if ((Integer.valueOf(rowValue) < Integer.valueOf(minValue))
                || (Integer.valueOf(maxValue) < Integer.valueOf(rowValue))) {
              allIncluded = false;
              break;
            }
          } else {
            if (rowValue.compareTo(minValue) < 0 || maxValue.compareTo(rowValue) < 0) {
              allIncluded = false;
              break;
            }
          }
        } else if (pattern.isRelation()) {
          // Relation
          final String compareValue = pattern.getRelationValue();
          final String compareOperator = pattern.getRelationOperator();
          if (type.equals(ILMLCoreConstants.TABLECOLUMN_NUMERIC)) {
            final int rowValueInt = Integer.valueOf(rowValue);
            final int compareValueInt = Integer.valueOf(compareValue);
            if (compareOperator.equals(ILMLCoreConstants.EQ) && rowValueInt != compareValueInt) {
              allIncluded = false;
              break;
            } else if (compareOperator.equals(ILMLCoreConstants.NEQ)
                && rowValueInt == compareValueInt) {
              allIncluded = false;
              break;
            } else if (compareOperator.equals(ILMLCoreConstants.LT)
                && rowValueInt >= compareValueInt) {
              allIncluded = false;
              break;
            } else if (compareOperator.equals(ILMLCoreConstants.LE)
                && rowValueInt > compareValueInt) {
              allIncluded = false;
              break;
            } else if (compareOperator.equals(ILMLCoreConstants.GT)
                && rowValueInt <= compareValueInt) {
              allIncluded = false;
              break;
            } else if (compareOperator.equals(ILMLCoreConstants.GE)
                && rowValueInt < compareValueInt) {
              allIncluded = false;
              break;
            }
          } else {
            if ((compareOperator.equals(ILMLCoreConstants.EQ) && !compareValue.equals(rowValue))
                || (compareOperator.equals(ILMLCoreConstants.NEQ)
                    && compareValue.equals(rowValue))) {
              allIncluded = false;
              break;
            } else if (type.equals(ILMLCoreConstants.TABLECOLUMN_ALPHA)) {
              if ((compareOperator.equals(ILMLCoreConstants.SI) && !rowValue.contains(compareValue))
                  || (compareOperator.equals(ILMLCoreConstants.NSI)
                      && rowValue.contains(compareValue))) {
                allIncluded = false;
                break;
              }
            } else if (type.equals(ILMLCoreConstants.TABLECOLUMN_DATE)) {
              if (compareOperator.equals(ILMLCoreConstants.LT)
                  && rowValue.compareTo(compareValue) >= 0) {
                allIncluded = false;
                break;
              } else if (compareOperator.equals(ILMLCoreConstants.LE)
                  && rowValue.compareTo(compareValue) > 0) {
                allIncluded = false;
                break;
              } else if (compareOperator.equals(ILMLCoreConstants.GT)
                  && rowValue.compareTo(compareValue) <= 0) {
                allIncluded = false;
                break;
              } else if (compareOperator.equals(ILMLCoreConstants.GE)
                  && rowValue.compareTo(compareValue) < 0) {
                allIncluded = false;
                break;
              }
            }
          }
        }
      }
      if (allIncluded) {
        filterRows.add(row);
      }
    }

    return filterRows.toArray(new Row[filterRows.size()]);
  }