Skip to content

Commit

Permalink
Ensure null PostPatch properties are not accessed
Browse files Browse the repository at this point in the history
  • Loading branch information
bruno-f-cruz committed Jun 27, 2024
1 parent 8f2b36c commit 99089b5
Showing 1 changed file with 117 additions and 102 deletions.
219 changes: 117 additions & 102 deletions src/vr-foraging.bonsai
Original file line number Diff line number Diff line change
Expand Up @@ -8911,41 +8911,6 @@ Item2 as Start
</Edges>
</Workflow>
</Expression>
<Expression xsi:type="rx:Condition">
<Name>HasNotPostPatch</Name>
<Workflow>
<Nodes>
<Expression xsi:type="WorkflowInput">
<Name>Source1</Name>
</Expression>
<Expression xsi:type="SubscribeSubject">
<Name>ActivePatch</Name>
</Expression>
<Expression xsi:type="MemberSelector">
<Selector>VirtualSiteGeneration.PostPatch</Selector>
</Expression>
<Expression xsi:type="scr:ExpressionTransform">
<scr:Name>IsNull</scr:Name>
<scr:Expression>it == null</scr:Expression>
</Expression>
<Expression xsi:type="Combinator">
<Combinator xsi:type="rx:WithLatestFrom" />
</Expression>
<Expression xsi:type="MemberSelector">
<Selector>Item2</Selector>
</Expression>
<Expression xsi:type="WorkflowOutput" />
</Nodes>
<Edges>
<Edge From="0" To="4" Label="Source1" />
<Edge From="1" To="2" Label="Source1" />
<Edge From="2" To="3" Label="Source1" />
<Edge From="3" To="4" Label="Source2" />
<Edge From="4" To="5" Label="Source1" />
<Edge From="5" To="6" Label="Source1" />
</Edges>
</Workflow>
</Expression>
<Expression xsi:type="rx:Condition">
<Name>HasPostPatch</Name>
<Workflow>
Expand Down Expand Up @@ -8983,76 +8948,139 @@ Item2 as Start
</Edges>
</Workflow>
</Expression>
<Expression xsi:type="SubscribeSubject">
<Name>ActivePatch</Name>
</Expression>
<Expression xsi:type="MemberSelector">
<Selector>VirtualSiteGeneration.PostPatch</Selector>
</Expression>
<Expression xsi:type="PropertyMapping">
<PropertyMappings>
<Property Name="Label" Selector="Label" />
<Property Name="Contrast" Selector="RenderSpecification.Contrast" />
<Property Name="LengthDistribution" Selector="LengthDistribution" />
<Property Name="TreadmillSpecification" Selector="TreadmillSpecification" />
</PropertyMappings>
</Expression>
<Expression xsi:type="IncludeWorkflow" Path="Extensions\AddPostPatchSite.bonsai" />
<Expression xsi:type="rx:SelectMany">
<Name>WaitForSiteOutcome</Name>
<Name>PostPatchLogic</Name>
<Workflow>
<Nodes>
<Expression xsi:type="WorkflowInput">
<Name>Source1</Name>
</Expression>
<Expression xsi:type="Combinator">
<Combinator xsi:type="rx:Take">
<rx:Count>1</rx:Count>
</Combinator>
</Expression>
<Expression xsi:type="rx:AsyncSubject">
<Name>PreviousSite</Name>
</Expression>
<Expression xsi:type="SubscribeSubject">
<Name>CurrentPosition</Name>
</Expression>
<Expression xsi:type="MemberSelector">
<Selector>Value</Selector>
</Expression>
<Expression xsi:type="MemberSelector">
<Selector>Z</Selector>
</Expression>
<Expression xsi:type="SubscribeSubject">
<Name>PreviousSite</Name>
<Name>ActivePatch</Name>
</Expression>
<Expression xsi:type="MemberSelector">
<Selector>Length,StartPosition</Selector>
<Selector>VirtualSiteGeneration.PostPatch</Selector>
</Expression>
<Expression xsi:type="Add" />
<Expression xsi:type="Combinator">
<Combinator xsi:type="rx:CombineLatest" />
<Expression xsi:type="PropertyMapping">
<PropertyMappings>
<Property Name="Label" Selector="Label" />
<Property Name="Contrast" Selector="RenderSpecification.Contrast" />
<Property Name="LengthDistribution" Selector="LengthDistribution" />
<Property Name="TreadmillSpecification" Selector="TreadmillSpecification" />
</PropertyMappings>
</Expression>
<Expression xsi:type="GreaterThan" />
<Expression xsi:type="rx:Condition">
<Expression xsi:type="IncludeWorkflow" Path="Extensions\AddPostPatchSite.bonsai" />
<Expression xsi:type="rx:SelectMany">
<Name>WaitForSiteOutcome</Name>
<Workflow>
<Nodes>
<Expression xsi:type="WorkflowInput">
<Name>Source1</Name>
</Expression>
<Expression xsi:type="Combinator">
<Combinator xsi:type="rx:Take">
<rx:Count>1</rx:Count>
</Combinator>
</Expression>
<Expression xsi:type="rx:AsyncSubject">
<Name>PreviousSite</Name>
</Expression>
<Expression xsi:type="SubscribeSubject">
<Name>CurrentPosition</Name>
</Expression>
<Expression xsi:type="MemberSelector">
<Selector>Value</Selector>
</Expression>
<Expression xsi:type="MemberSelector">
<Selector>Z</Selector>
</Expression>
<Expression xsi:type="SubscribeSubject">
<Name>PreviousSite</Name>
</Expression>
<Expression xsi:type="MemberSelector">
<Selector>Length,StartPosition</Selector>
</Expression>
<Expression xsi:type="Add" />
<Expression xsi:type="Combinator">
<Combinator xsi:type="rx:CombineLatest" />
</Expression>
<Expression xsi:type="GreaterThan" />
<Expression xsi:type="rx:Condition">
<Workflow>
<Nodes>
<Expression xsi:type="WorkflowInput">
<Name>Source1</Name>
</Expression>
<Expression xsi:type="WorkflowOutput" />
</Nodes>
<Edges>
<Edge From="0" To="1" Label="Source1" />
</Edges>
</Workflow>
</Expression>
<Expression xsi:type="Combinator">
<Combinator xsi:type="rx:Take">
<rx:Count>1</rx:Count>
</Combinator>
</Expression>
<Expression xsi:type="SubscribeSubject">
<Name>PreviousSite</Name>
</Expression>
<Expression xsi:type="Combinator">
<Combinator xsi:type="rx:WithLatestFrom" />
</Expression>
<Expression xsi:type="MemberSelector">
<Selector>Item2</Selector>
</Expression>
<Expression xsi:type="WorkflowOutput" />
</Nodes>
<Edges>
<Edge From="0" To="1" Label="Source1" />
<Edge From="1" To="2" Label="Source1" />
<Edge From="3" To="4" Label="Source1" />
<Edge From="4" To="5" Label="Source1" />
<Edge From="5" To="9" Label="Source1" />
<Edge From="6" To="7" Label="Source1" />
<Edge From="7" To="8" Label="Source1" />
<Edge From="8" To="9" Label="Source2" />
<Edge From="9" To="10" Label="Source1" />
<Edge From="10" To="11" Label="Source1" />
<Edge From="11" To="12" Label="Source1" />
<Edge From="12" To="14" Label="Source1" />
<Edge From="13" To="14" Label="Source2" />
<Edge From="14" To="15" Label="Source1" />
<Edge From="15" To="16" Label="Source1" />
</Edges>
</Workflow>
</Expression>
<Expression xsi:type="Combinator">
<Combinator xsi:type="rx:Take">
<rx:Count>1</rx:Count>
</Combinator>
<Expression xsi:type="WorkflowOutput" />
</Nodes>
<Edges>
<Edge From="0" To="4" Label="Source1" />
<Edge From="1" To="2" Label="Source1" />
<Edge From="2" To="3" Label="Source1" />
<Edge From="3" To="4" Label="Source2" />
<Edge From="4" To="5" Label="Source1" />
<Edge From="5" To="6" Label="Source1" />
</Edges>
</Workflow>
</Expression>
<Expression xsi:type="rx:Condition">
<Name>HasNotPostPatch</Name>
<Workflow>
<Nodes>
<Expression xsi:type="WorkflowInput">
<Name>Source1</Name>
</Expression>
<Expression xsi:type="SubscribeSubject">
<Name>PreviousSite</Name>
<Name>ActivePatch</Name>
</Expression>
<Expression xsi:type="MemberSelector">
<Selector>VirtualSiteGeneration.PostPatch</Selector>
</Expression>
<Expression xsi:type="scr:ExpressionTransform">
<scr:Name>IsNull</scr:Name>
<scr:Expression>it == null</scr:Expression>
</Expression>
<Expression xsi:type="Combinator">
<Combinator xsi:type="rx:WithLatestFrom" />
Expand All @@ -9063,21 +9091,12 @@ Item2 as Start
<Expression xsi:type="WorkflowOutput" />
</Nodes>
<Edges>
<Edge From="0" To="1" Label="Source1" />
<Edge From="0" To="4" Label="Source1" />
<Edge From="1" To="2" Label="Source1" />
<Edge From="3" To="4" Label="Source1" />
<Edge From="2" To="3" Label="Source1" />
<Edge From="3" To="4" Label="Source2" />
<Edge From="4" To="5" Label="Source1" />
<Edge From="5" To="9" Label="Source1" />
<Edge From="6" To="7" Label="Source1" />
<Edge From="7" To="8" Label="Source1" />
<Edge From="8" To="9" Label="Source2" />
<Edge From="9" To="10" Label="Source1" />
<Edge From="10" To="11" Label="Source1" />
<Edge From="11" To="12" Label="Source1" />
<Edge From="12" To="14" Label="Source1" />
<Edge From="13" To="14" Label="Source2" />
<Edge From="14" To="15" Label="Source1" />
<Edge From="15" To="16" Label="Source1" />
<Edge From="5" To="6" Label="Source1" />
</Edges>
</Workflow>
</Expression>
Expand All @@ -9097,16 +9116,12 @@ Item2 as Start
<Edge From="4" To="5" Label="Source2" />
<Edge From="5" To="6" Label="Source1" />
<Edge From="6" To="7" Label="Source1" />
<Edge From="6" To="8" Label="Source1" />
<Edge From="7" To="14" Label="Source1" />
<Edge From="8" To="12" Label="Source1" />
<Edge From="9" To="10" Label="Source1" />
<Edge From="6" To="9" Label="Source1" />
<Edge From="7" To="8" Label="Source1" />
<Edge From="8" To="10" Label="Source1" />
<Edge From="9" To="10" Label="Source2" />
<Edge From="10" To="11" Label="Source1" />
<Edge From="11" To="12" Label="Source2" />
<Edge From="12" To="13" Label="Source1" />
<Edge From="13" To="14" Label="Source2" />
<Edge From="14" To="15" Label="Source1" />
<Edge From="15" To="16" Label="Source1" />
<Edge From="11" To="12" Label="Source1" />
</Edges>
</Workflow>
</Expression>
Expand Down

0 comments on commit 99089b5

Please sign in to comment.