private static boolean isSetOnRefRepStatement(XDIStatement targetXDIStatement, Operation operation) { if (! (operation instanceof SetOperation)) return false; if (! targetXDIStatement.isRelationStatement()) return false; if (XDIDictionaryConstants.XDI_ADD_REF.equals(targetXDIStatement.getRelationXDIAddress())) return true; if (XDIDictionaryConstants.XDI_ADD_REP.equals(targetXDIStatement.getRelationXDIAddress())) return true; return false; }
/** * Checks if a statement is a valid XDI $is condition. * @param XDIstatement The statement to check. * @return True if the statement is a valid XDI $is condition. */ public static boolean isValid(XDIStatement XDIstatement) { if (! XDIstatement.isRelationStatement()) return false; if (! XDIPolicyConstants.XDI_ADD_IS.equals(XDIstatement.getRelationXDIAddress())) return false; return true; }
/** * Checks if a statement is a valid XDI $greater condition. * @param XDIstatement The statement to check. * @return True if the statement is a valid XDI $greater condition. */ public static boolean isValid(XDIStatement XDIstatement) { if (! XDIstatement.isRelationStatement()) return false; if (! XDIPolicyConstants.XDI_ADD_GREATER.equals(XDIstatement.getRelationXDIAddress())) return false; return true; }
/** * Checks if a statement is a valid XDI $equals condition. * @param XDIstatement The statement to check. * @return True if the statement is a valid XDI $equals condition. */ public static boolean isValid(XDIStatement XDIstatement) { if (! XDIstatement.isRelationStatement()) return false; if (! XDIPolicyConstants.XDI_ADD_EQUALS.equals(XDIstatement.getRelationXDIAddress())) return false; return true; }
/** * Checks if a statement is a valid XDI $matches condition. * @param XDIstatement The statement to check. * @return True if the statement is a valid XDI $matches condition. */ public static boolean isValid(XDIStatement XDIstatement) { if (! XDIstatement.isRelationStatement()) return false; if (! XDIPolicyConstants.XDI_ADD_MATCHES.equals(XDIstatement.getRelationXDIAddress())) return false; return true; }
/** * Checks if a statement is a valid XDI $lesser condition. * @param XDIstatement The statement to check. * @return True if the statement is a valid XDI $lesser condition. */ public static boolean isValid(XDIStatement XDIstatement) { if (! XDIstatement.isRelationStatement()) return false; if (! XDIPolicyConstants.XDI_ADD_LESSER.equals(XDIstatement.getRelationXDIAddress())) return false; return true; }
if (XDIDictionaryConstants.XDI_ADD_REF.equals(targetStatement.getRelationXDIAddress())) doFollowTargetSubject = false; if (XDIDictionaryConstants.XDI_ADD_REP.equals(targetStatement.getRelationXDIAddress())) doFollowTargetSubject = false; if (XDIDictionaryConstants.XDI_ADD_IS_REF.equals(targetStatement.getRelationXDIAddress())) doFollowTargetSubject = false; if (XDIDictionaryConstants.XDI_ADD_IS_REP.equals(targetStatement.getRelationXDIAddress())) doFollowTargetSubject = false; if (XDIDictionaryConstants.XDI_ADD_REF.equals(targetStatement.getRelationXDIAddress())) doFollowTargetObject = false; if (XDIDictionaryConstants.XDI_ADD_REP.equals(targetStatement.getRelationXDIAddress())) doFollowTargetObject = false; if (XDIDictionaryConstants.XDI_ADD_IS_REF.equals(targetStatement.getRelationXDIAddress())) doFollowTargetObject = false; if (XDIDictionaryConstants.XDI_ADD_IS_REP.equals(targetStatement.getRelationXDIAddress())) doFollowTargetObject = false; if (! targetStatement.isRelationStatement()) doFollowTargetObject = false; if (targetStatement.isRelationStatement() && XDIConstants.XDI_ADD_COMMON_VARIABLE.equals(targetStatement.getTargetXDIAddress())) doFollowTargetObject = false; if (XDIDictionaryConstants.XDI_ADD_REF.equals(targetStatement.getRelationXDIAddress()) || XDIDictionaryConstants.XDI_ADD_REP.equals(targetStatement.getRelationXDIAddress())) {
@Override public void executeSetOnRelationStatement(XDIStatement relationStatement, SetOperation operation, Graph operationResultGraph, ExecutionContext executionContext) throws Xdi2MessagingException { XDIAddress contextNodeXDIAddress = relationStatement.getContextNodeXDIAddress(); XDIAddress relationXDIaddress = relationStatement.getRelationXDIAddress(); XDIAddress targetXDIAddress = relationStatement.getTargetXDIAddress(); this.getGraph().setDeepContextNode(contextNodeXDIAddress).setRelation(relationXDIaddress, targetXDIAddress); }
! Arrays.asList(contributorMount.relationXDIAddresses()).contains(relativeTargetXDIStatement.getRelationXDIAddress())) { if (log.isDebugEnabled()) log.debug("Skipping contributor (doesn't like relation arc " + relativeTargetXDIStatement.getRelationXDIAddress() + ") " + contributor.getClass().getSimpleName() + " with operation " + operation.getOperationXDIAddress() + " on contributor address " + contributorAddress + " and relative target statement " + relativeTargetXDIStatement + "."); continue;
@Override public void executeGetOnRelationStatement(XDIStatement relationStatement, GetOperation operation, Graph operationResultGraph, ExecutionContext executionContext) throws Xdi2MessagingException { XDIAddress contextNodeXDIAddress = relationStatement.getContextNodeXDIAddress(); XDIAddress relationXDIaddress = relationStatement.getRelationXDIAddress(); XDIAddress targetXDIAddress = relationStatement.getTargetXDIAddress(); ContextNode contextNode = this.getGraph().getDeepContextNode(contextNodeXDIAddress); if (contextNode == null) return; if (XDIConstants.XDI_ADD_COMMON_VARIABLE.equals(targetXDIAddress)) { Iterator<Relation> relations; if (XDIConstants.XDI_ADD_COMMON_VARIABLE.equals(relationXDIaddress)) { relations = contextNode.getRelations(); } else { relations = contextNode.getRelations(relationXDIaddress); } while (relations.hasNext()) CopyUtil.copyStatement(relations.next().getStatement(), operationResultGraph, null); } else { Relation relation = contextNode.getRelation(relationXDIaddress, targetXDIAddress); if (relation == null) return; CopyUtil.copyStatement(relation.getStatement(), operationResultGraph, null); } }
@Override public void executeDelOnRelationStatement(XDIStatement relationStatement, DelOperation operation, Graph operationResultGraph, ExecutionContext executionContext) throws Xdi2MessagingException { XDIAddress contextNodeXDIAddress = relationStatement.getContextNodeXDIAddress(); XDIAddress relationXDIaddress = relationStatement.getRelationXDIAddress(); XDIAddress targetXDIAddress = relationStatement.getTargetXDIAddress(); ContextNode contextNode = this.getGraph().getDeepContextNode(contextNodeXDIAddress, false); if (contextNode == null) return; if (XDIConstants.XDI_ADD_COMMON_VARIABLE.equals(targetXDIAddress)) { if (XDIConstants.XDI_ADD_COMMON_VARIABLE.equals(relationXDIaddress)) { contextNode.delRelations(); } else { contextNode.delRelations(relationXDIaddress); } } else { contextNode.delRelation(relationXDIaddress, targetXDIAddress); } }
} else if (XDIstatement.isRelationStatement()) { XDIAddress relationAddress = XDIstatement.getRelationXDIAddress(); XDIAddress targetXDIAddress = XDIstatement.getTargetXDIAddress();
if (subjectXDIAddress == null) subjectXDIAddress = XDIConstants.XDI_ADD_ROOT; XDIAddress predicateXDIAddress = XDIstatement.getRelationXDIAddress(); XDIAddress objectXDIAddress = XDIstatement.getTargetXDIAddress();
XDIAddress XDIaddress = XDIstatement.getRelationXDIAddress(); JsonArray jsonEntryArray = (JsonArray) jsonEntryElement;
@Override public Statement getStatement(XDIStatement statement) { ContextNode baseContextNode = this.getDeepContextNode(statement.getSubject(), false); if (baseContextNode == null) return null; if (statement.isContextNodeStatement()) { ContextNode contextNode = baseContextNode.getContextNode(statement.getContextNodeXDIArc(), false); return contextNode == null ? null : contextNode.getStatement(); } else if (statement.isRelationStatement()) { Relation relation = baseContextNode.getRelation(statement.getRelationXDIAddress(), statement.getTargetXDIAddress()); return relation == null ? null : relation.getStatement(); } else if (statement.isLiteralStatement()) { LiteralNode literalNode = baseContextNode.getLiteralNode(statement.getLiteralData()); return literalNode == null ? null : literalNode.getStatement(); } return null; }
@Override public Statement setStatement(XDIStatement statement) { // set the statement if (statement.isContextNodeStatement()) { ContextNode contextNode = (ContextNode) this.setDeepNode(statement.getTargetXDIAddress()); return contextNode.getStatement(); } else if (statement.isRelationStatement()) { ContextNode contextNode = (ContextNode) this.setDeepNode(statement.getContextNodeXDIAddress()); Relation relation = contextNode.setRelation(statement.getRelationXDIAddress(), statement.getTargetXDIAddress()); return relation.getStatement(); } else if (statement.isLiteralStatement()) { ContextNode contextNode = (ContextNode) this.setDeepNode(statement.getContextNodeXDIAddress()); LiteralNode literalNode = contextNode.setLiteralNode(statement.getLiteralData()); return literalNode.getStatement(); } else { throw new Xdi2GraphException("Invalid statement: " + statement); } }