1 15 package org.apache.hivemind.util; 16 17 import java.net.MalformedURLException ; 18 import java.util.Locale ; 19 20 import javax.servlet.ServletContext ; 21 22 31 32 public class LocalizedContextResourceFinder 33 { 34 private ServletContext _context; 35 36 public LocalizedContextResourceFinder(ServletContext context) 37 { 38 _context = context; 39 } 40 41 48 49 public LocalizedResource resolve(String contextPath, Locale locale) 50 { 51 int dotx = contextPath.lastIndexOf('.'); 52 String basePath; 53 String suffix; 54 if (dotx >= 0) { 55 basePath = contextPath.substring(0, dotx); 56 suffix = contextPath.substring(dotx); 57 } 58 else 59 { 60 basePath = contextPath; 62 suffix = ""; 63 } 64 65 LocalizedNameGenerator generator = new LocalizedNameGenerator(basePath, locale, suffix); 66 67 while (generator.more()) 68 { 69 String candidatePath = generator.next(); 70 71 if (isExistingResource(candidatePath)) 72 return new LocalizedResource(candidatePath, generator.getCurrentLocale()); 73 } 74 75 return null; 76 } 77 78 private boolean isExistingResource(String path) 79 { 80 try 81 { 82 return _context.getResource(path) != null; 83 } 84 catch (MalformedURLException ex) 85 { 86 return false; 87 } 88 } 89 } | Popular Tags |