ItEr38S05ValidacionEProbasFuncionaisItEr37S06: [Bug #117]It fixes the following error : Batch update exception when trying to save a WorkReportType.

This commit is contained in:
Susana Montes Pedreira 2009-12-15 22:02:41 +01:00 committed by Javier Moran Rua
parent 0c158fc5cc
commit ac1b654e1e
7 changed files with 53 additions and 47 deletions

View file

@ -94,14 +94,14 @@ public class WorkReportLabelTypeAssigment extends BaseEntity implements
/* Methos for the index */
private Integer index;
private Integer positionNumber;
public Integer getIndex() {
return index;
public Integer getPositionNumber() {
return positionNumber;
}
public void setIndex(Integer index) {
this.index = index;
public void setPositionNumber(Integer positionNumber) {
this.positionNumber = positionNumber;
}
}

View file

@ -311,7 +311,7 @@ public class WorkReportType extends BaseEntity {
int position) {
if (isValidIndexToAdd(position, getLineFieldsAndLabels())) {
updateIndexFromPosition(getLineFieldsAndLabels(), position, 1);
descriptionField.setIndex(position);
descriptionField.setPositionNumber(position);
getLineFields().add(descriptionField);
}
}
@ -320,7 +320,7 @@ public class WorkReportType extends BaseEntity {
int position) {
if (isValidIndexToAdd(position, getHeadingFieldsAndLabels())) {
updateIndexFromPosition(getHeadingFieldsAndLabels(), position, 1);
descriptionField.setIndex(position);
descriptionField.setPositionNumber(position);
getHeadingFields().add(descriptionField);
}
}
@ -331,7 +331,7 @@ public class WorkReportType extends BaseEntity {
if (isValidIndexToAdd(position, getHeadingFieldsAndLabels())) {
updateIndexFromPosition(getHeadingFieldsAndLabels(), position, 1);
workReportLabelTypeAssigment.setLabelsSharedByLines(true);
workReportLabelTypeAssigment.setIndex(position);
workReportLabelTypeAssigment.setPositionNumber(position);
getWorkReportLabelTypeAssigments()
.add(workReportLabelTypeAssigment);
}
@ -343,7 +343,9 @@ public class WorkReportType extends BaseEntity {
if (isValidIndexToAdd(position, getLineFieldsAndLabels())) {
updateIndexFromPosition(getLineFieldsAndLabels(), position, 1);
workReportLabelTypeAssigment.setLabelsSharedByLines(false);
workReportLabelTypeAssigment.setIndex(position);
workReportLabelTypeAssigment.setPositionNumber(
position);
getWorkReportLabelTypeAssigments()
.add(workReportLabelTypeAssigment);
}
@ -409,11 +411,11 @@ public class WorkReportType extends BaseEntity {
if (getHeadingFields().contains(descriptionField)) {
getHeadingFields().remove(descriptionField);
updateIndexFromPosition(getHeadingFieldsAndLabels(),
descriptionField.getIndex(), -1);
descriptionField.getPositionNumber(), -1);
} else {
getLineFields().remove(descriptionField);
updateIndexFromPosition(getLineFieldsAndLabels(), descriptionField
.getIndex(), -1);
.getPositionNumber(), -1);
}
}
@ -422,18 +424,18 @@ public class WorkReportType extends BaseEntity {
getWorkReportLabelTypeAssigments().remove(workReportLabelTypeAssigment);
if (workReportLabelTypeAssigment.getLabelsSharedByLines()) {
updateIndexFromPosition(getHeadingFieldsAndLabels(),
workReportLabelTypeAssigment.getIndex(), -1);
workReportLabelTypeAssigment.getPositionNumber(), -1);
} else {
updateIndexFromPosition(getLineFieldsAndLabels(),
workReportLabelTypeAssigment.getIndex(), -1);
workReportLabelTypeAssigment.getPositionNumber(), -1);
}
}
private void setIndex(Object object, Integer index) {
if (object instanceof DescriptionField) {
((DescriptionField) object).setIndex(index);
((DescriptionField) object).setPositionNumber(index);
} else {
((WorkReportLabelTypeAssigment) object).setIndex(index);
((WorkReportLabelTypeAssigment) object).setPositionNumber(index);
}
}
@ -520,9 +522,9 @@ public class WorkReportType extends BaseEntity {
private Integer getIndex(Object object) {
if (object instanceof DescriptionField) {
return ((DescriptionField) object).getIndex();
return ((DescriptionField) object).getPositionNumber();
} else {
return ((WorkReportLabelTypeAssigment) object).getIndex();
return ((WorkReportLabelTypeAssigment) object).getPositionNumber();
}
}

View file

@ -45,7 +45,7 @@ public class DescriptionField implements INewObject {
return descriptionField;
}
private DescriptionField() {
public DescriptionField() {
}
private DescriptionField(String fieldName, Integer lenght) {
@ -88,14 +88,14 @@ public class DescriptionField implements INewObject {
/* Methos for the index */
private Integer index;
private Integer positionNumber;
public Integer getIndex() {
return index;
public Integer getPositionNumber() {
return positionNumber;
}
public void setIndex(Integer index) {
this.index = index;
public void setPositionNumber(Integer positionNumber) {
this.positionNumber = positionNumber;
}
}

View file

@ -33,7 +33,7 @@
<composite-element class="org.navalplanner.business.workreports.valueobjects.DescriptionField">
<property name="fieldName"/>
<property name="length"/>
<property name="index"/>
<property name="positionNumber"/>
</composite-element>
</set>
@ -42,7 +42,7 @@
<composite-element class="org.navalplanner.business.workreports.valueobjects.DescriptionField">
<property name="fieldName"/>
<property name="length"/>
<property name="index"/>
<property name="positionNumber"/>
</composite-element>
</set>
@ -132,7 +132,7 @@
<version name="version" access="property" type="long" />
<property name="labelsSharedByLines"/>
<property name="index"/>
<property name="positionNumber"/>
<many-to-one name="labelType" class="org.navalplanner.business.labels.entities.LabelType" column="LABEL_TYPE_ID" />

View file

@ -300,10 +300,10 @@ public class WorkReportTypeTest extends AbstractWorkReportTest {
WorkReportLabelTypeAssigment labelAssigment_3 = createValidWorkReportLabelTypeAssigment();
workReportType.addLabelAssigmentToEndLine(labelAssigment_3);
// Set repeat indes labels
labelAssigment_1.setIndex(3);
labelAssigment_2.setIndex(0);
labelAssigment_3.setIndex(2);
// Set not consecutives index labels
labelAssigment_1.setPositionNumber(3);
labelAssigment_2.setPositionNumber(0);
labelAssigment_3.setPositionNumber(2);
try {
workReportTypeDAO.save(workReportType);
@ -326,9 +326,9 @@ public class WorkReportTypeTest extends AbstractWorkReportTest {
workReportType.addLabelAssigmentToEndLine(labelAssigment_3);
// Set repeat indes labels
labelAssigment_1.setIndex(1);
labelAssigment_2.setIndex(2);
labelAssigment_3.setIndex(3);
labelAssigment_1.setPositionNumber(1);
labelAssigment_2.setPositionNumber(2);
labelAssigment_3.setPositionNumber(3);
try {
workReportTypeDAO.save(workReportType);
@ -351,9 +351,9 @@ public class WorkReportTypeTest extends AbstractWorkReportTest {
workReportType.addLabelAssigmentToEndLine(labelAssigment_3);
// Set repeat indes labels
labelAssigment_1.setIndex(1);
labelAssigment_2.setIndex(0);
labelAssigment_3.setIndex(1);
labelAssigment_1.setPositionNumber(1);
labelAssigment_2.setPositionNumber(0);
labelAssigment_3.setPositionNumber(1);
try {
workReportTypeDAO.save(workReportType);

View file

@ -396,7 +396,7 @@ public class WorkReportModel implements IWorkReportModel {
for (WorkReportLabelTypeAssigment labelTypeAssigment : getWorkReportType()
.getWorkReportLabelTypeAssigments()) {
if(labelTypeAssigment.getLabelType().equals(label.getType())){
return labelTypeAssigment.getIndex();
return labelTypeAssigment.getPositionNumber();
}
}
return null;
@ -425,16 +425,16 @@ public class WorkReportModel implements IWorkReportModel {
if (object instanceof DescriptionValue) {
DescriptionField descriptionField = getDescriptionFieldByName(((DescriptionValue) object)
.getFieldName());
return descriptionField.getIndex();
return descriptionField.getPositionNumber();
}
if (object instanceof Label) {
return getAssignedLabelIndex((Label) object);
}
if (object instanceof DescriptionField) {
return ((DescriptionField) object).getIndex();
return ((DescriptionField) object).getPositionNumber();
}
if (object instanceof WorkReportLabelTypeAssigment) {
return ((WorkReportLabelTypeAssigment) object).getIndex();
return ((WorkReportLabelTypeAssigment) object).getPositionNumber();
}
return null;
}

View file

@ -459,31 +459,35 @@ public class WorkReportTypeModel implements IWorkReportTypeModel {
private int getIndex(Object object) {
if (object instanceof DescriptionField) {
return ((DescriptionField) object).getIndex();
return ((DescriptionField) object).getPositionNumber();
} else {
return ((WorkReportLabelTypeAssigment) object).getIndex();
return ((WorkReportLabelTypeAssigment) object).getPositionNumber();
}
}
public void upFieldOrLabel(Object objectToUp, boolean intoHeading) {
if (objectToUp instanceof DescriptionField) {
int newPosition = ((DescriptionField) objectToUp).getIndex() - 1;
int newPosition = ((DescriptionField) objectToUp)
.getPositionNumber() - 1;
moveDescriptionField((DescriptionField) objectToUp, intoHeading, newPosition);
} else {
int newPosition = ((WorkReportLabelTypeAssigment) objectToUp).getIndex()-1;
int newPosition = ((WorkReportLabelTypeAssigment) objectToUp)
.getPositionNumber() - 1;
moveWorkReportLabelTypeAssigment(
(WorkReportLabelTypeAssigment) objectToUp, intoHeading, newPosition);
(WorkReportLabelTypeAssigment) objectToUp, intoHeading,
newPosition);
}
}
public void downFieldOrLabel(Object objectToDown, boolean intoHeading) {
if (objectToDown instanceof DescriptionField) {
int newPosition = ((DescriptionField) objectToDown).getIndex() + 1;
int newPosition = ((DescriptionField) objectToDown)
.getPositionNumber() + 1;
moveDescriptionField((DescriptionField) objectToDown, intoHeading,
newPosition);
} else {
int newPosition = ((WorkReportLabelTypeAssigment) objectToDown)
.getIndex() + 1;
.getPositionNumber() + 1;
moveWorkReportLabelTypeAssigment(
(WorkReportLabelTypeAssigment) objectToDown, intoHeading,
newPosition);