From 6ad97da65fe8528635a1de9c8360a2ce30fe0609 Mon Sep 17 00:00:00 2001
From: SebastianEbert <sebastian.ebert@tu-dresden.de>
Date: Mon, 19 Jun 2023 18:11:14 +0200
Subject: [PATCH] limited scope of topic rewrites

---
 src/main/jastadd/flatter/rewrites/ServiceRewrites.jadd | 10 ++++++++++
 src/main/jastadd/flatter/rewrites/TopicRewrites.jadd   |  2 +-
 2 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/src/main/jastadd/flatter/rewrites/ServiceRewrites.jadd b/src/main/jastadd/flatter/rewrites/ServiceRewrites.jadd
index 1409454..739554d 100644
--- a/src/main/jastadd/flatter/rewrites/ServiceRewrites.jadd
+++ b/src/main/jastadd/flatter/rewrites/ServiceRewrites.jadd
@@ -1,5 +1,15 @@
 aspect ServiceRewrites {
 
+    syn boolean PetriNet.hasServerPrototypePages() {
+
+        for(Page p : this.allPages()){
+            if(p.getType().equals(PnmlConstants.PAGE_TYPE_SERVER)){
+                return false;
+            }
+        }
+        return true;
+    }
+
      rewrite Page {
      when ( getType() != null && getType().equals(PnmlConstants.PAGE_TYPE_SERVER) && !getId().endsWith(PnmlConstants.PAGE_SERVER_INSTANCE_SUFFIX) )
         to Page {
diff --git a/src/main/jastadd/flatter/rewrites/TopicRewrites.jadd b/src/main/jastadd/flatter/rewrites/TopicRewrites.jadd
index 26d9266..046f15e 100644
--- a/src/main/jastadd/flatter/rewrites/TopicRewrites.jadd
+++ b/src/main/jastadd/flatter/rewrites/TopicRewrites.jadd
@@ -4,7 +4,7 @@ import de.tudresden.inf.st.pnml.flatter.transform.*;
 aspect TopicRewrites {
 
     rewrite DinerosTransition {
-    when ( getStaticTransitionInformation().isTopicTransitionInformation() )
+    when ( !petriNet().hasServerPrototypePages() && getStaticTransitionInformation().isTopicTransitionInformation() )
         to Page {
 
             Page res = new Page();
-- 
GitLab