@Override public ContextNode setDeepContextNode(XDIAddress contextNodeXDIAddress) { return this.getRootContextNode(false).setDeepContextNode(contextNodeXDIAddress); }
XdiAttribute digestValidXdiAttribute = XdiAttributeSingleton.fromContextNode(message.getContextNode().setDeepContextNode(XDISecurityConstants.XDI_ADD_DIGEST_VALID)); LiteralNode digestValidLiteral = digestValidXdiAttribute.setLiteralBoolean(Boolean.valueOf(validated));
XdiAttribute signatureValidXdiAttribute = XdiAttributeSingleton.fromContextNode(message.getContextNode().setDeepContextNode(XDISecurityConstants.XDI_ADD_SIGNATURE_VALID)); LiteralNode signatureValidLiteral = signatureValidXdiAttribute.setLiteralBoolean(Boolean.valueOf(validated));
@Override public InterceptorResult before(Message message, ExecutionContext executionContext, ExecutionResult executionResult) throws Xdi2MessagingException { // look for secret token on the message String secretToken = message.getSecretToken(); if (secretToken == null) return InterceptorResult.DEFAULT; // validate secret token XDIAddress senderXDIAddress = message.getSenderXDIAddress(); SecretTokenValidator secretTokenAuthenticator = this.getSecretTokenValidator(); if (log.isDebugEnabled()) log.debug("Validating for " + senderXDIAddress + " via " + secretTokenAuthenticator.getClass().getSimpleName()); boolean validated = true; validated &= secretTokenAuthenticator.authenticate(secretToken, senderXDIAddress); // secret token is valid? XdiAttribute secretTokenValidXdiAttribute = XdiAttributeSingleton.fromContextNode(message.getContextNode().setDeepContextNode(XDISecurityConstants.XDI_ADD_SECRET_TOKEN_VALID)); LiteralNode secretTokenValidLiteral = secretTokenValidXdiAttribute.setLiteralBoolean(Boolean.valueOf(validated)); if (log.isDebugEnabled()) log.debug("Valid for " + senderXDIAddress + ": " + secretTokenValidLiteral.getStatement()); if (! validated) throw new Xdi2SecurityException("Invalid secret token.", null, executionContext); // done return InterceptorResult.DEFAULT; }
@Override public InterceptorResult before(Message message, ExecutionContext executionContext, ExecutionResult executionResult) throws Xdi2MessagingException { // look for HttpTransport, HttpRequest, HttpResponse TransportRequest request = AbstractTransport.getRequest(executionContext); if (! (request instanceof HttpTransportRequest)) return InterceptorResult.DEFAULT; HttpTransportRequest httpRequest = (HttpTransportRequest) request; // add <$ip> String remoteAddr = httpRequest.getRemoteAddr(); XdiAttribute ipXdiAttribute = XdiAttributeSingleton.fromContextNode(message.getContextNode().setDeepContextNode(XDI_ADD_IP)); LiteralNode ipLiteral = ipXdiAttribute.setLiteralString(remoteAddr); if (log.isDebugEnabled()) log.debug("IP: " + ipLiteral.getStatement()); // done return InterceptorResult.DEFAULT; }
private void writeContextNodeXDIArc(BufferedWriter bufferedWriter, XDIAddress contextNodeXDIAddress, XDIArc contextNodeXDIArc) throws IOException { ContextNode contextNode = MemoryGraphFactory.getInstance().openGraph().getRootContextNode(false); if (! XDIConstants.XDI_ADD_ROOT.equals(contextNodeXDIAddress)) { contextNode = contextNode.setDeepContextNode(contextNodeXDIAddress); } this.writeContextNodeXDIArc(bufferedWriter, contextNode, contextNodeXDIArc); }
ContextNode subContextNode = contextNode.setDeepContextNode(XDIaddress); if (log.isTraceEnabled()) log.trace("Under " + contextNode.getXDIAddress() + ": Set context node(s) " + subContextNode.getXDIArc() + " --> " + subContextNode.getXDIAddress());
contextNode = contextNode.setDeepContextNode(id); ContextNode nestedContextNode = contextNode.setDeepContextNode(entryId); ContextNode nestedContextNode = contextNode.setDeepContextNode(entryId); LiteralNode literalNode = contextNode.setDeepContextNode(entryId).setLiteralNode(literalData);
/** * Set a secret token on the message (template). * @param secretToken The secret token to set. */ public void setSecretToken(String secretToken) { if (secretToken != null) { XdiAttributeSingleton xdiAttribute = XdiAttributeSingleton.fromContextNode(this.getContextNode().setDeepContextNode(XDISecurityConstants.XDI_ADD_SECRET_TOKEN)); xdiAttribute.setLiteralData(secretToken); } else { XdiAttributeSingleton xdiAttribute = XdiAttributeSingleton.fromContextNode(this.getContextNode().getDeepContextNode(XDISecurityConstants.XDI_ADD_SECRET_TOKEN, true)); LiteralNode literalNode = xdiAttribute == null ? null : xdiAttribute.getLiteralNode(); if (literalNode != null) literalNode.delete(); } }
XDIAddress absoluteSubject = root.relativeToAbsoluteXDIAddress(XDIstatement.getContextNodeXDIAddress()); XDIAddress relativeSubject = statementRoot.absoluteToRelativeXDIAddress(absoluteSubject); ContextNode baseContextNode = relativeSubject == null ? statementRoot.getContextNode() : statementRoot.getContextNode().setDeepContextNode(relativeSubject); XDIAddress absoluteSubject = root.relativeToAbsoluteXDIAddress(XDIstatement.getContextNodeXDIAddress()); XDIAddress relativeSubject = statementRoot.absoluteToRelativeXDIAddress(absoluteSubject); ContextNode baseContextNode = relativeSubject == null ? statementRoot.getContextNode() : statementRoot.getContextNode().setDeepContextNode(relativeSubject); XDIAddress absoluteSubject = root.relativeToAbsoluteXDIAddress(XDIstatement.getContextNodeXDIAddress()); XDIAddress relativeSubject = statementRoot.absoluteToRelativeXDIAddress(absoluteSubject); ContextNode baseContextNode = relativeSubject == null ? statementRoot.getContextNode() : statementRoot.getContextNode().setDeepContextNode(relativeSubject);
@SuppressWarnings("unused") private static void makeGraph(Graph graph) throws Exception { ContextNode rootContextNode = graph.getRootContextNode(); ContextNode abcContextNode = rootContextNode.setContextNode(XDIArc.create("=abc")); ContextNode abcPassportContextNode = abcContextNode.setContextNode(XDIArc.create("[#passport]")); ContextNode abcPassport1ContextNode = abcPassportContextNode.setContextNode(XDIArc.create("*!:uuid:1111")); ContextNode abcPassport2ContextNode = abcPassportContextNode.setContextNode(XDIArc.create("*!:uuid:2222")); ContextNode abcPassportVContextNode = abcPassportContextNode.setContextNode(XDIArc.create("[$v]")); ContextNode abcPassportCContextNode = abcPassportContextNode.setContextNode(XDIArc.create("[$o]")); ContextNode abcPassportV1ContextNode = abcPassportVContextNode.setContextNode(XDIArc.create("*!:uuid:1111")); ContextNode abcPassportV2ContextNode = abcPassportVContextNode.setContextNode(XDIArc.create("*!:uuid:2222")); Relation abcPassportV2RelationDollar = abcPassportV2ContextNode.setRelation(XDIAddress.create("$"), XDIAddress.create("=abc[#passport]")); LiteralNode abcPassport1NumberLiteral = abcPassport1ContextNode.setDeepContextNode(XDIAddress.create("<#number>")).setLiteralNode("987654321"); LiteralNode abcPassport1CountryLiteral = abcPassport1ContextNode.setDeepContextNode(XDIAddress.create("<#country>")).setLiteralNode("Canada"); LiteralNode abcPassport1DLiteral = abcPassport1ContextNode.setDeepContextNode(XDIAddress.create("<$t>")).setLiteralNode("2005-01-01T00:00:00Z"); LiteralNode abcPassport2NumberLiteral = abcPassport2ContextNode.setDeepContextNode(XDIAddress.create("<#number>")).setLiteralNode("123456789"); LiteralNode abcPassport2CountryLiteral = abcPassport2ContextNode.setDeepContextNode(XDIAddress.create("<#country>")).setLiteralNode("New Zealand"); LiteralNode abcPassport2DLiteral = abcPassport2ContextNode.setDeepContextNode(XDIAddress.create("<$t>")).setLiteralNode("2010-10-01T00:00:00Z"); ContextNode abcPassportC1ContextNode = abcPassportCContextNode.setContextNode(XDIArc.create("*!:uuid:1111")); ContextNode abcPassportC2ContextNode = abcPassportCContextNode.setContextNode(XDIArc.create("*!:uuid:2222")); LiteralNode abcPassportC1DLiteral = abcPassportC1ContextNode.setDeepContextNode(XDIAddress.create("<$t>")).setLiteralNode("2010-11-11T11:11:11Z"); LiteralNode abcPassportC2DLiteral = abcPassportC2ContextNode.setDeepContextNode(XDIAddress.create("<$t>")).setLiteralNode("2010-12-22T22:22:22Z"); Relation abcPassportRelationV = abcPassportContextNode.setRelation(XDIAddress.create("[$v]"), XDIAddress.create("=abc[#passport][$v]*!:uuid:2222")); Relation abcPassportRelation1 = abcPassportContextNode.setRelation(XDIAddress.create("@~1"), abcPassport1ContextNode); Relation abcPassportRelation2 = abcPassportContextNode.setRelation(XDIAddress.create("@~2"), abcPassport2ContextNode); Relation abcTestRelation1 = abcContextNode.setRelation(XDIAddress.create("#rel"), abcPassport1ContextNode); Relation abcTestRelation2 = abcContextNode.setRelation(XDIAddress.create("#rel"), abcPassport2ContextNode); }
public void testNoExceptions() throws Exception { Graph graph17 = this.getGraphFactory().openGraph(this.getClass().getName() + "-graph-17"); graph17.setStatement(XDIStatement.create("=markus<#email>/&/\"Markus Sabadello\"")); graph17.setStatement(XDIStatement.create("=markus/#friend/=neustar=les")); ContextNode root = graph17.getRootContextNode(); ContextNode markus = graph17.getDeepContextNode(XDIAddress.create("=markus")); ContextNode les = graph17.getDeepContextNode(XDIAddress.create("=neustar=les")); root.setContextNode(XDIArc.create("=markus")); markus.setDeepContextNode(XDIAddress.create("<#email>")).setLiteralNode("test"); markus.setRelation(XDIAddress.create("#friend"), les); graph17.close(); }
public void testCreate() throws Exception { Graph graph24 = this.getGraphFactory().openGraph(this.getClass().getName() + "-graph-24"); ContextNode root = graph24.getRootContextNode(); root.setContextNode(XDIArc.create("+a")); assertNotNull(root.getContextNode(XDIArc.create("+a"))); assertNotNull(root.getDeepContextNode(XDIAddress.create("+a"))); assertNotNull(graph24.getDeepContextNode(XDIAddress.create("+a"))); root.setContextNode(XDIArc.create("+a")); root.setDeepContextNode(XDIAddress.create("+a")); graph24.setDeepContextNode(XDIAddress.create("+a")); root.setDeepContextNode(XDIAddress.create("+a+b")); assertNotNull(root.getContextNode(XDIArc.create("+a")).getContextNode(XDIArc.create("+b"))); assertNotNull(root.getDeepContextNode(XDIAddress.create("+a+b"))); assertNotNull(graph24.getDeepContextNode(XDIAddress.create("+a+b"))); root.setContextNode(XDIArc.create("+a")); root.setDeepContextNode(XDIAddress.create("+a")); root.setDeepContextNode(XDIAddress.create("+a+b")); graph24.setDeepContextNode(XDIAddress.create("+a")); graph24.setDeepContextNode(XDIAddress.create("+a+b")); graph24.close(); }
public void testSet() throws Exception { Graph graph25 = this.getGraphFactory().openGraph(this.getClass().getName() + "-graph-25"); ContextNode root = graph25.getRootContextNode(); root.setContextNode(XDIArc.create("+a")); assertNotNull(root.getContextNode(XDIArc.create("+a"))); assertNotNull(root.getDeepContextNode(XDIAddress.create("+a"))); assertNotNull(graph25.getDeepContextNode(XDIAddress.create("+a"))); root.setContextNode(XDIArc.create("+a")); root.setDeepContextNode(XDIAddress.create("+a")); graph25.setDeepContextNode(XDIAddress.create("+a")); root.setDeepContextNode(XDIAddress.create("+a+b")); assertNotNull(root.getContextNode(XDIArc.create("+a")).getContextNode(XDIArc.create("+b"))); assertNotNull(root.getDeepContextNode(XDIAddress.create("+a+b"))); assertNotNull(graph25.getDeepContextNode(XDIAddress.create("+a+b"))); root.setContextNode(XDIArc.create("+a")); root.setDeepContextNode(XDIAddress.create("+a")); root.setDeepContextNode(XDIAddress.create("+a+b")); graph25.setDeepContextNode(XDIAddress.create("+a")); graph25.setDeepContextNode(XDIAddress.create("+a+b")); graph25.close(); }
ContextNode referenceContextNode = graph.getRootContextNode().setDeepContextNode(XDIAddress.create("=pseudo1")); ContextNode replacementContextNode = graph.getRootContextNode().setDeepContextNode(XDIAddress.create("=pseudo2"));
public void testIdentity() throws Exception { Graph graph = MemoryGraphFactory.getInstance().openGraph(); ContextNode contextNode = graph.getRootContextNode().setContextNode(XDIArc.create("=markus")); ContextNode identityContextNode = graph.getRootContextNode().setDeepContextNode(XDIAddress.create("=pseudo")); // test $is Equivalence.setIdentityContextNode(contextNode, identityContextNode); assertEquals(Equivalence.getIdentityContextNodes(contextNode).next(), identityContextNode); assertEquals(Equivalence.getIncomingIdentityContextNodes(identityContextNode).next(), contextNode); assertEquals(Equivalence.getIdentityRelations(contextNode).next(), contextNode.getRelation(XDIDictionaryConstants.XDI_ADD_IS)); assertEquals(Equivalence.getIncomingIdentityRelations(identityContextNode).next(), contextNode.getRelation(XDIDictionaryConstants.XDI_ADD_IS)); Equivalence.getIdentityContextNodes(contextNode).next().delete(); // done assertTrue(contextNode.isEmpty()); assertTrue(identityContextNode.isEmpty()); contextNode.delete(); assertTrue(graph.isEmpty()); graph.close(); }
ContextNode root = graph15.getRootContextNode(); ContextNode c = root.setDeepContextNode(XDIAddress.create("+a+b+c")); ContextNode b = c.getContextNode(); ContextNode a = b.getContextNode(); ContextNode timestamp = c.setDeepContextNode(XDIAddress.create("+d<$t>")); ContextNode d = timestamp.getContextNode();
public void testDelete() throws Exception { Graph graph26 = this.getGraphFactory().openGraph(this.getClass().getName() + "-graph-26"); ContextNode root = graph26.getRootContextNode(); root.setContextNode(XDIArc.create("+a")); assertTrue(root.containsContextNode(XDIArc.create("+a"))); assertNotNull(root.getContextNode(XDIArc.create("+a"))); root.delContextNode(XDIArc.create("+a")); assertFalse(graph26.getRootContextNode().containsContextNode(XDIArc.create("+a"))); assertFalse(root.containsContextNode(XDIArc.create("+a"))); assertNull(graph26.getRootContextNode().getContextNode(XDIArc.create("+a"))); assertNull(root.getContextNode(XDIArc.create("+a"))); root.setRelation(XDIAddress.create("+a"), XDIAddress.create("#b")); assertTrue(root.containsRelation(XDIAddress.create("+a"), XDIAddress.create("#b"))); assertNotNull(root.getRelation(XDIAddress.create("+a"), XDIAddress.create("#b"))); root.delRelation(XDIAddress.create("+a"), XDIAddress.create("#b")); assertFalse(root.containsRelation(XDIAddress.create("+a"), XDIAddress.create("#b"))); assertNull(root.getRelation(XDIAddress.create("+a"), XDIAddress.create("#b"))); root.setDeepContextNode(XDIAddress.create("<#a>")).setLiteralNode("a"); assertTrue(root.getDeepContextNode(XDIAddress.create("<#a>")).containsLiteralNode("a")); assertNotNull(root.getDeepContextNode(XDIAddress.create("<#a>")).getLiteralNode("a")); assertNotNull(root.getDeepLiteralNode(XDIAddress.create("<#a>&"))); root.getDeepContextNode(XDIAddress.create("<#a>")).delLiteralNode(); assertFalse(root.getDeepContextNode(XDIAddress.create("<#a>")).containsLiteralNode("a")); assertNull(root.getDeepContextNode(XDIAddress.create("<#a>")).getLiteralNode("a")); assertNull(root.getDeepLiteralNode(XDIAddress.create("<#a>&"))); root.getContextNode(XDIArc.create("#b")).delete(); root.getDeepContextNode(XDIAddress.create("<#a>")).delete(); assertTrue(root.isEmpty()); graph26.close(); }