@Override public String map(LiteralNode literal) { return literal.getLiteralDataString(); } }
@Override public Boolean map(LiteralNode literal) { return literal.getLiteralDataBoolean(); } }
@Override public LiteralStatement map(LiteralNode literal) { return literal.getStatement(); } }
@Override public LiteralNode replaceLiteralNode(LiteralNode literalNode) { String literalDataString = literalNode.getLiteralDataString(); if (literalDataString == null) return literalNode; for (Map.Entry<String, String> replacement : this.replacements.entrySet()) { literalDataString = literalDataString.replaceAll(replacement.getKey(), replacement.getValue()); } return new DummyLiteralNode(literalNode.getContextNode(), literalDataString); } }
@Override public int compareTo(LiteralNode other) { if (other == null || other == this) return 0; int compare; if ((compare = this.getContextNode().compareTo(other.getContextNode())) != 0) return compare; if ((compare = LITERALDATACOMPARATOR.compare(this.getLiteralData(), other.getLiteralData())) != 0) return compare; return 0; }
private void putLiteralNodeIntoAttributeJsonObject(LiteralNode literalNode, JsonObject attributeJsonObject, XDIAddress parentXDIAddress) { XDIAddress XDIaddress = literalNode.getXDIAddress(); XDIAddress localXDIAddress = XDIAddressUtil.localXDIAddress(XDIaddress, - parentXDIAddress.getNumXDIArcs()); JsonElement literalJsonElement = AbstractLiteralNode.literalDataToJsonElement(literalNode.getLiteralData()); attributeJsonObject.add(localXDIAddress.toString(), literalJsonElement); }
assertEquals(c.getLiteralNode().getLiteralData(), s); assertEquals(c.getLiteralNode().getLiteralDataString(), s); assertNull(c.getLiteralNode().getLiteralDataNumber()); assertNull(c.getLiteralNode().getLiteralDataBoolean()); assertTrue(c.containsLiteralNode(s)); assertTrue(c.containsLiteralString(s)); assertEquals(c.getLiteralNode().getLiteralData(), d); assertNull(c.getLiteralNode().getLiteralDataString()); assertEquals(c.getLiteralNode().getLiteralDataNumber(), d); assertNull(c.getLiteralNode().getLiteralDataBoolean()); assertTrue(c.containsLiteralNode(d)); assertTrue(c.containsLiteralNumber(d)); assertEquals(c.getLiteralNode().getLiteralData(), b); assertNull(c.getLiteralNode().getLiteralDataString()); assertNull(c.getLiteralNode().getLiteralDataNumber()); assertEquals(c.getLiteralNode().getLiteralDataBoolean(), b); assertTrue(c.containsLiteralNode(b)); assertTrue(c.containsLiteralBoolean(b)); assertEquals(c.getLiteralNode().getLiteralData(), a); assertNull(c.getLiteralNode().getLiteralDataString()); assertNull(c.getLiteralNode().getLiteralDataNumber()); assertNull(c.getLiteralNode().getLiteralDataBoolean()); assertTrue(c.containsLiteralNode(a)); assertEquals(c.getLiteralNode().getLiteralData(), o); assertNull(c.getLiteralNode().getLiteralDataString());
@Override public Object map(LiteralNode literal) { return literal.getLiteralData(); } }
@Override public InterceptorResult after(Operation operation, Graph operationResultGraph, ExecutionContext executionContext) throws Xdi2MessagingException { for (LiteralNode literal : operationResultGraph.getRootContextNode(true).getAllLiteralNodes()) { String encryptedLiteralDataString = literal.getLiteralDataString(); if (encryptedLiteralDataString == null) continue; String literalDataString; try { literalDataString = this.getLiteralCryptoService().decryptLiteralDataString(encryptedLiteralDataString); } catch (Exception ex) { if (log.isDebugEnabled()) log.debug("Problem while decrypting literal string: " + ex.getMessage(), ex); continue; } Object literalData = AbstractLiteralNode.stringToLiteralData(literalDataString); literal.setLiteralData(literalData); } // done return InterceptorResult.DEFAULT; }
@Override public Number map(LiteralNode literal) { return literal.getLiteralDataNumber(); } }
abcPassportC1LiteralD.setLiteralData("2010-03-03T03:03:03Z"); abcPassportC2LiteralD.getContextNode().delete();
@Override public ContextNode map(LiteralNode literal) { return literal.getContextNode(); } }
@Override public void executeDelOnLiteralStatement(XDIStatement literalStatement, DelOperation operation, Graph operationResultGraph, ExecutionContext executionContext) throws Xdi2MessagingException { XDIAddress contextNodeXDIAddress = literalStatement.getContextNodeXDIAddress(); Object literalData = literalStatement.getLiteralData(); ContextNode contextNode = this.getGraph().getDeepContextNode(contextNodeXDIAddress); if (contextNode == null) return; LiteralNode literalNode = contextNode.getLiteralNode(literalData); if (literalNode == null) return; literalNode.delete(); } }
@Override public Object getLiteralData() { LiteralNode literalNode = this.getLiteralNode(); if (literalNode == null) return null; return literalNode.getLiteralData(); }
@Override public boolean equals(Object object) { if (object == null || ! (object instanceof LiteralNode)) return false; if (object == this) return true; LiteralNode other = (LiteralNode) object; // two literals are equal if their context nodes and their data are equal return this.getContextNode().equals(other.getContextNode()) && AbstractLiteralNode.isLiteralDataEqual(this.getLiteralData(), other.getLiteralData()); }
/** * Returns a parameter value number of this message (template). * @param parameterXDIAddress The parameter identifier. * @return The parameter value number. */ public Number getParameterNumber(XDIAddress parameterXDIAddress) { LiteralNode parameterLiteralNode = this.getParameterLiteral(parameterXDIAddress); if (parameterLiteralNode == null) return null; return parameterLiteralNode.getLiteralDataNumber(); }
private void putLiteralNodeIntoAttributeJsonObject(LiteralNode literalNode, JsonObject attributeJsonObject, XDIAddress parentXDIAddress) { XDIAddress XDIaddress = literalNode.getXDIAddress(); XDIAddress localXDIAddress = XDIAddressUtil.localXDIAddress(XDIaddress, - parentXDIAddress.getNumXDIArcs()); JsonElement literalJsonElement = AbstractLiteralNode.literalDataToJsonElement(literalNode.getLiteralData()); attributeJsonObject.add(localXDIAddress.toString(), literalJsonElement); }
/** * Copies a literal into another graph. * @param literalNode A literal from any graph. * @param targetGraph The target graph. * @param copyStrategy The strategy to determine what to copy. * @return The copied literal in the target graph. */ public static LiteralNode copyLiteralNode(LiteralNode literalNode, Graph targetGraph, CopyStrategy copyStrategy) { if (literalNode == null) throw new NullPointerException(); if (targetGraph == null) throw new NullPointerException(); if (copyStrategy == null) copyStrategy = DEFAULT_COPY_STRATEGY; XDIAddress literalNodeContextNodeXDIAddress = literalNode.getContextNode().getXDIAddress(); ContextNode targetContextNode = targetGraph.setDeepContextNode(literalNodeContextNodeXDIAddress); return copyLiteralNode(literalNode, targetContextNode, copyStrategy); }
/** * 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(); } }
/** * Returns a parameter value string of this operation. * @param parameterXDIAddress The parameter identifier. * @return The parameter value string. */ public String getParameterString(XDIAddress parameterXDIAddress) { LiteralNode parameterLiteral = this.getParameterLiteralNode(parameterXDIAddress); if (parameterLiteral == null) return null; return parameterLiteral.getLiteralDataString(); }