public int removeItemFromCluster(Integer tenantId, String clusterName, Integer itemId, Integer itemTypeId) throws ClusterException { Preconditions.checkNotNull(tenantId); Preconditions.checkNotNull(clusterName); Preconditions.checkNotNull(itemId); Preconditions.checkNotNull(itemTypeId); Integer itemTypeCluster = itemTypeDAO.getIdOfType(tenantId, ClusterService.ITEMTYPE_CLUSTER); Integer clusterId = idMappingDAO.lookup(clusterName); ClusterVO cluster = new ClusterVO(tenantId, clusterId, itemTypeCluster, clusterName, null); ItemVO<Integer, Integer> item = new ItemVO<Integer, Integer>(tenantId, itemId, itemTypeId); return removeItemFromCluster(cluster, item); }
public List<ItemVO<Integer, Integer>> getItemsOfCluster(Integer tenantId, String clusterName, Integer itemType) { Preconditions.checkNotNull(tenantId); Preconditions.checkNotNull(clusterName); Integer itemTypeCluster = itemTypeDAO.getIdOfType(tenantId, ClusterService.ITEMTYPE_CLUSTER); Integer clusterId = idMappingDAO.lookup(clusterName); ClusterVO cluster = new ClusterVO(tenantId, clusterId, itemTypeCluster, clusterName, null); return getItemsOfCluster(cluster, itemType); }
public int addItemToCluster(Integer tenantId, String clusterName, Integer itemId, Integer itemTypeId) throws ClusterException { Preconditions.checkNotNull(tenantId); Preconditions.checkNotNull(clusterName); Preconditions.checkNotNull(itemId); Preconditions.checkNotNull(itemTypeId); Integer itemTypeCluster = itemTypeDAO.getIdOfType(tenantId, ClusterService.ITEMTYPE_CLUSTER); Integer clusterId = idMappingDAO.lookup(clusterName); ClusterVO cluster = new ClusterVO(tenantId, clusterId, itemTypeCluster, clusterName, null); ItemVO<Integer, Integer> item = new ItemVO<Integer, Integer>(tenantId, itemId, itemTypeId); return addItemToCluster(cluster, item); }
public ClusterVO getParent(Integer tenantId, String clusterName) { // to avoid a db access, we create a new cluster instead of using load. Only tenant, id, and type are necessary to identify a cluster ClusterVO cluster = new ClusterVO(tenantId, idMappingDAO.lookup(clusterName), itemTypeDAO.getIdOfType(tenantId, ClusterService.ITEMTYPE_CLUSTER), "", ""); return getParent(tenantId, cluster); }
public List<ClusterVO> getSiblings(Integer tenantId, String clusterName) { // to avoid a db access, we create a new cluster instead of using load. Only tenant, id, and type are necessary to identify a cluster ClusterVO cluster = new ClusterVO(tenantId, idMappingDAO.lookup(clusterName), itemTypeDAO.getIdOfType(tenantId, ClusterService.ITEMTYPE_CLUSTER), "", ""); return getSiblings(tenantId, cluster); }
public void addCluster(Integer tenantId, String clusterName, String clusterDescription, String parent) throws ClusterException { ClusterVO parentCluster = loadCluster(tenantId, idMappingDAO.lookup(parent), itemTypeDAO.getIdOfType(tenantId, ClusterService.ITEMTYPE_CLUSTER)); if (parentCluster == null) throw new ClusterException("Cannot add cluster at this position! No parent cluster selected!"); logger.info(parentCluster.getName()); ClusterVO childCluster = new ClusterVO(tenantId, idMappingDAO.lookup(clusterName), itemTypeDAO.getIdOfType(tenantId, ClusterService.ITEMTYPE_CLUSTER), clusterName, clusterDescription); addCluster(childCluster, parentCluster); }
public void renameCluster(Integer tenantId, String clusterName, String newName) throws ClusterException { ClusterVO cluster = loadCluster(tenantId, idMappingDAO.lookup(clusterName), itemTypeDAO.getIdOfType(tenantId, ClusterService.ITEMTYPE_CLUSTER)); DelegateTree<ClusterVO, ItemAssocVO<Integer,Integer>> tree = clusters.get(tenantId); if (tree.isRoot(cluster)) throw new ClusterException("ROOT cluster cannot be renamed!"); ClusterVO parent = tree.getParent(cluster); ClusterVO newCluster = new ClusterVO(tenantId, idMappingDAO.lookup(newName), itemTypeDAO.getIdOfType(tenantId, ClusterService.ITEMTYPE_CLUSTER), newName, cluster.getDescription()); // add the new cluster addCluster(newCluster, parent); // move all children to the new cluster for (ClusterVO child : tree.getChildren(cluster)) { moveCluster(tenantId, child.getName(), newName); } if (logger.isDebugEnabled()) { logger.debug("removed all children: " + tree.isLeaf(cluster)); } // move all items to the new cluster for (ItemVO<Integer, Integer> item : getItemsOfCluster(cluster)) { addItemToCluster(newCluster, item); } // delete the old cluster removeCluster(tenantId, clusterName); }
root = new ClusterVO(tenantVO.getId(), idMappingDAO.lookup(ClusterService.ROOT), itemTypeId,