001 /** 002 * Implements the Cold Fusion 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 if(config instanceof ConfigWebImpl)clear(((ConfigWebImpl)config).getServerTagMapping()); 025 026 return true; 027 } 028 public static void clear(Mapping[] mappings) { 029 if(mappings==null)return; 030 for(int i=0;i<mappings.length;i++) { 031 clear(mappings[i]); 032 } 033 } 034 public static void clear(Mapping mapping) { 035 if(mapping==null)return; 036 ((MappingImpl) mapping).getPageSourcePool().clearPages(null); 037 } 038 }