<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
	"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
	"http://struts.apache.org/dtds/struts-2.3.dtd">

<struts>
	<constant name="struts.action.excludePattern" value=".*services.*"/>
	<package name="noAuthorization" namespace="/" extends="struts-default">
		<default-action-ref name="welcome" />
		
		<global-results>
			<result name="input">/jsps/info.jsp</result>
			<result name="exception">/jsps/info.jsp</result>
		</global-results>
		
		<action name="bugreporter" class="springManagedBugReporter">
			<result>/jsps/info.jsp</result>
		</action>
		
		<action name="welcome" class="springManagedDummy">
			<result>/jsps/homepage.jsp</result>
		</action>
		
		<action name="go2login" class="springManagedLoginPage">
			<result>/jsps/login.jsp</result>
			<result name="input" type="redirect">welcome</result>
		</action>
		
		<action name="go2registration" class="springManagedDummy">
			<result>/jsps/login.jsp</result>
		</action>

		<action name="Register" class="springManagedRegister">
			<result>/jsps/info.jsp</result>
			<result name="input">/jsps/login.jsp</result>
		</action>

		<action name="activateAccount" class="springManagedActivateAccount">
			<result>/jsps/info.jsp</result>
			<result name="input">/jsps/info.jsp</result>
		</action>

		<action name="Login" class="springManagedLogin">
			<result type="redirect">${url}?${params}</result>
			<result name="input">/jsps/login.jsp</result>
			<result name="login" type="redirect">go2login</result>
			<result name="welcome" type="redirect">welcome</result>
		</action>
		
		<action name="portalLogin" class="springManagedPortalLogin">
			<result>/jsps/homepage.jsp</result>
			<result name="input">/jsps/login.jsp</result>
		</action>

		<action name="sendPassword" class="springManagedSendPassword">
			<result>/jsps/info.jsp</result>
			<result name="input">/jsps/forgotPassword.jsp</result>
		</action>

		<action name="resetPassword" class="springManagedResetPassword">
			<result>/jsps/info.jsp</result>
			<result name="input">/jsps/resetPassword.jsp</result>
		</action>

		<action name="logout" class="springManagedLogout">
			<result>/jsps/homepage.jsp</result>
		</action>
		
		<action name="score" class="springManagedScore">
			<result>/jsps/score.jsp</result>
		</action>
		
		<action name="help" class="springManagedHelp">
			<result>/jsps/help.jsp</result>
		</action>
				
		<action name="forgotPassword" class="springManagedForgotPassword">
			<result>/jsps/forgotPassword.jsp</result>
		</action>

	</package>

	<package name="needsAuthorization" namespace="/" extends="struts-default">

		<interceptors>
			<interceptor name="authenticationInterceptor" class="eu.dnetlib.validator.admin.actions.login.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="login">/jsps/login.jsp</result>
			<result name="input-problem">/jsps/corneeded.jsp</result>
			<result name="input">/jsps/info.jsp</result>
			<result name="exception">/jsps/info.jsp</result>
		</global-results>

		<action name="curateDB" class="springManagedDatabaseCurator">
			<result>/jsps/info.jsp</result>
		</action>
		
		<action name="deleteJobs" class="springManagedDummy">
			<result>/jsps/deleteJobs.jsp</result>
		</action>
		
		<action name="sendRegistrationsReport" class="springManagedRegistrationsReport">
			<result>/jsps/info.jsp</result>
		</action>
		
		<action name="registrationsReport" class="springManagedDummy">
			<result>/jsps/registrationsReport.jsp</result>
		</action>
		
		<action name="getRulesForSet" class="springManagedGetRulesForSet">
			<result>/jsps/createRuleSet.jsp</result>
			<result name="deleted">/jsps/info.jsp</result>
		</action>

		<action name="getRuleSets" class="springManagedGetRuleSets">
			<result>/jsps/chooseRuleSet.jsp</result>
		</action>

		<action name="populateRuleListForEdit" class="springManagedPopulateRuleList">
			<result>/jsps/chooseRuleForEdit.jsp</result>
		</action>

		<action name="populateRuleListForClone" class="springManagedPopulateRuleList">
			<result>/jsps/chooseRuleForClone.jsp</result>
		</action>
		
		<action name="prepareEditRule" class="springManagedPrepareEditRule">
			<result>/jsps/editRule.jsp</result>
		</action>

		<action name="editUser" class="springManagedEditUser" method="edit">
			<result>/jsps/info.jsp</result>
		</action>
		
		<action name="userDetails" class="springManagedEditUser">
			<result>/jsps/editUser.jsp</result>
		</action>
		
		<action name="populateList" class="springManagedPopulateList" method="populate">
			<result>/jsps/rules.jsp</result>
		</action>
		
		<action name="sendFeedback" class="springManagedSendFeedback">
			<result>/jsps/info.jsp</result>
		</action>
		
		<action name="feedback" class="springManagedFeedback">
			<result>/jsps/feedback.jsp</result>
		</action>
		
	</package>

	<package name="needsAdminAuthorization" namespace="/"
		extends="struts-default">

		<interceptors>
			<interceptor name="adminInterceptor" class="springManagedAdminInterceptor" />
			<interceptor-stack name="secureStackA">
				<interceptor-ref name="adminInterceptor" />
				<interceptor-ref name="defaultStack" />
			</interceptor-stack>
		</interceptors>

		<default-interceptor-ref name="secureStackA" />

		<global-results>
			<result name="login">/jsps/login.jsp</result>
			<result name="input-problem">/jsps/corneeded.jsp</result>
			<result name="input">/jsps/info.jsp</result>
			<result name="exception">/jsps/info.jsp</result>
		</global-results>

		<action name="populateRuleCategories" class="springManagedPopulateRuleCategories">
			<result>/jsps/chooseRuleCategory.jsp</result>
		</action>

		<action name="prepareAddRule" class="springManagedPrepareAddRule">
			<result>/jsps/addRule.jsp</result>
		</action>

		<action name="addRule" class="springManagedAddRule">
			<result>/jsps/info.jsp</result>
		</action>

		<action name="populateRuleList" class="springManagedPopulateRuleList">
			<result>/jsps/deleteRule.jsp</result>
		</action>

		<action name="deleteRule" class="springManagedDeleteRule">
			<result>/jsps/info.jsp</result>
		</action>

		<action name="editRule" class="springManagedEditRule">
			<result>/jsps/info.jsp</result>
		</action>

		<action name="createRuleSet" class="springManagedCreateRuleSet">
			<result>/jsps/info.jsp</result>
			<result name="input">/jsps/corneeded.jsp</result>
		</action>

		<action name="getRuleSetsForDeletion" class="springManagedGetRuleSetsForDeletion">
			<result>/jsps/chooseRuleSetForDeletion.jsp</result>
		</action>

		<action name="deleteRuleSet" class="springManagedDeleteRuleSet">
			<result>/jsps/info.jsp</result>
		</action>
	
	</package>
</struts>
