Coverage Report - org.equanda.tapestry5.components.FormSupport
 
Classes in this File Line Coverage Branch Coverage Complexity
FormSupport
0%
0/13
0%
0/6
0
FormSupport$FormLink
0%
0/11
N/A
0
 
 1  
 /**
 2  
  * This file is part of the equanda project.
 3  
  *
 4  
  * The contents of this file are subject to the Mozilla Public License Version 1.1 (the "License");
 5  
  * you may not use this file except in compliance with the License.
 6  
  * You may obtain a copy of the License at http://www.mozilla.org/MPL/
 7  
  *
 8  
  * Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF
 9  
  * ANY KIND, either express or implied. See the License for the specific language governing rights and
 10  
  * limitations under the License.
 11  
  *
 12  
  * Alternatively, the contents of this file may be used under the terms of
 13  
  * either the GNU General Public License Version 2 or later (the "GPL"), or
 14  
  * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
 15  
  * in which case the provisions of the GPL or the LGPL are applicable instead
 16  
  * of those above. If you wish to allow use of your version of this file only
 17  
  * under the terms of either the GPL or the LGPL, and not to allow others to
 18  
  * use your version of this file under the terms of the MPL, indicate your
 19  
  * decision by deleting the provisions above and replace them with the notice
 20  
  * and other provisions required by the GPL or the LGPL. If you do not delete
 21  
  * the provisions above, a recipient may use your version of this file under
 22  
  * the terms of any one of the MPL, the GPL or the LGPL.
 23  
  */
 24  
 
 25  
 package org.equanda.tapestry5.components;
 26  
 
 27  
 import org.apache.tapestry5.ComponentResources;
 28  
 import org.apache.tapestry5.Link;
 29  
 import org.apache.tapestry5.annotations.BeginRender;
 30  
 import org.apache.tapestry5.annotations.CleanupRender;
 31  
 import org.apache.tapestry5.ioc.annotations.Inject;
 32  
 import org.apache.tapestry5.services.Environment;
 33  
 
 34  
 import java.util.ArrayList;
 35  
 import java.util.List;
 36  
 
 37  
 /**
 38  
  * FormSupport which can contain FormActionLink components and has special provisions for assuring
 39  
  * actions can maintain (server side) state inside loops.
 40  
  *
 41  
  * @author <a href="mailto:joachim@progs.be">Joachim Van der Auwera</a>
 42  
  */
 43  0
 public class FormSupport
 44  
 {
 45  
     @Inject
 46  
     private ComponentResources resources;
 47  
 
 48  
     @Inject
 49  
     private Environment environment;    
 50  
 
 51  
     private String formActionLinkTarget;
 52  
 
 53  
     @BeginRender
 54  
     Object begin()
 55  
     {
 56  0
         environment.push( FormSupport.class, this );
 57  0
         return true;
 58  
     }
 59  
 
 60  
     @CleanupRender
 61  
     void cleanupRender()
 62  
     {
 63  0
         environment.pop( FormSupport.class );
 64  0
     }
 65  
 
 66  
 
 67  
     public String getFormActionLinkTarget()
 68  
     {
 69  0
         return formActionLinkTarget;
 70  
     }
 71  
 
 72  
     public void setFormActionLinkTarget( String formActionLinkTarget )
 73  
     {
 74  0
         this.formActionLinkTarget = formActionLinkTarget;
 75  0
     }
 76  
 
 77  
     public boolean hasLinkTarget()
 78  
     {
 79  0
         return formActionLinkTarget != null && !"".equals( formActionLinkTarget );
 80  
     }
 81  
 
 82  
     public Link getLinkTarget()
 83  
     {
 84  0
         if ( hasLinkTarget() )
 85  
         {
 86  0
             return new FormLink( formActionLinkTarget );
 87  
         }
 88  0
         return null;
 89  
     }
 90  
 
 91  0
     class FormLink
 92  
         implements Link
 93  
     {
 94  
         private String target;
 95  
 
 96  
         public FormLink( String target )
 97  0
         {
 98  0
             this.target = target;
 99  0
         }
 100  
 
 101  
         public List<String> getParameterNames()
 102  
         {
 103  0
             return new ArrayList<String>();
 104  
         }
 105  
 
 106  
         public String getParameterValue( String s )
 107  
         {
 108  0
             return null;
 109  
         }
 110  
 
 111  0
         public void addParameter( String s, String s1 ) {/*ignore*/}
 112  
 
 113  0
         public String toURI() { return target; }
 114  
 
 115  0
         public String toRedirectURI() { return target; }
 116  
 
 117  
         public String getAnchor()
 118  
         {
 119  0
             return null;
 120  
         }
 121  
 
 122  0
         public void setAnchor( String s ) {/*ignore*/}
 123  
 
 124  0
         public String toAbsoluteURI() { return target;}
 125  
     }
 126  
 }