コード例 #1
0
 protected String getRawHeaderString() {
   StringBuffer html = new StringBuffer();
   List<Object> headers = element.getHeader();
   if (headers != null) {
     for (int i = 0; i < headers.size(); i++) {
       String head = ((String) headers.get(i)).replaceAll("'", "");
       String hs[] = head.split(":");
       headerIndexToTypeMap.put(i, hs[0]);
       html.append("data.addColumn('" + hs[0] + "', '" + hs[1] + "');\n");
     }
   }
   return html.toString();
 }
コード例 #2
0
 protected String getSimpleProcessedHeaderString() {
   StringBuffer toReturn = new StringBuffer();
   StringBuffer html = new StringBuffer();
   String keyColumn = "";
   String timeColumn = "";
   List<Object> headers = element.getHeader();
   if (headers != null) {
     for (int i = 0; i < headers.size(); i++) {
       String head = ((String) headers.get(i)).replaceAll("'", "");
       String hs[] = head.split(":");
       headerIndexToTypeMap.put(i, hs[0]);
       if (hs[0].equalsIgnoreCase("string"))
         keyColumn = keyColumn + "data.addColumn('string','" + hs[1] + "');\n";
       else if (hs[0].equalsIgnoreCase("datetime"))
         timeColumn = "data.addColumn('datetime','Time');\n";
       else html.append("data.addColumn('" + hs[0] + "', '" + hs[1] + "');\n");
     }
   }
   if (timeColumn != null && !timeColumn.isEmpty()) toReturn.append(timeColumn);
   if (keyColumn != null && !keyColumn.isEmpty()) toReturn.append(keyColumn);
   toReturn.append(html);
   return toReturn.toString();
 }
コード例 #3
0
  private void normalizeData() {
    List<Object> headers = element.getHeader();
    if (headers != null) {
      for (int i = 0; i < headers.size(); i++) {
        String head = ((String) headers.get(i)).replaceAll("'", "");
        String hs[] = head.split(":");
        headerIndexToTypeMap.put(i, hs[0]);
        indexToName.put(i, hs[1]);
      }
    }
    List<List<Object>> rows = element.getData();
    if (rows == null) return;
    int maxIndex = 0;
    for (List<Object> row : rows) {
      String keyColumn = "";
      Date timeStamp = null;
      int keyCount = 0;
      int timeCount = 0;
      List<Object> tempRow = new ArrayList<Object>();
      for (int i = 0; i < row.size(); i++) {
        Object column = row.get(i);
        String dataType = headerIndexToTypeMap.get(i);
        if (dataType.equalsIgnoreCase(DashboardConstants.STRING)) {
          keyColumn = keyColumn + "_" + column.toString();
          keyCount++;
        } else if (dataType.equalsIgnoreCase(DashboardConstants.DATETIME)) {
          timeCount++;
          try {
            timeStamp = sdf.parse(column.toString());
          } catch (ParseException e) {
            e.printStackTrace();
          }
        } else {
          tempRow.add(i + ":" + column);
        }
      }

      if (timeSeriesChart == false && timeCount > 0) timeSeriesChart = true;
      if (isSimpleDataSet == true && keyCount > 1) isSimpleDataSet = false;

      if (timeSeriesChart) isSimpleDataSet = false;

      for (Object r : tempRow) {
        String patterns[] = r.toString().split(":");
        int index = Integer.parseInt(patterns[0]);
        String headerName = indexToName.get(index);
        String lookupKey = keyColumn + "_" + headerName;

        Integer ind = newHeaderToIndex.get(lookupKey);
        if (ind == null) {
          ind = maxIndex;
          newHeaderToIndex.put(lookupKey, maxIndex++);
        }

        if (timeSeriesChart) {
          Object rsd[] = timeSeries.get(timeStamp.getTime());
          if (rsd == null) {
            rsd = new Object[100];
            timeSeries.put(timeStamp.getTime(), rsd);
          }
          rsd[ind] = patterns[1];
        } else {
          Object rsd[] = keySeries.get(keyColumn);
          if (rsd == null) {
            rsd = new Object[100];
            keySeries.put(keyColumn, rsd);
          }
          rsd[ind] = patterns[1];
        }
      }
    }
  }