ItEr38S05ValidacionEProbasFuncionaisItEr37S06: [Bug #117]It fixes the following error : Batch update exception when trying to save a WorkReportType.
This commit is contained in:
parent
0c158fc5cc
commit
ac1b654e1e
7 changed files with 53 additions and 47 deletions
|
|
@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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" />
|
||||
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue