001 /** 002 * Implements the CFML Function gettemplatepath 003 */ 004 package railo.runtime.functions.system; 005 006 import railo.runtime.Mapping; 007 import railo.runtime.MappingImpl; 008 import railo.runtime.PageContext; 009 import railo.runtime.config.ConfigWebImpl; 010 import railo.runtime.ext.function.Function; 011 012 public final class PagePoolClear implements Function { 013 014 public static boolean call(PageContext pc) { 015 ConfigWebImpl config=(ConfigWebImpl) pc.getConfig(); 016 clear(config.getMappings()); 017 clear(config.getCustomTagMappings()); 018 clear(pc.getApplicationContext().getMappings()); 019 clear(config.getComponentMappings()); 020 clear(config.getFunctionMapping()); 021 clear(config.getServerFunctionMapping()); 022 clear(config.getTagMapping()); 023 clear(config.getServerTagMapping()); 024 025 return true; 026 } 027 public static void clear(Mapping[] mappings) { 028 if(mappings==null)return; 029 for(int i=0;i<mappings.length;i++) { 030 clear(mappings[i]); 031 } 032 } 033 public static void clear(Mapping mapping) { 034 if(mapping==null)return; 035 ((MappingImpl) mapping).getPageSourcePool().clearPages(null); 036 } 037 }