Exemplo n.º 1
0
  /*................................................................................................*/
  private TreeVector fillBlock(Taxa taxa) { // TODO: fill in
    TreeVector filledVector = new TreeVector(taxa);
    int vectorTreeCount = 0;
    for (int fillers = 0; fillers < fillerTasks.size(); fillers++) {
      if (fillerTasks.get(fillers) instanceof SampleOneTreeFromFile) {
        ((SampleOneTreeFromFile) fillerTasks.get(fillers))
            .resetTreesToSample(); // One unnecessary resetting of bits on first call
        TreeVector tempTreeVector = new TreeVector(taxa);
        ((TreeBlockFiller) fillerTasks.get(fillers)).fillTreeBlock(tempTreeVector, 1);
        if (tempTreeVector.getNumberOfTrees() < 1) {
          logln(
              "Not enough trees were supplied by "
                  + ((TreeBlockFiller) fillerTasks.get(fillers)).getName()
                  + "; "
                  + tempTreeVector.getNumberOfTrees()
                  + " provided, one requested.");
          ;
        }
        if (tempTreeVector.getNumberOfTrees() > 0) {
          int treeCount = 0;
          while (treeCount < 1
              && treeCount
                  < tempTreeVector
                      .getNumberOfTrees()) { // Check so we don't ask for more trees that are there.
            filledVector.addElement(tempTreeVector.getTree(treeCount), false);
            if (filledVector != null && tempTreeVector != null) {
              if (filledVector.getTree(vectorTreeCount) != null
                  && tempTreeVector.getName() != null) {
                if (filledVector.getTree(vectorTreeCount).getName() != null)
                  logln(
                      filledVector.getTree(vectorTreeCount).getName()
                          + " added from "
                          + tempTreeVector.getName());
              }
            }
            treeCount++;
            vectorTreeCount++;
          }
        }
        tempTreeVector.dispose(); // disposed to reduce memory demands

        //				(fillerTask.get(fillers)).
      }
    }
    return filledVector;
  }