ItEr28S11AltaEtiquetasTipoEtiquetaItEr27S11: [FixBug] Create duplicate Label when creating new OrderElement

This commit is contained in:
Diego Pino Garcia 2009-10-05 10:48:23 +02:00 committed by Javier Moran Rua
parent e0344d1cb1
commit ec209c07fe

View file

@ -165,8 +165,7 @@ public class AssignedLabelsToOrderElementModel implements
@Override
@Transactional(readOnly = true)
public Label findLabelByNameAndType(String labelName, LabelType labelType) {
reattachLabels();
Label label = labelDAO.findByNameAndType(labelName, labelType);
Label label = findLabelByNameAndTypeName(labelName, labelType.getName());
if (label != null) {
initializeLabel(label);
cacheLabels.add(label);
@ -174,6 +173,24 @@ public class AssignedLabelsToOrderElementModel implements
return label;
}
/**
* Search {@link Label} by name and type in cache of labels
*
* @param labelName
* @param labelTypeName
* @return
*/
private Label findLabelByNameAndTypeName(String labelName,
String labelTypeName) {
for (Label label : cacheLabels) {
if (label.getName().equals(labelName)
&& label.getType().getName().equals(labelTypeName)) {
return label;
}
}
return null;
}
@Override
public boolean isAssigned(Label label) {
final Set<Label> labels = orderElement.getLabels();