Commit de02e7e4 authored by Labros Papadopoulos's avatar Labros Papadopoulos
Browse files

create appropriate category for externally added specifications

parent a0ca826f
Loading
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -43,6 +43,8 @@ import org.etsi.osl.tmf.pm632.model.OrganizationCreateEvent;
import org.etsi.osl.tmf.pm632.model.OrganizationCreateEventPayload;
import org.etsi.osl.tmf.pm632.model.OrganizationUpdate;
import org.etsi.osl.tmf.pm632.repo.OrganizationRepository;
import org.etsi.osl.tmf.scm633.model.ServiceCategory;
import org.etsi.osl.tmf.scm633.reposervices.CategoryRepoService;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
@@ -63,6 +65,9 @@ public class OrganizationRepoService {
	@Autowired
	OrganizationApiRouteBuilderEvents organizationApiRouteBuilder;

	@Autowired
	CategoryRepoService categoryRepoService;

	private SessionFactory  sessionFactory;
	

@@ -195,6 +200,11 @@ public class OrganizationRepoService {
			c.addPartyCharacteristicItem(partyCharacteristicItem);
			
		}
		//we proceed to create a category with the name of the external org
		ServiceCategory serviceCategory= new ServiceCategory();
		serviceCategory.setName(organization.getName());
		categoryRepoService.addCategory(serviceCategory);

		
		c = updateOrganizationData(c, organization);
		c = organizationRepository.save(c);
+9 −0
Original line number Diff line number Diff line
@@ -29,6 +29,7 @@ import java.nio.file.Paths;
import java.time.OffsetDateTime;
import java.time.ZoneOffset;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.List;
@@ -71,6 +72,7 @@ import org.etsi.osl.tmf.scm633.model.ServiceSpecRelationship;
import org.etsi.osl.tmf.scm633.model.ServiceSpecification;
import org.etsi.osl.tmf.scm633.model.ServiceSpecificationCreate;
import org.etsi.osl.tmf.scm633.model.ServiceSpecificationUpdate;
import org.etsi.osl.tmf.scm633.repo.CategoriesRepository;
import org.etsi.osl.tmf.scm633.repo.ServiceSpecificationRepository;
import org.etsi.osl.tmf.stm653.model.CharacteristicSpecification;
import org.etsi.osl.tmf.stm653.model.ServiceTestSpecification;
@@ -137,6 +139,9 @@ public class ServiceSpecificationRepoService {
	@Autowired
	ServiceSpecificationNotificationService serviceSpecificationNotificationService;

	@Autowired
	CategoriesRepository categoriesRepository;
	
	private SessionFactory sessionFactory;

	private static final String METADATADIR = System.getProperty("user.home") + File.separator + ".attachments"
@@ -171,6 +176,10 @@ public class ServiceSpecificationRepoService {
		ServiceSpecificationRef serviceSpecificationRef = new ServiceSpecificationRef();
		serviceCandidate.setServiceSpecification(serviceSpecificationRef);
		serviceSpecificationRef.setId(serviceSpec.getId());
		if(serviceServiceSpecification.getRelatedParty().get(0).getRole().equalsIgnoreCase(UserPartRoleType.ORGANIZATION.getValue())){
			Optional<ServiceCategory> serviceCategory =categoriesRepository.findByName(serviceServiceSpecification.getRelatedParty().get(0).getName());
			if (serviceCategory.isPresent()) serviceCandidate.setCategory(new ArrayList<>((Collection) serviceCategory.get()));
		}
		ServiceCandidate serviceCandidateObj = candidateRepoService.addServiceCandidate(serviceCandidate);

		serviceSpec.setServiceCandidateObjId(serviceCandidateObj.getUuid());