docs: @Override
    protected IncomingDataPoint getDataPointFromString(final TSDB tsdb, 
                                                       final String[] words) {
      final RollUpDataPoint dp = new RollUpDataPoint();
      
      final String interval_agg = words[TelnetIndex.INTERVAL_AGG.ordinal()];
      String interval = null;
      String temporal_agg = null;
      String spatial_agg = null;
      // if the interval_agg has a - in it, then it's an interval. If there's a :
      // then it is both. If no dash or colon then it's just a spatial agg.
      final String[] interval_parts = interval_agg.split(":");
      final int dash = interval_parts[0].indexOf("-");
      if (dash > -1) {
        interval = interval_parts[0].substring(0,dash);
        temporal_agg = interval_parts[0].substring(dash + 1);
        
      } else if (interval_parts.length == 1) {
        spatial_agg = interval_parts[0];
      } 
      if (interval_parts.length > 1) {
        spatial_agg = interval_parts[1];
      }
      dp.setInterval(interval);
      dp.setAggregator(temporal_agg);
      dp.setGroupByAggregator(spatial_agg);
      
      dp.setMetric(words[TelnetIndex.METRIC.ordinal()]);
      
      if (words[TelnetIndex.TIMESTAMP.ordinal()].contains(".")) {
        dp.setTimestamp(Tags.parseLong(words[TelnetIndex.TIMESTAMP.ordinal()]
            .replace(".", ""))); 
      } else {
        dp.setTimestamp(Tags.parseLong(words[TelnetIndex.TIMESTAMP.ordinal()]));
      }
      
      dp.setValue(words[TelnetIndex.VALUE.ordinal()]);
      
      final HashMap<String, String> tags = new HashMap<String, String>();
      for (int i = TelnetIndex.TAGS.ordinal(); i < words.length; i++) {
        if (!words[i].isEmpty()) {
          Tags.parse(tags, words[i]);
        }
      }
      dp.setTags(tags);
      return dp;
    }