示例#1
0
  public ListItem getParentListItem() {

    int minElements = 1;

    Iterator objectIterator = getObjects().iterator();
    while (objectIterator.hasNext()) {
      SoapClientObject obj = (SoapClientObject) objectIterator.next();
      Iterator refIterator = obj.getReferences().iterator();
      while (refIterator.hasNext()) {
        SoapClientObjectReference ref = (SoapClientObjectReference) refIterator.next();
        ArrayList<SoapClientObjectReferencePath> pathElements =
            (ArrayList<SoapClientObjectReferencePath>) ref.getPathElements();

        if (pathElements.size() >= minElements) {

          SoapClientObjectReferencePath parent = pathElements.get(pathElements.size() - 1);
          RemoteListItem parentItem = new RemoteListItem();
          parentItem.setRefId(parent.getRefId());
          parentItem.setType(parent.getType());
          parentItem.setTitle(parent.getTitle());
          return parentItem;
        }
      }
    }
    return null;
  }
示例#2
0
  /**
   * Get list of path elements
   *
   * @param includeLeaf
   * @return
   */
  public List<SoapClientObjectReferencePath> getFirstPath(boolean includeLeaf) {

    List<SoapClientObjectReferencePath> pathList = new ArrayList<SoapClientObjectReferencePath>();

    // choose first object
    for (SoapClientObject obj : getObjects()) {
      // choose first reference
      for (SoapClientObjectReference ref : obj.getReferences()) {
        pathList = ref.getPathElements();
        break;
      }
      break;
    }

    // Append a leaf the leaf node as path element if desired
    if (includeLeaf) {

      for (SoapClientObject obj : getObjects()) {
        for (SoapClientObjectReference ref : obj.getReferences()) {
          SoapClientObjectReferencePath leaf = new SoapClientObjectReferencePath();

          if (pathList.size() < 1) {
            leaf.setTitle("Repository");
          } else {
            leaf.setTitle(obj.getTitle());
          }
          leaf.setRefId(ref.getRefId());
          leaf.setType(obj.getType());
          pathList.add(leaf);
          break;
        }
        break;
      }
    }
    return pathList;
  }