@Override public LiteralNode setLiteralData(Object literalData) { return this.getContextNode().setLiteralNode(literalData); }
/** * Copies a literal into another context node. * @param literalNode A literal from any context node. * @param targetContextNode The target context node. * @param copyStrategy The strategy to determine what to copy. * @return The copied literal in the target context node. */ public static LiteralNode copyLiteralNode(LiteralNode literalNode, ContextNode targetContextNode, CopyStrategy copyStrategy) { if (literalNode == null) throw new NullPointerException(); if (targetContextNode == null) throw new NullPointerException(); if (copyStrategy == null) copyStrategy = DEFAULT_COPY_STRATEGY; if ((literalNode = copyStrategy.replaceLiteralNode(literalNode)) == null) return null; Object literalData = literalNode.getLiteralData(); LiteralNode targetLiteral = targetContextNode.setLiteralNode(literalData); return targetLiteral; }
/** * Creates a literal from its components. * @param contextNodeXDIAddress The address of the context node containing the literal. * @param literalData The literal data of the literal. * @return A literal. */ public static LiteralNode literalFromComponents(XDIAddress contextNodeXDIAddress, Object literalData) { Graph graph = MemoryGraphFactory.getInstance().openGraph(); return graph.setDeepContextNode(contextNodeXDIAddress).setLiteralNode(literalData); }
@Override public List<ContextNode> replaceContextNode(ContextNode contextNode) { Relation relation = contextNode.getRelation(XDIConstants.XDI_ADD_LITERAL_VARIABLE); if (relation == null) return null; XDIAddress targetXDIAddress = relation.getTargetXDIAddress(); if (targetXDIAddress.getNumXDIArcs() > 1) return null; Object replacement = this.replacements.get(targetXDIAddress.getFirstXDIArc()); ContextNode replacedContextNode = CloneUtil.cloneContextNode(contextNode); replacedContextNode.delRelations(XDIConstants.XDI_ADD_LITERAL_VARIABLE); replacedContextNode.delLiteralNode(); replacedContextNode.setLiteralNode(replacement); if (log.isTraceEnabled()) log.trace("Replaced " + targetXDIAddress + " with " + replacement); return Collections.singletonList(replacedContextNode); } }
@Override public void executeSetOnLiteralStatement(XDIStatement literalStatement, SetOperation operation, Graph operationResultGraph, ExecutionContext executionContext) throws Xdi2MessagingException { XDIAddress contextNodeXDIAddress = literalStatement.getContextNodeXDIAddress(); Object literalData = literalStatement.getLiteralData(); ContextNode contextNode = this.getGraph().getDeepContextNode(contextNodeXDIAddress); if (contextNode == null) return; contextNode.setLiteralNode(literalData); }
@Override public Node setDeepNode(XDIAddress relativeNodeXDIAddress) { if (relativeNodeXDIAddress == null) return this; if (XDIConstants.XDI_ADD_ROOT.equals(relativeNodeXDIAddress)) return this; ContextNode contextNode = this; for (XDIArc contextNodeXDIArc : relativeNodeXDIAddress.getContextNodeXDIAddress().getXDIArcs()) { contextNode = contextNode.setContextNode(contextNodeXDIArc); } if (relativeNodeXDIAddress.isLiteralNodeXDIAddress()) { return contextNode.setLiteralNode(null); } else { return contextNode; } }
LiteralNode literalNode = contextNode.setLiteralNode(literalData); if (log.isTraceEnabled()) log.trace("Under " + contextNode.getXDIAddress() + ": Set literal --> " + literalNode.getLiteralData()); } else if (key.startsWith("/")) {
public static void setVariableValue(XdiEntity variableValuesXdiEntity, XDIArc variableValueXDIArc, Object variableValue) { if (variableValuesXdiEntity == null) return; if (variableValue instanceof List<?>) { for (Object variableValueListValue : ((List<?>) variableValue)) { setVariableValue(variableValuesXdiEntity, variableValueXDIArc, variableValueListValue); } return; } if (variableValue instanceof XDIArc) { variableValue = XDIAddress.fromComponent((XDIArc) variableValue); } if (variableValue instanceof XDIAddress) { Equivalence.setIdentityContextNode(variableValuesXdiEntity.getContextNode().setContextNode(variableValueXDIArc), (XDIAddress) variableValue); } else { variableValuesXdiEntity.getContextNode().setContextNode(variableValueXDIArc).setLiteralNode(variableValue); } }
LiteralNode literalNode = contextNode.setDeepContextNode(entryId).setLiteralNode(literalData);
LiteralNode literalNode = baseContextNode.setLiteralNode(literalData); if (log.isTraceEnabled()) log.trace("Under " + baseContextNode.getXDIAddress() + ": Set literal node --> " + literalNode.getLiteralData()); } else {
@Override public Statement setStatement(XDIStatement statement) { // set the statement if (statement.isContextNodeStatement()) { ContextNode contextNode = (ContextNode) this.setDeepNode(statement.getTargetXDIAddress()); return contextNode.getStatement(); } else if (statement.isRelationStatement()) { ContextNode contextNode = (ContextNode) this.setDeepNode(statement.getContextNodeXDIAddress()); Relation relation = contextNode.setRelation(statement.getRelationXDIAddress(), statement.getTargetXDIAddress()); return relation.getStatement(); } else if (statement.isLiteralStatement()) { ContextNode contextNode = (ContextNode) this.setDeepNode(statement.getContextNodeXDIAddress()); LiteralNode literalNode = contextNode.setLiteralNode(statement.getLiteralData()); return literalNode.getStatement(); } else { throw new Xdi2GraphException("Invalid statement: " + statement); } }
@SuppressWarnings("unused") private static void makeGraph(Graph graph) throws Exception { ContextNode rootContextNode = graph.getRootContextNode(); ContextNode abcContextNode = rootContextNode.setContextNode(XDIArc.create("=abc")); ContextNode abcPassportContextNode = abcContextNode.setContextNode(XDIArc.create("[#passport]")); ContextNode abcPassport1ContextNode = abcPassportContextNode.setContextNode(XDIArc.create("*!:uuid:1111")); ContextNode abcPassport2ContextNode = abcPassportContextNode.setContextNode(XDIArc.create("*!:uuid:2222")); ContextNode abcPassportVContextNode = abcPassportContextNode.setContextNode(XDIArc.create("[$v]")); ContextNode abcPassportCContextNode = abcPassportContextNode.setContextNode(XDIArc.create("[$o]")); ContextNode abcPassportV1ContextNode = abcPassportVContextNode.setContextNode(XDIArc.create("*!:uuid:1111")); ContextNode abcPassportV2ContextNode = abcPassportVContextNode.setContextNode(XDIArc.create("*!:uuid:2222")); Relation abcPassportV2RelationDollar = abcPassportV2ContextNode.setRelation(XDIAddress.create("$"), XDIAddress.create("=abc[#passport]")); LiteralNode abcPassport1NumberLiteral = abcPassport1ContextNode.setDeepContextNode(XDIAddress.create("<#number>")).setLiteralNode("987654321"); LiteralNode abcPassport1CountryLiteral = abcPassport1ContextNode.setDeepContextNode(XDIAddress.create("<#country>")).setLiteralNode("Canada"); LiteralNode abcPassport1DLiteral = abcPassport1ContextNode.setDeepContextNode(XDIAddress.create("<$t>")).setLiteralNode("2005-01-01T00:00:00Z"); LiteralNode abcPassport2NumberLiteral = abcPassport2ContextNode.setDeepContextNode(XDIAddress.create("<#number>")).setLiteralNode("123456789"); LiteralNode abcPassport2CountryLiteral = abcPassport2ContextNode.setDeepContextNode(XDIAddress.create("<#country>")).setLiteralNode("New Zealand"); LiteralNode abcPassport2DLiteral = abcPassport2ContextNode.setDeepContextNode(XDIAddress.create("<$t>")).setLiteralNode("2010-10-01T00:00:00Z"); ContextNode abcPassportC1ContextNode = abcPassportCContextNode.setContextNode(XDIArc.create("*!:uuid:1111")); ContextNode abcPassportC2ContextNode = abcPassportCContextNode.setContextNode(XDIArc.create("*!:uuid:2222")); LiteralNode abcPassportC1DLiteral = abcPassportC1ContextNode.setDeepContextNode(XDIAddress.create("<$t>")).setLiteralNode("2010-11-11T11:11:11Z"); LiteralNode abcPassportC2DLiteral = abcPassportC2ContextNode.setDeepContextNode(XDIAddress.create("<$t>")).setLiteralNode("2010-12-22T22:22:22Z"); Relation abcPassportRelationV = abcPassportContextNode.setRelation(XDIAddress.create("[$v]"), XDIAddress.create("=abc[#passport][$v]*!:uuid:2222")); Relation abcPassportRelation1 = abcPassportContextNode.setRelation(XDIAddress.create("@~1"), abcPassport1ContextNode); Relation abcPassportRelation2 = abcPassportContextNode.setRelation(XDIAddress.create("@~2"), abcPassport2ContextNode); Relation abcTestRelation1 = abcContextNode.setRelation(XDIAddress.create("#rel"), abcPassport1ContextNode); Relation abcTestRelation2 = abcContextNode.setRelation(XDIAddress.create("#rel"), abcPassport2ContextNode); }
public void testNoExceptions() throws Exception { Graph graph17 = this.getGraphFactory().openGraph(this.getClass().getName() + "-graph-17"); graph17.setStatement(XDIStatement.create("=markus<#email>/&/\"Markus Sabadello\"")); graph17.setStatement(XDIStatement.create("=markus/#friend/=neustar=les")); ContextNode root = graph17.getRootContextNode(); ContextNode markus = graph17.getDeepContextNode(XDIAddress.create("=markus")); ContextNode les = graph17.getDeepContextNode(XDIAddress.create("=neustar=les")); root.setContextNode(XDIArc.create("=markus")); markus.setDeepContextNode(XDIAddress.create("<#email>")).setLiteralNode("test"); markus.setRelation(XDIAddress.create("#friend"), les); graph17.close(); }
o.add("three", new JsonPrimitive(Boolean.FALSE)); c.setLiteralNode(s); assertEquals(c.getLiteralNode().getLiteralData(), s); assertEquals(c.getLiteralNode().getLiteralDataString(), s); assertTrue(c.containsLiteralString(s)); c.setLiteralNode(d); assertEquals(c.getLiteralNode().getLiteralData(), d); assertNull(c.getLiteralNode().getLiteralDataString()); c.setLiteralNode(b); assertEquals(c.getLiteralNode().getLiteralData(), b); assertNull(c.getLiteralNode().getLiteralDataString()); c.setLiteralNode(a); assertEquals(c.getLiteralNode().getLiteralData(), a); assertNull(c.getLiteralNode().getLiteralDataString()); c.setLiteralNode(o); assertEquals(c.getLiteralNode().getLiteralData(), o); assertNull(c.getLiteralNode().getLiteralDataString()); c.setLiteralNode(n); assertEquals(c.getLiteralNode().getLiteralData(), n); assertNull(c.getLiteralNode().getLiteralDataString());
public void testImplied() throws Exception { Graph graph21 = this.getGraphFactory().openGraph(this.getClass().getName() + "-graph-21"); ContextNode webmarkus = graph21.setDeepContextNode(XDIAddress.create("=web=markus")); ContextNode animesh = graph21.setDeepContextNode(XDIAddress.create("=animesh")); Relation friend = webmarkus.setRelation(XDIAddress.create("#friend"), animesh); ContextNode value = webmarkus.setContextNode(XDIArc.create("<#name>")); LiteralNode name = value.setLiteralNode("Markus Sabadello"); ContextNode web = webmarkus.getContextNode(); assertTrue(webmarkus.getStatement().isImplied()); assertTrue(animesh.getStatement().isImplied()); assertFalse(friend.getStatement().isImplied()); assertTrue(value.getStatement().isImplied()); assertFalse(name.getStatement().isImplied()); assertTrue(web.getStatement().isImplied()); graph21.close(); }
public void testSimple() throws Exception { Graph graph0 = this.getGraphFactory().openGraph(this.getClass().getName() + "-graph-0"); ContextNode markus = graph0.getRootContextNode().setContextNode(XDIArc.create("=markus")); ContextNode email = markus.setContextNode(XDIArc.create("<#email>")); email.setLiteralNode("abc@gmail.com"); markus.setRelation(XDIAddress.create("#friend"), XDIAddress.create("=drummond")); markus = graph0.getRootContextNode().getContextNode(XDIArc.create("=markus")); assertNotNull(markus); assertFalse(markus.isRootContextNode()); assertFalse(markus.isEmpty()); assertFalse(markus.isLeafContextNode()); assertTrue(markus.containsRelations()); assertFalse(markus.containsLiteralNode()); assertTrue(email.isLeafContextNode()); assertTrue(email.containsLiteralNode()); ContextNode drummond = graph0.getRootContextNode().getContextNode(XDIArc.create("=drummond")); assertNotNull(drummond); assertTrue(drummond.isEmpty()); assertTrue(drummond.isLeafContextNode()); email.setLiteralNode("xyz@gmail.com"); assertEquals(graph0.getDeepLiteralNode(XDIAddress.create("=markus<#email>&")).getLiteralData(), "xyz@gmail.com"); assertEquals(graph0.getDeepContextNode(XDIAddress.create("=markus<#email>")).getLiteralNode().getLiteralData(), "xyz@gmail.com"); graph0.close(); }
public void testDelete() throws Exception { Graph graph26 = this.getGraphFactory().openGraph(this.getClass().getName() + "-graph-26"); ContextNode root = graph26.getRootContextNode(); root.setContextNode(XDIArc.create("+a")); assertTrue(root.containsContextNode(XDIArc.create("+a"))); assertNotNull(root.getContextNode(XDIArc.create("+a"))); root.delContextNode(XDIArc.create("+a")); assertFalse(graph26.getRootContextNode().containsContextNode(XDIArc.create("+a"))); assertFalse(root.containsContextNode(XDIArc.create("+a"))); assertNull(graph26.getRootContextNode().getContextNode(XDIArc.create("+a"))); assertNull(root.getContextNode(XDIArc.create("+a"))); root.setRelation(XDIAddress.create("+a"), XDIAddress.create("#b")); assertTrue(root.containsRelation(XDIAddress.create("+a"), XDIAddress.create("#b"))); assertNotNull(root.getRelation(XDIAddress.create("+a"), XDIAddress.create("#b"))); root.delRelation(XDIAddress.create("+a"), XDIAddress.create("#b")); assertFalse(root.containsRelation(XDIAddress.create("+a"), XDIAddress.create("#b"))); assertNull(root.getRelation(XDIAddress.create("+a"), XDIAddress.create("#b"))); root.setDeepContextNode(XDIAddress.create("<#a>")).setLiteralNode("a"); assertTrue(root.getDeepContextNode(XDIAddress.create("<#a>")).containsLiteralNode("a")); assertNotNull(root.getDeepContextNode(XDIAddress.create("<#a>")).getLiteralNode("a")); assertNotNull(root.getDeepLiteralNode(XDIAddress.create("<#a>&"))); root.getDeepContextNode(XDIAddress.create("<#a>")).delLiteralNode(); assertFalse(root.getDeepContextNode(XDIAddress.create("<#a>")).containsLiteralNode("a")); assertNull(root.getDeepContextNode(XDIAddress.create("<#a>")).getLiteralNode("a")); assertNull(root.getDeepLiteralNode(XDIAddress.create("<#a>&"))); root.getContextNode(XDIArc.create("#b")).delete(); root.getDeepContextNode(XDIAddress.create("<#a>")).delete(); assertTrue(root.isEmpty()); graph26.close(); }
LiteralNode l = timestamp.setLiteralNode("test");
root.setContextNode(XDIArc.create("<#test>")).setLiteralNode("test");