From 2f158643bf5b1e5d52562fc0ed39b5a5dd2cb6b3 Mon Sep 17 00:00:00 2001
From: Christos Tranoris <tranoris@ece.upatras.gr>
Date: Sat, 21 Dec 2024 22:48:23 +0200
Subject: [PATCH] fix for #61

---
 .../sim638/service/ServiceRepoService.java    | 20 +++++++++++--------
 .../reposervices/ServiceOrderRepoService.java | 15 ++++++++------
 2 files changed, 21 insertions(+), 14 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 a8687f9..c8761b4 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
@@ -1133,14 +1133,18 @@ public class ServiceRepoService {
 
               ServiceStateType nextState =  aService.getState();
               List<Resource> rlist = new ArrayList<Resource>();
+              rlist.add(res);
+              
               for (ResourceRef rref : aService.getSupportingResource()) {
-                Optional<Resource> result = resourceRepo.findByUuid(rref.getId());
-                if (result.isPresent()) {
-                  rlist.add( result.get() );
-                  if ( result.get().getResourceStatus()==null){
-                    logger.debug("================> updateServicesHavingThisSupportingResource resource status NULL for resource: "+ result.get().getName()  );     
-                    return;
-                  }
+                if (!rref.getId().equals( res.getId())) {
+                  Optional<Resource> result = resourceRepo.findByUuid(rref.getId());
+                  if (result.isPresent()) {
+                    rlist.add( result.get() );
+                    if ( result.get().getResourceStatus()==null){
+                      logger.debug("================> updateServicesHavingThisSupportingResource resource status NULL for resource: "+ result.get().getName()  );     
+                      return;
+                    }
+                  }                  
                 }
               }
               
@@ -1180,7 +1184,7 @@ public class ServiceRepoService {
               CharCopyResult result = new CharCopyResult(supd, false);
               
               if ( nextState == ServiceStateType.ACTIVE) {
-                if ( !aService.equals(nextState) && nextState == ServiceStateType.ACTIVE) {
+                if ( !aService.getState().equals(nextState) && nextState == ServiceStateType.ACTIVE) {
                   result = copyCharacteristicsFromAllResources(aService, supd, rlist);                  
                 } else {
                   result = copyCharacteristicsFromResource(aService, supd, res);
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 b790f19..64f6604 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
@@ -884,25 +884,28 @@ public class ServiceOrderRepoService {
 		if (depth>10) {
 			return result;
 		}
+
+		
+		
 		for (ServiceRef specRel : soiOrigin.getService().getSupportingService() ) {
-			if ( !soiOrigin.getService().getName().equals( specRel.getName()) ) {
-				result += "\""+ soiOrigin.getService().getId() + "\""+ " -> " + "\""+ specRel.getId() +"\" "+";\r\n";
+			//if ( !soiOrigin.getService().getName().equals( specRel.getName()) ) {
+				//result += "\""+ soiOrigin.getService().getId() + "\""+ " -> " + "\""+ specRel.getId() +"\" "+";\r\n";
 				result += "\""+ specRel.getId() + "\""+ " [label =\""+ specRel.getName() +"\", color = \"#2596be\"]; \r\n";
 				org.etsi.osl.tmf.sim638.model.Service aService= serviceRepoService.findByUuid( specRel.getId() );
 				if ( aService!= null) {
 					result += getServiceGraphNotation( aService,0 );				
 				}
-			}
+			//}
 			
 		}
-		
-		for (ResourceRef resRel :soiOrigin.getService().getSupportingResource() ) {
+
+		for (ResourceRef resRel : soiOrigin.getService().getSupportingResource() ) {
 			result += "\""+ soiOrigin.getService().getId() + "\""+ " -> " + "\""+ resRel.getId() + "\""+ ";\r\n";
 			result += "\""+ resRel.getId() + "\""+ " [label = \"" + resRel.getName() + "\", shape = roundedbox, color = \"#e28743\"]; \r\n";
 			
 		}
 		
-		result += "\""+ soiOrigin.getService().getId() + "\""+ " [label = \""+ soiOrigin.getService().getName() +"\", color = \"#2596be\"]; \r\n";
+		//result += "\""+ soiOrigin.getService().getId() + "\""+ " [label = \"Order "+ soiOrigin.getService().getName() +"\", color = \"#259600\"]; \r\n";
 		return result;
 	}
 
-- 
GitLab