void addOrReplaceNodeCategory(final String foreignId, final RequisitionCategory category) { final Requisition req = getActiveRequisition(true); if (req != null) { final RequisitionNode node = req.getNode(foreignId); if (node != null) { req.updateDateStamp(); node.putCategory(category); save(req); } } }
/** {@inheritDoc} */ @Override public Requisition addCategoryToNode( final String groupName, final String pathToNode, final String categoryName) { m_writeLock.lock(); try { final Requisition group = getProvisioningGroup(groupName); final RequisitionNode node = PropertyUtils.getPathValue(group, pathToNode, RequisitionNode.class); // final int catCount = node.getCategoryCount(); final RequisitionCategory category = new RequisitionCategory(); category.setName(categoryName); node.putCategory(category); // Assert.isTrue(node.getCategoryCount() == (catCount + 1), "Category was not added // correctly"); m_pendingForeignSourceRepository.save(group); m_pendingForeignSourceRepository.flush(); return m_pendingForeignSourceRepository.getRequisition(groupName); } finally { m_writeLock.unlock(); } }