private synchronized void read(Graph graph, byte[] byteArray) throws Xdi2ParseException { for (XDIReader xdiReader : readers) { if (xdiReader instanceof AutoReader) continue; try { graph.clear(); xdiReader.read(graph, new ByteArrayInputStream(byteArray)); this.lastSuccessfulReader = xdiReader; return; } catch(Exception ex) { continue; } } this.lastSuccessfulReader = null; throw new Xdi2ParseException("Unknown serialization format."); }
private synchronized void read(Graph graph, String string) throws Xdi2ParseException { for (XDIReader xdiReader : readers) { if (xdiReader instanceof AutoReader) continue; try { graph.clear(); xdiReader.read(graph, new StringReader(string)); this.lastSuccessfulReader = xdiReader; return; } catch(Exception ex) { continue; } } this.lastSuccessfulReader = null; throw new Xdi2ParseException("Unknown serialization format."); }
private void readGraph(ExecutionContext executionContext) throws Xdi2MessagingException { XDIReader xdiReader = XDIReaderRegistry.forFormat(this.mimeType, null); if (xdiReader == null) throw new Xdi2MessagingException("Cannot read this format: " + this.mimeType, null, executionContext); Graph graph = this.getGraph(); graph.clear(); FileReader reader = null; try { File file = new File(this.path); reader = new FileReader(file); xdiReader.read(graph, reader); reader.close(); } catch (FileNotFoundException ex) { } catch (Exception ex) { throw new Xdi2MessagingException("Cannot read file: " + ex.getMessage(), ex, executionContext); } finally { if (reader != null) { try { reader.close(); } catch (Exception ex) { } } } if (xdiReader instanceof AutoReader) this.mimeType = ((AutoReader) xdiReader).getLastSuccessfulReader().getFormat(); if (this.mimeType == null) this.mimeType = XDIWriterRegistry.getDefault().getFormat(); }
graph.clear(); xdiReader.read(graph, new StringReader(graphstring)); } catch (Xdi2ParseException ex) {
XDIWriterRegistry.forFormat("XDI/JSON", null).write(graph10, buffer1); XDIWriterRegistry.forFormat("XDI DISPLAY", null).write(graph11, buffer2); graph10.clear(); graph11.clear(); XDIReaderRegistry.forFormat("XDI/JSON", null).read(graph10, new StringReader(buffer1.toString())); XDIReaderRegistry.forFormat("XDI DISPLAY", null).read(graph11, new StringReader(buffer2.toString()));
@Override public void executeDelOnAddress(XDIAddress targetXDIAddress, DelOperation operation, Graph operationResultGraph, ExecutionContext executionContext) throws Xdi2MessagingException { if (XDIConstants.XDI_ADD_ROOT.equals(targetXDIAddress)) { this.getGraph().clear(); } else if (targetXDIAddress.getNumXDIArcs() == 1) { this.getGraph().getRootContextNode(false).delContextNode(targetXDIAddress.getFirstXDIArc()); } else { XDIAddress parentContextNodeXDIAddress = XDIAddressUtil.parentXDIAddress(targetXDIAddress, -1); XDIArc XDIarc = targetXDIAddress.getLastXDIArc(); ContextNode parentContextNode = this.getGraph().getDeepContextNode(parentContextNodeXDIAddress, false); if (parentContextNode == null) return; if (XDIConstants.XDI_ARC_LITERAL.equals(XDIarc)) { parentContextNode.delLiteralNode(); } else { parentContextNode.delContextNode(XDIarc); } } }
assertTrue(graph32.containsStatement(XDIStatement.create("//=a"))); assertTrue(graph32.containsStatement(XDIStatement.create("=a/#b/(=a/#b)"))); graph32.clear(); assertTrue(graph32.containsStatement(XDIStatement.create("//(=a/)"))); assertTrue(graph32.containsStatement(XDIStatement.create("//=a"))); graph32.clear(); assertTrue(graph32.containsStatement(XDIStatement.create("//(/#b)"))); assertTrue(graph32.containsStatement(XDIStatement.create("/#b/(/#b)"))); graph32.clear(); graph32.clear(); graph32.clear(); graph32.clear();
public void testDelRelationDelInnerRoot() throws Exception { Graph graph33 = this.getGraphFactory().openGraph(this.getClass().getName() + "-graph-33"); graph33.getRootContextNode().setContextNode(XDIArc.create("(=a/#b)")); assertEquals(graph33.getAllStatementCount(), 3); graph33.getRootContextNode().getContextNode(XDIArc.create("=a")).delRelations(XDIAddress.create("#b")); assertEquals(graph33.getAllStatementCount(), 1); assertFalse(graph33.containsStatement(XDIStatement.create("//(=a/#b)"))); assertTrue(graph33.containsStatement(XDIStatement.create("//=a"))); assertFalse(graph33.containsStatement(XDIStatement.create("=a/#b/(=a/#b)"))); graph33.clear(); graph33.getRootContextNode().setContextNode(XDIArc.create("(/#b)")); assertEquals(graph33.getAllStatementCount(), 2); graph33.getRootContextNode().delRelations(XDIAddress.create("#b")); assertEquals(graph33.getAllStatementCount(), 0); assertFalse(graph33.containsStatement(XDIStatement.create("//(/#b)"))); assertFalse(graph33.containsStatement(XDIStatement.create("/#b/(/#b)"))); graph33.clear(); graph33.close(); }