ItEr53S04ValidacionEProbasFuncionaisItEr52S04: [Bug #406] Fixed mapping between SubcontractedTaskData and Task. Removed orphan SubcontractedTaskData.

WARNING: Needed to drop column "task_element_id" on table "subcontractedtaskdata".
This commit is contained in:
Manuel Rego Casasnovas 2010-04-09 19:58:09 +02:00 committed by Javier Moran Rua
parent 69dfd2e1b2
commit 82f9486ef5
4 changed files with 19 additions and 2 deletions

View file

@ -37,4 +37,6 @@ public interface ISubcontractedTaskDataDAO extends
List<SubcontractedTaskData> getAll();
void removeOrphanedSubcontractedTaskData();
}

View file

@ -22,6 +22,7 @@ package org.navalplanner.business.planner.daos;
import java.util.List;
import org.hibernate.criterion.Restrictions;
import org.navalplanner.business.common.daos.GenericDAOHibernate;
import org.navalplanner.business.common.exceptions.InstanceNotFoundException;
import org.navalplanner.business.planner.entities.SubcontractedTaskData;
@ -62,4 +63,13 @@ public class SubcontractedTaskDataDAO extends
return list(SubcontractedTaskData.class);
}
@Override
public void removeOrphanedSubcontractedTaskData() {
for (SubcontractedTaskData subcontractedTaskData : getAll()) {
if (subcontractedTaskData.getTask() == null) {
getSession().delete(subcontractedTaskData);
}
}
}
}

View file

@ -98,8 +98,8 @@
<many-to-one name="externalCompany" class="org.navalplanner.business.externalcompanies.entities.ExternalCompany" />
<many-to-one name="task" column="TASK_ELEMENT_ID"
unique="true" cascade="all" lazy="false" />
<one-to-one name="task" class="Task"
property-ref="subcontractedTaskData" lazy="false"/>
<property name="subcontratationDate" />
<property name="subcontractCommunicationDate" />

View file

@ -35,6 +35,7 @@ import org.navalplanner.business.common.IAdHocTransactionService;
import org.navalplanner.business.common.IOnTransaction;
import org.navalplanner.business.common.exceptions.InstanceNotFoundException;
import org.navalplanner.business.planner.daos.IDayAssignmentDAO;
import org.navalplanner.business.planner.daos.ISubcontractedTaskDataDAO;
import org.navalplanner.business.planner.daos.ITaskElementDAO;
import org.navalplanner.business.planner.entities.DayAssignment;
import org.navalplanner.business.planner.entities.DerivedAllocation;
@ -68,6 +69,9 @@ public class SaveCommand implements ISaveCommand {
@Autowired
private IDayAssignmentDAO dayAssignmentDAO;
@Autowired
private ISubcontractedTaskDataDAO subcontractedTaskDataDAO;
private PlanningState state;
@Autowired
@ -112,6 +116,7 @@ public class SaveCommand implements ISaveCommand {
saveTasksToSave();
removeTasksToRemove();
taskElementDAO.removeOrphanedDayAssignments();
subcontractedTaskDataDAO.removeOrphanedSubcontractedTaskData();
}
private void removeTasksToRemove() {