xdi2.core.syntax.XDIAddress.getFirstXDIArc()方法的使用及代码示例

x33g5p2x  于2022-02-03 转载在 其他  
字(10.4k)|赞(0)|评价(0)|浏览(140)

本文整理了Java中xdi2.core.syntax.XDIAddress.getFirstXDIArc()方法的一些代码示例,展示了XDIAddress.getFirstXDIArc()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。XDIAddress.getFirstXDIArc()方法的具体详情如下:
包路径:xdi2.core.syntax.XDIAddress
类名称:XDIAddress
方法名:getFirstXDIArc

XDIAddress.getFirstXDIArc介绍

暂无

代码示例

代码示例来源:origin: projectdanube/xdi2

public static XDIArc fromComponent(XDIAddress XDIaddress) {
  if (XDIaddress.getNumXDIArcs() > 1) return null;
  return XDIaddress.getFirstXDIArc();
}

代码示例来源:origin: projectdanube/xdi2

@Override
public XDIClientRoute<?> route(XDIAddress XDIaddress) throws Xdi2AgentException, Xdi2ClientException {
  // let's find out the TO peer root of the address
  XDIAddress peerRootXDIAddress = XDIAddressUtil.extractXDIAddress(XDIaddress, XdiPeerRoot.class, false, false, true, false, false);
  XDIArc peerRootFirstXDIArc = peerRootXDIAddress == null ? null : peerRootXDIAddress.getFirstXDIArc();
  XDIArc firstXDIArc = XDIaddress.getFirstXDIArc();
  if (log.isDebugEnabled()) log.debug("Peer root first arc: " + peerRootFirstXDIArc + ", First arc: " + firstXDIArc);
  XDIArc toPeerRootXDIArc = null;
  if (toPeerRootXDIArc == null && peerRootFirstXDIArc != null) toPeerRootXDIArc = peerRootFirstXDIArc;
  if (toPeerRootXDIArc == null && firstXDIArc != null) toPeerRootXDIArc = XdiPeerRoot.createPeerRootXDIArc(XDIAddress.fromComponent(firstXDIArc));
  if (log.isDebugEnabled()) log.debug("Determined TO peer root: " + toPeerRootXDIArc);
  if (toPeerRootXDIArc == null) {
    if (log.isDebugEnabled()) log.debug("Unable to determine TO peer root for address " + XDIaddress);
    return null;
  }
  // let's find a route
  return route(toPeerRootXDIArc);
}

代码示例来源:origin: projectdanube/xdi2

public Character getCs() {
  return this.getXDIAddress().getFirstXDIArc().getCs();
}

代码示例来源:origin: projectdanube/xdi2

char cs = XDIaddress.getFirstXDIArc().getCs().charValue();
if (XDIaddress.getFirstXDIArc().isCollection()) return null;
if (! XDIaddress.getFirstXDIArc().hasLiteral()) return null;
if (XDIaddress.getFirstXDIArc().hasXRef()) return null;
if (! XDIaddress.getFirstXDIArc().getLiteral().startsWith(":uuid")) return null;
if (XDIaddress.getFirstXDIArc().getLiteral().length() != 42) return null;
parts[0] = XDIaddress.getFirstXDIArc().getLiteral().substring(6, 10);
parts[1] = XDIaddress.getFirstXDIArc().getLiteral().substring(10, 14);
parts[2] = XDIaddress.getFirstXDIArc().getLiteral().substring(15, 19);
parts[3] = XDIaddress.getFirstXDIArc().getLiteral().substring(20, 24);
if (! parts[0].equals(XDIaddress.getFirstXDIArc().getLiteral().substring(25, 29))) return null;
if (! parts[1].equals(XDIaddress.getFirstXDIArc().getLiteral().substring(30, 34))) return null;
if (! parts[2].equals(XDIaddress.getFirstXDIArc().getLiteral().substring(34, 38))) return null;
if (! parts[3].equals(XDIaddress.getFirstXDIArc().getLiteral().substring(38, 42))) return null;

代码示例来源:origin: projectdanube/xdi2

public Character getCs() {
  return this.getXDIAddress().getFirstXDIArc().getCs();
}

代码示例来源:origin: projectdanube/xdi2

public Character getCs() {
  return this.getXDIAddress().getFirstXDIArc().getCs();
}

代码示例来源:origin: projectdanube/xdi2

/**
 * Return the FROM peer root arc of the message (template).
 */
public XDIArc getFromPeerRootXDIArc() {
  Relation fromPeerRootXDIArcRelation = this.getContextNode().getRelation(XDIMessagingConstants.XDI_ADD_FROM);
  if (fromPeerRootXDIArcRelation == null) return null;
  XDIAddress fromPeerRootXDIAddress = fromPeerRootXDIArcRelation.getTargetXDIAddress();
  if (fromPeerRootXDIAddress.getNumXDIArcs() > 1 || ! XdiPeerRoot.isValidXDIArc(fromPeerRootXDIAddress.getFirstXDIArc())) return null;
  return fromPeerRootXDIAddress.getFirstXDIArc();
}

代码示例来源:origin: projectdanube/xdi2

/**
 * Return the TO peer root arc of the message (template).
 */
public XDIArc getToPeerRootXDIArc() {
  Relation toPeerRootXDIArcRelation = this.getContextNode().getRelation(XDIMessagingConstants.XDI_ADD_TO);
  if (toPeerRootXDIArcRelation == null) return null;
  XDIAddress toPeerRootXDIAddress = toPeerRootXDIArcRelation.getTargetXDIAddress();
  if (toPeerRootXDIAddress.getNumXDIArcs() > 1 || ! XdiPeerRoot.isValidXDIArc(toPeerRootXDIAddress.getFirstXDIArc())) return null;
  return toPeerRootXDIAddress.getFirstXDIArc();
}

代码示例来源:origin: projectdanube/xdi2

private static JsonElement makeGom(XDIAddress XDIaddress) {
  JsonElement gom;
  if (XDIaddress.getNumXDIArcs() == 1) {
    gom = makeGom(XDIaddress.getFirstXDIArc());
  } else {
    gom = new JsonArray();
    for (int i=0; i<XDIaddress.getNumXDIArcs(); i++) ((JsonArray) gom).add(makeGom(XDIaddress.getXDIArc(i)));
  }
  return gom;
}

代码示例来源:origin: projectdanube/xdi2

public static XDIAddress getRequestingAuthority(XDIAddress XDIaddress) {
  XDIaddress = XDIAddressUtil.extractXDIAddress(XDIaddress, XdiInnerRoot.class, false, true, false, false, true);
  if (XDIaddress == null) return null;
  XDIArc linkContractInnerRootXDIArc = XDIaddress.getFirstXDIArc();
  if (! XdiInnerRoot.isValidXDIArc(linkContractInnerRootXDIArc)) return null;
  return XdiInnerRoot.getPredicateOfInnerRootXDIArc(linkContractInnerRootXDIArc);
}

代码示例来源:origin: projectdanube/xdi2

public static XDIAddress getAuthorizingAuthority(XDIAddress XDIaddress) {
  XDIaddress = XDIAddressUtil.extractXDIAddress(XDIaddress, XdiInnerRoot.class, false, true, false, false, true);
  if (XDIaddress == null) return null;
  XDIArc linkContractInnerRootXDIArc = XDIaddress.getFirstXDIArc();
  if (! XdiInnerRoot.isValidXDIArc(linkContractInnerRootXDIArc)) return null;
  return XdiInnerRoot.getSubjectOfInnerRootXDIArc(linkContractInnerRootXDIArc);
}

代码示例来源:origin: projectdanube/xdi2

@Override
  public List<ContextNode> replaceContextNode(ContextNode contextNode) {
    Relation relation = contextNode.getRelation(XDIConstants.XDI_ADD_LITERAL_VARIABLE);
    if (relation == null) return null;
    XDIAddress targetXDIAddress = relation.getTargetXDIAddress();
    if (targetXDIAddress.getNumXDIArcs() > 1) return null;
    Object replacement = this.replacements.get(targetXDIAddress.getFirstXDIArc());
    ContextNode replacedContextNode = CloneUtil.cloneContextNode(contextNode);
    replacedContextNode.delRelations(XDIConstants.XDI_ADD_LITERAL_VARIABLE);
    replacedContextNode.delLiteralNode();
    replacedContextNode.setLiteralNode(replacement);
    if (log.isTraceEnabled()) log.trace("Replaced " + targetXDIAddress + " with " + replacement);
    return Collections.singletonList(replacedContextNode);
  }
}

代码示例来源:origin: projectdanube/xdi2

private boolean tryPutStatementIntoInnerJsonObject(XDIStatement XDIstatement, JsonObject jsonObject) throws IOException {
  XDIArc subjectFirstArc = XDIstatement.getSubject().getFirstXDIArc();
  if (subjectFirstArc == null || (! subjectFirstArc.hasXRef()) || (! subjectFirstArc.getXRef().hasPartialSubjectAndPredicate())) return false;
  XDIAddress innerRootSubject = XDIstatement.getSubject().getFirstXDIArc().getXRef().getPartialSubject();
  XDIAddress innerRootPredicate = XDIstatement.getSubject().getFirstXDIArc().getXRef().getPartialPredicate();
  XDIStatement reducedStatementAddress = XDIStatementUtil.removeStartXDIStatement(XDIstatement, XDIAddress.fromComponent(subjectFirstArc));
  if (reducedStatementAddress == null) return false;
  // find the inner root JSON array
  String innerRootKey = "" + innerRootSubject + "/" + innerRootPredicate;
  JsonArray innerRootJsonArray = (JsonArray) jsonObject.get(innerRootKey);
  if (innerRootJsonArray == null) {
    innerRootJsonArray = new JsonArray();
    jsonObject.add(innerRootKey, innerRootJsonArray);
  }
  // find the inner root JSON object
  JsonObject innerRootJsonObject = findJsonObjectInJsonArray(innerRootJsonArray);
  if (innerRootJsonObject == null) {
    innerRootJsonObject = new JsonObject();
    innerRootJsonArray.add(innerRootJsonObject);
  }
  // put the statement into the inner root JSON object
  this.putStatementIntoJsonObject(reducedStatementAddress, innerRootJsonObject);
  // done
  return true;
}

代码示例来源:origin: projectdanube/xdi2

private Graph resolveGraph(XDIAddress contextNodeXDIAddress) {
  XDIArc firstArc = contextNodeXDIAddress.getFirstXDIArc();
  if (XdiPeerRoot.isValidXDIArc(firstArc)) {
    firstArc = XdiPeerRoot.getXDIAddressOfPeerRootXDIArc(firstArc).getFirstXDIArc();
  } else if (XdiInnerRoot.isValidXDIArc(firstArc)) {
    firstArc = XdiInnerRoot.getSubjectOfInnerRootXDIArc(firstArc).getFirstXDIArc();
  }
  Graph resolvedGraph = null;
  if (XDI_ARC_MSG_VARIABLE.equals(firstArc)) {
    resolvedGraph = this.getMessage().getContextNode().getGraph();
  } else if (XDI_ARC_FROM_VARIABLE.equals(firstArc)) {
    resolvedGraph = this.getTargetGraph();
  } else if (XDI_ARC_FROM_PEER_VARIABLE.equals(firstArc)) {
    resolvedGraph = this.getTargetGraph();
  } else {
    resolvedGraph = this.getTargetGraph();
  }
  if (log.isTraceEnabled()) log.trace("getGraph(" + contextNodeXDIAddress + ") --> " + resolvedGraph);
  return resolvedGraph;
}

代码示例来源:origin: projectdanube/xdi2

/**
 * Returns the inner root arc of a subject address and a predicate address.
 * @param subject A subject address.
 * @param predicate A subject address.
 * @return The inner root arc of the subject address and the predicate address.
 */
public static XDIArc createInnerRootXDIArc(XDIAddress subject, XDIAddress predicate) {
  if (subject.getNumXDIArcs() > 0 && XdiAbstractRoot.isValidXDIArc(subject.getFirstXDIArc())) throw new Xdi2GraphException("Cannot create an inner root XDI arc for subject " + subject + " and predicate " + predicate);
  return XDIArc.fromComponents(
      null, 
      false, 
      false, 
      false, 
      false, 
      false, 
      false, 
      null, 
      XDIXRef.fromComponents(
          XDIConstants.XS_ROOT, 
          null, 
          subject, 
          predicate, 
          null, 
          null));
}

代码示例来源:origin: projectdanube/xdi2

XdiInnerRoot.isValidXDIArc(relativeRelationTargetXDIAddress.getFirstXDIArc()) &&
XdiInnerRoot.getSubjectOfInnerRootXDIArc(relativeRelationTargetXDIAddress.getFirstXDIArc()).equals(relativeRelationContextNodeXDIAddress) &&
XdiInnerRoot.getPredicateOfInnerRootXDIArc(relativeRelationTargetXDIAddress.getFirstXDIArc()).equals(relationXDIAddress)) {

代码示例来源:origin: projectdanube/xdi2

@Override
public void executeDelOnAddress(XDIAddress targetXDIAddress, DelOperation operation, Graph operationResultGraph, ExecutionContext executionContext) throws Xdi2MessagingException {
  if (XDIConstants.XDI_ADD_ROOT.equals(targetXDIAddress)) {
    this.getGraph().clear();
  } else if (targetXDIAddress.getNumXDIArcs() == 1) {
    this.getGraph().getRootContextNode(false).delContextNode(targetXDIAddress.getFirstXDIArc());
  } else {
    XDIAddress parentContextNodeXDIAddress = XDIAddressUtil.parentXDIAddress(targetXDIAddress, -1);
    XDIArc XDIarc = targetXDIAddress.getLastXDIArc();
    ContextNode parentContextNode = this.getGraph().getDeepContextNode(parentContextNodeXDIAddress, false);
    if (parentContextNode == null) return;
    if (XDIConstants.XDI_ARC_LITERAL.equals(XDIarc)) {
      parentContextNode.delLiteralNode();
    } else {
      parentContextNode.delContextNode(XDIarc);
    }
  }
}

代码示例来源:origin: projectdanube/xdi2

assertEquals(statement.getSubject().getXDIArc(0), statement.getSubject().getFirstXDIArc());
assertEquals(statement.getSubject().getXDIArc(2), statement.getSubject().getLastXDIArc());
assertEquals(statement.getSubject().getXDIArc(0), parser.parseXDIArc("=markus"));

相关文章