From 3cf80469ec53469f621f42dc1e12eaec61600058 Mon Sep 17 00:00:00 2001 From: Christos Tranoris Date: Wed, 20 Dec 2023 13:45:53 +0200 Subject: [PATCH 1/5] removed child characteristic propagations --- .../ri639/api/ResourceApiRouteBuilder.java | 2 +- .../reposervices/ResourceRepoService.java | 2 +- .../ServiceSpecificationRepoService.java | 92 ++++---- .../sim638/api/ServiceApiRouteBuilder.java | 2 +- .../sim638/service/ServiceRepoService.java | 206 ++++++++++-------- 5 files changed, 171 insertions(+), 133 deletions(-) diff --git a/src/main/java/org/etsi/osl/tmf/ri639/api/ResourceApiRouteBuilder.java b/src/main/java/org/etsi/osl/tmf/ri639/api/ResourceApiRouteBuilder.java index 17f3ec5..fc6252f 100644 --- a/src/main/java/org/etsi/osl/tmf/ri639/api/ResourceApiRouteBuilder.java +++ b/src/main/java/org/etsi/osl/tmf/ri639/api/ResourceApiRouteBuilder.java @@ -92,7 +92,7 @@ public class ResourceApiRouteBuilder extends RouteBuilder { .log(LoggingLevel.INFO, log, CATALOG_UPD_RESOURCE + " message received!") .to("log:DEBUG?showBody=true&showHeaders=true") .unmarshal().json( JsonLibrary.Jackson, ResourceUpdate.class, true) - .bean( resourceRepoService, "updateResource(${header.resourceId}, ${body}, ${header.propagateToSO} )") + .bean( resourceRepoService, "updateResource(${header.resourceId}, ${body}, ${header.triggerServiceActionQueue} )") .marshal().json( JsonLibrary.Jackson) .convertBodyTo( String.class ); diff --git a/src/main/java/org/etsi/osl/tmf/ri639/reposervices/ResourceRepoService.java b/src/main/java/org/etsi/osl/tmf/ri639/reposervices/ResourceRepoService.java index 15a45d9..0a12f41 100644 --- a/src/main/java/org/etsi/osl/tmf/ri639/reposervices/ResourceRepoService.java +++ b/src/main/java/org/etsi/osl/tmf/ri639/reposervices/ResourceRepoService.java @@ -284,7 +284,7 @@ public class ResourceRepoService { @Transactional public Resource updateResource(String id, @Valid ResourceUpdate resourceUpd, - boolean propagateToSO) { + boolean triggerServiceActionQueue) { Resource resource = this.getResourceEager(id); if (resource == null) { diff --git a/src/main/java/org/etsi/osl/tmf/scm633/reposervices/ServiceSpecificationRepoService.java b/src/main/java/org/etsi/osl/tmf/scm633/reposervices/ServiceSpecificationRepoService.java index 23a8645..c0d6f7b 100644 --- a/src/main/java/org/etsi/osl/tmf/scm633/reposervices/ServiceSpecificationRepoService.java +++ b/src/main/java/org/etsi/osl/tmf/scm633/reposervices/ServiceSpecificationRepoService.java @@ -570,10 +570,11 @@ public class ServiceSpecificationRepoService { /** * Also, - * we will add by default all the characteristics of this service to the related bundle parent service + * we will add by default all the characteristics of this service to the related bundle parent service + * Removed to try new approach with rules */ - serviceSpec = copyCharacteristicsOfServiceId( ar.getId(), serviceSpec); + //serviceSpec = copyCharacteristicsOfServiceId( ar.getId(), serviceSpec); } } @@ -619,7 +620,7 @@ public class ServiceSpecificationRepoService { * Also, * we will add by default all the characteristics of this rSpec to the related bundle parent service */ - serviceSpec = copyCharacteristicsOfResourceSpecId( ar.getId(), serviceSpec); + //serviceSpec = copyCharacteristicsOfResourceSpecId( ar.getId(), serviceSpec); } } @@ -696,24 +697,24 @@ public class ServiceSpecificationRepoService { return targetServiceSpec; } - private ServiceSpecification copyCharacteristicsOfResourceSpecId(String sourceResourceSpecid, ServiceSpecification targetServiceSpec) { - - ResourceSpecification rSpec = resourceSpecRepoService.findByUuid( sourceResourceSpecid ); - - if ( rSpec != null ) { - for (ResourceSpecificationCharacteristic sourceChar : rSpec.getResourceSpecCharacteristic()) { - ServiceSpecCharacteristic serviceSpecCharacteristicItem = copyResourceCharacteristic( sourceChar ); - //serviceSpecCharacteristicItem.setName( rSpec.getName() + "::" +sourceChar.getName() ); - serviceSpecCharacteristicItem.setName( sourceChar.getName() ); - - if ( targetServiceSpec.findSpecCharacteristicByName( serviceSpecCharacteristicItem.getName() ) == null ) { - targetServiceSpec.getServiceSpecCharacteristic().add( serviceSpecCharacteristicItem ); - } - } - } - - return targetServiceSpec; - } +// private ServiceSpecification copyCharacteristicsOfResourceSpecId(String sourceResourceSpecid, ServiceSpecification targetServiceSpec) { +// +// ResourceSpecification rSpec = resourceSpecRepoService.findByUuid( sourceResourceSpecid ); +// +// if ( rSpec != null ) { +// for (ResourceSpecificationCharacteristic sourceChar : rSpec.getResourceSpecCharacteristic()) { +// ServiceSpecCharacteristic serviceSpecCharacteristicItem = copyResourceCharacteristic( sourceChar ); +// //serviceSpecCharacteristicItem.setName( rSpec.getName() + "::" +sourceChar.getName() ); +// serviceSpecCharacteristicItem.setName( sourceChar.getName() ); +// +// if ( targetServiceSpec.findSpecCharacteristicByName( serviceSpecCharacteristicItem.getName() ) == null ) { +// targetServiceSpec.getServiceSpecCharacteristic().add( serviceSpecCharacteristicItem ); +// } +// } +// } +// +// return targetServiceSpec; +// } public ServiceSpecification cloneServiceSpecification(String uuid) { ServiceSpecification source = this.findByUuid(uuid); @@ -1410,11 +1411,12 @@ public class ServiceSpecificationRepoService { serviceSpec.setType("ResourceFacingServiceSpecification"); - for (ResourceSpecificationCharacteristic sourceChar : rSpec.getResourceSpecCharacteristic()) { - ServiceSpecCharacteristic serviceSpecCharacteristicItem = copyResourceCharacteristic( sourceChar ); - serviceSpecCharacteristicItem.setName( rSpec.getName() + "::" +sourceChar.getName() ); - serviceSpec.addServiceSpecCharacteristicItem(serviceSpecCharacteristicItem ); - } + +// for (ResourceSpecificationCharacteristic sourceChar : rSpec.getResourceSpecCharacteristic()) { +// ServiceSpecCharacteristic serviceSpecCharacteristicItem = copyResourceCharacteristic( sourceChar ); +// serviceSpecCharacteristicItem.setName( rSpec.getName() + "::" +sourceChar.getName() ); +// serviceSpec.addServiceSpecCharacteristicItem(serviceSpecCharacteristicItem ); +// } ResourceSpecificationRef resourceSpecRef = new ResourceSpecificationRef(); @@ -1427,25 +1429,25 @@ public class ServiceSpecificationRepoService { return serviceSpec; } - private ServiceSpecCharacteristic copyResourceCharacteristic( ResourceSpecificationCharacteristic sourceChar ) { - - ServiceSpecCharacteristic serviceSpecCharacteristicItem = new ServiceSpecCharacteristic(); - serviceSpecCharacteristicItem.setDescription( sourceChar.getDescription()); - serviceSpecCharacteristicItem.valueType( sourceChar.getValueType() ); - serviceSpecCharacteristicItem.configurable(sourceChar.isConfigurable()); - serviceSpecCharacteristicItem.setMinCardinality( sourceChar.getMinCardinality() ); - serviceSpecCharacteristicItem.setMaxCardinality( sourceChar.getMaxCardinality() ); - serviceSpecCharacteristicItem.setValidFor( sourceChar.getValidFor() ); - for (ResourceSpecificationCharacteristicValue cv : sourceChar.getResourceSpecCharacteristicValue()) { - ServiceSpecCharacteristicValue serviceSpecCharacteristicValueItem = new ServiceSpecCharacteristicValue(); - serviceSpecCharacteristicValueItem.setValue( new Any( cv.getValue().getValue(), cv.getValue().getAlias())); - serviceSpecCharacteristicValueItem.isDefault( cv.isIsDefault() ); - serviceSpecCharacteristicValueItem.setUnitOfMeasure( cv.getUnitOfMeasure() ); - serviceSpecCharacteristicItem.addServiceSpecCharacteristicValueItem(serviceSpecCharacteristicValueItem ); - } - return serviceSpecCharacteristicItem; - } - +// private ServiceSpecCharacteristic copyResourceCharacteristic( ResourceSpecificationCharacteristic sourceChar ) { +// +// ServiceSpecCharacteristic serviceSpecCharacteristicItem = new ServiceSpecCharacteristic(); +// serviceSpecCharacteristicItem.setDescription( sourceChar.getDescription()); +// serviceSpecCharacteristicItem.valueType( sourceChar.getValueType() ); +// serviceSpecCharacteristicItem.configurable(sourceChar.isConfigurable()); +// serviceSpecCharacteristicItem.setMinCardinality( sourceChar.getMinCardinality() ); +// serviceSpecCharacteristicItem.setMaxCardinality( sourceChar.getMaxCardinality() ); +// serviceSpecCharacteristicItem.setValidFor( sourceChar.getValidFor() ); +// for (ResourceSpecificationCharacteristicValue cv : sourceChar.getResourceSpecCharacteristicValue()) { +// ServiceSpecCharacteristicValue serviceSpecCharacteristicValueItem = new ServiceSpecCharacteristicValue(); +// serviceSpecCharacteristicValueItem.setValue( new Any( cv.getValue().getValue(), cv.getValue().getAlias())); +// serviceSpecCharacteristicValueItem.isDefault( cv.isIsDefault() ); +// serviceSpecCharacteristicValueItem.setUnitOfMeasure( cv.getUnitOfMeasure() ); +// serviceSpecCharacteristicItem.addServiceSpecCharacteristicValueItem(serviceSpecCharacteristicValueItem ); +// } +// return serviceSpecCharacteristicItem; +// } +// diff --git a/src/main/java/org/etsi/osl/tmf/sim638/api/ServiceApiRouteBuilder.java b/src/main/java/org/etsi/osl/tmf/sim638/api/ServiceApiRouteBuilder.java index c3ca3c8..55e38b6 100644 --- a/src/main/java/org/etsi/osl/tmf/sim638/api/ServiceApiRouteBuilder.java +++ b/src/main/java/org/etsi/osl/tmf/sim638/api/ServiceApiRouteBuilder.java @@ -131,7 +131,7 @@ public class ServiceApiRouteBuilder extends RouteBuilder { .log(LoggingLevel.INFO, log, CATALOG_UPD_SERVICE + " message received and will be processed for service inventory!") .to("log:DEBUG?showBody=true&showHeaders=true") .unmarshal().json( JsonLibrary.Jackson, ServiceUpdate.class, true) - .bean( serviceRepoService, "updateService(${header.serviceid}, ${body}, ${header.propagateToSO} )") + .bean( serviceRepoService, "updateService(${header.serviceid}, ${body}, ${header.triggerServiceActionQueue} )") .marshal().json( JsonLibrary.Jackson) .convertBodyTo( String.class ); diff --git a/src/main/java/org/etsi/osl/tmf/sim638/service/ServiceRepoService.java b/src/main/java/org/etsi/osl/tmf/sim638/service/ServiceRepoService.java index 429af50..1ca3520 100644 --- a/src/main/java/org/etsi/osl/tmf/sim638/service/ServiceRepoService.java +++ b/src/main/java/org/etsi/osl/tmf/sim638/service/ServiceRepoService.java @@ -340,8 +340,16 @@ public class ServiceRepoService { .orElse(null); } + /** + * @param id + * @param servUpd + * @param triggerServiceActionQueue + * @param updatedFromParentService + * @param updatedFromChildService + * @return + */ @Transactional - public Service updateService(String id, @Valid ServiceUpdate servUpd, boolean propagateToSO, Service updatedFromParentService, Service updatedFromChildService ) { + public Service updateService(String id, @Valid ServiceUpdate servUpd, boolean triggerServiceActionQueue, Service updatedFromParentService, Service updatedFromChildService ) { //Service service = this.findByUuid(id); Service service = this.getServiceEager(id); @@ -452,7 +460,7 @@ public class ServiceRepoService { boolean serviceCharacteristicChangedContainsPrimitive = false; String charChangedForNotes = ""; - List childCharacteristicsChanged = new ArrayList<>(); + //List childCharacteristicsChanged = new ArrayList<>(); //logger.info("==> Will update serviceToString: " + service.toString() ); @@ -466,15 +474,18 @@ public class ServiceRepoService { Characteristic origChar = service.getServiceCharacteristicByName( n.getName() ); if ( ( origChar !=null ) && ( origChar.getValue() !=null ) && ( origChar.getValue().getValue() !=null )) { if ( !origChar.getValue().getValue().equals(n.getValue().getValue()) ) { - if ( n.getName().contains("::") ) { - childCharacteristicsChanged.add(n); //the characteristic needs later to be propagated to its children - - } - serviceCharacteristicChanged = true; //change only characteristics of this service - charChangedForNotes += n.getName(); - if ( n.getName().toUpperCase().contains( "PRIMITIVE::" ) ){ - serviceCharacteristicChangedContainsPrimitive = true; - } +// if ( n.getName().contains("::") ) { +// childCharacteristicsChanged.add(n); //the characteristic needs later to be propagated to its children +// +// } + + if ( !n.getName().contains("::") ) { //it is not a child characteristic + serviceCharacteristicChanged = true; //change only characteristics of this service + charChangedForNotes += n.getName() + ", "; + } + if ( n.getName().toUpperCase().contains( "PRIMITIVE::" ) ){ + serviceCharacteristicChangedContainsPrimitive = true; + } } } @@ -484,8 +495,10 @@ public class ServiceRepoService { ); } else { service.addServiceCharacteristicItem(n); - serviceCharacteristicChanged = true; - charChangedForNotes += n.getName() + ", "; + if ( !n.getName().contains("::") ) { //it is not a child characteristic + serviceCharacteristicChanged = true; + charChangedForNotes += n.getName() + ", "; + } } } @@ -555,7 +568,7 @@ public class ServiceRepoService { * Save in ServiceActionQueueItem */ - if (propagateToSO && stateChanged) { + if (triggerServiceActionQueue && stateChanged) { ServiceActionQueueItem saqi = new ServiceActionQueueItem(); saqi.setServiceRefId( id ); saqi.setOriginalServiceInJSON( originaServiceAsJson ); @@ -588,7 +601,7 @@ public class ServiceRepoService { } } - if ( serviceCharacteristicChanged && service.getState().equals( ServiceStateType.ACTIVE) && previousState!=null && previousState.equals( ServiceStateType.ACTIVE) ) { + if ( serviceCharacteristicChanged && service.getState().equals( ServiceStateType.ACTIVE) && previousState!=null && previousState.equals( ServiceStateType.ACTIVE) && triggerServiceActionQueue ) { ServiceActionQueueItem saqi = new ServiceActionQueueItem(); saqi.setServiceRefId( id ); saqi.setOriginalServiceInJSON( originaServiceAsJson ); @@ -596,65 +609,88 @@ public class ServiceRepoService { if ( serviceCharacteristicChangedContainsPrimitive ) { saqi.setAction( ServiceActionQueueAction.EVALUATE_CHARACTERISTIC_CHANGED_MANODAY2 ); } - - - this.addServiceActionQueueItem(saqi); } - if ( serviceCharacteristicChanged) { - /* - * Update any parent service - */ - for (ServiceRelationship serviceRelationship : service.getServiceRelationship()) { - if ( serviceRelationship.getRelationshipType().equals("ChildService") ) { - if ( serviceRelationship.getService() != null ) { - if ( updatedFromParentService == null || - (updatedFromParentService!=null && !updatedFromParentService.getId().equals(serviceRelationship.getService().getId())) ) { //avoid circular - propagateCharacteristicsToParentService(service, serviceRelationship.getService().getId()); - } - - } - } - } - } + /* + * Update any parent service + */ + for (ServiceRelationship serviceRelationship : service.getServiceRelationship()) { + if (serviceRelationship.getRelationshipType().equals("ChildService")) { + if (serviceRelationship.getService() != null) { + + + if (serviceCharacteristicChanged) { + if (updatedFromParentService == null || (updatedFromParentService != null && !updatedFromParentService.getId().equals(serviceRelationship.getService().getId()))) { // avoid circular + ServiceActionQueueItem saqi = new ServiceActionQueueItem(); // this will trigger lcm rule to parent + saqi.setServiceRefId(serviceRelationship.getService().getId()); + try { + saqi.setOriginalServiceInJSON( mapper.writeValueAsString( service ) ); //pass the child service as is + } catch (JsonProcessingException e) { + e.printStackTrace(); + } + saqi.setAction(ServiceActionQueueAction.EVALUATE_CHILD_CHARACTERISTIC_CHANGED); + this.addServiceActionQueueItem(saqi); + } + + } + + if (stateChanged) { + if (updatedFromParentService == null || (updatedFromParentService != null && !updatedFromParentService.getId().equals(serviceRelationship.getService().getId()))) { // avoid circular + ServiceActionQueueItem saqi = new ServiceActionQueueItem(); // this will trigger lcm rule to parent + saqi.setServiceRefId(serviceRelationship.getService().getId()); + try { + saqi.setOriginalServiceInJSON( mapper.writeValueAsString( service ) ); //pass the child service as is + } catch (JsonProcessingException e) { + e.printStackTrace(); + } + saqi.setAction(ServiceActionQueueAction.EVALUATE_CHILD_STATE_CHANGE ); + this.addServiceActionQueueItem(saqi); + } + } + + + + } + } + } - if ( childCharacteristicsChanged.size()>0 ) { - if ( service.getSupportingService() != null ) { //propagate to children - //copy characteristics values from CFS Service to its supporting services. - for (ServiceRef sref : service.getSupportingService() ) { - Service aSupportingService = this.findByUuid( sref.getId() ); - ServiceUpdate supd = new ServiceUpdate(); - boolean foundCharacteristicForChild = false; - for (Characteristic supportingServiceChar : aSupportingService.getServiceCharacteristic() ) { - - for (Characteristic serviceCharacteristic : childCharacteristicsChanged ) { - if ( serviceCharacteristic.getName().contains( aSupportingService.getName() + "::" + supportingServiceChar.getName() )) { - //supportingServiceChar.setValue( serviceCharacteristic.getValue() ); - Characteristic cNew = new Characteristic(); - cNew.setName(supportingServiceChar.getName()); - cNew.value( new Any( serviceCharacteristic.getValue() )); - supd.addServiceCharacteristicItem( cNew ); - foundCharacteristicForChild = true; - } - } - } - - if ( foundCharacteristicForChild ) { - Note n = new Note(); - n.setText("Child Characteristics Changed" ); - n.setAuthor( "SIM638-API" ); - n.setDate( OffsetDateTime.now(ZoneOffset.UTC).toString() ); - supd.addNoteItem( n ); - if ( updatedFromChildService == null || - (updatedFromChildService!=null && !updatedFromChildService.getId().equals( aSupportingService.getId())) ) { //avoid circular - this.updateService( aSupportingService.getId(), supd , false, service, null); //update the service - } - } - } - - } - } +// if ( childCharacteristicsChanged.size()>0 ) { +// if ( service.getSupportingService() != null ) { //propagate to children +// //copy characteristics values from CFS Service to its supporting services. +// for (ServiceRef sref : service.getSupportingService() ) { +// Service aSupportingService = this.findByUuid( sref.getId() ); +// ServiceUpdate supd = new ServiceUpdate(); +// boolean foundCharacteristicForChild = false; +// for (Characteristic supportingServiceChar : aSupportingService.getServiceCharacteristic() ) { +// +// for (Characteristic serviceCharacteristic : childCharacteristicsChanged ) { +// if ( serviceCharacteristic.getName().contains( aSupportingService.getName() + "::" + supportingServiceChar.getName() )) { +// //supportingServiceChar.setValue( serviceCharacteristic.getValue() ); +// Characteristic cNew = new Characteristic(); +// cNew.setName(supportingServiceChar.getName()); +// cNew.value( new Any( serviceCharacteristic.getValue() )); +// supd.addServiceCharacteristicItem( cNew ); +// foundCharacteristicForChild = true; +// } +// } +// } +// +// if ( foundCharacteristicForChild ) { +// Note n = new Note(); +// n.setText("Child Characteristics Changed" ); +// n.setAuthor( "SIM638-API" ); +// n.setDate( OffsetDateTime.now(ZoneOffset.UTC).toString() ); +// supd.addNoteItem( n ); +// if ( updatedFromChildService == null || +// (updatedFromChildService!=null && !updatedFromChildService.getId().equals( aSupportingService.getId())) ) { //avoid circular +// this.updateService( aSupportingService.getId(), supd , false, service, null); //update the service +// } +// } +// } +// +// } +// } @@ -692,19 +728,19 @@ public class ServiceRepoService { * @param service * @param parentService */ - private void propagateCharacteristicsToParentService(Service childService, String parentServiceId) { - - ServiceUpdate servUpd = new ServiceUpdate(); - - for (Characteristic n : childService.getServiceCharacteristic()) { - Characteristic serviceCharacteristicItem = new Characteristic(); - serviceCharacteristicItem.setName( childService.getName() + "::" + n.getName()); - serviceCharacteristicItem.setValue( new Any( n.getValue() )); - servUpd.addServiceCharacteristicItem(serviceCharacteristicItem); - } - - this.updateService( parentServiceId, servUpd, false, null, childService); - } +// private void propagateCharacteristicsToParentService(Service childService, String parentServiceId) { +// +// ServiceUpdate servUpd = new ServiceUpdate(); +// +// for (Characteristic n : childService.getServiceCharacteristic()) { +// Characteristic serviceCharacteristicItem = new Characteristic(); +// serviceCharacteristicItem.setName( childService.getName() + "::" + n.getName()); +// serviceCharacteristicItem.setValue( new Any( n.getValue() )); +// servUpd.addServiceCharacteristicItem(serviceCharacteristicItem); +// } +// +// this.updateService( parentServiceId, servUpd, false, null, childService); +// } public String getServiceEagerAsString(String id) throws JsonProcessingException { Service s = this.getServiceEager(id); @@ -801,8 +837,8 @@ public class ServiceRepoService { logger.debug("Will add ServiceActionQueueItem ServiceRefId: " + item.getServiceRefId() ); //find any similar action inqueue and delete them, so to keep this one as the most recent - //List result = this.serviceActionQueueRepo.findByServiceRefIdAndAction(item.getServiceRefId(), item.getAction()); - //logger.debug("Will add ServiceActionQueueItem ServiceRefId result: " +result.size() ); + List result = this.serviceActionQueueRepo.findByServiceRefIdAndAction(item.getServiceRefId(), item.getAction()); + logger.debug("Will add ServiceActionQueueItem ServiceRefId result: " +result.size() ); this.serviceActionQueueRepo.deleteByServiceRefIdAndAction(item.getServiceRefId(), item.getAction()); return this.serviceActionQueueRepo.save( item); -- GitLab From f2174ee599ae95aeb9116759a49c9c818f1b3abe Mon Sep 17 00:00:00 2001 From: Christos Tranoris Date: Fri, 19 Jan 2024 17:37:05 +0200 Subject: [PATCH 2/5] update --- .../org/etsi/osl/tmf/sim638/service/ServiceRepoService.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/main/java/org/etsi/osl/tmf/sim638/service/ServiceRepoService.java b/src/main/java/org/etsi/osl/tmf/sim638/service/ServiceRepoService.java index 4015a8d..d5b97e3 100644 --- a/src/main/java/org/etsi/osl/tmf/sim638/service/ServiceRepoService.java +++ b/src/main/java/org/etsi/osl/tmf/sim638/service/ServiceRepoService.java @@ -1137,8 +1137,7 @@ public class ServiceRepoService { n.setDate( OffsetDateTime.now(ZoneOffset.UTC).toString() ); supd.addNoteItem( n ); - this.updateService( aService.getId(), supd , true, null, null); //update the service - + this.updateService( aService.getId(), supd , true, null, null); //update the service } } -- GitLab From fe3946fd07063af5298a6511f1c3d822d351d4ad Mon Sep 17 00:00:00 2001 From: Christos Tranoris Date: Wed, 31 Jan 2024 18:03:33 +0200 Subject: [PATCH 3/5] remove security context in GET --- .../api/ServiceSpecificationApiController.java | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/src/main/java/org/etsi/osl/tmf/scm633/api/ServiceSpecificationApiController.java b/src/main/java/org/etsi/osl/tmf/scm633/api/ServiceSpecificationApiController.java index cd488ba..12482fb 100644 --- a/src/main/java/org/etsi/osl/tmf/scm633/api/ServiceSpecificationApiController.java +++ b/src/main/java/org/etsi/osl/tmf/scm633/api/ServiceSpecificationApiController.java @@ -186,18 +186,6 @@ public class ServiceSpecificationApiController implements ServiceSpecificationAp @Parameter(description = "Identifier of the ServiceSpecification", required = true) @PathVariable("id") String id, @Parameter(description = "Comma-separated properties to provide in response") @Valid @RequestParam(value = "fields", required = false) String fields) { try { - - Object attr = request.getSession().getAttribute("SPRING_SECURITY_CONTEXT"); - - if ( attr!=null) { - SecurityContextHolder.setContext( (SecurityContext) attr ); - } - if ( SecurityContextHolder.getContext().getAuthentication() != null ) { - Authentication authentication = SecurityContextHolder.getContext().getAuthentication(); - centralLogger.log( CLevel.INFO, "User " + authentication.getName() + " retrieve spec id: "+ id , compname ); - } else { - centralLogger.log( CLevel.INFO, "Anonymous retrieve spec id: "+ id, compname ); - } return new ResponseEntity(serviceSpecificationRepoService.findByUuid(id), HttpStatus.OK); -- GitLab From 95418e624da97eb15062182f820dac3db8a3a0ed Mon Sep 17 00:00:00 2001 From: Christos Tranoris Date: Wed, 31 Jan 2024 22:20:43 +0200 Subject: [PATCH 4/5] Transactional publish event --- .../osl/tmf/so641/api/ServiceOrderApiRouteBuilderEvents.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/main/java/org/etsi/osl/tmf/so641/api/ServiceOrderApiRouteBuilderEvents.java b/src/main/java/org/etsi/osl/tmf/so641/api/ServiceOrderApiRouteBuilderEvents.java index 64b5eb7..ac422ef 100644 --- a/src/main/java/org/etsi/osl/tmf/so641/api/ServiceOrderApiRouteBuilderEvents.java +++ b/src/main/java/org/etsi/osl/tmf/so641/api/ServiceOrderApiRouteBuilderEvents.java @@ -41,6 +41,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Configuration; import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; @Configuration //@RefreshScope @@ -87,6 +88,7 @@ public class ServiceOrderApiRouteBuilderEvents extends RouteBuilder { /** * @param n */ + @Transactional public void publishEvent(final Notification n, final String objId) { n.setEventType( n.getClass().getName()); logger.info("will send Event for type " + n.getEventType()); -- GitLab From 835167d98cede466fba3a5bb57f5f1895451e2b1 Mon Sep 17 00:00:00 2001 From: Christos Tranoris Date: Wed, 31 Jan 2024 22:44:35 +0200 Subject: [PATCH 5/5] added Transactional --- .../etsi/osl/tmf/so641/reposervices/ServiceOrderRepoService.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/org/etsi/osl/tmf/so641/reposervices/ServiceOrderRepoService.java b/src/main/java/org/etsi/osl/tmf/so641/reposervices/ServiceOrderRepoService.java index 80e1248..d7214c4 100644 --- a/src/main/java/org/etsi/osl/tmf/so641/reposervices/ServiceOrderRepoService.java +++ b/src/main/java/org/etsi/osl/tmf/so641/reposervices/ServiceOrderRepoService.java @@ -318,6 +318,7 @@ public class ServiceOrderRepoService { return res; } + @Transactional public ServiceOrder addServiceOrder(@Valid ServiceOrderCreate serviceOrderCreate) { ServiceOrder so = new ServiceOrder(); so.setOrderDate(OffsetDateTime.now(ZoneOffset.UTC)); -- GitLab