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    }