diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/orders/entities/OrderElement.java b/navalplanner-business/src/main/java/org/navalplanner/business/orders/entities/OrderElement.java index 8d68b970d..3607f775d 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/orders/entities/OrderElement.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/orders/entities/OrderElement.java @@ -803,7 +803,7 @@ public abstract class OrderElement extends BaseEntity implements private boolean checkAncestorsNoOtherLabelRepeated(Label newLabel) { for (Label label : labels) { - if (label.equals(newLabel)) { + if (label.isEqualTo(newLabel)) { return false; } } @@ -877,10 +877,9 @@ public abstract class OrderElement extends BaseEntity implements return null; } - public boolean containsLabel(String name, String type) { + public boolean containsLabel(String code) { for (Label label : getLabels()) { - if (label.getName().equals(name) - && label.getType().getName().equals(type)) { + if (label.getCode().equals(code)) { return true; } } diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/ws/common/api/LabelDTO.java b/navalplanner-webapp/src/main/java/org/navalplanner/ws/common/api/LabelReferenceDTO.java similarity index 82% rename from navalplanner-webapp/src/main/java/org/navalplanner/ws/common/api/LabelDTO.java rename to navalplanner-webapp/src/main/java/org/navalplanner/ws/common/api/LabelReferenceDTO.java index ecf7030fa..28b6b7ae9 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/ws/common/api/LabelDTO.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/ws/common/api/LabelReferenceDTO.java @@ -26,25 +26,21 @@ import javax.xml.bind.annotation.XmlRootElement; import org.navalplanner.business.labels.entities.Label; /** - * DTO for {@link Label} entity. + * DTO for references to {@link Label} entities. * * @author Manuel Rego Casasnovas */ @XmlRootElement(name = "label") -public class LabelDTO { +public class LabelReferenceDTO { @XmlAttribute - public String name; + public String code; - @XmlAttribute - public String type; - - public LabelDTO() { + public LabelReferenceDTO() { } - public LabelDTO(String name, String type) { - this.name = name; - this.type = type; + public LabelReferenceDTO(String code) { + this.code = code; } } diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/ws/common/api/OrderDTO.java b/navalplanner-webapp/src/main/java/org/navalplanner/ws/common/api/OrderDTO.java index 02a87bff3..c539fb8a4 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/ws/common/api/OrderDTO.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/ws/common/api/OrderDTO.java @@ -48,7 +48,7 @@ public class OrderDTO extends OrderLineGroupDTO { } public OrderDTO(String name, String code, Date initDate, Date deadline, - String description, Set labels, + String description, Set labels, Set materialAssignments, Set advanceMeasurements, Set criterionRequirements, diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/ws/common/api/OrderElementDTO.java b/navalplanner-webapp/src/main/java/org/navalplanner/ws/common/api/OrderElementDTO.java index 55213085b..a4132d556 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/ws/common/api/OrderElementDTO.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/ws/common/api/OrderElementDTO.java @@ -57,7 +57,7 @@ public class OrderElementDTO { @XmlElementWrapper(name = "labels") @XmlElement(name = "label") - public Set labels = new HashSet(); + public Set labels = new HashSet(); @XmlElementWrapper(name = "material-assignments") @XmlElement(name = "material-assignment") @@ -77,7 +77,7 @@ public class OrderElementDTO { } public OrderElementDTO(String name, String code, Date initDate, - Date deadline, String description, Set labels, + Date deadline, String description, Set labels, Set materialAssignments, Set advanceMeasurements, Set criterionRequirements) { diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/ws/common/api/OrderLineDTO.java b/navalplanner-webapp/src/main/java/org/navalplanner/ws/common/api/OrderLineDTO.java index ac4e9d5be..ce905c0e2 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/ws/common/api/OrderLineDTO.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/ws/common/api/OrderLineDTO.java @@ -47,7 +47,7 @@ public class OrderLineDTO extends OrderElementDTO { } public OrderLineDTO(String name, String code, Date initDate, Date deadline, - String description, Set labels, + String description, Set labels, Set materialAssignments, Set advanceMeasurements, Set criterionRequirements, diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/ws/common/api/OrderLineGroupDTO.java b/navalplanner-webapp/src/main/java/org/navalplanner/ws/common/api/OrderLineGroupDTO.java index 21242c3a5..206f6020b 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/ws/common/api/OrderLineGroupDTO.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/ws/common/api/OrderLineGroupDTO.java @@ -52,7 +52,7 @@ public class OrderLineGroupDTO extends OrderElementDTO { } public OrderLineGroupDTO(String name, String code, Date initDate, - Date deadline, String description, Set labels, + Date deadline, String description, Set labels, Set materialAssignments, Set advanceMeasurements, Set criterionRequirements, diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/ws/common/impl/LabelConverter.java b/navalplanner-webapp/src/main/java/org/navalplanner/ws/common/impl/LabelConverter.java deleted file mode 100644 index c5d709634..000000000 --- a/navalplanner-webapp/src/main/java/org/navalplanner/ws/common/impl/LabelConverter.java +++ /dev/null @@ -1,103 +0,0 @@ -/* - * This file is part of ###PROJECT_NAME### - * - * Copyright (C) 2009 Fundación para o Fomento da Calidade Industrial e - * Desenvolvemento Tecnolóxico de Galicia - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ - -package org.navalplanner.ws.common.impl; - -import java.util.HashSet; -import java.util.Set; - -import org.hibernate.NonUniqueResultException; -import org.navalplanner.business.common.Registry; -import org.navalplanner.business.common.exceptions.InstanceNotFoundException; -import org.navalplanner.business.labels.entities.Label; -import org.navalplanner.business.labels.entities.LabelType; -import org.navalplanner.ws.common.api.LabelDTO; - -/** - * Converter from/to {@link Label} entities to/from DTOs. - * - * @author Manuel Rego Casasnovas - */ -public final class LabelConverter { - - private LabelConverter() { - } - - public final static LabelDTO toDTO(Label label) { - return new LabelDTO(label.getName(), label.getType().getName()); - } - - public final static Label forceToEntity(LabelDTO labelDTO) { - LabelType labelType = null; - try { - labelType = Registry.getLabelTypeDAO().findUniqueByName( - labelDTO.type); - } catch (NonUniqueResultException e) { - throw new RuntimeException(e); - } catch (InstanceNotFoundException e) { - labelType = LabelType.create(labelDTO.type); - /* - * "validate" method avoids that "labelType" goes to the Hibernate's - * session if "labelType" is not valid. - */ - labelType.validate(); - Registry.getLabelTypeDAO().save(labelType); - } - - Label label = Registry.getLabelDAO().findByNameAndType(labelDTO.name, - labelType); - if (label == null) { - label = Label.create(labelDTO.name); - label.setType(labelType); - } - - return label; - } - - public static Set