<?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="myDriver" namespace="/" extends="struts-default">
		<global-results>
			<result name="error">/pages/myDriver/error.jsp
			</result>
		</global-results>

		<action name="Account" class="gr.uoa.di.driver.web.myDriver.Account">
			<result name="input">/pages/myDriver/register.jsp</result>
			<result type="redirect">MyDashboard.action</result>
		</action>
		<action name="Login" method="login" class="springManagedAccountAction">
			<result name="error">/pages/myDriver/register.jsp
			</result>
			<result type="redirect">${url}?${params}</result>
		</action>
		<action name="Logout" method="logout"
			class="gr.uoa.di.driver.web.myDriver.Account">
			<result name="error">/pages/myDriver/register.jsp
			</result>
			<result type="redirect">Welcome.action</result>
		</action>
		<action name="Register" method="register" class="springManagedAccountAction">
			<result name="error">/pages/myDriver/register.jsp
			</result>
			<result>/pages/myDriver/register.jsp
			</result>
		</action>
		<action name="Activate" method="activate" class="springManagedAccountAction">
			<result name="error">/pages/myDriver/register.jsp
			</result>
			<result>/pages/search/welcome.jsp</result>
		</action>
		<action name="showRepository" method="showRepository"
			class="springManagedRepositoriesAction">
			<result>/pages/myDriver/repository.jsp
			</result>
		</action>
		<action name="SearchWithinTheRepository" method="searchWithinTheRepository"
			class="springManagedRepositoriesAction">
			<result type="redirectAction">
                <param name="actionName">showResults</param>
                <param name="parse">true</param>
                <param name="query">${query}</param>
                <param name="page">${page}</param>
                <param name="size">${size}</param>
            	<param name="referer">showResults</param>
            </result>
		</action>

		<action name="EditUserPassword" method="editPassword"
			class="gr.uoa.di.driver.web.myDriver.ResetPassword">
			<result>/pages/myDriver/editPassword.jsp
			</result>
		</action>

		<action name="ResetPassword" class="gr.uoa.di.driver.web.myDriver.ResetPassword">
			<result>/pages/myDriver/editPassword.jsp
			</result>
			<result name="error">
				/pages/myDriver/editPassword.jsp
			</result>
		</action>

		<action name="ResetUserPassword" method="resetPassword"
			class="gr.uoa.di.driver.web.myDriver.ResetPassword">
			<result name="error">
				/pages/myDriver/resetPassword.jsp
			</result>
			<result>/pages/myDriver/resetPassword.jsp
			</result>
		</action>

		<action name="SaveUserPassword" method="savePassword"
			class="gr.uoa.di.driver.web.myDriver.ResetPassword">
			<result name="error">
				/pages/myDriver/resetPassword.jsp
			</result>
			<result>/pages/myDriver/resetPasswordStatus.jsp
			</result>
		</action>

		<action name="Help" class="gr.uoa.di.driver.web.myDriver.Help">
			<result>${helpPage}</result>
		</action>

		<action name="Refresh"
			class="gr.uoa.di.driver.web.myDriver.Refresh">
			<result>/pages/myDriver/refresh2.jsp</result>
		</action>
		
		<action name="AllDRIVERCollections"
			class="gr.uoa.di.driver.web.myDriver.BrowseCollections">
			<result>/pages/myDriver/allCollections.jsp</result>
		</action>

	</package>


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

		<interceptors>

			<interceptor name="authenticationInterceptor"
				class="gr.uoa.di.driver.web.interceptors.AuthenticationInterceptor" />

			<interceptor-stack name="secureStack">
				<interceptor-ref name="authenticationInterceptor" />
				<interceptor-ref name="defaultStack" />
			</interceptor-stack>

		</interceptors>

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

		<global-results>
			<result name="error">/pages/myDriver/error.jsp
			</result>
			<result name="login" type="chain">
				 <param name="actionName">Account</param>
			</result>
			
		</global-results>

		<action name="addToEPublication"
			class="springManagedEPCreateAction" method="addToEPublication">
			<result>/pages/ep/createEPublication.jsp</result>
			<result name="input" type="redirectAction">MyDropbox.action</result>
		</action>
		
		<action name="saveEPublication"
			class="springManagedEPCreateAction" method="saveEPublication">
			<result type="redirectAction">
				<param name="actionName">showEPublication</param>
				<param name="epId">${id}</param>
			</result>
			<result name="input" type="redirectAction">MyDropbox.action</result>
		</action>
		
		
		<action name="MyDashboard" class="gr.uoa.di.driver.web.myDriver.MyDashboard">
			<result>/pages/myDriver/dashboard.jsp
			</result>
		</action>

		<action name="Profile" class="springManagedProfileAction">
			<result>/pages/myDriver/myProfile.jsp
			</result>
		</action>
		<action name="ProfileUpdate" method="updateProfile"
			class="springManagedProfileAction">
			<result>/pages/search/welcome.jsp</result>
		</action>
		<action name="ImageUpload" class="springManagedProfileAction"
			method="uploadUserPhoto">
			<result type="redirectAction">Profile</result>
		</action>


		<action name="MyFilter" class="gr.uoa.di.driver.web.myDriver.MyFilter">
			<result>/pages/myDriver/myFilter.jsp
			</result>
		</action>
		<action name="RemoveFilter" method="remove"
			class="gr.uoa.di.driver.web.myDriver.MyFilter">
			<result type="redirectAction">MyFilter</result>
		</action>
		<action name="SaveAsAFilter" method="saveAsAFilter"
			class="gr.uoa.di.driver.web.myDriver.MyFilter">
			<result type="redirectAction">MyFilter</result>
		</action>
		<action name="FilterAlert" method="changeAlert"
			class="gr.uoa.di.driver.web.myDriver.MyFilter">
			<result type="redirectAction">MyFilter</result>
		</action>

		<action name="MyQueries"
			class="gr.uoa.di.driver.web.myDriver.MyQueries">
			<result>/pages/myDriver/myQueries.jsp</result>
		</action>
		<action name="RemoveQuery"
			class="gr.uoa.di.driver.web.myDriver.MyQueries"
			method="removeQuery">
			<result type="redirectAction">MyQueries</result>
		</action>
		<action name="SaveAsAQuery" method="saveAsAQuery"
			class="gr.uoa.di.driver.web.myDriver.MyQueries">
			<result type="redirectAction">MyQueries</result>
		</action>
		<action name="QueryAlert"
			class="gr.uoa.di.driver.web.myDriver.MyQueries"
			method="changeAlertForQuery">
			<result type="redirectAction">MyQueries</result>
		</action>

		<!--  Add My Alerts -->
		<action name="MyAlerts" class="gr.uoa.di.driver.web.myDriver.MyAlerts">
			<result>/pages/myDriver/myAlerts.jsp
			</result>
		</action>
		
		<!--  Collections -->
		<action name="BrowseCollections"
			class="gr.uoa.di.driver.web.myDriver.BrowseCollections">
			<result>/pages/myDriver/myCollections.jsp</result>
		</action>
		
		
		<action name="ManageCollections"
			class="gr.uoa.di.driver.web.myDriver.ManageCollections">
			<result>/pages/myDriver/editCollections.jsp</result>
		</action>
	
		<action name="SaveCollection"
			class="gr.uoa.di.driver.web.myDriver.CreateCollection" method="saveCollection">
			<result>/pages/myDriver/collection.jsp</result>
		</action>
		
		<action name="CreateCollection"
			class="gr.uoa.di.driver.web.myDriver.CreateCollection">
			<result>/pages/myDriver/collection.jsp</result>
		</action>


		<!--  Drop Box -->
		<action name="MyDropbox" class="springManagedDropBoxAction">
			<result>/pages/myDriver/dropbox.jsp</result>
		</action>
		<action name="AddDocumentsToCollection"
			class="springManagedDropBoxAction" method="addToCollection">
			<result>/pages/search/welcome.jsp</result>
		</action>
		<action name="AddDocumentsToCommunity"
			class="springManagedDropBoxAction" method="addToCommunity">
			<result>/pages/search/welcome.jsp</result>
		</action>
		<action name="DeleteDocuments"
			class="springManagedDropBoxAction" method="delete">
			<result type="redirectAction">MyDropbox</result>
		</action>
	</package>

	<package name="jsonSmd" namespace="/" extends="json-default">
		<interceptors>
			<interceptor-stack name="jsonSmdStack">
				<interceptor-ref name="defaultStack"></interceptor-ref>
				<interceptor-ref name="json">
					<param name="enableSMD">true</param>
				</interceptor-ref>
			</interceptor-stack>
		</interceptors>
		<default-interceptor-ref name="jsonSmdStack" />
	</package>

	<package name="RPC" namespace="/" extends="jsonSmd">
		<action name="SMDAction"
			class="gr.uoa.di.driver.web.myDriver.SMDAction" method="smd">
			<result type="json">
				<param name="enableSMD">true</param>
			</result>
		</action>
		<action name="AddToDropbox"
			class="springManagedAddToDropboxAction" method="smd">
			<result type="json">
				<param name="enableSMD">true</param>
			</result>
		</action>
		<action name="CollectionInfo"
			class="springManagedCollectionAction" method="smd">
			<result type="json">
				<param name="enableSMD">true</param>
			</result>
		</action>
		
		<action name="EPublication"
			class="springManagedEPublication" method="smd">
			<result type="json">
				<param name="enableSMD">true</param>
			</result>
		</action>
		
	</package>
</struts>
