1 31 32 package com.opencms.legacy; 33 34 import org.opencms.file.CmsFile; 35 import org.opencms.file.CmsObject; 36 import org.opencms.loader.CmsJspLoader; 37 import org.opencms.main.CmsException; 38 import org.opencms.main.CmsLog; 39 import org.opencms.main.OpenCms; 40 41 import com.opencms.template.*; 42 43 import java.util.Hashtable ; 44 45 import javax.servlet.http.HttpServletRequest ; 46 import javax.servlet.http.HttpServletResponse ; 47 48 60 public class CmsJspTemplate extends CmsDumpTemplate { 61 62 65 public CmsJspTemplate() { 66 } 68 69 82 public byte[] getContent(CmsObject cms, String jspFile, String elementName, Hashtable parameters) throws CmsException { 83 if (CmsLog.getLog(this).isDebugEnabled()) { 84 CmsLog.getLog(this).debug("Loading contents of file " + jspFile); 85 } 86 87 byte[] s = null; 88 try { 89 CmsFile file = cms.readFile(jspFile); 90 CmsJspLoader loader = (CmsJspLoader)OpenCms.getResourceManager().getLoader(CmsJspLoader.RESOURCE_LOADER_ID); 91 92 HttpServletRequest req = CmsXmlTemplateLoader.getRequest(cms.getRequestContext()).getOriginalRequest(); 93 HttpServletResponse res = CmsXmlTemplateLoader.getResponse(cms.getRequestContext()).getOriginalResponse(); 94 95 s = loader.dump(cms, file, null, null, req, res); 96 } catch (java.lang.ClassCastException e) { 97 s = null; 98 throw new CmsLegacyException("[CmsJspTemplate] " + jspFile + " is not a JSP"); 99 } catch (org.opencms.main.CmsException e) { 100 s = null; 101 throw new CmsLegacyException("[CmsJspTemplate] Error while reading JSP " + jspFile + "\n" + e, e); 103 } catch (Exception e) { 104 s = null; 105 String errorMessage = "[CmsJspTemplate] Error while loading jsp file " + jspFile + ": " + e; 106 if (CmsLog.getLog(this).isErrorEnabled()) { 107 CmsLog.getLog(this).error(errorMessage, e); 108 } 109 if (e instanceof CmsException) { 110 throw (CmsException)e; 111 } else { 112 throw new CmsLegacyException(errorMessage, CmsLegacyException.C_UNKNOWN_EXCEPTION); 113 } 114 } 115 return s; 116 } 117 118 127 public boolean isTemplateCacheSet() { 128 return false; 129 } 130 131 145 public boolean shouldReload(CmsObject cms, String templateFile, String elementName, Hashtable parameters, String templateSelector) { 146 return true; 147 } 148 149 164 public CmsCacheDirectives getCacheDirectives(CmsObject cms, String templateFile, String elementName, Hashtable parameters, String templateSelector) { 165 return new CmsCacheDirectives(false); 167 } 168 } 169 | Popular Tags |