From a617cd972ac9a38221e057512df3c40ef9d31a5b Mon Sep 17 00:00:00 2001 From: Luca Frosini Date: Tue, 2 May 2023 17:58:03 +0200 Subject: [PATCH] Fixing bug which creates infinite number of EventFacet --- .../resourcemanager/EServiceManager.java | 13 +++++-------- .../resourcemanager/HostingNodeManager.java | 15 +++++++-------- 2 files changed, 12 insertions(+), 16 deletions(-) diff --git a/src/main/java/org/gcube/smartgears/handler/resourceregistry/resourcemanager/EServiceManager.java b/src/main/java/org/gcube/smartgears/handler/resourceregistry/resourcemanager/EServiceManager.java index 97932cd..4eb7f23 100644 --- a/src/main/java/org/gcube/smartgears/handler/resourceregistry/resourcemanager/EServiceManager.java +++ b/src/main/java/org/gcube/smartgears/handler/resourceregistry/resourcemanager/EServiceManager.java @@ -314,16 +314,13 @@ public class EServiceManager { } if(c.getTarget() instanceof EventFacet) { - eventFacet = (EventFacet) c.getTarget(); - String value = eventFacet.getEvent(); + EventFacet foundEventFacet = (EventFacet) c.getTarget(); + String value = foundEventFacet.getEvent(); if(value.compareTo(getState())==0) { // This facet must be updated (the date must be updated) so it must not be removed from udpate - eventFacet.setDate(date); + foundEventFacet.setDate(date); + eventFacet = foundEventFacet; continue; - }else { - // This is not the event facet to be updated - // Setting the variable to null so it will be created if the event does not already exists. - eventFacet = null; } } @@ -335,7 +332,7 @@ public class EServiceManager { // Removing the ones that have not to be changed. consistsOfList.removeAll(consistsOfToRemove); - + /* The eventFacet for the event does not exists. Going to create it */ if(eventFacet == null) { eventFacet = getEventFacet(date); eService.addFacet(eventFacet); diff --git a/src/main/java/org/gcube/smartgears/handler/resourceregistry/resourcemanager/HostingNodeManager.java b/src/main/java/org/gcube/smartgears/handler/resourceregistry/resourcemanager/HostingNodeManager.java index 1a33e13..4b12ec3 100644 --- a/src/main/java/org/gcube/smartgears/handler/resourceregistry/resourcemanager/HostingNodeManager.java +++ b/src/main/java/org/gcube/smartgears/handler/resourceregistry/resourcemanager/HostingNodeManager.java @@ -215,16 +215,13 @@ public class HostingNodeManager { } if(c.getTarget() instanceof EventFacet) { - eventFacet = (EventFacet) c.getTarget(); - String value = eventFacet.getEvent(); + EventFacet foundEventFacet = (EventFacet) c.getTarget(); + String value = foundEventFacet.getEvent(); if(value.compareTo(getState())==0) { - // This facet must be updated (the date must be updated) so it must not be removed from udpate - eventFacet.setDate(date); + // This facet must be updated (the date must be updated) so it must not be removed from update + foundEventFacet.setDate(date); + eventFacet = foundEventFacet; continue; - }else { - // This is not the event facet to be updated - // Setting the variable to null so it will be created if the event does not already exists. - eventFacet = null; } } @@ -236,6 +233,8 @@ public class HostingNodeManager { // Removing the ones that have not to be changed. consistsOfList.removeAll(consistsOfToRemove); + + /* The eventFacet for the event does not exists. Going to create it */ if(eventFacet == null) { eventFacet = getEventFacet(date); hostingNode.addFacet(eventFacet);