private MatchPosition(XDIAddress XDIaddress, boolean forward) { this.XDIaddress = XDIaddress; this.forward = forward; this.position = forward ? 0 : XDIaddress.getNumXDIArcs() - 1; this.positionXDIAddress = null; this.positionXdiContext = null; this.positionXdiVariable = null; }
@Override public int compare(XDIAddress o1, XDIAddress o2) { if (o1.getNumXDIArcs() < o2.getNumXDIArcs()) return -1; if (o1.getNumXDIArcs() > o2.getNumXDIArcs()) return 1; return o1.compareTo(o2); } };
@Override public int compare(XDIAddress o1, XDIAddress o2) { if (o1.getNumXDIArcs() > o2.getNumXDIArcs()) return -1; if (o1.getNumXDIArcs() < o2.getNumXDIArcs()) return 1; return o1.compareTo(o2); } };
public static XDIArc getVariableXDIArcValue(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 && ((XDIAddress) variableValue).getNumXDIArcs() == 1) return ((XDIAddress) variableValue).getXDIArc(0); if (variableValue instanceof XDIArc) return (XDIArc) variableValue; return null; }
/** * Returns a MIME data type for an XDI address. */ public static String mimeTypeFromDataTypeXDIAddress(XDIAddress dataTypeXDIAddress) { if (XDIAddressUtil.startsWithXDIAddress(dataTypeXDIAddress, XDI_ADD_DATATYPE_MIME) == null) throw new Xdi2RuntimeException("Invalid MIME data type address: " + dataTypeXDIAddress); XDIAddress mimeTypeXDIAddress = XDIAddressUtil.localXDIAddress(dataTypeXDIAddress, - XDI_ADD_DATATYPE_MIME.getNumXDIArcs()); return mimeTypeXDIAddress.toString().substring(1).replace(XDIConstants.CS_CLASS_RESERVED.toString(), "/"); } }
/** * Returns an XSD data type for a JSON data type. */ public static String jsonTypeFromDataTypeXDIAddress(XDIAddress dataTypeXDIAddress) { if (XDIAddressUtil.startsWithXDIAddress(dataTypeXDIAddress, XDI_ADD_DATATYPE_JSON) == null) throw new Xdi2RuntimeException("Invalid JSON data type address: " + dataTypeXDIAddress); XDIAddress jsonTypeXDIAddress = XDIAddressUtil.localXDIAddress(dataTypeXDIAddress, - XDI_ADD_DATATYPE_JSON.getNumXDIArcs()); return jsonTypeXDIAddress.toString().substring(1); }
private boolean matchesNext(MatchPosition other) { if (other.forward && other.position + 1 >= other.XDIaddress.getNumXDIArcs()) return false; if (! other.forward && other.position -1 < 0) return false; XDIArc myXDIArc = this.XDIaddress.getXDIArc(this.position); XDIArc otherXDIArc = other.XDIaddress.getXDIArc(other.forward ? other.position + 1 : other.position - 1); return myXDIArc.equals(otherXDIArc); }
public static Integer getKeyLength(XDIAddress dataTypeXDIAddress) { XDIArc keyLengthAddress = dataTypeXDIAddress.getNumXDIArcs() > 1 ? dataTypeXDIAddress.getXDIArc(1) : null; if (keyLengthAddress == null) return null; if (! XDIConstants.CS_CLASS_RESERVED.equals(keyLengthAddress.getCs())) return null; if (keyLengthAddress.hasXRef()) return null; if (! keyLengthAddress.hasLiteral()) return null; return Integer.valueOf(keyLengthAddress.getLiteral()); } }
public static Integer getDigestVersion(XDIAddress dataTypeXDIAddress) { XDIArc digestVersionAddress = dataTypeXDIAddress.getNumXDIArcs() > 3 ? dataTypeXDIAddress.getXDIArc(1) : null; if (digestVersionAddress == null) return null; if (! XDIConstants.CS_CLASS_RESERVED.equals(digestVersionAddress.getCs())) return null; if (digestVersionAddress.hasXRef()) return null; if (! digestVersionAddress.hasLiteral()) return null; return Integer.valueOf(digestVersionAddress.getLiteral()); }
public static Integer getDigestVersion(XDIAddress dataTypeXDIAddress) { XDIArc digestVersionAddress = dataTypeXDIAddress.getNumXDIArcs() > 1 ? dataTypeXDIAddress.getXDIArc(1) : null; if (digestVersionAddress == null) return null; if (! XDIConstants.CS_CLASS_RESERVED.equals(digestVersionAddress.getCs())) return null; if (digestVersionAddress.hasXRef()) return null; if (! digestVersionAddress.hasLiteral()) return null; return Integer.valueOf(digestVersionAddress.getLiteral()); }
public static Integer getKeyLength(XDIAddress dataTypeXDIAddress) { XDIArc keyLengthAddress = dataTypeXDIAddress.getNumXDIArcs() > 1 ? dataTypeXDIAddress.getXDIArc(1) : null; if (keyLengthAddress == null) return null; if (! XDIConstants.CS_CLASS_RESERVED.equals(keyLengthAddress.getCs())) return null; if (keyLengthAddress.hasXRef()) return null; if (! keyLengthAddress.hasLiteral()) return null; return Integer.valueOf(keyLengthAddress.getLiteral()); }
public static Integer getKeyLength(XDIAddress dataTypeXDIAddress) { XDIArc keyLengthAddress = dataTypeXDIAddress.getNumXDIArcs() > 3 ? dataTypeXDIAddress.getXDIArc(3) : dataTypeXDIAddress.getXDIArc(1); if (keyLengthAddress == null) return null; if (! XDIConstants.CS_CLASS_RESERVED.equals(keyLengthAddress.getCs())) return null; if (keyLengthAddress.hasXRef()) return null; if (! keyLengthAddress.hasLiteral()) return null; return Integer.valueOf(keyLengthAddress.getLiteral()); }
public static String getDigestAlgorithm(XDIAddress dataTypeXDIAddress) { XDIArc digestAlgorithmAddress = dataTypeXDIAddress.getNumXDIArcs() > 3 ? dataTypeXDIAddress.getXDIArc(0) : null; if (digestAlgorithmAddress == null) return null; if (! XDIConstants.CS_CLASS_RESERVED.equals(digestAlgorithmAddress.getCs())) return null; if (digestAlgorithmAddress.hasXRef()) return null; if (! digestAlgorithmAddress.hasLiteral()) return null; return digestAlgorithmAddress.getLiteral(); }
public static String getDigestAlgorithm(XDIAddress dataTypeXDIAddress) { XDIArc digestAlgorithmAddress = dataTypeXDIAddress.getNumXDIArcs() > 1 ? dataTypeXDIAddress.getXDIArc(0) : null; if (digestAlgorithmAddress == null) return null; if (! XDIConstants.CS_CLASS_RESERVED.equals(digestAlgorithmAddress.getCs())) return null; if (digestAlgorithmAddress.hasXRef()) return null; if (! digestAlgorithmAddress.hasLiteral()) return null; return digestAlgorithmAddress.getLiteral(); }
public static String getKeyAlgorithm(XDIAddress dataTypeXDIAddress) { XDIArc keyAlgorithmAddress = dataTypeXDIAddress.getNumXDIArcs() > 0 ? dataTypeXDIAddress.getXDIArc(0) : null; if (keyAlgorithmAddress == null) return null; if (! XDIConstants.CS_CLASS_RESERVED.equals(keyAlgorithmAddress.getCs())) return null; if (keyAlgorithmAddress.hasXRef()) return null; if (! keyAlgorithmAddress.hasLiteral()) return null; return keyAlgorithmAddress.getLiteral(); }
public static String getKeyAlgorithm(XDIAddress dataTypeXDIAddress) { XDIArc keyAlgorithmAddress = dataTypeXDIAddress.getNumXDIArcs() > 0 ? dataTypeXDIAddress.getXDIArc(0) : null; if (keyAlgorithmAddress == null) return null; if (! XDIConstants.CS_CLASS_RESERVED.equals(keyAlgorithmAddress.getCs())) return null; if (keyAlgorithmAddress.hasXRef()) return null; if (! keyAlgorithmAddress.hasLiteral()) return null; return keyAlgorithmAddress.getLiteral(); }
public static String getKeyAlgorithm(XDIAddress dataTypeXDIAddress) { XDIArc keyAlgorithmAddress = dataTypeXDIAddress.getNumXDIArcs() > 2 ? dataTypeXDIAddress.getXDIArc(2) : dataTypeXDIAddress.getXDIArc(0); if (keyAlgorithmAddress == null) return null; if (! XDIConstants.CS_CLASS_RESERVED.equals(keyAlgorithmAddress.getCs())) return null; if (keyAlgorithmAddress.hasXRef()) return null; if (! keyAlgorithmAddress.hasLiteral()) return null; return keyAlgorithmAddress.getLiteral(); }
/** * When a context node is created, check if the inner root subject and predicate have to be created too. */ protected void setContextNodeSetInnerRoot(XDIArc XDIarc, ContextNode contextNode) { if (XdiInnerRoot.isValidXDIArc(XDIarc)) { XDIAddress subjectXDIAddress = XdiInnerRoot.getSubjectOfInnerRootXDIArc(XDIarc); XDIAddress predicateXDIAddress = XdiInnerRoot.getPredicateOfInnerRootXDIArc(XDIarc); ContextNode subjectContextNode = this.setDeepContextNode(subjectXDIAddress); if (predicateXDIAddress.getNumXDIArcs() < 1) return; subjectContextNode.setRelation(predicateXDIAddress, contextNode); } }
/** * Return the TO peer root arc of the message (template). */ public XDIArc getToPeerRootXDIArc() { Relation toPeerRootXDIArcRelation = this.getContextNode().getRelation(XDIMessagingConstants.XDI_ADD_TO); if (toPeerRootXDIArcRelation == null) return null; XDIAddress toPeerRootXDIAddress = toPeerRootXDIArcRelation.getTargetXDIAddress(); if (toPeerRootXDIAddress.getNumXDIArcs() > 1 || ! XdiPeerRoot.isValidXDIArc(toPeerRootXDIAddress.getFirstXDIArc())) return null; return toPeerRootXDIAddress.getFirstXDIArc(); }
public void testBasicXRef() throws Exception { Parser parser = this.getParser(); XDIAddress XDIaddress = parser.parseXDIAddress("+(user)<#(first_name)>"); assertEquals(XDIaddress.getNumXDIArcs(), 2); assertEquals(XDIaddress.getXDIArc(0), parser.parseXDIArc("+(user)")); assertEquals(XDIaddress.getXDIArc(1), parser.parseXDIArc("<#(first_name)>")); }