Beispiel #1
0
  public void testLocalRoots() throws Exception {

    Graph graph = MemoryGraphFactory.getInstance().openGraph();

    assertEquals(XdiLocalRoot.findLocalRoot(graph).getContextNode(), graph.getRootContextNode());
    assertEquals(
        XdiLocalRoot.findLocalRoot(graph).getContextNode().getXri(), XDIConstants.XRI_S_CONTEXT);

    graph.close();
  }
Beispiel #2
0
  private static String makeJSON(Graph graph) {

    StringBuffer buffer = new StringBuffer();

    buffer.append("var treeData = \n");
    addContextNodeToBuffer(buffer, graph.getRootContextNode(true));
    buffer.append(";\n");

    buffer.append("var relData = \n");
    addRelationsToBuffer(buffer, graph.getRootContextNode(true).getAllRelations());
    buffer.append(";\n");

    return buffer.toString();

    /*		StringWriter writer = new StringWriter();

    new XDIJSONWriter(null).write(graph, writer);

    return writer.getBuffer().toString();*/
  }
Beispiel #3
0
  @Override
  protected void doPost(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {

    request.setCharacterEncoding("UTF-8");
    response.setCharacterEncoding("UTF-8");

    String input = request.getParameter("input");
    String type = request.getParameter("type");
    String graphId = null;
    String stats = "-1";
    String error = null;

    XDIReader xdiReader = XDIReaderRegistry.getAuto();
    Graph graph = graphFactory.openGraph();

    long start = System.currentTimeMillis();

    try {

      xdiReader.read(graph, new StringReader(input));

      graphId = UUID.randomUUID().toString();

      ImageCache.put(graphId, makeImage(graph, type));
      JSONCache.put(graphId, makeJSON(graph));
    } catch (Exception ex) {

      ex.printStackTrace(System.err);
      error = ex.getMessage();
      if (error == null) error = ex.getClass().getName();
    }

    long stop = System.currentTimeMillis();

    stats = "";
    stats += Long.toString(stop - start) + " ms time. ";
    stats +=
        Long.toString(graph.getRootContextNode(true).getAllContextNodeCount() + 1)
            + " context nodes. ";
    stats += Long.toString(graph.getRootContextNode(true).getAllRelationCount()) + " relations. ";
    stats += Long.toString(graph.getRootContextNode(true).getAllLiteralCount()) + " literals. ";
    stats += Long.toString(graph.getRootContextNode(true).getAllStatementCount()) + " statements. ";
    if (xdiReader != null)
      stats +=
          "Input format: "
              + xdiReader.getFormat()
              + ((xdiReader instanceof AutoReader
                      && ((AutoReader) xdiReader).getLastSuccessfulReader() != null)
                  ? " (" + ((AutoReader) xdiReader).getLastSuccessfulReader().getFormat() + ")"
                  : "")
              + ". ";

    graph.close();

    // display results

    request.setAttribute("sampleInputs", Integer.valueOf(sampleInputs.size()));
    request.setAttribute("input", input);
    request.setAttribute("type", type);
    request.setAttribute("graphId", graphId);
    request.setAttribute("stats", stats);
    request.setAttribute("error", error);

    request.getRequestDispatcher("/XDIGrapher.jsp").forward(request, response);
  }
Beispiel #4
0
  @Override
  protected void doPost(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {

    String from = request.getParameter("from");
    String input = request.getParameter("input");
    String output = "";
    String stats = "-1";
    String error = null;

    XDIReader xdiReader = XDIReaderRegistry.forFormat(from, null);
    Graph graph = graphFactory.openGraph();

    try {

      xdiReader.read(graph, new StringReader(input));

      output = "Success!\n";
      /*			output += Integer.toString(Constraints.getAllConstraintCount(graph)) + " constraints found.\n";
      output += Integer.toString(Versioning.getAllVersionListCount(graph)) + " version lists, ";
      output += Integer.toString(Versioning.getAllVersionSnapshotCount(graph)) + " version snapshots and ";
      output += Integer.toString(Versioning.getAllVersionLogCount(graph)) + " version logs found.\n";
      output += Integer.toString(LinkContracts.getAllLinkContractRootCount(graph)) + " link contract roots found. ";
      output += Integer.toString(LinkContracts.getAllLinkContractCount(graph)) + " link contracts found.\n";
      output += Integer.toString(Signatures.getAllSignatureCount(graph)) + " signatures found.";*/
    } catch (Exception ex) {

      log.error(ex.getMessage(), ex);
      error = ex.getMessage();
      if (error == null) error = ex.getClass().getName();
    }

    stats = "";
    stats +=
        Long.toString(graph.getRootContextNode(true).getAllContextNodeCount() + 1)
            + " context nodes. ";
    stats += Long.toString(graph.getRootContextNode(true).getAllRelationCount()) + " relations. ";
    stats += Long.toString(graph.getRootContextNode(true).getAllLiteralCount()) + " literals. ";
    stats += Long.toString(graph.getRootContextNode(true).getAllStatementCount()) + " statements. ";
    if (xdiReader != null)
      stats +=
          "Input format: "
              + xdiReader.getFormat()
              + ((xdiReader instanceof AutoReader
                      && ((AutoReader) xdiReader).getLastSuccessfulReader() != null)
                  ? " (" + ((AutoReader) xdiReader).getLastSuccessfulReader().getFormat() + ")"
                  : "")
              + ". ";

    graph.close();

    // display results

    request.setAttribute("sampleInputs", Integer.valueOf(sampleInputs.size()));
    request.setAttribute("from", from);
    request.setAttribute("input", input);
    request.setAttribute("output", output);
    request.setAttribute("stats", stats);
    request.setAttribute("error", error);

    request.getRequestDispatcher("/XDIValidator.jsp").forward(request, response);
  }
Beispiel #5
0
  public void testTypes() throws Exception {

    Graph graph = MemoryGraphFactory.getInstance().openGraph();
    ContextNode contextNode = graph.getRootContextNode().setContextNode(XDIArc.create("=markus"));

    XDIAddress type1 = XDIAddress.create("#employee");
    XDIAddress type2 = XDIAddress.create("#person");
    XDIAddress type3 = XDIAddress.create("#developer");

    Dictionary.setContextNodeType(contextNode, type1);
    assertEquals(Dictionary.getContextNodeType(contextNode), type1);
    assertEquals(new IteratorCounter(Dictionary.getContextNodeTypes(contextNode)).count(), 1);
    assertTrue(
        new IteratorContains<XDIAddress>(Dictionary.getContextNodeTypes(contextNode), type1)
            .contains());
    assertTrue(Dictionary.isContextNodeType(contextNode, type1));

    Dictionary.setContextNodeType(contextNode, type2);
    assertEquals(new IteratorCounter(Dictionary.getContextNodeTypes(contextNode)).count(), 2);
    assertTrue(
        new IteratorContains<XDIAddress>(Dictionary.getContextNodeTypes(contextNode), type1)
            .contains());
    assertTrue(
        new IteratorContains<XDIAddress>(Dictionary.getContextNodeTypes(contextNode), type2)
            .contains());
    assertTrue(Dictionary.isContextNodeType(contextNode, type1));
    assertTrue(Dictionary.isContextNodeType(contextNode, type2));

    Dictionary.setContextNodeType(contextNode, type3);
    assertEquals(new IteratorCounter(Dictionary.getContextNodeTypes(contextNode)).count(), 3);
    assertTrue(
        new IteratorContains<XDIAddress>(Dictionary.getContextNodeTypes(contextNode), type1)
            .contains());
    assertTrue(
        new IteratorContains<XDIAddress>(Dictionary.getContextNodeTypes(contextNode), type2)
            .contains());
    assertTrue(
        new IteratorContains<XDIAddress>(Dictionary.getContextNodeTypes(contextNode), type3)
            .contains());
    assertTrue(Dictionary.isContextNodeType(contextNode, type1));
    assertTrue(Dictionary.isContextNodeType(contextNode, type2));
    assertTrue(Dictionary.isContextNodeType(contextNode, type3));

    Dictionary.delContextNodeType(contextNode, type2);
    assertEquals(new IteratorCounter(Dictionary.getContextNodeTypes(contextNode)).count(), 2);
    assertTrue(
        new IteratorContains<XDIAddress>(Dictionary.getContextNodeTypes(contextNode), type1)
            .contains());
    assertFalse(
        new IteratorContains<XDIAddress>(Dictionary.getContextNodeTypes(contextNode), type2)
            .contains());
    assertTrue(
        new IteratorContains<XDIAddress>(Dictionary.getContextNodeTypes(contextNode), type3)
            .contains());
    assertTrue(Dictionary.isContextNodeType(contextNode, type1));
    assertFalse(Dictionary.isContextNodeType(contextNode, type2));
    assertTrue(Dictionary.isContextNodeType(contextNode, type3));

    Dictionary.replaceContextNodeType(contextNode, type3);
    assertEquals(Dictionary.getContextNodeType(contextNode), type3);
    assertEquals(new IteratorCounter(Dictionary.getContextNodeTypes(contextNode)).count(), 1);
    assertFalse(
        new IteratorContains<XDIAddress>(Dictionary.getContextNodeTypes(contextNode), type1)
            .contains());
    assertFalse(
        new IteratorContains<XDIAddress>(Dictionary.getContextNodeTypes(contextNode), type2)
            .contains());
    assertTrue(
        new IteratorContains<XDIAddress>(Dictionary.getContextNodeTypes(contextNode), type3)
            .contains());
    assertFalse(Dictionary.isContextNodeType(contextNode, type1));
    assertFalse(Dictionary.isContextNodeType(contextNode, type2));
    assertTrue(Dictionary.isContextNodeType(contextNode, type3));

    graph.close();
  }