@Override public XDIAddress map(ContextNode contextNode) { return contextNode.getXDIAddress(); } }
/** * Returns the sender address of the message collection. * @return The sender adddress of the message collection. */ public XDIAddress getSenderXDIAddress() { return this.getSender().getXDIAddress(); }
@Override public XDIAddress relativeToAbsoluteXDIAddress(XDIAddress relativeAddress) { XDIAddress absoluteAddress = XDIAddressUtil.concatXDIAddresses(this.getContextNode().getXDIAddress(), relativeAddress); if (log.isTraceEnabled()) log.trace("relativeToAbsoluteAddress(" + relativeAddress + " --> " + absoluteAddress + ")"); return absoluteAddress; }
public DID[] getEquivalentDIDs() { List<DID> equivalentDIDs = new ArrayList<DID> (); for (Iterator<ContextNode> contextNodes = Equivalence.getIdentityContextNodes(this.getContextNode()); contextNodes.hasNext();) { DID equivalentDID = DID.fromXDIAddress(contextNodes.next().getXDIAddress()); if (equivalentDID == null) continue; equivalentDIDs.add(equivalentDID); } return equivalentDIDs.toArray(new DID[equivalentDIDs.size()]); }
@Override public XDIAddress absoluteToRelativeXDIAddress(XDIAddress absoluteAddress) { XDIAddress relativeAddress = XDIAddressUtil.removeStartXDIAddress(absoluteAddress, this.getContextNode().getXDIAddress()); if (log.isTraceEnabled()) log.trace("absoluteToRelativeAddress(" + absoluteAddress + " --> " + relativeAddress + ")"); return relativeAddress; }
@Override public boolean equals(Object object) { if (object == null || ! (object instanceof ContextNode)) return false; if (object == this) return true; ContextNode other = (ContextNode) object; // two context nodes are equal if their addresses are equal return this.getXDIAddress().equals(other.getXDIAddress()); }
@Override public int compareTo(ContextNode other) { if (other == null || other == this) return 0; return this.getXDIAddress().compareTo(other.getXDIAddress()); }
@Override public int hashCode() { int hashCode = 1; hashCode = (hashCode * 31) + this.getContextNode().getXDIAddress().hashCode(); hashCode = (hashCode * 31) + this.getLiteralData().hashCode(); return hashCode; }
@Override public List<ContextNode> replaceContextNode(ContextNode contextNode) { XDIAddress contextNodeXDIAddress = contextNode.getXDIAddress(); XDIAddress replacedContextNodeXDIAddress = replaceXDIAddress(contextNodeXDIAddress); ContextNode replacedContextNode = GraphUtil.contextNodeFromComponents(replacedContextNodeXDIAddress); CopyUtil.copyContextNodeContents(contextNode, replacedContextNode, null); return Collections.singletonList(replacedContextNode); }
@Override public List<Relation> replaceRelation(Relation relation) { XDIAddress contextNodeXDIAddress = relation.getContextNode().getXDIAddress(); XDIAddress XDIaddress = relation.getXDIAddress(); XDIAddress targetXDIAddress = relation.getTargetXDIAddress(); XDIAddress replacedContextNodeXDIAddress = replaceXDIAddress(contextNodeXDIAddress); XDIAddress replacedTargetXDIAddress = replaceXDIAddress(targetXDIAddress); if (log.isTraceEnabled()) log.trace("Replaced " + contextNodeXDIAddress + " with " + replacedContextNodeXDIAddress); if (log.isTraceEnabled()) log.trace("Replaced " + targetXDIAddress + " with " + replacedTargetXDIAddress); Relation replacedRelation = GraphUtil.relationFromComponents(replacedContextNodeXDIAddress, XDIaddress, replacedTargetXDIAddress); return Collections.singletonList(replacedRelation); }
@Override public List<Relation> replaceRelation(Relation relation) { XDIAddress contextNodeXDIAddress = relation.getContextNode().getXDIAddress(); XDIAddress XDIaddress = relation.getXDIAddress(); XDIAddress targetXDIAddress = relation.getTargetXDIAddress(); XDIAddress replacedTargetXDIAddress = replaceXDIAddress(targetXDIAddress); Relation replacedRelation = GraphUtil.relationFromComponents(contextNodeXDIAddress, XDIaddress, replacedTargetXDIAddress); return Collections.singletonList(replacedRelation); }
@Override public XdiInnerRoot getXdiInnerRoot(XDIAddress innerRootPredicateAddress, boolean create) { XdiRoot xdiRoot = this.findRoot(); if (xdiRoot == null) return null; XDIAddress innerRootSubjectAddress = xdiRoot.absoluteToRelativeXDIAddress(this.getContextNode().getXDIAddress()); return xdiRoot.getInnerRoot(innerRootSubjectAddress, innerRootPredicateAddress, create); }
@Override public InterceptorResult before(Message message, ExecutionContext executionContext, ExecutionResult executionResult) throws Xdi2MessagingException { if (this.isEnableMessage()) { String param = message.getContextNode().getXDIAddress().toString(); this.executeCommandLine(param, executionContext); } return InterceptorResult.DEFAULT; }
@Override public XDIAddress resolveXDIAddress(XDIAddress contextNodeXDIAddress) { XDIAddress resolvedContextNodeXDIAddress = contextNodeXDIAddress; resolvedContextNodeXDIAddress = XDIAddressUtil.replaceXDIAddress(resolvedContextNodeXDIAddress, XDI_ARC_FROM_VARIABLE, this.getMessage().getSenderXDIAddress()); resolvedContextNodeXDIAddress = XDIAddressUtil.replaceXDIAddress(resolvedContextNodeXDIAddress, XDI_ARC_FROM_PEER_VARIABLE, this.getMessage().getFromPeerRootXDIArc()); resolvedContextNodeXDIAddress = XDIAddressUtil.replaceXDIAddress(resolvedContextNodeXDIAddress, XDI_ARC_MSG_VARIABLE, this.getMessage().getContextNode().getXDIAddress()); if (log.isTraceEnabled()) log.trace("resolveXDIAddress(" + contextNodeXDIAddress + ") --> " + resolvedContextNodeXDIAddress); return resolvedContextNodeXDIAddress; }
/** * Checks if an XDI entity class is a valid XDI message collection. * @param xdiEntityCollection The XDI entity class to check. * @return True if the XDI entity class is a valid XDI message collection. */ public static boolean isValid(XdiEntityCollection xdiEntityCollection) { if (! xdiEntityCollection.getContextNode().getXDIArc().equals(XdiEntityCollection.createXDIArc(XDIMessagingConstants.XDI_ARC_MSG))) return false; if (XDIAddressUtil.extractXDIAddress(xdiEntityCollection.getContextNode().getXDIAddress(), XdiInnerRoot.class, false, false, true, false, false) != null) return false; return true; }
@Override public void delContextNode(XDIArc XDIarc) { ContextNode contextNode = this.getContextNode(XDIarc, true); if (contextNode == null) return; // delete all relations and incoming relations ((JSONContextNode) contextNode).delContextNodeDelAllRelations(); ((JSONContextNode) contextNode).delContextNodeDelAllIncomingRelations(); // delete this context node ((JSONGraph) this.getGraph()).jsonDelete(contextNode.getXDIAddress().toString()); ((JSONGraph) this.getGraph()).jsonDeleteFromArray(this.getXDIAddress().toString(), XDIConstants.STRING_CONTEXT, new JsonPrimitive(XDIarc.toString())); }
public void testPeerRoots() throws Exception { Graph graph = MemoryGraphFactory.getInstance().openGraph(); assertEquals(XdiCommonRoot.findCommonRoot(graph).getPeerRoot(XDIAddress.create("=!1111"), true).getContextNode().getXDIAddress(), XDIArc.create("(=!1111)")); graph.close(); }
public void testCommonRoot() throws Exception { Graph graph = MemoryGraphFactory.getInstance().openGraph(); assertEquals(XdiCommonRoot.findCommonRoot(graph).getContextNode(), graph.getRootContextNode()); assertEquals(XdiCommonRoot.findCommonRoot(graph).getContextNode().getXDIAddress(), XDIConstants.XDI_ADD_ROOT); graph.close(); } }
public void testDeleteDeep() throws Exception { Graph graph12 = this.getGraphFactory().openGraph(this.getClass().getName() + "-graph-12"); assertEquals(graph12.getRootContextNode(), graph12.getDeepContextNode(XDIConstants.XDI_ADD_ROOT)); assertEquals(graph12.getRootContextNode().getXDIAddress(), XDIConstants.XDI_ADD_ROOT); graph12.setDeepContextNode(XDIAddress.create("=markus")).setRelation(XDIAddress.create("#friend"), XDIAddress.create("=someone")); graph12.getDeepContextNode(XDIAddress.create("=markus")).delete(); graph12.setDeepContextNode(XDIAddress.create("=markus")); assertNull(graph12.getDeepContextNode(XDIAddress.create("=markus")).getRelation(XDIAddress.create("#friend"))); graph12.close(); }
public void testSelfPeerRoots() throws Exception { Graph graph = MemoryGraphFactory.getInstance().openGraph(); XdiCommonRoot.findCommonRoot(graph).setSelfPeerRoot(XDIAddress.create("=!1111")); XdiPeerRoot selfPeerRoot = XdiCommonRoot.findCommonRoot(graph).getSelfPeerRoot(); assertEquals(selfPeerRoot.getContextNode().getXDIAddress(), XDIAddress.create("(=!1111)")); assertEquals(XdiCommonRoot.findCommonRoot(graph).getPeerRoot(XDIAddress.create("=!1111"), false), selfPeerRoot); assertTrue(selfPeerRoot.isSelfPeerRoot()); graph.close(); } }