/** * Returns the "base" arc, without context node type syntax. * @param arc The arc of a context node. * @return The "base" arc. */ public static XDIArc getBaseXDIArc(XDIArc XDIarc) { StringBuilder buffer = new StringBuilder(); if (XDIarc.hasCs()) buffer.append(XDIarc.getCs()); if (XDIarc.hasLiteral()) buffer.append(XDIarc.getLiteral()); if (XDIarc.hasXRef()) buffer.append(XDIarc.getXRef()); return XDIArc.create(buffer.toString()); }
public boolean isLiteralNodeXDIArc() { return this.equals(XDIConstants.XDI_ARC_LITERAL); } }
private void putContextNodeIntoJsonObject(ContextNode contextNode, JsonObject jsonObject) { JsonArray contextNodeJsonArray = jsonObject.getAsJsonArray("//"); if (contextNodeJsonArray == null) { contextNodeJsonArray = new JsonArray(); jsonObject.add("//", contextNodeJsonArray); } contextNodeJsonArray.add(new JsonPrimitive(contextNode.getXDIArc().toString())); }
public static boolean isValidXDIArc(XDIArc XDIarc) { if (XDIarc == null) throw new NullPointerException(); if (! XDIarc.isCollection()) return false; if (! XDIarc.isAttribute()) return false; if (XDIConstants.CS_CLASS_UNRESERVED.equals(XDIarc.getCs()) || XDIConstants.CS_CLASS_RESERVED.equals(XDIarc.getCs())) { if (! XDIarc.hasLiteral() && ! XDIarc.hasXRef()) return false; } else { return false; } return true; }
public static XDIArc createXDIArc(XDIArc XDIarc) { return createXDIArc( XDIarc.getCs(), XDIarc.isImmutable(), XDIarc.isRelative(), XDIarc.getLiteral(), XDIarc.getXRef()); }
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(); }
/** * Returns the predicate address of the inner root arc. * @param arc An inner root arc. * @return The predicate address of the inner root arc. */ public static XDIAddress getPredicateOfInnerRootXDIArc(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.hasPartialSubjectAndPredicate()) return null; return xref.getPartialPredicate(); }
@Override protected Map<XDIArc, Object> getReplacements(XDIAddress XDIaddress) { Map<XDIArc, Object> replacements = null; for (XDIArc XDIarc : XDIaddress.getXDIArcs()) { if (! XDIConstants.CS_CLASS_RESERVED.equals(XDIarc.getCs())) continue; if (! XDIarc.isVariable()) continue; if (! XDIarc.isRelative()) continue; if (replacements == null) replacements = new HashMap<XDIArc, Object> (); XDIArc newXDIArc = XDIArc.fromComponents(XDIarc.getCs(), true, XDIarc.isDefinition(), XDIarc.isCollection(), XDIarc.isAttribute(), XDIarc.isImmutable(), false, XDIarc.getLiteral(), XDIarc.getXRef()); replacements.put(XDIarc, newXDIArc); } return replacements; } }
private static XDIArc makeXDIArc(String arcString, State state) { state.lastString = arcString; return XDIArc.create(arcString); } }
if (XDIarc.hasXRef()) { gom2.add(XDIarc.getXRef().getXs(), makeGom(XDIarc.getXRef())); gom = gom2; if (XDIarc.hasLiteral()) { gom = new JsonPrimitive(XDIarc.getLiteral()); if (XDIarc.hasCs()) { gom2.add(XDIarc.getCs().toString(), gom); gom = gom2; } else { gom = new JsonPrimitive(XDIarc.getCs().toString()); if (XDIarc.isAttribute()) { if (XDIarc.isCollection()) {
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 CloudName fromPeerRootXDIArc(XDIArc peerRootXDIArc) { if (! isValid(peerRootXDIArc)) return null; peerRootXDIArc = XDIArc.create(peerRootXDIArc.toString().toLowerCase()); XDIAddress XDIaddress = XdiPeerRoot.getXDIAddressOfPeerRootXDIArc(peerRootXDIArc); return new CloudName(XDIaddress, peerRootXDIArc); }
assertEquals(statement.getSubject().getXDIArc(2), statement.getSubject().getLastXDIArc()); assertEquals(statement.getSubject().getXDIArc(0), parser.parseXDIArc("=markus")); assertEquals(statement.getSubject().getXDIArc(0).getCs(), XDIConstants.CS_AUTHORITY_PERSONAL); assertEquals(statement.getSubject().getXDIArc(0).getLiteral(), "markus"); assertNull(statement.getSubject().getXDIArc(0).getXRef()); assertEquals(statement.getSubject().getXDIArc(1), parser.parseXDIArc("[<#email>]")); assertEquals(statement.getSubject().getXDIArc(1).getCs(), XDIConstants.CS_CLASS_UNRESERVED); assertTrue(statement.getSubject().getXDIArc(1).isCollection()); assertTrue(statement.getSubject().getXDIArc(1).isAttribute()); assertEquals(statement.getSubject().getXDIArc(1).getLiteral(), "email"); assertNull(statement.getSubject().getXDIArc(1).getXRef()); assertEquals(statement.getSubject().getXDIArc(2), parser.parseXDIArc("<*!1>")); assertEquals(statement.getSubject().getXDIArc(2).getCs(), XDIConstants.CS_INSTANCE_UNORDERED); assertFalse(statement.getSubject().getXDIArc(2).isCollection()); assertTrue(statement.getSubject().getXDIArc(2).isAttribute()); assertEquals(statement.getSubject().getXDIArc(2).getLiteral(), "1"); assertNull(statement.getSubject().getXDIArc(2).getXRef());
@Override protected XDIArc overrideToPeerRootXDIArc(XDIArc toPeerRootXDIArc) throws Xdi2AgentException { if (! toPeerRootXDIArc.hasXRef() || ! toPeerRootXDIArc.getXRef().hasXDIArc()) { throw new Xdi2AgentException("TO peer root is not a peer root: " + toPeerRootXDIArc); } if (! XDIConstants.CS_CLASS_RESERVED.equals(toPeerRootXDIArc.getXRef().getXDIArc().getCs())) return toPeerRootXDIArc; return BOOTSTRAP_OWNER_PEER_ROOT_XDI_ARC; } }
static XDIStatement fromContextNodeComponents(String string, XDIAddress contextNodeXDIAddress, XDIArc contextNodeXDIArc) { if (string == null) string = contextNodeXDIAddress.toString() + "/" + XDIConstants.STRING_CONTEXT + "/" + contextNodeXDIArc.toString(); if (contextNodeXDIAddress.isLiteralNodeXDIAddress()) throw new ParserException("Cannot have literal node address " + contextNodeXDIAddress + " as subject of a contextual statement: " + string); if (contextNodeXDIArc.isLiteralNodeXDIArc()) throw new ParserException("Cannot have literal node arc " + contextNodeXDIArc + " as object of a contextual statement: " + string); return new XDIStatement(string, contextNodeXDIAddress, XDIConstants.STRING_CONTEXT, contextNodeXDIArc); }
private static XDIArc substituteXDIArc(XDIArc XDIarc, ExecutionContext executionContext) { if (! XDIConstants.XDI_ADD_COMMON_VARIABLE.equals(XDIarc)) return null; if (! XDIarc.getXRef().isEmpty()) return null; // substitute the arc XDIArc newArc = getVariablesPerMessageEnvelope(executionContext).get(XDIarc); if (newArc == null) { newArc = XdiEntityInstanceUnordered.createXDIArc(); putVariablePerMessageEnvelope(executionContext, XDIarc, newArc); putVariablePerOperation(executionContext, XDIarc, newArc); } // done return newArc; }
@Override public CloudNumber map(XDIAddress XDIaddress) { if (this.peerRootXDIArc) return CloudNumber.fromPeerRootXDIArc(XDIArc.fromComponent(XDIaddress)); else return CloudNumber.fromXDIAddress(XDIaddress); } }
public static XDIArc createXDIArc(XDIArc XDIarc) { return createXDIArc( XDIarc.getCs(), XDIarc.isImmutable(), XDIarc.isRelative(), XDIarc.getLiteral(), XDIarc.getXRef()); }