1 package org.jahia.deprecated.taglibs.button; 2 3 import java.io.IOException ; 4 5 import javax.servlet.http.HttpServletRequest ; 6 import javax.servlet.jsp.JspWriter ; 7 import javax.servlet.jsp.tagext.TagSupport ; 8 9 import org.jahia.data.JahiaData; 10 import org.jahia.deprecated.taglibs.util.Utils; 11 import org.jahia.exceptions.JahiaException; 12 import org.jahia.utils.JahiaConsole; 13 14 15 20 public abstract class AbstractButtonTag extends TagSupport { 21 22 public int doStartTag() { 23 24 HttpServletRequest request = (HttpServletRequest )pageContext.getRequest(); 25 JahiaData jData = (JahiaData) request.getAttribute("org.jahia.data.JahiaData"); 26 checkCounter(request); 28 29 if (!testRights(jData)) { 31 return SKIP_BODY; 32 } 33 String link = buildButton(jData, request); 34 if (link != null) { 35 try { 36 JspWriter out = pageContext.getOut(); 37 out.print( link ); 38 } catch (IOException ioe) { 39 JahiaConsole.println("AbstractButtonTag: doStartTag ", ioe.toString()); 40 } 41 } 42 return SKIP_BODY; 43 } 44 45 46 public void checkCounter(HttpServletRequest request) { 47 return; 49 } 50 51 public String buildButton (JahiaData jData, HttpServletRequest request) { 52 53 String url = null; 54 try { 55 url = getLauncher(jData); 56 } catch (JahiaException jex) { 57 JahiaConsole.println("AbstractButtonTag: buildButton ", "Can not get launcher from subclass !"); 58 return null; 59 } 60 61 if ( url == null || url.trim().equals("") ) 62 return url; 63 64 StringBuffer text = new StringBuffer ( "<a " ); 65 String style = getStyle(); 66 if ( !style.equals("") ) { 67 text.append( "class=\"" ); 68 text.append( style ); 69 text.append( "\" " ); 70 } 71 text.append( "href=\"" ); 72 text.append( url ); 73 text.append( "\">" ); 74 text.append( Utils.insertContextPath( jData.gui().drawHttpJspContext(request), getTitle() ) ); 75 text.append( "</a>" ); 76 return text.toString(); 77 } 78 79 80 public abstract boolean testRights(JahiaData jData); 82 83 public abstract String getLauncher(JahiaData jData) throws JahiaException; 84 85 public abstract String getTitle(); 86 87 public abstract String getStyle(); 88 89 } 90 | Popular Tags |