Coverage Report - org.chenillekit.access.services.impl.ComponentEventAccessFilter
 
Classes in this File Line Coverage Branch Coverage Complexity
ComponentEventAccessFilter
100%
10/10
100%
2/2
1.333
 
 1  
 /*
 2  
  * Apache License
 3  
  * Version 2.0, January 2004
 4  
  * http://www.apache.org/licenses/
 5  
  *
 6  
  * Copyright 2008 by chenillekit.org
 7  
  *
 8  
  * Licensed under the Apache License, Version 2.0 (the "License");
 9  
  * you may not use this file except in compliance with the License.
 10  
  * You may obtain a copy of the License at
 11  
  *
 12  
  * http://www.apache.org/licenses/LICENSE-2.0
 13  
  */
 14  
 package org.chenillekit.access.services.impl;
 15  
 
 16  
 import java.io.IOException;
 17  
 
 18  
 import org.apache.tapestry5.EventConstants;
 19  
 import org.apache.tapestry5.internal.EmptyEventContext;
 20  
 import org.apache.tapestry5.ioc.services.SymbolSource;
 21  
 import org.apache.tapestry5.services.ComponentEventRequestFilter;
 22  
 import org.apache.tapestry5.services.ComponentEventRequestHandler;
 23  
 import org.apache.tapestry5.services.ComponentEventRequestParameters;
 24  
 import org.chenillekit.access.ChenilleKitAccessConstants;
 25  
 import org.chenillekit.access.services.AccessValidator;
 26  
 
 27  
 /**
 28  
  *
 29  
  * @version $Id: ComponentEventAccessFilter.java 333 2008-11-19 16:26:03Z mlusetti $
 30  
  */
 31  
 public class ComponentEventAccessFilter implements ComponentEventRequestFilter
 32  
 {
 33  
         private final AccessValidator accessValidator;
 34  
         private final String loginPage;
 35  
 
 36  
         public ComponentEventAccessFilter(AccessValidator accessValidator, SymbolSource symbols)
 37  1
         {
 38  1
                 this.accessValidator = accessValidator;
 39  1
                 this.loginPage = symbols.valueForSymbol(ChenilleKitAccessConstants.LOGIN_PAGE);
 40  1
         }
 41  
 
 42  
         public void handle(ComponentEventRequestParameters parameters,
 43  
                         ComponentEventRequestHandler handler) throws IOException
 44  
         {
 45  3
                 if (accessValidator.hasAccess(parameters.getActivePageName(), parameters.getNestedComponentId(), parameters.getEventType()))
 46  1
                         handler.handle(parameters);
 47  
                 else
 48  2
                         handler.handle(getLoginComponentParameters());
 49  
 
 50  3
         }
 51  
 
 52  
         private ComponentEventRequestParameters getLoginComponentParameters()
 53  
         {
 54  2
                 ComponentEventRequestParameters parameters = new ComponentEventRequestParameters(loginPage, loginPage,
 55  
                                 "", EventConstants.ACTIVATE, new EmptyEventContext(),new EmptyEventContext());
 56  
 
 57  
 
 58  2
                 return parameters;
 59  
         }
 60  
 
 61  
 }