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:
parent
69dfd2e1b2
commit
82f9486ef5
4 changed files with 19 additions and 2 deletions
|
|
@ -37,4 +37,6 @@ public interface ISubcontractedTaskDataDAO extends
|
|||
|
||||
List<SubcontractedTaskData> getAll();
|
||||
|
||||
void removeOrphanedSubcontractedTaskData();
|
||||
|
||||
}
|
||||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -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" />
|
||||
|
|
|
|||
|
|
@ -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() {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue