From 2fb857e78d53e8052bb4a4af187d2d3d746bceb3 Mon Sep 17 00:00:00 2001
From: "dereeves@nps.edu" <dereeves@nps.edu>
Date: Wed, 21 Apr 2021 19:17:30 -0700
Subject: [PATCH] * fixed replan duplicate error message

---
 scripts/HTN/Trees/BFC.xml              | 210 -------------------------
 scripts/HTN/Trees/Red/EntityLogger.xml |   2 +-
 scripts/jump_start.py                  |  18 +--
 3 files changed, 10 insertions(+), 220 deletions(-)
 delete mode 100644 scripts/HTN/Trees/BFC.xml

diff --git a/scripts/HTN/Trees/BFC.xml b/scripts/HTN/Trees/BFC.xml
deleted file mode 100644
index d221fb6..0000000
--- a/scripts/HTN/Trees/BFC.xml
+++ /dev/null
@@ -1,210 +0,0 @@
-<?xml version="1.0" encoding="utf-8" standalone="no"?>
-<HTNNode AllowMsg="true" Name="BFC" Type="DEFAULT">
-  <Parent>null</Parent>
-  <Code IsFile="false" />
-  <Import />
-  <HTNNode AllowMsg="true" Name="initInfo" Type="DEFAULT">
-    <Parent>BasicTree</Parent>
-    <Code IsFile="false">if _gt_activeNode.getVar("isInited") == None:
-	_gt_activeNode.putVar("isInited", 1)
-	_htn_precon_ret=1
-</Code>
-    <Import />
-    <HTNNode AllowMsg="true" Name="createData" Type="DEFAULT">
-      <Parent>addReplanTriggers</Parent>
-      <Code IsFile="false">import cxxi.model.objects.holders.CMHolder as CMHolder
-import mtry.cxxi.model.HierarchicalTaskNetwork.PythonUtilities.PythonTerrain as PythonTerrain
-import mtry.cxxi.model.HierarchicalTaskNetwork.PythonUtilities.AStarCM.TerrainNetwork.TerrainNetwork as TerrainNetwork
-import mtry.cxxi.model.HierarchicalTaskNetwork.PythonUtilities.AStarCM.TerrainNetwork.TerrainNetworkSerializer as TerrainNetworkSerializer
-import mtry.cxxi.model.HierarchicalTaskNetwork.PythonUtilities.AStarCM.TerrainNetwork.TerrainSearch as TerrainSearch
-
-borg.assembled = dict()
-printMessage("Created data", True)
-
-borg.unitsDest = []
-wp = CMHolder.retrieveControlMeasureByName("PATH_DEST")
-borg.unitsDest.append(wp)
-wp = CMHolder.retrieveControlMeasureByName("PATH_DEST1")
-borg.unitsDest.append(wp)
-wp = CMHolder.retrieveControlMeasureByName("PATH_DEST2")
-borg.unitsDest.append(wp)
-
-borg.bfc = info.getMyAssignedName()
-#borg.blueUnitNames = ["B1TM", "B2TM", "B3TM", "B4TM", "B5TM"]
-borg.blueUnitsAssembled = []
-
-roadPath = "D:/code_base/scenario_sandbox/TerrainReasoning/NewTests/BoundingOverwatch2/scripts/data/"
-
-# loading a road network
-borg.roadNetwork = TerrainNetworkSerializer.loadNetwork(roadPath+"road_edges", True);
-borg.roadNetwork.printStats()
-#
-if not borg.roadNetwork.wasDeserialized:
-    TerrainNetworkSerializer.saveNetwork(borg.roadNetwork, roadPath+"road_edges.srz")
-#
-
-# load a dynamic network
-#upperLeft = CMHolder.retrieveControlMeasureByName("AREA_UL")
-#bottomRight = CMHolder.retrieveControlMeasureByName("AREA_BR")
-#borg.roadNetwork = TerrainNetworkSerializer.createDynamicNetwork(upperLeft, bottomRight)
-</Code>
-      <Import />
-    </HTNNode>
-    <HTNNode AllowMsg="true" Name="addReplanTriggers" Type="INTERRUPT">
-      <Parent>initInfo</Parent>
-      <Code IsFile="false"># model events
-#goalContainer.getCurrentExecutingStack().addReplanTrigger("ModelEvent")
-
-# goal tracker events
-goalContainer.getCurrentExecutingStack().addReplanTrigger("GoalTracker_UnitAssembled")
-goalContainer.getCurrentExecutingStack().addReplanTrigger("GoalTracker_UnitsMoveOut")
-</Code>
-      <Import />
-    </HTNNode>
-  </HTNNode>
-  <HTNNode AllowMsg="true" Name="events" Type="DEFAULT">
-    <Parent>BasicTree</Parent>
-    <Code IsFile="false" />
-    <Import />
-    <HTNNode AllowMsg="true" Name="isGoalTrackerEvent" Type="DEFAULT">
-      <Parent>events</Parent>
-      <Code IsFile="false">if state.getLastTrigger().startswith("doGoalTracker_"):
-	_htn_precon_ret=1
-</Code>
-      <Import />
-      <HTNNode AllowMsg="false" Name="isUnitAssembled" Type="DEFAULT">
-        <Parent>isGoalTrackerEvent</Parent>
-        <Code IsFile="false">if state.getLastTrigger() == "doGoalTracker_UnitAssembled":
-	# TODO: Add code
-	_htn_precon_ret = 1
-</Code>
-        <Import />
-        <HTNNode AllowMsg="true" Name="checkAssembled" Type="INTERRUPT">
-          <Parent>isMoveOut</Parent>
-          <Code IsFile="false">import cxxi.model.knowledge.group.holders.NewUnitHolder as NewUnitHolder
-from HTNBehaviors import SendEntityEvent
-
-assUnitName = state.getLastTriggerParams()[0]
-
-printMessage("Unit assembled "+assUnitName, True)
-borg.blueUnitsAssembled.append(assUnitName)
-
-if len(borg.blueUnitsAssembled) == len(borg.blueUnitNames):
-    printMessage("All assembled and ready to go", True)
-
-    createdUnits = []
-    for unitName in borg.blueUnitsAssembled:
-        unit = NewUnitHolder.retrieveUnitByName(unitName)
-        
-        members = []
-        membersCmd = []
-
-        membersCmd.append(unit.getCommander().getAssignedName())
-        membersCmd.append(unit.getSecondInCommand().getAssignedName())
-
-        for entity in unit.getMembers():
-            memberName = entity.getAssignedName()
-            if not memberName in membersCmd:
-                members.append(memberName)
-
-        newMembers = [membersCmd[1]]
-        for i in range(len(members)):
-            if i % 2 == 1:
-                newMembers.append(members[i])
-
-        tacUnit = UtilityFuncsExp.createTacticalUnit(
-            unitName+"_Sub",
-            newMembers,
-            newMembers[0],
-            newMembers[1],
-            None, None, None)
-
-        createdUnits.append(tacUnit.getName())
-
-    for cu in createdUnits:
-        borg.blueUnitsAssembled.append(cu)
-        unit = NewUnitHolder.retrieveUnitByName(cu)
-        cmdName = unit.getCommander().getAssignedName()
-
-        UtilityFuncsExp.addGoal(
-            cmdName,
-            1.0,
-            borg.goalPath + "UnitControl.xml",
-            [],
-            None)
-
-        printMessage("Adding unit control to "+cmdName, True)
-
-    SendEntityEvent(borg.bfc, "GoalTracker_UnitsMoveOut", [])
-</Code>
-          <Import />
-        </HTNNode>
-      </HTNNode>
-      <HTNNode AllowMsg="false" Name="isMoveOut" Type="DEFAULT">
-        <Parent>isGoalTrackerEvent</Parent>
-        <Code IsFile="false">if state.getLastTrigger() == "doGoalTracker_UnitsMoveOut":
-	# TODO: Add code
-	_htn_precon_ret = 1
-</Code>
-        <Import />
-        <HTNNode AllowMsg="true" Name="moveOut" Type="INTERRUPT">
-          <Parent>isMoveOut</Parent>
-          <Code IsFile="false">import cxxi.model.knowledge.group.holders.NewUnitHolder as NewUnitHolder
-from HTNBehaviors import SendEntityEventDelay
-
-#import mtry.cxxi.model.HierarchicalTaskNetwork.PythonUtilities.PythonTerrain as PythonTerrain
-#import java.util.ArrayList as ArrayList
-#
-#destWP = state.getLastTriggerParams()[1]
-#
-#al = ArrayList()
-#al.add(destWP.getLocation())
-#
-#goalPath = "HTN/Trees/"
-#
-#msgTo = "GoalTracker_MoveCompleted"
-#toNotify = state.getCurrentCommanderName()
-#if toNotify == "None" or toNotify == None or toNotify == "":
-#    toNotify = info.getMyAssignedName()
-#
-#UtilityFuncsExp.addSpecificGoal(
-#    info.getMyAssignedName(),
-#    1.0,
-#    goalPath + "BasicMove.xml",
-#    "MOVE",
-#    [al, 3.0, toNotify, msgTo, "DISMOUNT_WEDGE"],
-#    None)
-
-params = borg.unitsDest
-
-delay = 5.0
-for unitName in borg.blueUnitsAssembled:
-    unit = NewUnitHolder.retrieveUnitByName(unitName)
-    cmdName = unit.getCommander().getAssignedName()
-    SendEntityEventDelay(cmdName, "GoalTracker_MoveOut", params, delay)
-    delay += 5.0
-    printMessage("Sending unit "+unitName+" move out orders", True)
-
-    test = []
-    for m in unit.getMembers():
-        test.append(m.getAssignedName())
-    printMessage("Members="+str(test), True)
-
-printMessage("Moving out", True)
-</Code>
-          <Import />
-        </HTNNode>
-      </HTNNode>
-    </HTNNode>
-    <HTNNode AllowMsg="true" Name="modelEvents" Type="DEFAULT">
-      <Parent>events</Parent>
-      <Code IsFile="false" />
-      <Import />
-      <HTNNode AllowMsg="true" Name="printEvent" Type="INTERRUPT">
-        <Parent>modelEvents</Parent>
-        <Code IsFile="false">printMessage("EVENT"+state.getLastTrigger(), True)</Code>
-        <Import />
-      </HTNNode>
-    </HTNNode>
-  </HTNNode>
-</HTNNode>
\ No newline at end of file
diff --git a/scripts/HTN/Trees/Red/EntityLogger.xml b/scripts/HTN/Trees/Red/EntityLogger.xml
index 47de586..1e11922 100644
--- a/scripts/HTN/Trees/Red/EntityLogger.xml
+++ b/scripts/HTN/Trees/Red/EntityLogger.xml
@@ -82,7 +82,7 @@ LogGenericMsg.logMsg(
    "EntityActivityLogger", 
    "ID\tProfile\tLat\tLon\tEle\tSpeed\tHeading\tActivity\tTransmitting", 
    info.getMySelf(), 
-   [str(info.getMySelf().getID()), info.getMyProfile().getName(), str(loc.getLatitude()), str(loc.getLongitude()), str(loc.getElevation()), str(state.getCurrentSpeed()), str(heading), currentActivity, str(isTransmitting)])
+   [str(info.getMySelf().getID()), str(info.getMyProfile().getName()), str(loc.getLatitude()), str(loc.getLongitude()), str(loc.getElevation()), str(state.getCurrentSpeed()), str(heading), str(currentActivity), str(isTransmitting)])
 #printMessage("TEST LOG", True)
 
 SendEntityEventDelay(info.getMyAssignedName(), "GoalTracker_LogInfo", [], borg.redLoggerInterval)
diff --git a/scripts/jump_start.py b/scripts/jump_start.py
index ca0c78e..e1e4d96 100644
--- a/scripts/jump_start.py
+++ b/scripts/jump_start.py
@@ -68,14 +68,14 @@ elif numFakeConvoys==2:
 ctr = 10
 for fakeConvoy in fakeConvoys:
     entityList = ConvertToJavaListRandom(fakeConvoy, 4, 25)
-    for vehicle in randomMoveVeh:   
-        UtilityFuncsExp.addGoal(
-            entityList.get(0),
-            ctr,
-            borg.goalPath + "Red/RandomMove.xml",
-            [1, entityList, True],
-            None)
-        ctr = ctr + 10
+    fakeConvoyLeader = fakeConvoy[0]
+    UtilityFuncsExp.addGoal(
+        entityList.get(0),
+        ctr,
+        borg.goalPath + "Red/RandomMove.xml",
+        [1, entityList, True],
+        None)
+    ctr = ctr + 10
 
 # common trees for all entities or entities with specific combos
 for entity in PlayBoard.getSingleton().getAllEntities():
@@ -99,7 +99,7 @@ for entity in PlayBoard.getSingleton().getAllEntities():
 
 # random movers
 ctr = 10
-for vehicle in randomMoveVeh:   
+for vehicle in randomMoveVeh:
     UtilityFuncsExp.addGoal(
         vehicle,
         ctr,
-- 
GitLab