diff --git a/application-engine/src/main/java/com/netgrif/application/engine/petrinet/service/PetriNetService.java b/application-engine/src/main/java/com/netgrif/application/engine/petrinet/service/PetriNetService.java index 882821231a..c8715a6f33 100644 --- a/application-engine/src/main/java/com/netgrif/application/engine/petrinet/service/PetriNetService.java +++ b/application-engine/src/main/java/com/netgrif/application/engine/petrinet/service/PetriNetService.java @@ -653,7 +653,7 @@ protected void deletePetriNet(String processId, LoggedUser loggedUser, boolean f publisher.publishEvent(new ProcessDeleteEvent(petriNet, EventPhase.PRE)); repository.deleteBy_id(petriNet.getObjectId()); evictCache(petriNet); - functionCacheService.reloadCachedGlobalFunctions(petriNet); + functionCacheService.removeCachedPetriNetFunctions(petriNet.getIdentifier()); if (petriNet.isDefaultVersion()) { PetriNet processToMakeDefault = self.getLatestVersionByIdentifier(petriNet.getIdentifier()); if (processToMakeDefault != null) { diff --git a/application-engine/src/main/java/com/netgrif/application/engine/workflow/service/FieldActionsCacheService.java b/application-engine/src/main/java/com/netgrif/application/engine/workflow/service/FieldActionsCacheService.java index e477ead50e..0f6818ded2 100644 --- a/application-engine/src/main/java/com/netgrif/application/engine/workflow/service/FieldActionsCacheService.java +++ b/application-engine/src/main/java/com/netgrif/application/engine/workflow/service/FieldActionsCacheService.java @@ -69,8 +69,13 @@ public void cachePetriNetFunctions(PetriNet petriNet) { } @Override - public void reloadCachedGlobalFunctions(String processIdentifier) { + public void removeCachedPetriNetFunctions(String processIdentifier) { getRequiredCache(CacheMapKeys.GLOBAL_FUNCTIONS).evictIfPresent(processIdentifier); + } + + @Override + public void reloadCachedGlobalFunctions(String processIdentifier) { + removeCachedPetriNetFunctions(processIdentifier); PetriNet petriNet = petriNetService.getDefaultVersionByIdentifier(processIdentifier); if (petriNet != null) { cachePetriNetFunctions(petriNet); diff --git a/application-engine/src/main/java/com/netgrif/application/engine/workflow/service/interfaces/IFieldActionsCacheService.java b/application-engine/src/main/java/com/netgrif/application/engine/workflow/service/interfaces/IFieldActionsCacheService.java index e71f0f37a1..84bb7f4c8e 100644 --- a/application-engine/src/main/java/com/netgrif/application/engine/workflow/service/interfaces/IFieldActionsCacheService.java +++ b/application-engine/src/main/java/com/netgrif/application/engine/workflow/service/interfaces/IFieldActionsCacheService.java @@ -13,10 +13,12 @@ public interface IFieldActionsCacheService { void cachePetriNetFunctions(PetriNet petriNet); - void reloadCachedGlobalFunctions(String petriNetId); + void reloadCachedGlobalFunctions(String processIdentifier); void reloadCachedGlobalFunctions(PetriNet petriNet); + void removeCachedPetriNetFunctions(String processIdentifier); + Closure getCompiledAction(Action action, boolean shouldRewriteCachedActions); List getCachedFunctions(List functions);