Ejemplo n.º 1
0
  private void prepareBranchTree(final TreeNode branchTreeNode) {

    // For each of building block type which can be coupled to branch.
    for (final BuildingBlockConstant buildingBlockType :
        BuildingBlockConstant.getAllSortedBuildingBlocksForBranchAssemblies()) {

      Collection<BuildingBlock> branchBuildBlocksByType = null;
      try {
        branchBuildBlocksByType =
            this.buildingBlockService.findBuildingBlocksbyBranchIdAndBuildingBlockType(
                getBranch().getId(), buildingBlockType);
      } catch (final ApplicationException ex) {
        log.info(ex.getMessage());
        ViewExceptionHandler.handle(ex);
      }

      if ((branchBuildBlocksByType != null) && !branchBuildBlocksByType.isEmpty()) {
        final TreeNode buildingBlockTypeNode =
            new DefaultTreeNode(buildingBlockType.getLabel(), branchTreeNode);
        buildingBlockTypeNode.setExpanded(true);
        buildingBlockTypeNode.setSelectable(false);
        final List<BuildingBlock> sortedBuildingBlocks =
            new ArrayList<BuildingBlock>(branchBuildBlocksByType);
        Collections.sort(
            sortedBuildingBlocks, new BuildingBlockComparator(BuildingBlockComparator.NAME));

        for (final BuildingBlock buildingBlock : sortedBuildingBlocks) {

          final BuildingBlockTreeNode buildingBlockTreeNode =
              new BuildingBlockTreeNode(
                  buildingBlock.getName(), buildingBlock, buildingBlockTypeNode);
          buildingBlockTreeNode.setSelectable(false);
        }
      }
    }
  }