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; }
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); }
/** * Get the last index of an arc inside an address. * For =a*b*c*d and *b, this returns 1 * For =a*b*c*d and *c, this returns 2 * For =a*b*c*d and *x, this returns -1 */ public static int lastIndexOfXDIArc(final XDIAddress XDIaddress, final XDIArc searchXDIArc) { if (XDIaddress == null) throw new NullPointerException(); if (searchXDIArc == null) throw new NullPointerException(); for (int i=XDIaddress.getNumXDIArcs()-1; i>=0; i--) { XDIArc XDIarc = XDIaddress.getXDIArc(i); if (XDIarc.equals(searchXDIArc)) return i; } return -1; }
/** * Get the index of an arc inside an address. * For =a*b*c*d and *b, this returns 1 * For =a*b*c*d and *c, this returns 2 * For =a*b*c*d and *x, this returns -1 */ public static int indexOfXDIArc(final XDIAddress XDIaddress, final XDIArc searchXDIArc) { if (XDIaddress == null) throw new NullPointerException(); if (searchXDIArc == null) throw new NullPointerException(); for (int i=0; i<XDIaddress.getNumXDIArcs(); i++) { XDIArc XDIarc = XDIaddress.getXDIArc(i); if (XDIarc.equals(searchXDIArc)) return i; } return -1; }
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 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(); }
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()); }
private static JsonElement makeGom(XDIAddress XDIaddress) { JsonElement gom; if (XDIaddress.getNumXDIArcs() == 1) { gom = makeGom(XDIaddress.getFirstXDIArc()); } else { gom = new JsonArray(); for (int i=0; i<XDIaddress.getNumXDIArcs(); i++) ((JsonArray) gom).add(makeGom(XDIaddress.getXDIArc(i))); } return gom; }
public static boolean isValid(final XDIAddress XDIaddress) { if (XDIaddress == null) return false; Boolean result = null; try { if (XDIaddress.getNumXDIArcs() != 1) { result = Boolean.FALSE; return result.booleanValue(); } for (int i=0; i<XDIaddress.getNumXDIArcs(); i++) { XDIArc XDIarc = XDIaddress.getXDIArc(i); if (XDIarc.isAttribute()) { result = Boolean.FALSE; return result.booleanValue(); } if (XDIarc.isCollection()) { result = Boolean.FALSE; return result.booleanValue(); } if (XDIarc.hasXRef() || ! XDIarc.hasLiteral()) { result = Boolean.FALSE; return result.booleanValue(); } if (XDIarc.isImmutable()) { result = Boolean.FALSE; return result.booleanValue(); } if (XDIarc.isRelative()) { result = Boolean.FALSE; return result.booleanValue(); } if (! XDIConstants.CS_AUTHORITY_PERSONAL.equals(XDIarc.getCs()) && ! XDIConstants.CS_AUTHORITY_LEGAL.equals(XDIarc.getCs()) && ! XDIConstants.CS_INSTANCE_ORDERED.equals(XDIarc.getCs()) && ! XDIConstants.CS_INSTANCE_UNORDERED.equals(XDIarc.getCs())) { result = Boolean.FALSE; return result.booleanValue(); } } { result = Boolean.TRUE; return result.booleanValue(); } } finally { if (log.isTraceEnabled()) log.trace("isValid(" + XDIaddress + ") --> " + result); } }
public static boolean isValid(final XDIAddress XDIaddress) { if (XDIaddress == null) return false; Boolean result = null; try { if (XDIaddress.getNumXDIArcs() != 1) { result = Boolean.FALSE; return result.booleanValue(); } for (int i=0; i<XDIaddress.getNumXDIArcs(); i+=2) { XDIArc XDIarc = XDIaddress.getXDIArc(i); if (XDIarc.isAttribute()) { result = Boolean.FALSE; return result.booleanValue(); } if (XDIarc.isCollection()) { result = Boolean.FALSE; return result.booleanValue(); } if (XDIarc.hasXRef() || ! XDIarc.hasLiteral()) { result = Boolean.FALSE; return result.booleanValue(); } if (! XDIarc.isImmutable()) { result = Boolean.FALSE; return result.booleanValue(); } if (XDIarc.isRelative()) { result = Boolean.FALSE; return result.booleanValue(); } if (! XDIConstants.CS_AUTHORITY_PERSONAL.equals(XDIarc.getCs()) && ! XDIConstants.CS_AUTHORITY_LEGAL.equals(XDIarc.getCs()) && ! XDIConstants.CS_INSTANCE_ORDERED.equals(XDIarc.getCs()) && ! XDIConstants.CS_INSTANCE_UNORDERED.equals(XDIarc.getCs())) { result = Boolean.FALSE; return result.booleanValue(); } } { result = Boolean.TRUE; return result.booleanValue(); } } finally { if (log.isTraceEnabled()) log.trace("isValid(" + XDIaddress + ") --> " + result); } }
public static boolean isValid(final XDIAddress XDIaddress) { if (XDIaddress == null) return false; Boolean result = null; try { if (XDIaddress.getNumXDIArcs() != 1) { result = Boolean.FALSE; return result.booleanValue(); } for (int i=0; i<XDIaddress.getNumXDIArcs(); i+=2) { XDIArc XDIarc = XDIaddress.getXDIArc(i); if (XDIarc.isAttribute()) { result = Boolean.FALSE; return result.booleanValue(); } if (XDIarc.isCollection()) { result = Boolean.FALSE; return result.booleanValue(); } if (XDIarc.hasXRef() || ! XDIarc.hasLiteral()) { result = Boolean.FALSE; return result.booleanValue(); } if (! XDIarc.isImmutable()) { result = Boolean.FALSE; return result.booleanValue(); } if (XDIarc.isRelative()) { result = Boolean.FALSE; return result.booleanValue(); } if (! XDIConstants.CS_AUTHORITY_PERSONAL.equals(XDIarc.getCs()) && ! XDIConstants.CS_AUTHORITY_LEGAL.equals(XDIarc.getCs()) && ! XDIConstants.CS_INSTANCE_ORDERED.equals(XDIarc.getCs()) && ! XDIConstants.CS_INSTANCE_UNORDERED.equals(XDIarc.getCs())) { result = Boolean.FALSE; return result.booleanValue(); } } { result = Boolean.TRUE; return result.booleanValue(); } } finally { if (log.isTraceEnabled()) log.trace("isValid(" + XDIaddress + ") --> " + result); } }
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 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 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)>")); }