Ejemplo n.º 1
0
  private void writeGraph(XMLStreamWriter xmlWriter, HierarchicalGraph graph) throws Exception {
    xmlWriter.writeStartElement(GRAPH);
    xmlWriter.writeAttribute(
        GRAPH_DEFAULT_EDGETYPE,
        graph instanceof DirectedGraph
            ? "directed"
            : graph instanceof UndirectedGraph ? "undirected" : "mixed");

    if (exportDynamic) {
      if (!Double.isInfinite(visibleInterval.getLow())) {
        String intervalLow = formatTime(visibleInterval.getLow());
        xmlWriter.writeAttribute(GRAPH_START, intervalLow);
      }
      if (!Double.isInfinite(visibleInterval.getHigh())) {
        String intervalHigh = formatTime(visibleInterval.getHigh());
        xmlWriter.writeAttribute(GRAPH_END, intervalHigh);
      }
      String timeFormat =
          dynamicModel.getTimeFormat().equals(DynamicModel.TimeFormat.DATE) ? "date" : "double";
      xmlWriter.writeAttribute(GRAPH_TIMEFORMAT, timeFormat);
    }
    xmlWriter.writeAttribute(GRAPH_MODE, exportDynamic ? "dynamic" : "static");

    writeAttributes(xmlWriter, attributeModel.getNodeTable());
    writeAttributes(xmlWriter, attributeModel.getEdgeTable());
    writeNodes(xmlWriter, graph);
    writeEdges(xmlWriter, graph);

    xmlWriter.writeEndElement();
  }
Ejemplo n.º 2
0
 private String formatTime(double time) {
   if (dynamicModel.getTimeFormat().equals(DynamicModel.TimeFormat.DATE)) {
     String t = DynamicUtilities.getXMLDateStringFromDouble(time);
     if (t.endsWith("T00:00:00.000")) {
       t = t.substring(0, t.length() - 13);
     }
     return t;
   } else {
     return Double.toString(time);
   }
 }