<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>
	<package name="search" namespace="/" extends="struts-default">

		<interceptors>

			<interceptor name="criteriaInterceptor"
				class="gr.uoa.di.driver.web.interceptors.CriteriaInterceptor" />
			<interceptor name="resultsInterceptor"
				class="gr.uoa.di.driver.web.interceptors.ResultsInterceptor" />
			<interceptor name="refineDataInterceptor"
				class="gr.uoa.di.driver.web.interceptors.RefineDataInterceptor" />
			<interceptor name="similarityDocumentsInterceptor"
				class="gr.uoa.di.driver.web.interceptors.SimilarityDocumentsInterceptor" />
			
			<interceptor-stack name="searchStack">
				<interceptor-ref name="criteriaInterceptor" />
				<interceptor-ref name="resultsInterceptor" />
				<interceptor-ref name="defaultStack" />
			</interceptor-stack>
			
			<interceptor-stack name="refineStack">
				<interceptor-ref name="criteriaInterceptor" />
				<interceptor-ref name="refineDataInterceptor" />
				<interceptor-ref name="resultsInterceptor" />
				<interceptor-ref name="defaultStack" />
			</interceptor-stack>

			<interceptor-stack name="criteriaStack">
				<interceptor-ref name="criteriaInterceptor" />
				<interceptor-ref name="defaultStack" />
			</interceptor-stack>
			
			<interceptor-stack name="similarityStack">
				<interceptor-ref name="similarityDocumentsInterceptor" />
				<interceptor-ref name="defaultStack" />
			</interceptor-stack>


		</interceptors>

		<default-interceptor-ref name="defaultStack" />

		<global-results>
			<result name="error">/pages/search/searchError.jsp
			</result>
		</global-results>

		<action name="SearchFormPage" class="gr.uoa.di.driver.web.SearchFormPage">
			<interceptor-ref name="criteriaStack" />
			<result>/pages/search/searchForm.jsp</result>
		</action>

		<action name="DateFormPage" class="gr.uoa.di.driver.web.DateFormPage">
			<result>/pages/search/dateForm.jsp</result>
		</action>
		
		<action name="CheckBoxFormPage" class="gr.uoa.di.driver.web.CheckBoxFormPage">
			<result>/pages/search/checkBoxForm.jsp</result>
		</action>
		
		<action name="readFieldValues" class="gr.uoa.di.driver.web.CheckBoxFormPage" method="readFieldValues">
			<result>/pages/search/checkBoxForm.jsp</result>
		</action>

		<action name="SearchResultsPage" class="gr.uoa.di.driver.web.SearchResultsPage">
			<result>/pages/search/searchResults.jsp</result>
		</action>
		
		<action name="showResults">
			<interceptor-ref name="searchStack" />
			<result>/pages/search/search.jsp</result>
		</action>
		
		<action name="RefineFormPage" class="gr.uoa.di.driver.web.SearchFormPage">
			<result>/pages/search/refineForm.jsp</result>
		</action>
		
		<action name="refineResults">
			<interceptor-ref name="refineStack" />
			<result>/pages/search/refine.jsp</result>
		</action>

		<action name="ShowDocument" class="gr.uoa.di.driver.web.DocumentDetailsPage">
			<result>/pages/search/documentDetails.jsp</result>
			<result name="error">/pages/search/publisherError.jsp</result>
		</action>

		<action name="Welcome">
			<result>/pages/search/welcome.jsp</result>
		</action>
		
		<action name="browseData" class="gr.uoa.di.driver.web.BrowseData">
			<result>/pages/search/browseData.jsp</result>
			<result name="error">/pages/search/searchError.jsp</result>
		</action>

		<action name="showSimilar" >
			<interceptor-ref name="similarityStack"/> 
			<result>/pages/search/similarity.jsp</result>
			<result name="publisherError">/pages/search/publisherError.jsp</result>
			<result name="similarityError">/pages/search/similarityError.jsp</result>
		</action>
		
		<action name="SimilarityResultsPage" class="gr.uoa.di.driver.web.SimilarityResultsPage">
			<result>/pages/search/similarityResults.jsp</result>
			<result name="publisherError">/pages/search/publisherError.jsp</result>
		</action>
		
		<action name="DocumentListPage" class="gr.uoa.di.driver.web.DocumentListPage">
			<result>/pages/search/documentList.jsp</result>
		</action>
	</package>
	
</struts>