@Override public Object map(LiteralNode literal) { return literal.getLiteralData(); } }
assertEquals(c.getLiteralNode().getLiteralData(), s); assertEquals(c.getLiteralNode().getLiteralDataString(), s); assertNull(c.getLiteralNode().getLiteralDataNumber()); assertEquals(c.getLiteralNode().getLiteralData(), d); assertNull(c.getLiteralNode().getLiteralDataString()); assertEquals(c.getLiteralNode().getLiteralDataNumber(), d); assertEquals(c.getLiteralNode().getLiteralData(), b); assertNull(c.getLiteralNode().getLiteralDataString()); assertNull(c.getLiteralNode().getLiteralDataNumber()); assertEquals(c.getLiteralNode().getLiteralData(), a); assertNull(c.getLiteralNode().getLiteralDataString()); assertNull(c.getLiteralNode().getLiteralDataNumber()); assertEquals(c.getLiteralNode().getLiteralData(), o); assertNull(c.getLiteralNode().getLiteralDataString()); assertNull(c.getLiteralNode().getLiteralDataNumber()); assertEquals(c.getLiteralNode().getLiteralData(), n); assertNull(c.getLiteralNode().getLiteralDataString()); assertNull(c.getLiteralNode().getLiteralDataNumber());
/** * Returns a parameter value of this operation. * @param parameterXDIAddress The parameter identifier. * @return The parameter value. */ public Object getParameter(XDIAddress parameterXDIAddress) { LiteralNode parameterLiteral = this.getParameterLiteralNode(parameterXDIAddress); if (parameterLiteral == null) return null; return parameterLiteral.getLiteralData(); }
/** * Returns a parameter value of this message (template). * @param parameterXDIAddress The parameter identifier. * @return The parameter value. */ public Object getParameter(XDIAddress parameterXDIAddress) { LiteralNode parameterLiteralNode = this.getParameterLiteral(parameterXDIAddress); if (parameterLiteralNode == null) return null; return parameterLiteralNode.getLiteralData(); }
@Override public Object getLiteralData() { LiteralNode literalNode = this.getLiteralNode(); if (literalNode == null) return null; return literalNode.getLiteralData(); }
private void putLiteralNodeIntoJsonObject(LiteralNode literalNode, JsonObject jsonObject) { // fill child JSON object jsonObject.add(JXDConstants.JXD_VALUE, AbstractLiteralNode.literalDataToJsonElement(literalNode.getLiteralData())); }
/** * Copies a literal into another context node. * @param literalNode A literal from any context node. * @param targetContextNode The target context node. * @param copyStrategy The strategy to determine what to copy. * @return The copied literal in the target context node. */ public static LiteralNode copyLiteralNode(LiteralNode literalNode, ContextNode targetContextNode, CopyStrategy copyStrategy) { if (literalNode == null) throw new NullPointerException(); if (targetContextNode == null) throw new NullPointerException(); if (copyStrategy == null) copyStrategy = DEFAULT_COPY_STRATEGY; if ((literalNode = copyStrategy.replaceLiteralNode(literalNode)) == null) return null; Object literalData = literalNode.getLiteralData(); LiteralNode targetLiteral = targetContextNode.setLiteralNode(literalData); return targetLiteral; }
@Override public LiteralNode getLiteralNode(Object literalData) { LiteralNode literalNode = this.getLiteralNode(); if (literalNode == null) return null; if (! AbstractLiteralNode.isLiteralDataEqual(literalNode.getLiteralData(), literalData)) return null; return literalNode; }
@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()); }
@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); }
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); }
@Override public boolean evaluateInternal(PolicyEvaluationContext policyEvaluationContext) { ContextNode subject = policyEvaluationContext.getContextNode(this.getXDIStatement().getSubject()); ContextNode object = policyEvaluationContext.getContextNode((XDIAddress) this.getXDIStatement().getObject()); if (subject == null || object == null) return false; if (subject.containsLiteralNode()) { if (! (object.containsLiteralNode())) return false; Object subjectLiteralData = subject.getLiteralNode().getLiteralData(); Object objectLiteralData = object.getLiteralNode().getLiteralData(); if (subjectLiteralData == null || objectLiteralData == null) return false; return AbstractLiteralNode.LITERALDATACOMPARATOR.compare(subjectLiteralData, objectLiteralData) > 0; } return false; } }
@Override public boolean evaluateInternal(PolicyEvaluationContext policyEvaluationContext) { ContextNode subject = policyEvaluationContext.getContextNode(this.getXDIStatement().getSubject()); ContextNode object = policyEvaluationContext.getContextNode((XDIAddress) this.getXDIStatement().getObject()); if (subject == null || object == null) return false; if (subject.containsLiteralNode()) { if (! (object.containsLiteralNode())) return false; Object subjectLiteralData = subject.getLiteralNode().getLiteralData(); Object objectLiteralData = object.getLiteralNode().getLiteralData(); if (subjectLiteralData == null || objectLiteralData == null) return false; return AbstractLiteralNode.LITERALDATACOMPARATOR.compare(subjectLiteralData, objectLiteralData) < 0; } return false; } }
json.add(XDIConstants.CS_LITERAL.toString(), AbstractLiteralNode.literalDataToJsonElement(innerContextNode.getLiteralNode().getLiteralData())); } else {
@Override public boolean evaluateInternal(PolicyEvaluationContext policyEvaluationContext) { ContextNode subject = policyEvaluationContext.getContextNode(this.getXDIStatement().getSubject()); ContextNode object = policyEvaluationContext.getContextNode((XDIAddress) this.getXDIStatement().getObject()); if (subject == null || object == null) return false; if (subject.containsLiteralNode()) { if (! (object.containsLiteralNode())) return false; Object subjectLiteralData = subject.getLiteralNode().getLiteralData(); Object objectLiteralData = object.getLiteralNode().getLiteralData(); if (subjectLiteralData == null || objectLiteralData == null) return false; return AbstractLiteralNode.isLiteralDataEqual(subjectLiteralData, objectLiteralData); } return false; } }
if (log.isTraceEnabled()) log.trace("Under " + contextNode.getXDIAddress() + ": Set literal --> " + literalNode.getLiteralData()); } else if (key.startsWith("/")) {
if (log.isTraceEnabled()) log.trace("Under " + baseContextNode.getXDIAddress() + ": Set literal node --> " + literalNode.getLiteralData()); } else {
jsonObject.add(mapLiteralNode(localXDIAddress, mapping), AbstractLiteralNode.literalDataToJsonElement(contextNode.getLiteralNode().getLiteralData())); return;
public void testSimple() throws Exception { Graph graph0 = this.getGraphFactory().openGraph(this.getClass().getName() + "-graph-0"); ContextNode markus = graph0.getRootContextNode().setContextNode(XDIArc.create("=markus")); ContextNode email = markus.setContextNode(XDIArc.create("<#email>")); email.setLiteralNode("abc@gmail.com"); markus.setRelation(XDIAddress.create("#friend"), XDIAddress.create("=drummond")); markus = graph0.getRootContextNode().getContextNode(XDIArc.create("=markus")); assertNotNull(markus); assertFalse(markus.isRootContextNode()); assertFalse(markus.isEmpty()); assertFalse(markus.isLeafContextNode()); assertTrue(markus.containsRelations()); assertFalse(markus.containsLiteralNode()); assertTrue(email.isLeafContextNode()); assertTrue(email.containsLiteralNode()); ContextNode drummond = graph0.getRootContextNode().getContextNode(XDIArc.create("=drummond")); assertNotNull(drummond); assertTrue(drummond.isEmpty()); assertTrue(drummond.isLeafContextNode()); email.setLiteralNode("xyz@gmail.com"); assertEquals(graph0.getDeepLiteralNode(XDIAddress.create("=markus<#email>&")).getLiteralData(), "xyz@gmail.com"); assertEquals(graph0.getDeepContextNode(XDIAddress.create("=markus<#email>")).getLiteralNode().getLiteralData(), "xyz@gmail.com"); graph0.close(); }