From f82dfa0b12cfb128e7a8a661694346970ef724bd Mon Sep 17 00:00:00 2001
From: rschoene <rene.schoene@tu-dresden.de>
Date: Thu, 4 Aug 2022 14:02:08 +0200
Subject: [PATCH] small improvements

---
 cloc/.clocignore                              |  7 ++
 cloc/.gitignore                               |  1 +
 cloc/run-diff-to-old.py                       | 72 +++++++++++++++++++
 .../src/main/resources/jastadd/types.relast   |  4 +-
 .../main/resources/config-a-placeworld.yaml   |  4 +-
 .../main/resources/config-b-placeworld.yaml   |  4 +-
 6 files changed, 86 insertions(+), 6 deletions(-)
 create mode 100644 cloc/.clocignore
 create mode 100755 cloc/run-diff-to-old.py

diff --git a/cloc/.clocignore b/cloc/.clocignore
new file mode 100644
index 0000000..cca2aef
--- /dev/null
+++ b/cloc/.clocignore
@@ -0,0 +1,7 @@
+../ros3rag.common/src/main/java/de/tudresden/inf/st/ros3rag/common/ConfigurationScaling.java
+../ros3rag.placeA/src/main/java/de/tudresden/inf/st/placeA/SimpleMainA.java
+../ros3rag.placeA/src/gen/workaround/merged.connect
+../ros3rag.placeA/src/gen/workaround/merged.relast
+../ros3rag.placeB/src/main/java/de/tudresden/inf/st/placeB/SimpleMainB.java
+../ros3rag.placeB/src/gen/workaround/merged.connect
+../ros3rag.placeB/src/gen/workaround/merged.relast
diff --git a/cloc/.gitignore b/cloc/.gitignore
index 94a6352..99a072b 100644
--- a/cloc/.gitignore
+++ b/cloc/.gitignore
@@ -6,3 +6,4 @@ trainbenchmark.file
 trainbenchmark.lang
 cats.txt
 ignored.txt
+!.clocignore
diff --git a/cloc/run-diff-to-old.py b/cloc/run-diff-to-old.py
new file mode 100755
index 0000000..495d19d
--- /dev/null
+++ b/cloc/run-diff-to-old.py
@@ -0,0 +1,72 @@
+#!/usr/bin/env python3
+import difflib
+import sys
+import os
+
+
+filesA = [
+    ('WorldModelA.connect', 'OldWorldModelA.connect'),
+    ('WorldModelA.jadd', 'OldWorldModelA.jadd'),
+    ('WorldModelA.relast', 'OldWorldModelA.relast'),
+]
+currentDirA = 'ros3rag.placeA/src/main/jastadd'
+oldDirA = 'ros3rag.old.a/src/main/jastadd'
+
+filesB = [
+    ('RobotReachabilityToBFS.jrag', 'OldRobotReachabilityToBFS.jrag'),
+    ('RobotReachabilityToBFS.relast', 'OldRobotReachabilityToBFS.relast'),
+    ('WorldModelB.connect', 'OldWorldModelB.connect'),
+    ('WorldModelB.jadd', 'OldWorldModelB.jadd'),
+    ('WorldModelB.relast', 'OldWorldModelB.relast'),
+]
+currentDirB = 'ros3rag.placeB/src/main/jastadd'
+oldDirB = 'ros3rag.old.b/src/main/jastadd'
+
+filesShared = [
+    ('types.connect', 'types.connect'),
+    ('types.jadd', 'types.jadd'),
+    ('types.relast', 'types.relast')
+]
+currentDirShared = 'ros3rag.common/src/main/resources/jastadd'
+oldDirShared = 'ros3rag.common/src/main/resources/old-jastadd'
+
+comparing = [
+    (currentDirA, oldDirA, filesA),
+    (currentDirB, oldDirB, filesB),
+    (currentDirShared, oldDirShared, filesShared),
+]
+
+
+def main():
+    total_changed = 0
+    seen = set()
+
+    for currentDir, oldDir, files in comparing:
+        print(currentDir, oldDir)
+        for currentFilename, oldFilename in files:
+            print(' ', currentFilename, oldFilename, end=': ')
+            with open(os.path.join('..', currentDir, currentFilename)) as fdr:
+                a = fdr.readlines()
+            with open(os.path.join('..', oldDir, oldFilename)) as fdr:
+                b = fdr.readlines()
+            diff = difflib.unified_diff(a, b, lineterm='')
+            changed_lines = [line for index, line in enumerate(diff) if index > 2 and line.startswith('+')]
+            changed = len(changed_lines)
+            print(changed)
+
+            # put changed_lines into a file for later cloc call
+            merged_filename = 'merged.' + currentFilename.rsplit('.', 2)[1]
+            is_new_file = not merged_filename in seen
+            print(f'>>{merged_filename} {is_new_file}')
+            with open(merged_filename, 'w' if is_new_file else 'a') as fdr:
+                fdr.writelines(changed_lines)
+            seen.add(merged_filename)
+
+            total_changed += changed
+
+    print(f'total: {total_changed}')
+    os.system(f'cloc-ag merged.*')
+
+
+if __name__ == '__main__':
+    main()
diff --git a/ros3rag.common/src/main/resources/jastadd/types.relast b/ros3rag.common/src/main/resources/jastadd/types.relast
index c5585b9..2670103 100644
--- a/ros3rag.common/src/main/resources/jastadd/types.relast
+++ b/ros3rag.common/src/main/resources/jastadd/types.relast
@@ -5,14 +5,14 @@ Orientation ::= <X:double> <Y:double> <Z:double> <W:double> ;
 // Regions cannot be contained in scene, but must be retrieved via attribute
 Scene ::= DropOffLocation* MovableObject* RobotObject* /LogicalScene/ ;
 
-ObjectOfInterest ::= <Name:String> Position Size Orientation ;
+abstract ObjectOfInterest ::= <Name:String> Position Size Orientation ;
 
 DropOffLocation : ObjectOfInterest ;
 MovableObject : ObjectOfInterest ;
 RobotObject : ObjectOfInterest ::= <State:de.tudresden.inf.st.ceti.Object.State> ;
 
 LogicalScene ::= LogicalRegion* LogicalMovableObject* ;
-LogicalObjectOfInterest ::= <Name:String> ;
+abstract LogicalObjectOfInterest ::= <Name:String> ;
 LogicalRegion : LogicalObjectOfInterest ;
 LogicalMovableObject : LogicalObjectOfInterest ::= <NameOfMyLocation> ;
 rel LogicalRegion.ContainedObject* <-> LogicalMovableObject.LocatedAt* ;
diff --git a/ros3rag.placeA/src/main/resources/config-a-placeworld.yaml b/ros3rag.placeA/src/main/resources/config-a-placeworld.yaml
index a9f039b..32c3502 100644
--- a/ros3rag.placeA/src/main/resources/config-a-placeworld.yaml
+++ b/ros3rag.placeA/src/main/resources/config-a-placeworld.yaml
@@ -1,5 +1,5 @@
-mqttHost: "192.168.0.122"
-#mqttHost: "localhost"
+#mqttHost: "192.168.0.122"
+mqttHost: "localhost"
 filenameRegions: "src/main/resources/regions-a-placeworld.json"
 forA:
   filenameInitialScene: "src/main/resources/config-scene-a-placeworld.json"
diff --git a/ros3rag.placeB/src/main/resources/config-b-placeworld.yaml b/ros3rag.placeB/src/main/resources/config-b-placeworld.yaml
index 8045cd0..dd86c6e 100644
--- a/ros3rag.placeB/src/main/resources/config-b-placeworld.yaml
+++ b/ros3rag.placeB/src/main/resources/config-b-placeworld.yaml
@@ -1,5 +1,5 @@
-mqttHost: "192.168.0.122"
-#mqttHost: "localhost"
+#mqttHost: "192.168.0.122"
+mqttHost: "localhost"
 filenameRegions: "src/main/resources/regions-b-placeworld.json"
 forB:
   topicsSceneUpdate:
-- 
GitLab