1 28 29 package com.opencms.workplace; 30 31 import org.opencms.file.CmsObject; 32 import org.opencms.main.CmsException; 33 import org.opencms.main.CmsLog; 34 35 import com.opencms.legacy.CmsXmlTemplateLoader; 36 import com.opencms.template.cache.CmsElementCache; 37 38 import java.util.Hashtable ; 39 import java.util.Vector ; 40 49 public class CmsAdminElementCache extends CmsWorkplaceDefault { 50 51 62 63 public byte[] getContent(CmsObject cms, String templateFile, String elementName, 64 Hashtable parameters, String templateSelector) throws CmsException { 65 if(C_DEBUG && CmsLog.getLog(this).isDebugEnabled()) { 66 CmsLog.getLog(this).debug("Getting content of element " 67 + ((elementName == null) ? "<root>" : elementName)); 68 CmsLog.getLog(this).debug("Template file is: " + templateFile); 69 CmsLog.getLog(this).debug("Selected template section is: " 70 + ((templateSelector == null) ? "<default>" : templateSelector)); 71 } 72 CmsXmlWpTemplateFile xmlTemplateDocument = new CmsXmlWpTemplateFile(cms, templateFile); 73 74 CmsElementCache cache = CmsXmlTemplateLoader.getOnlineElementCache(); 76 String info = (String )parameters.get("info"); 78 if(info != null && "dep_out".equals(info)){ 79 cache.printCacheInfo(1); 81 } 82 String action = (String )parameters.get("action"); 84 if((action == null) || ("".equals(action))){ 85 Vector cacheInfo = cache.getCacheInfo(); 87 xmlTemplateDocument.setData("urisize", ((Integer )cacheInfo.elementAt(1)).toString() + " | " + 88 ((Integer )cacheInfo.elementAt(0)).toString()); 89 xmlTemplateDocument.setData("elementsize", ((Integer )cacheInfo.elementAt(3)).toString() + " | " + 90 ((Integer )cacheInfo.elementAt(2)).toString()); 91 }else{ 92 cache.clearCache(); 94 templateSelector = "done"; 95 } 96 97 return startProcessing(cms, xmlTemplateDocument, elementName, parameters, 99 templateSelector); 100 } 101 102 115 public Boolean isElementcacheAdmin(CmsObject cms, CmsXmlLanguageFile lang, Hashtable parameters) throws CmsException { 116 return new Boolean (cms.isAdmin() && (CmsXmlTemplateLoader.getElementCache() != null)); 117 } 118 119 129 public boolean isCacheable(CmsObject cms, String templateFile, String elementName, 130 Hashtable parameters, String templateSelector) { 131 return false; 132 } 133 134 }
| Popular Tags
|