From 4102ef90f1966619afda2e5fb4de82352be636fd Mon Sep 17 00:00:00 2001 From: Diego Pino Garcia Date: Wed, 16 Sep 2009 19:51:45 +0200 Subject: [PATCH] ItEr26S13AltaEtiquetasTipoEtiqueta: [FixBug] LabelType name must be unique --- .../navalplanner/business/labels/daos/LabelTypeDAO.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/labels/daos/LabelTypeDAO.java b/navalplanner-business/src/main/java/org/navalplanner/business/labels/daos/LabelTypeDAO.java index 4c7b9eebb..ea2a627a9 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/labels/daos/LabelTypeDAO.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/labels/daos/LabelTypeDAO.java @@ -31,9 +31,10 @@ public class LabelTypeDAO extends GenericDAOHibernate implement @Transactional(propagation = Propagation.REQUIRES_NEW, readOnly = true) public boolean isUnique(LabelType labelType) { try { - return findUniqueByName(labelType).getId() - .equals(labelType.getId()); + LabelType result = findUniqueByName(labelType); + return (result == null || result.getId().equals(labelType.getId())); } catch (Exception e) { + e.printStackTrace(); return false; } } @@ -50,11 +51,11 @@ public class LabelTypeDAO extends GenericDAOHibernate implement private LabelType findUniqueByName(LabelType labelType) throws InstanceNotFoundException { List list = findByName(labelType); - if (list != null && list.size() != 1) { + if (list != null && list.size() > 1) { throw new InstanceNotFoundException(labelType, LabelType.class .getName()); } - return list.get(0); + return (list != null && list.size() > 0) ? list.get(0) : null; } @SuppressWarnings("unchecked")