<!---
  Issue #10641 — Resolve assessment questions/answers lookup table names.
  Safe to call from CFCs when Request vars may not be initialized.
--->
<cfcomponent displayname="Assessment Lookup Tables" hint="Resolves assessment_*_lookup vs assessment_*_lookup_PATTII" output="false">

	<cffunction name="init" access="public" returntype="any" output="false">
		<cfreturn this />
	</cffunction>

	<cffunction name="ensureRequestTables" access="public" returntype="void" output="false"
		hint="Ensure Request.assessment_questions_lookup / assessment_answers_lookup are set.">
		<cfif NOT structKeyExists(Request, "assessment_questions_lookup")
			OR NOT structKeyExists(Request, "assessment_answers_lookup")
			OR NOT len(trim(Request.assessment_questions_lookup))
			OR NOT len(trim(Request.assessment_answers_lookup))>
			<cfinclude template="../../Application_assessment_lookup_PATTII.cfm" />
		</cfif>
	</cffunction>

	<cffunction name="getQuestionsTable" access="public" returntype="string" output="false">
		<cfset ensureRequestTables() />
		<cfreturn Request.assessment_questions_lookup />
	</cffunction>

	<cffunction name="getAnswersTable" access="public" returntype="string" output="false">
		<cfset ensureRequestTables() />
		<cfreturn Request.assessment_answers_lookup />
	</cffunction>

	<cffunction name="isPattiiEnabled" access="public" returntype="boolean" output="false">
		<cfset ensureRequestTables() />
		<cfreturn (structKeyExists(Request, "use_assessment_lookup_PATTII") AND Request.use_assessment_lookup_PATTII) />
	</cffunction>

</cfcomponent>
