public static XDIAddress getVariableXDIAddressValue(Map<XDIArc, Object> variableValues, XDIArc variableValueXDIArc) { Object variableValue = variableValues.get(variableValueXDIArc); if (variableValue instanceof List<?> && ((List<?>) variableValue).size() == 1) variableValue = ((List<?>) variableValue).get(0); if (variableValue instanceof XDIAddress) return (XDIAddress) variableValue; if (variableValue instanceof XDIArc) return XDIAddress.fromComponent((XDIArc) variableValue); return null; }
@SuppressWarnings("unchecked") public static List<XDIAddress> getVariableXDIAddressValues(Map<XDIArc, Object> variableValues, XDIArc variableValueXDIArc) { Object variableValue = variableValues.get(variableValueXDIArc); if (variableValue instanceof List<?>) return (List<XDIAddress>) variableValue; if (variableValue instanceof XDIAddress) return Collections.singletonList((XDIAddress) variableValue); if (variableValue instanceof XDIArc) return Collections.singletonList(XDIAddress.fromComponent((XDIArc) variableValue)); return Collections.emptyList(); }
/** * Concats address(es) and arc(s) into a new address. */ public static XDIAddress concatXDIAddresses(final XDIArc... arcs) { XDIAddress[] addresses = new XDIAddress[arcs.length]; for (int i=0; i<arcs.length; i++) addresses[i] = XDIAddress.fromComponent(arcs[i]); return concatXDIAddresses(addresses); }
/** * Concats address(es) and arc(s) into a new address. */ public static XDIAddress concatXDIAddresses(final XDIAddress XDIaddress, final XDIArc XDIarc) { return concatXDIAddresses(XDIaddress, XDIarc == null ? null : XDIAddress.fromComponent(XDIarc)); }
/** * Concats address(es) and arc(s) into a new address. */ public static XDIAddress concatXDIAddresses(final XDIArc XDIarc, final XDIAddress XDIaddress) { return concatXDIAddresses(XDIarc == null ? null : XDIAddress.fromComponent(XDIarc), XDIaddress); }
/** * Replaces all occurrences of an arc with an address. */ public static XDIAddress replaceXDIAddress(final XDIArc XDIarc, final XDIArc oldXDIArc, XDIAddress newXDIAddress) { XDIAddress XDIaddress = XDIarc == null ? null : XDIAddress.fromComponent(XDIarc); return replaceXDIAddress(XDIaddress, oldXDIArc, newXDIAddress); }
/** * Replaces all occurrences of an arc with an arc. */ public static XDIAddress replaceXDIAddress(final XDIAddress XDIaddress, final XDIArc oldXDIArc, final XDIArc newXDIArc) { XDIAddress newXDIAddress = newXDIArc == null ? null : XDIAddress.fromComponent(newXDIArc); return replaceXDIAddress(XDIaddress, oldXDIArc, newXDIAddress); }
public void setPushToPeerRootXDIArc(XDIArc toPeerRootXDIArc) { this.getContextNode().setRelation(XDILinkContractConstants.XDI_ADD_TO_PEER_ROOT_ARC, XDIAddress.fromComponent(toPeerRootXDIArc)); }
@Override public XDIClientRoute<?> route(XDIAddress XDIaddress) throws Xdi2AgentException, Xdi2ClientException { // let's find out the TO peer root of the address XDIAddress peerRootXDIAddress = XDIAddressUtil.extractXDIAddress(XDIaddress, XdiPeerRoot.class, false, false, true, false, false); XDIArc peerRootFirstXDIArc = peerRootXDIAddress == null ? null : peerRootXDIAddress.getFirstXDIArc(); XDIArc firstXDIArc = XDIaddress.getFirstXDIArc(); if (log.isDebugEnabled()) log.debug("Peer root first arc: " + peerRootFirstXDIArc + ", First arc: " + firstXDIArc); XDIArc toPeerRootXDIArc = null; if (toPeerRootXDIArc == null && peerRootFirstXDIArc != null) toPeerRootXDIArc = peerRootFirstXDIArc; if (toPeerRootXDIArc == null && firstXDIArc != null) toPeerRootXDIArc = XdiPeerRoot.createPeerRootXDIArc(XDIAddress.fromComponent(firstXDIArc)); if (log.isDebugEnabled()) log.debug("Determined TO peer root: " + toPeerRootXDIArc); if (toPeerRootXDIArc == null) { if (log.isDebugEnabled()) log.debug("Unable to determine TO peer root for address " + XDIaddress); return null; } // let's find a route return route(toPeerRootXDIArc); }
else if (newXDIArcOrXDIAddressOrList instanceof XDIArc) newXDIAddresses = Collections.singletonList(XDIAddress.fromComponent((XDIArc) newXDIArcOrXDIAddressOrList)); else if (newXDIArcOrXDIAddressOrList instanceof List) newXDIAddresses = (List<XDIAddress>) newXDIArcOrXDIAddressOrList; else throw new IllegalArgumentException("Illegal replacement: " + newXDIArcOrXDIAddressOrList.getClass().getCanonicalName());
public static CloudNumber createRandom(Character cs) { XDIArc XDIarc = XdiEntitySingleton.createXDIArc(cs, true, false, XDIArc.literalFromRandomUuid(), null); XDIAddress XDIaddress = XDIAddress.fromComponent(XDIarc); XDIArc peerRootXDIArc = XdiPeerRoot.createPeerRootXDIArc(XDIaddress); return new CloudNumber(XDIaddress, peerRootXDIArc); }
XDIArc contextNodeXDIArc = contextNode.getXDIArc(); XDIAddress baseXDIAddress = XDIAddress.fromComponent(contextNodeXDIArc); else if (newXDIArcOrXDIAddressOrList instanceof XDIArc) newXDIAddresses = Collections.singletonList(XDIAddress.fromComponent((XDIArc) newXDIArcOrXDIAddressOrList)); else if (newXDIArcOrXDIAddressOrList instanceof List) newXDIAddresses = (List<XDIAddress>) newXDIArcOrXDIAddressOrList; else throw new IllegalArgumentException("Illegal replacement: " + newXDIArcOrXDIAddressOrList.getClass().getCanonicalName());
public static DID createRandom(Character cs) { XDIArc XDIarc = XdiEntitySingleton.createXDIArc(cs, true, false, XDIArc.literalFromRandomUuid(), null); XDIAddress XDIaddress = XDIAddress.fromComponent(XDIarc); XDIArc peerRootXDIArc = XdiPeerRoot.createPeerRootXDIArc(XDIaddress); return new DID(XDIaddress, peerRootXDIArc); }
/** * Set the FROM peer root arc of the message (template). */ public void setFromPeerRootXDIArc(XDIArc fromPeerRootXDIArc) { this.getContextNode().delRelations(XDIMessagingConstants.XDI_ADD_FROM); if (fromPeerRootXDIArc != null) { this.getContextNode().setRelation(XDIMessagingConstants.XDI_ADD_FROM, XDIAddress.fromComponent(fromPeerRootXDIArc)); } }
/** * Set the TO peer root arc of the message (template). */ public void setToPeerRootXDIArc(XDIArc toPeerRootXDIArc) { this.getContextNode().delRelations(XDIMessagingConstants.XDI_ADD_TO); if (toPeerRootXDIArc != null) { this.getContextNode().setRelation(XDIMessagingConstants.XDI_ADD_TO, XDIAddress.fromComponent(toPeerRootXDIArc)); } }
/** * Returns the address of the peer root arc. * @param arc A peer root arc. * @return The address of the peer root arc. */ public static XDIAddress getXDIAddressOfPeerRootXDIArc(XDIArc XDIarc) { if (XDIarc == null) return null; if (XDIarc.hasCs()) return null; if (XDIarc.isCollection()) return null; if (XDIarc.isAttribute()) return null; if (! XDIarc.hasXRef()) return null; XDIXRef xref = XDIarc.getXRef(); if (! XDIConstants.XS_ROOT.equals(xref.getXs())) return null; if (! xref.hasXDIArc()) return null; return XDIAddress.fromComponent(xref.getXDIArc()); }
private boolean tryPutStatementIntoInnerJsonObject(XDIStatement XDIstatement, JsonObject jsonObject) throws IOException { XDIArc subjectFirstArc = XDIstatement.getSubject().getFirstXDIArc(); if (subjectFirstArc == null || (! subjectFirstArc.hasXRef()) || (! subjectFirstArc.getXRef().hasPartialSubjectAndPredicate())) return false; XDIAddress innerRootSubject = XDIstatement.getSubject().getFirstXDIArc().getXRef().getPartialSubject(); XDIAddress innerRootPredicate = XDIstatement.getSubject().getFirstXDIArc().getXRef().getPartialPredicate(); XDIStatement reducedStatementAddress = XDIStatementUtil.removeStartXDIStatement(XDIstatement, XDIAddress.fromComponent(subjectFirstArc)); if (reducedStatementAddress == null) return false; // find the inner root JSON array String innerRootKey = "" + innerRootSubject + "/" + innerRootPredicate; JsonArray innerRootJsonArray = (JsonArray) jsonObject.get(innerRootKey); if (innerRootJsonArray == null) { innerRootJsonArray = new JsonArray(); jsonObject.add(innerRootKey, innerRootJsonArray); } // find the inner root JSON object JsonObject innerRootJsonObject = findJsonObjectInJsonArray(innerRootJsonArray); if (innerRootJsonObject == null) { innerRootJsonObject = new JsonObject(); innerRootJsonArray.add(innerRootJsonObject); } // put the statement into the inner root JSON object this.putStatementIntoJsonObject(reducedStatementAddress, innerRootJsonObject); // done return true; }
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); } }
registryMessage.createGetOperation(XDIAddress.fromComponent(XdiPeerRoot.createPeerRootXDIArc(query))); registryMessage.createGetOperation(XDIAddressUtil.concatXDIAddresses(query, XDISecurityConstants.XDI_ADD_MSG_SIG_KEYPAIR_PUBLIC_KEY)); registryMessage.createGetOperation(XDIAddressUtil.concatXDIAddresses(query, XDISecurityConstants.XDI_ADD_MSG_ENCRYPT_KEYPAIR_PUBLIC_KEY));
relativeRelationTargetXDIAddress = XDIAddress.fromComponent(XdiInnerRoot.createInnerRootXDIArc(relativeTargetXDIAddress, relationXDIAddress)); relationTargetXDIAddress = targetContextNodeXdiRoot.relativeToAbsoluteXDIAddress(relativeRelationTargetXDIAddress);