Sorcerer's IsleCode QueryParam Scanner / files

  1<circuit access="public" xmlns:cf="cf/">
  2
  3
  4
  5	<fuseaction name="go">
  6
  7		<!-- TODO: MINOR: Implement checkSave logic -->
  8
  9		<do action="prepareScan"/>
 10
 11		<do action="scan"/>
 12
 13		<do action="displayResults">
 14			<parameter name="Format"   value="#ScanData.OutputFormat#"/>
 15			<parameter name="Results"  value="#ScanResults#"/>
 16			<parameter name="Instance" value="#Attributes.Instance#"/>
 17		</do>
 18
 19	</fuseaction>
 20
 21
 22
 23
 24	<fuseaction name="prepareScan" access="private">
 25
 26		<!--
 27			INFO:
 28			Ensures all relevant variables exist and are valid.
 29		-->
 30
 31		<include template="act_settings"/>
 32		<include template="act_prepare"/>
 33
 34		<invoke
 35			returnvariable = "Request.Scanner"
 36			object         = "Application.Cfcs.Scanner"
 37			methodcall     = "init( ArgumentCollection = ScanData , jre = Application.Cfcs.jre )"
 38		/>
 39
 40	</fuseaction>
 41
 42
 43
 44
 45	<fuseaction name="scan">
 46
 47		<!--
 48			INFO:
 49			Perform scan and ensure results are kept in Session to allow export/fixing.
 50		-->
 51
 52		<invoke
 53			returnvariable="ScanResults"
 54			object="Request.Scanner"
 55			method="go"
 56		/>
 57
 58		<set name="Session.Instance[Attributes.Instance]" value="Struct
 59			( Settings = ScanData
 60			, Results  = ScanResults
 61			, TimeRun  = Now()
 62			)"/>
 63
 64	</fuseaction>
 65
 66
 67
 68
 69	<fuseaction name="displayResults" access="private">
 70
 71		<!--
 72			INFO:
 73			Select appropriate output format and provide relevant data.
 74		-->
 75
 76		<cf:switch expression="#Format#">
 77
 78			<cf:case value="HTML">
 79				<include template="dsp_html" contentvariable="Content">
 80					<parameter name="Data" value="#Results.Data#"/>
 81					<parameter name="Info" value="#Results.Info#"/>
 82				</include>
 83				<do action="layout.default"/>
 84			</cf:case>
 85
 86			<cf:case value="WDDX">
 87				<include template="dsp_wddx" contentvariable="Content">
 88					<parameter name="OutputData" value="#Results#"/>
 89				</include>
 90				<do action="layout.blank"/>
 91			</cf:case>
 92
 93			<cf:case value="XML">
 94				<include template="dsp_xml" contentvariable="Content">
 95					<parameter name="Data" value="#Results.Data#"/>
 96					<parameter name="Info" value="#Results.Info#"/>
 97				</include>
 98				<do action="layout.blank"/>
 99			</cf:case>
100
101			<cf:defaultcase>
102				<cf:dump var="#Results#"/>
103				<cf:abort/>
104			</cf:defaultcase>
105
106		</cf:switch>
107
108	</fuseaction>
109
110
111</circuit>