Commit 221c2e31 authored by Kostis Trantzas's avatar Kostis Trantzas
Browse files

Merge branch '10-update-service-order-with-expected-completion-date' into 'develop'

Update Supporting Services' end date upon Service Order Expected Completion Date update

See merge request !21
parents 5d1afedf 1df19b74
Loading
Loading
Loading
Loading
Loading
+11 −3
Original line number Diff line number Diff line
@@ -539,6 +539,7 @@ public class ServiceOrderRepoService {
		
		ServiceOrder so = this.findByUuid(id);
		boolean stateChanged = false;
		boolean expectedCompletionDateChanged = false;

		//logger.info("so:" + so.toString());		
		for (ServiceOrderItem oi : so.getOrderItem() ) {
@@ -590,7 +591,7 @@ public class ServiceOrderRepoService {

		if ( serviceOrderUpd.getExpectedCompletionDate()!= null ) {
			so.setExpectedCompletionDate(serviceOrderUpd.getExpectedCompletionDate());

			expectedCompletionDateChanged = true;
		}

		if ( serviceOrderUpd.getStartDate()!= null ) {
@@ -655,8 +656,15 @@ public class ServiceOrderRepoService {
			so.addNoteItem(noteItem);				
		}
		
		// Update each Service's end date to the updated Service Order's expected completion date
		if (expectedCompletionDateChanged) {
			List<String> services = serviceRepoService.getServicesFromOrderID(id);

		
			for (String serviceId : services) {
				org.etsi.osl.tmf.sim638.model.Service service = serviceRepoService.findByUuid(serviceId);
				service.setEndDate(so.getExpectedCompletionDate());
			}
		}

		

+14 −3
Original line number Diff line number Diff line
@@ -33,6 +33,7 @@ import java.net.URI;
import java.time.OffsetDateTime;
import java.time.ZoneOffset;
import java.util.ArrayList;
import java.util.List;

import org.apache.camel.CamelContext;
import org.apache.camel.RoutesBuilder;
@@ -356,8 +357,18 @@ public class ServiceOrderIntegrationTest {

		assertThat(sspeccr1SO).isNotNull();

		// Ensure that all Services' end dates were updated correctly
		boolean allSupportingServicesEndDatesUpdatedToServiceOrderExpectedCompletionDate = true;
		List<String> services = serviceRepoService.getServicesFromOrderID(responseSO.getId());

		
		for (String serviceId : services) {
			Service service = serviceRepoService.findByUuid(serviceId);
			if (!service.getEndDate().equals(responseSOUpd.getExpectedCompletionDate())) {
				allSupportingServicesEndDatesUpdatedToServiceOrderExpectedCompletionDate = false;
				break;
			}
		}
		assertThat(allSupportingServicesEndDatesUpdatedToServiceOrderExpectedCompletionDate).isTrue();
	}

	@WithMockUser(username="osadmin", roles = {"USER"})