From 3bd1297d496f50de98de03ae0c7b437ff3fc5265 Mon Sep 17 00:00:00 2001 From: rschoene <rene.schoene@tu-dresden.de> Date: Wed, 15 Jun 2022 16:42:23 +0200 Subject: [PATCH] update - remove CanReachObjectOfInterestWrapper --- .../src/main/jastadd/WorldModelB.connect | 8 +++---- .../src/main/jastadd/WorldModelB.jadd | 20 +++++++++--------- .../src/main/jastadd/WorldModelB.relast | 4 +--- .../de/tudresden/inf/st/placeB/MainB.java | 4 ++-- .../tudresden/inf/st/placeB/SimpleMainB.java | 4 ++-- .../de/tudresden/inf/st/placeB/UtilB.java | 21 ++++++++----------- 6 files changed, 28 insertions(+), 33 deletions(-) diff --git a/ros3rag.placeB/src/main/jastadd/WorldModelB.connect b/ros3rag.placeB/src/main/jastadd/WorldModelB.connect index 302541d..3d06500 100644 --- a/ros3rag.placeB/src/main/jastadd/WorldModelB.connect +++ b/ros3rag.placeB/src/main/jastadd/WorldModelB.connect @@ -1,7 +1,7 @@ // --- receiving --- receive WorldModelB.MyScene using ParseScene, ConvertScene ; receive indexed WorldModelB.OtherScene ; -receive Robot.CanReachObjectOfInterestWrapper using ParseReachability, ConvertReachability ; +receive Robot.CanReachObjectOfInterest using ParseReachability, ConvertReachability ; receive Robot.OwnedCollaborationZoneNames using ConfigChangeCommandCheckForOwnedCollaborationZone ; receive Robot.OccupiedCollaborationZoneNames using CommandCheckForOccupiedCollaborationZone ; receive Robot.CurrentPosition ; @@ -11,11 +11,11 @@ ParseReachability maps byte[] bytes to de.tudresden.inf.st.ceti.Reachability {: return de.tudresden.inf.st.ceti.Reachability.parseFrom(bytes); :} -ConvertReachability maps de.tudresden.inf.st.ceti.Reachability r to CanReachObjectOfInterestWrapper {: - var result = new CanReachObjectOfInterestWrapper(); +ConvertReachability maps de.tudresden.inf.st.ceti.Reachability r to JastAddList<CanReachObjectOfInterest> {: + var result = new JastAddList<CanReachObjectOfInterest>(); for (var objReach : r.getObjectsList()) { if (objReach.getReachable()) { - result.addCanReachObjectOfInterest(new CanReachObjectOfInterest().setObjectName(objReach.getIdObject())); + result.addChild(new CanReachObjectOfInterest().setObjectName(objReach.getIdObject())); } } return result; diff --git a/ros3rag.placeB/src/main/jastadd/WorldModelB.jadd b/ros3rag.placeB/src/main/jastadd/WorldModelB.jadd index 334c172..5b01bc7 100644 --- a/ros3rag.placeB/src/main/jastadd/WorldModelB.jadd +++ b/ros3rag.placeB/src/main/jastadd/WorldModelB.jadd @@ -309,15 +309,15 @@ aspect Computation { return errorNoExecutableOperation(); } - //--- canReach --- - syn boolean Robot.canReach(String objectName) { - for (CanReachObjectOfInterest canReachObj : getCanReachObjectOfInterestWrapper().getCanReachObjectOfInterestList()) { - if (canReachObj.getObjectName().equals(objectName)) { - return true; - } - } - return false; - } +// //--- canReach --- | TODO not used +// syn boolean Robot.canReach(String objectName) { +// for (CanReachObjectOfInterest canReachObj : getCanReachObjectOfInterestList()) { +// if (canReachObj.getObjectName().equals(objectName)) { +// return true; +// } +// } +// return false; +// } //--- reachableObjects --- syn List<ObjectOfInterest> Robot.reachableObjects() { @@ -325,7 +325,7 @@ aspect Computation { return Collections.emptyList(); } List<ObjectOfInterest> result = new ArrayList<>(); - for (CanReachObjectOfInterest canReachObj : getCanReachObjectOfInterestWrapper().getCanReachObjectOfInterestList()) { + for (CanReachObjectOfInterest canReachObj : getCanReachObjectOfInterestList()) { result.add(worldModelB().getMyScene().resolveObjectOfInterest(canReachObj.getObjectName())); } return result; diff --git a/ros3rag.placeB/src/main/jastadd/WorldModelB.relast b/ros3rag.placeB/src/main/jastadd/WorldModelB.relast index a0d205c..417bff8 100644 --- a/ros3rag.placeB/src/main/jastadd/WorldModelB.relast +++ b/ros3rag.placeB/src/main/jastadd/WorldModelB.relast @@ -1,12 +1,10 @@ WorldModelB ::= Region* Robot* [MyScene:Scene] OtherScene:LogicalScene* ExecutedOperation:Operation* /NextOperation:Operation/ ; -// FIXME inline CanReachObjectOfInterestWrapper -Robot ::= <Name:String> CanReachObjectOfInterestWrapper <OwnedCollaborationZoneNames> <OccupiedCollaborationZoneNames> <CurrentPosition> ; +Robot ::= <Name:String> CanReachObjectOfInterest* <OwnedCollaborationZoneNames> <OccupiedCollaborationZoneNames> <CurrentPosition> ; // relations into nodes received by RagConnect are not allowed //rel Robot.OwnedCollaborationZone* <-> CollaborationZone.Owner? ; //rel Robot.OccupiedCollaborationZone? <-> CollaborationZone.Occupient? ; -CanReachObjectOfInterestWrapper ::= CanReachObjectOfInterest* ; CanReachObjectOfInterest ::= <ObjectName:String> ; abstract Difference ; diff --git a/ros3rag.placeB/src/main/java/de/tudresden/inf/st/placeB/MainB.java b/ros3rag.placeB/src/main/java/de/tudresden/inf/st/placeB/MainB.java index 9df4a09..ef2ab53 100644 --- a/ros3rag.placeB/src/main/java/de/tudresden/inf/st/placeB/MainB.java +++ b/ros3rag.placeB/src/main/java/de/tudresden/inf/st/placeB/MainB.java @@ -122,8 +122,8 @@ public class MainB extends SharedMainParts<MqttHandler, WorldModelB> { Robot robot = UtilB.createRobot(robotConfiguration.name); model.addRobot(robot); - CanReachObjectOfInterestWrapper reachabilityWrapper = UtilB.convertToReachability(robotConfiguration.reachableLocations); - robot.setCanReachObjectOfInterestWrapper(reachabilityWrapper); + JastAddList<CanReachObjectOfInterest> reachabilityList = UtilB.convertToReachability(robotConfiguration.reachableLocations); + robot.setCanReachObjectOfInterestList(reachabilityList); } } diff --git a/ros3rag.placeB/src/main/java/de/tudresden/inf/st/placeB/SimpleMainB.java b/ros3rag.placeB/src/main/java/de/tudresden/inf/st/placeB/SimpleMainB.java index 926804a..ff99e99 100644 --- a/ros3rag.placeB/src/main/java/de/tudresden/inf/st/placeB/SimpleMainB.java +++ b/ros3rag.placeB/src/main/java/de/tudresden/inf/st/placeB/SimpleMainB.java @@ -133,8 +133,8 @@ public class SimpleMainB { Robot robot = UtilB.createRobot(robotConfiguration.name); model.addRobot(robot); - CanReachObjectOfInterestWrapper reachabilityWrapper = UtilB.convertToReachability(robotConfiguration.reachableLocations); - robot.setCanReachObjectOfInterestWrapper(reachabilityWrapper); + JastAddList<CanReachObjectOfInterest> reachabilityList = UtilB.convertToReachability(robotConfiguration.reachableLocations); + robot.setCanReachObjectOfInterestList(reachabilityList); } Runnable close = () -> { diff --git a/ros3rag.placeB/src/main/java/de/tudresden/inf/st/placeB/UtilB.java b/ros3rag.placeB/src/main/java/de/tudresden/inf/st/placeB/UtilB.java index e66baba..fffa2f6 100644 --- a/ros3rag.placeB/src/main/java/de/tudresden/inf/st/placeB/UtilB.java +++ b/ros3rag.placeB/src/main/java/de/tudresden/inf/st/placeB/UtilB.java @@ -38,12 +38,10 @@ public class UtilB { static Robot createRobot(String name, String... canReach) { Robot result = new Robot().setName(name).setCurrentPosition("unknown"); - CanReachObjectOfInterestWrapper wrapper = new CanReachObjectOfInterestWrapper(); for (String canReachName : canReach) { - wrapper.addCanReachObjectOfInterest(new CanReachObjectOfInterest(canReachName)); + result.addCanReachObjectOfInterest(new CanReachObjectOfInterest(canReachName)); } - result.setCanReachObjectOfInterestWrapper(wrapper); return result; } @@ -103,9 +101,8 @@ public class UtilB { robot -> robot.getName() + "(" + (robot.isBusy() ? "busy" : "free") + ", canReach: " - + robot.getCanReachObjectOfInterestWrapper() - .getCanReachObjectOfInterestList() - .prettyPrint(canReachObj -> resolveObjName(model, canReachObj.getObjectName())) + + robot.getCanReachObjectOfInterestList().prettyPrint( + canReachObj -> resolveObjName(model, canReachObj.getObjectName())) + ")")) .append("\n"); if (detailed) { @@ -144,9 +141,9 @@ public class UtilB { return new ExposingASTNode().exposed_apply_ConvertScene(scene); } - static CanReachObjectOfInterestWrapper convertToReachability(List<String> reachableLocations) { - CanReachObjectOfInterestWrapper result = new CanReachObjectOfInterestWrapper(); - reachableLocations.forEach(location -> result.addCanReachObjectOfInterest(new CanReachObjectOfInterest(location))); + static JastAddList<CanReachObjectOfInterest> convertToReachability(List<String> reachableLocations) { + JastAddList<CanReachObjectOfInterest> result = new JastAddList<>(); + reachableLocations.forEach(location -> result.addChild(new CanReachObjectOfInterest(location))); return result; } @@ -189,9 +186,9 @@ public class UtilB { public Scene exposed_apply_ConvertScene(de.tudresden.inf.st.ceti.Scene pbScene) throws Exception { return _ragconnect__apply_ConvertScene(pbScene); } - public CanReachObjectOfInterestWrapper exposed_apply_ConvertReachability(de.tudresden.inf.st.ceti.Reachability r) throws Exception { - return _ragconnect__apply_ConvertReachability(r); - } +// public CanReachObjectOfInterestWrapper exposed_apply_ConvertReachability(de.tudresden.inf.st.ceti.Reachability r) throws Exception { +// return _ragconnect__apply_ConvertReachability(r); +// } } } -- GitLab