add one-to-many association from SubcontractedTaskData to SubcontractorCommunication
with a cascade="delete" in order to delete SubcontractorCommunication when its associated SubcontractedTaskData is deleted. FEA: ItEr75S32AnA15S04UpdateDeliveringDateInSubcontracting
This commit is contained in:
parent
6f52035e8b
commit
7497e68dfb
3 changed files with 20 additions and 22 deletions
|
|
@ -22,15 +22,15 @@
|
|||
package org.libreplan.business.planner.entities;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.Date;
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
import java.util.SortedSet;
|
||||
import java.util.TreeSet;
|
||||
|
||||
import org.hibernate.validator.AssertTrue;
|
||||
import org.hibernate.validator.NotNull;
|
||||
import org.hibernate.validator.Valid;
|
||||
import org.libreplan.business.common.BaseEntity;
|
||||
import org.libreplan.business.externalcompanies.entities.DeliverDateComparator;
|
||||
import org.libreplan.business.externalcompanies.entities.ExternalCompany;
|
||||
|
|
@ -99,6 +99,8 @@ public class SubcontractedTaskData extends BaseEntity {
|
|||
private final SortedSet<SubcontractorDeliverDate> requiredDeliveringDates = new TreeSet<SubcontractorDeliverDate>(
|
||||
new DeliverDateComparator());
|
||||
|
||||
private Set<SubcontractorCommunication> subcontractorCommunications = new HashSet<SubcontractorCommunication>();
|
||||
|
||||
/**
|
||||
* Constructor for hibernate. Do not use!
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -219,6 +219,10 @@
|
|||
<one-to-many class="org.libreplan.business.planner.entities.SubcontractorDeliverDate" />
|
||||
</set>
|
||||
|
||||
<set name="subcontractorCommunications" inverse="true" cascade="delete" access="field">
|
||||
<key column="subcontracted_task_data" />
|
||||
<one-to-many class="org.libreplan.business.planner.entities.SubcontractorCommunication" />
|
||||
</set>
|
||||
</class>
|
||||
|
||||
</hibernate-mapping>
|
||||
|
|
|
|||
|
|
@ -19,34 +19,27 @@
|
|||
|
||||
package org.libreplan.business.test.planner.daos;
|
||||
|
||||
import static junit.framework.Assert.assertEquals;
|
||||
import static junit.framework.Assert.assertNotNull;
|
||||
import static org.junit.Assert.assertFalse;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
import static org.junit.Assert.fail;
|
||||
import static org.libreplan.business.BusinessGlobalNames.BUSINESS_SPRING_CONFIG_FILE;
|
||||
import static org.libreplan.business.test.BusinessGlobalNames.BUSINESS_SPRING_CONFIG_TEST_FILE;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
|
||||
import org.hibernate.SessionFactory;
|
||||
import org.joda.time.LocalDate;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.libreplan.business.calendars.daos.IBaseCalendarDAO;
|
||||
import org.libreplan.business.calendars.entities.BaseCalendar;
|
||||
import org.libreplan.business.common.IAdHocTransactionService;
|
||||
import org.libreplan.business.common.IOnTransaction;
|
||||
import org.libreplan.business.common.daos.IConfigurationDAO;
|
||||
import org.libreplan.business.common.exceptions.InstanceNotFoundException;
|
||||
import org.libreplan.business.common.exceptions.ValidationException;
|
||||
import org.libreplan.business.externalcompanies.daos.ICustomerCommunicationDAO;
|
||||
import org.libreplan.business.externalcompanies.daos.IExternalCompanyDAO;
|
||||
import org.libreplan.business.externalcompanies.entities.CommunicationType;
|
||||
import org.libreplan.business.externalcompanies.entities.CustomerCommunication;
|
||||
import org.libreplan.business.externalcompanies.entities.ExternalCompany;
|
||||
import org.libreplan.business.orders.daos.IOrderDAO;
|
||||
import org.libreplan.business.orders.entities.HoursGroup;
|
||||
|
|
@ -67,12 +60,10 @@ import org.libreplan.business.scenarios.bootstrap.IScenariosBootstrap;
|
|||
import org.libreplan.business.scenarios.entities.OrderVersion;
|
||||
import org.libreplan.business.test.calendars.entities.BaseCalendarTest;
|
||||
import org.libreplan.business.test.externalcompanies.daos.ExternalCompanyDAOTest;
|
||||
import org.libreplan.business.workreports.entities.WorkReportLine;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.test.context.ContextConfiguration;
|
||||
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
/**
|
||||
* Tests for {@link SubcontractorCommunication}
|
||||
|
|
@ -219,24 +210,25 @@ public class SubcontractorCommunicationDAOTest {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void testSaveCustomerCommunication() {
|
||||
public void testSaveSubcontractorCommunication() {
|
||||
SubcontractorCommunication subcontractorCommunication = createValidSubcontractorCommunication();
|
||||
subcontractorCommunicationDAO.save(subcontractorCommunication);
|
||||
assertTrue(subcontractorCommunication.getId() != null);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testRemoveCustomerCommunication()
|
||||
public void testRemoveSubcontractorCommunication()
|
||||
throws InstanceNotFoundException {
|
||||
SubcontractorCommunication customerCommunication = createValidSubcontractorCommunication();
|
||||
subcontractorCommunicationDAO.save(customerCommunication);
|
||||
SubcontractorCommunication subcontractorCommunication = createValidSubcontractorCommunication();
|
||||
subcontractorCommunicationDAO.save(subcontractorCommunication);
|
||||
|
||||
assertTrue(customerCommunication.getId() != null);
|
||||
Long idSubcontratecTaskData = customerCommunication.getSubcontractedTaskData().getId();
|
||||
Long idCommunication = customerCommunication.getId();
|
||||
|
||||
subcontractorCommunicationDAO.remove(customerCommunication.getId());
|
||||
assertTrue(subcontractorCommunication.getId() != null);
|
||||
Long idSubcontratecTaskData = subcontractorCommunication
|
||||
.getSubcontractedTaskData().getId();
|
||||
Long idCommunication = subcontractorCommunication.getId();
|
||||
|
||||
subcontractorCommunicationDAO
|
||||
.remove(subcontractorCommunication.getId());
|
||||
try{
|
||||
subcontractorCommunicationDAO.findExistingEntity(idCommunication);
|
||||
fail("error");
|
||||
|
|
@ -251,7 +243,7 @@ public class SubcontractorCommunicationDAOTest {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void testSaveCustomerCommunicationWithoutSubcontratedTaskData()
|
||||
public void testSaveSubcontractorCommunicationWithoutSubcontratedTaskData()
|
||||
throws InstanceNotFoundException {
|
||||
SubcontractorCommunication subcontractorCommunication = createValidSubcontractorCommunication();
|
||||
subcontractorCommunication.setSubcontractedTaskData(null);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue