/**
   * See ConcreteTreeRepNode.getDependantsInDatabase
   *
   * @param hbSession
   * @return
   */
  @Override
  public List<TreeRepNode> getDependantsInDatabase(Session hbSession) {
    ArrayList<TreeRepNode> dependants = new ArrayList<TreeRepNode>();

    // format fields are used by variable format fields

    // find variable format fields in database
    String queryVariableFormatFields =
        "select varFormatField from VariableFormatField varFormatField "
            + "join varFormatField.formatField formatField "
            + "where formatField.id=:ID";

    Query hibQuery = hbSession.createQuery(queryVariableFormatFields);
    hibQuery.setParameter("ID", formatField.getID());

    List variableFormatFields = hibQuery.list();

    // create node wrapping each found record.
    for (Object obj : variableFormatFields) {
      dependants.add(
          new VariableFormatFieldNode(DeepDeleteUtil.getProxyImpl((VariableFormatField) obj)));
    }

    return dependants;
  }
Example #2
0
  /**
   * See ConcreteTreeRepNode.makeChildren
   *
   * @param nodeSet
   * @param leafSet
   * @return
   */
  @Override
  protected boolean makeChildren(MutableSet<TreeRepNode> nodeSet, Set<TreeRepNode> leafSet) {

    if (record.getSimpleFields() == null) {
      throw new RuntimeException("null simple fields in record!?!?!!");
    }

    if (!record.getSimpleFields().getItems().isEmpty()) {
      for (Object simpleFieldObj : record.getSimpleFields().getItems()) {
        // contents of getItems should be no other type than SimpleField.
        SimpleField simpleField = (SimpleField) simpleFieldObj;

        DeepDeleteUtil.addNodeForSimpleType(simpleField, this, nodeSet, leafSet);
      }

      return true;
    } else {
      // record has no contents
      return false;
    }
  }
Example #3
0
 /**
  * See ConcreteTreeRepNode.getDependantsInDatabase
  *
  * @param hbSession
  * @return
  */
 @Override
 public List<TreeRepNode> getDependantsInDatabase(Session hbSession) {
   return DeepDeleteUtil.getComplexFieldDependantsFromDB(this.record, hbSession);
 }