001 package org.tynamo.security.services.impl;
002
003 import org.apache.tapestry5.ioc.annotations.Inject;
004 import org.apache.tapestry5.ioc.annotations.Symbol;
005 import org.tynamo.security.SecuritySymbols;
006 import org.tynamo.security.services.PageService;
007
008 public class PageServiceImpl implements PageService
009 {
010
011 private String loginPage;
012 private String successPage;
013 private String unauthorizedPage;
014
015 public PageServiceImpl(
016 @Inject @Symbol(SecuritySymbols.SUCCESS_URL) String successUrl,
017 @Inject @Symbol(SecuritySymbols.LOGIN_URL) String loginUrl,
018 @Inject @Symbol(SecuritySymbols.UNAUTHORIZED_URL) String unauthorizedUrl)
019 {
020
021 this.loginPage = urlToPage(loginUrl);
022 this.successPage = urlToPage(successUrl);
023 this.unauthorizedPage = urlToPage(unauthorizedUrl);
024 }
025
026 @Override
027 public String getLoginPage()
028 {
029 return loginPage;
030 }
031
032 @Override
033 public String getSuccessPage()
034 {
035 return successPage;
036 }
037
038 @Override
039 public String getUnauthorizedPage()
040 {
041 return unauthorizedPage;
042 }
043
044 private static String urlToPage(String url)
045 {
046 if (url.charAt(0) == '/')
047 {
048 url = url.substring(1);
049 }
050 return url;
051 }
052
053 }