TemplateRetrieverServiceImpl.java

00001 package org.openmobileis.bundle.osgi.services;
00002 
00003 import org.openmobileis.common.intl.IntlResourceManager;
00004 import org.openmobileis.embedded.webserver.templates.Freemarkerv1JarTemplateCache;
00005 import org.openmobileis.embedded.webserver.templates.TemplateRetrieverService;
00006 
00007 import freemarker.template.FileTemplateCache;
00008 import freemarker.template.Template;
00009 
00010 public final class TemplateRetrieverServiceImpl implements TemplateRetrieverService {
00011         private String moduleName;
00012   private FileTemplateCache templateCache = null;
00013 
00014   public TemplateRetrieverServiceImpl(String name, String rootTemplatePath)     {
00015                 moduleName = name;
00016     templateCache = new Freemarkerv1JarTemplateCache(rootTemplatePath);
00017     templateCache.setFilenameSuffix("htm");
00018         }
00019         public String getModuleName() {
00020                 return moduleName;
00021         }
00022 
00023         public Template getServiceTemplate(String relatifPath) {
00024     IntlResourceManager resourceManager = IntlResourceManager.getManager();
00025     String newrelatifPath = resourceManager.getLocalizedFileName(relatifPath, false);
00026     try {
00027         newrelatifPath = relatifPath.replace('\\', '/');
00028         return (Template)templateCache.getItem(newrelatifPath);
00029     } catch (Throwable ex)      {
00030                 newrelatifPath = relatifPath;
00031         newrelatifPath = newrelatifPath.replace('\\', '/');
00032         return (Template)templateCache.getItem(newrelatifPath);
00033     }
00034         }
00035         
00036   public boolean isTemplateExist(String relatifPath)    {
00037         return this.getServiceTemplate(relatifPath) != null;
00038   }
00039         
00040 }

Generated on Mon Jan 11 21:19:17 2010 for OpenMobileIS by  doxygen 1.5.4