public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws ServletException { if (request.getUserPrincipal() != null) { String codiIdioma = request.getParameter(this.paramName); if (codiIdioma != null) { personaService.savePrefIdioma(codiIdioma); LocaleResolver localeResolver = RequestContextUtils.getLocaleResolver(request); if (localeResolver == null) throw new IllegalStateException ("No LocaleResolver found: not in a DispatcherServlet request?"); LocaleEditor localeEditor = new LocaleEditor(); localeEditor.setAsText(codiIdioma); localeResolver.setLocale(request, response, (Locale)localeEditor.getValue()); } } return true; }
public Locale resolveLocale(HttpServletRequest request) { Locale locale = null; LocaleEditor localeEditor = new LocaleEditor(); ParellaCodiNom parella = (ParellaCodiNom)WebUtils.getSessionAttribute(request, SESSION_IDIOMA_ACTUAL); if (parella != null) { localeEditor.setAsText(parella.getCodi()); locale = (Locale)localeEditor.getValue(); } else { if (request.getUserPrincipal() != null) { UsuariPreferencies preferencies = personaService.getUsuariPreferencies(); if (preferencies != null && preferencies.getIdioma() != null) { String idioma = preferencies.getIdioma(); localeEditor.setAsText(idioma); locale = (Locale)localeEditor.getValue(); } if (locale == null || !esIdiomaDisponible(locale)) { locale = determinarIdiomaDefecte(request); } } else { locale = determinarIdiomaDefecte(request); } setLocale(request, locale); } return locale; }
@Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws ServletException { LocaleResolver localeResolver = RequestContextUtils .getLocaleResolver(request); if (localeResolver == null) { throw new IllegalStateException( "No LocaleResolver found: not in a DispatcherServlet request?"); } // CmsSite site = CmsUtils.getSite(request); CmsSite site=CmsThreadVariable.getSite(); String newLocale = site.getLocaleAdmin(); LocaleEditor localeEditor = new LocaleEditor(); localeEditor.setAsText(newLocale); localeResolver.setLocale(request, response, (Locale) localeEditor .getValue()); // Proceed in any case. return true; }
@Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws ServletException { LocaleResolver localeResolver = RequestContextUtils .getLocaleResolver(request); if (localeResolver == null) { throw new IllegalStateException( "No LocaleResolver found: not in a DispatcherServlet request?"); } CmsSite site = CmsUtils.getSite(request); String newLocale = site.getLocaleFront(); LocaleEditor localeEditor = new LocaleEditor(); localeEditor.setAsText(newLocale); localeResolver.setLocale(request, response, (Locale) localeEditor .getValue()); // Proceed in any case. return true; }
@Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws ServletException { LocaleResolver localeResolver = RequestContextUtils .getLocaleResolver(request); if (localeResolver == null) { throw new IllegalStateException( "No LocaleResolver found: not in a DispatcherServlet request?"); } CmsSite site = CmsUtils.getSite(request); String newLocale = site.getLocaleAdmin(); LocaleEditor localeEditor = new LocaleEditor(); localeEditor.setAsText(newLocale); localeResolver.setLocale(request, response, (Locale) localeEditor .getValue()); // Proceed in any case. return true; }
public void setIdiomaDefecte(String idiomaDefecte) { if ( idiomaDefecte!=null ) { LocaleEditor localeEditor = new LocaleEditor(); localeEditor.setAsText(idiomaDefecte); this.idiomaDefecte = (Locale)localeEditor.getValue(); if ( ! esIdiomaDisponible(this.idiomaDefecte) ) this.idiomesDisponibles.add(0, this.idiomaDefecte); } }
public void setIdiomesDisponibles(String idiomesDisponibles) { if ( idiomesDisponibles!=null && idiomesDisponibles!="" ) { this.idiomesDisponibles = new ArrayList<Locale>(); LocaleEditor localeEditor = new LocaleEditor(); String idiomes[] = idiomesDisponibles.split(","); for ( String idioma: idiomes ) { localeEditor.setAsText(idioma); this.idiomesDisponibles.add( (Locale)localeEditor.getValue() ); } if ( this.idiomaDefecte==null ) this.idiomaDefecte = this.idiomesDisponibles.get(0); } }
private String getLocale(Locale locale) { if (locale == null) { return ""; } LocaleEditor localeEditor = new LocaleEditor(); localeEditor.setValue(locale); return "_" + localeEditor.getAsText(); }
private String resolveResource(String viewName, Locale locale) { String l10n = ""; if (locale != null) { LocaleEditor localeEditor = new LocaleEditor(); localeEditor.setValue(locale); l10n = "_" + localeEditor.getAsText(); } return resolveFromLocale(viewName, l10n); }
/** * Utility method for creating a GrailsDataBinder instance * * @param target The target object to bind to * @param objectName The name of the object * @return A GrailsDataBinder instance */ public static GrailsDataBinder createBinder(Object target, String objectName) { GrailsDataBinder binder = new GrailsDataBinder(target, objectName); binder.registerCustomEditor(byte[].class, new ByteArrayMultipartFileEditor()); binder.registerCustomEditor(String.class, new StringMultipartFileEditor()); binder.registerCustomEditor(Currency.class, new CurrencyEditor()); binder.registerCustomEditor(Locale.class, new LocaleEditor()); binder.registerCustomEditor(TimeZone.class, new TimeZoneEditor()); binder.registerCustomEditor(URI.class, new UriEditor()); registerCustomEditors(binder); return binder; }
protected void setLocale(HttpServletRequest request, HttpServletResponse response, String newLocale) { if (newLocale != null) { LocaleResolver localeResolver = RequestContextUtils.getLocaleResolver(request); if (localeResolver == null) { logger.debug("No LocaleResolver found: not in a DispatcherServlet request?"); return; } LocaleEditor localeEditor = new LocaleEditor(); localeEditor.setAsText(newLocale); localeResolver.setLocale(request, response, (Locale) localeEditor.getValue()); } }
/** * Actually register the default editors for this registry instance. */ private void createDefaultEditors() { this.defaultEditors = new HashMap<Class<?>, PropertyEditor>(64); // Simple editors, without parameterization capabilities. // The JDK does not contain a default editor for any of these target types. this.defaultEditors.put(Charset.class, new CharsetEditor()); this.defaultEditors.put(Class.class, new ClassEditor()); this.defaultEditors.put(Class[].class, new ClassArrayEditor()); this.defaultEditors.put(Currency.class, new CurrencyEditor()); this.defaultEditors.put(File.class, new FileEditor()); this.defaultEditors.put(InputStream.class, new InputStreamEditor()); this.defaultEditors.put(InputSource.class, new InputSourceEditor()); this.defaultEditors.put(Locale.class, new LocaleEditor()); this.defaultEditors.put(Pattern.class, new PatternEditor()); this.defaultEditors.put(Properties.class, new PropertiesEditor()); this.defaultEditors.put(Resource[].class, new ResourceArrayPropertyEditor()); this.defaultEditors.put(TimeZone.class, new TimeZoneEditor()); this.defaultEditors.put(URI.class, new URIEditor()); this.defaultEditors.put(URL.class, new URLEditor()); this.defaultEditors.put(UUID.class, new UUIDEditor()); if (zoneIdClass != null) { this.defaultEditors.put(zoneIdClass, new ZoneIdEditor()); } // Default instances of collection editors. // Can be overridden by registering custom instances of those as custom editors. this.defaultEditors.put(Collection.class, new CustomCollectionEditor(Collection.class)); this.defaultEditors.put(Set.class, new CustomCollectionEditor(Set.class)); this.defaultEditors.put(SortedSet.class, new CustomCollectionEditor(SortedSet.class)); this.defaultEditors.put(List.class, new CustomCollectionEditor(List.class)); this.defaultEditors.put(SortedMap.class, new CustomMapEditor(SortedMap.class)); // Default editors for primitive arrays. this.defaultEditors.put(byte[].class, new ByteArrayPropertyEditor()); this.defaultEditors.put(char[].class, new CharArrayPropertyEditor()); // The JDK does not contain a default editor for char! this.defaultEditors.put(char.class, new CharacterEditor(false)); this.defaultEditors.put(Character.class, new CharacterEditor(true)); // Spring's CustomBooleanEditor accepts more flag values than the JDK's default editor. this.defaultEditors.put(boolean.class, new CustomBooleanEditor(false)); this.defaultEditors.put(Boolean.class, new CustomBooleanEditor(true)); // The JDK does not contain default editors for number wrapper types! // Override JDK primitive number editors with our own CustomNumberEditor. this.defaultEditors.put(byte.class, new CustomNumberEditor(Byte.class, false)); this.defaultEditors.put(Byte.class, new CustomNumberEditor(Byte.class, true)); this.defaultEditors.put(short.class, new CustomNumberEditor(Short.class, false)); this.defaultEditors.put(Short.class, new CustomNumberEditor(Short.class, true)); this.defaultEditors.put(int.class, new CustomNumberEditor(Integer.class, false)); this.defaultEditors.put(Integer.class, new CustomNumberEditor(Integer.class, true)); this.defaultEditors.put(long.class, new CustomNumberEditor(Long.class, false)); this.defaultEditors.put(Long.class, new CustomNumberEditor(Long.class, true)); this.defaultEditors.put(float.class, new CustomNumberEditor(Float.class, false)); this.defaultEditors.put(Float.class, new CustomNumberEditor(Float.class, true)); this.defaultEditors.put(double.class, new CustomNumberEditor(Double.class, false)); this.defaultEditors.put(Double.class, new CustomNumberEditor(Double.class, true)); this.defaultEditors.put(BigDecimal.class, new CustomNumberEditor(BigDecimal.class, true)); this.defaultEditors.put(BigInteger.class, new CustomNumberEditor(BigInteger.class, true)); // Only register config value editors if explicitly requested. if (this.configValueEditorsActive) { StringArrayPropertyEditor sae = new StringArrayPropertyEditor(); this.defaultEditors.put(String[].class, sae); this.defaultEditors.put(short[].class, sae); this.defaultEditors.put(int[].class, sae); this.defaultEditors.put(long[].class, sae); } }
/** * Actually register the default editors for this registry instance. */ private void createDefaultEditors() { this.defaultEditors = new HashMap<Class<?>, PropertyEditor>(64); // Simple editors, without parameterization capabilities. // The JDK does not contain a default editor for any of these target types. this.defaultEditors.put(Charset.class, new CharsetEditor()); this.defaultEditors.put(Class.class, new ClassEditor()); this.defaultEditors.put(Class[].class, new ClassArrayEditor()); this.defaultEditors.put(Currency.class, new CurrencyEditor()); this.defaultEditors.put(File.class, new FileEditor()); this.defaultEditors.put(InputStream.class, new InputStreamEditor()); this.defaultEditors.put(InputSource.class, new InputSourceEditor()); this.defaultEditors.put(Locale.class, new LocaleEditor()); this.defaultEditors.put(Pattern.class, new PatternEditor()); this.defaultEditors.put(Properties.class, new PropertiesEditor()); this.defaultEditors.put(Reader.class, new ReaderEditor()); this.defaultEditors.put(Resource[].class, new ResourceArrayPropertyEditor()); this.defaultEditors.put(TimeZone.class, new TimeZoneEditor()); this.defaultEditors.put(URI.class, new URIEditor()); this.defaultEditors.put(URL.class, new URLEditor()); this.defaultEditors.put(UUID.class, new UUIDEditor()); if (zoneIdClass != null) { this.defaultEditors.put(zoneIdClass, new ZoneIdEditor()); } // Default instances of collection editors. // Can be overridden by registering custom instances of those as custom editors. this.defaultEditors.put(Collection.class, new CustomCollectionEditor(Collection.class)); this.defaultEditors.put(Set.class, new CustomCollectionEditor(Set.class)); this.defaultEditors.put(SortedSet.class, new CustomCollectionEditor(SortedSet.class)); this.defaultEditors.put(List.class, new CustomCollectionEditor(List.class)); this.defaultEditors.put(SortedMap.class, new CustomMapEditor(SortedMap.class)); // Default editors for primitive arrays. this.defaultEditors.put(byte[].class, new ByteArrayPropertyEditor()); this.defaultEditors.put(char[].class, new CharArrayPropertyEditor()); // The JDK does not contain a default editor for char! this.defaultEditors.put(char.class, new CharacterEditor(false)); this.defaultEditors.put(Character.class, new CharacterEditor(true)); // Spring's CustomBooleanEditor accepts more flag values than the JDK's default editor. this.defaultEditors.put(boolean.class, new CustomBooleanEditor(false)); this.defaultEditors.put(Boolean.class, new CustomBooleanEditor(true)); // The JDK does not contain default editors for number wrapper types! // Override JDK primitive number editors with our own CustomNumberEditor. this.defaultEditors.put(byte.class, new CustomNumberEditor(Byte.class, false)); this.defaultEditors.put(Byte.class, new CustomNumberEditor(Byte.class, true)); this.defaultEditors.put(short.class, new CustomNumberEditor(Short.class, false)); this.defaultEditors.put(Short.class, new CustomNumberEditor(Short.class, true)); this.defaultEditors.put(int.class, new CustomNumberEditor(Integer.class, false)); this.defaultEditors.put(Integer.class, new CustomNumberEditor(Integer.class, true)); this.defaultEditors.put(long.class, new CustomNumberEditor(Long.class, false)); this.defaultEditors.put(Long.class, new CustomNumberEditor(Long.class, true)); this.defaultEditors.put(float.class, new CustomNumberEditor(Float.class, false)); this.defaultEditors.put(Float.class, new CustomNumberEditor(Float.class, true)); this.defaultEditors.put(double.class, new CustomNumberEditor(Double.class, false)); this.defaultEditors.put(Double.class, new CustomNumberEditor(Double.class, true)); this.defaultEditors.put(BigDecimal.class, new CustomNumberEditor(BigDecimal.class, true)); this.defaultEditors.put(BigInteger.class, new CustomNumberEditor(BigInteger.class, true)); // Only register config value editors if explicitly requested. if (this.configValueEditorsActive) { StringArrayPropertyEditor sae = new StringArrayPropertyEditor(); this.defaultEditors.put(String[].class, sae); this.defaultEditors.put(short[].class, sae); this.defaultEditors.put(int[].class, sae); this.defaultEditors.put(long[].class, sae); } }
/** * Actually register the default editors for this registry instance. */ private void createDefaultEditors() { this.defaultEditors = new HashMap<Class<?>, PropertyEditor>(64); // Simple editors, without parameterization capabilities. // The JDK does not contain a default editor for any of these target types. this.defaultEditors.put(Charset.class, new CharsetEditor()); this.defaultEditors.put(Class.class, new ClassEditor()); this.defaultEditors.put(Class[].class, new ClassArrayEditor()); this.defaultEditors.put(Currency.class, new CurrencyEditor()); this.defaultEditors.put(File.class, new FileEditor()); this.defaultEditors.put(InputStream.class, new InputStreamEditor()); this.defaultEditors.put(InputSource.class, new InputSourceEditor()); this.defaultEditors.put(Locale.class, new LocaleEditor()); this.defaultEditors.put(Pattern.class, new PatternEditor()); this.defaultEditors.put(Properties.class, new PropertiesEditor()); this.defaultEditors.put(Resource[].class, new ResourceArrayPropertyEditor()); this.defaultEditors.put(TimeZone.class, new TimeZoneEditor()); this.defaultEditors.put(URI.class, new URIEditor()); this.defaultEditors.put(URL.class, new URLEditor()); this.defaultEditors.put(UUID.class, new UUIDEditor()); // Default instances of collection editors. // Can be overridden by registering custom instances of those as custom editors. this.defaultEditors.put(Collection.class, new CustomCollectionEditor(Collection.class)); this.defaultEditors.put(Set.class, new CustomCollectionEditor(Set.class)); this.defaultEditors.put(SortedSet.class, new CustomCollectionEditor(SortedSet.class)); this.defaultEditors.put(List.class, new CustomCollectionEditor(List.class)); this.defaultEditors.put(SortedMap.class, new CustomMapEditor(SortedMap.class)); // Default editors for primitive arrays. this.defaultEditors.put(byte[].class, new ByteArrayPropertyEditor()); this.defaultEditors.put(char[].class, new CharArrayPropertyEditor()); // The JDK does not contain a default editor for char! this.defaultEditors.put(char.class, new CharacterEditor(false)); this.defaultEditors.put(Character.class, new CharacterEditor(true)); // Spring's CustomBooleanEditor accepts more flag values than the JDK's default editor. this.defaultEditors.put(boolean.class, new CustomBooleanEditor(false)); this.defaultEditors.put(Boolean.class, new CustomBooleanEditor(true)); // The JDK does not contain default editors for number wrapper types! // Override JDK primitive number editors with our own CustomNumberEditor. this.defaultEditors.put(byte.class, new CustomNumberEditor(Byte.class, false)); this.defaultEditors.put(Byte.class, new CustomNumberEditor(Byte.class, true)); this.defaultEditors.put(short.class, new CustomNumberEditor(Short.class, false)); this.defaultEditors.put(Short.class, new CustomNumberEditor(Short.class, true)); this.defaultEditors.put(int.class, new CustomNumberEditor(Integer.class, false)); this.defaultEditors.put(Integer.class, new CustomNumberEditor(Integer.class, true)); this.defaultEditors.put(long.class, new CustomNumberEditor(Long.class, false)); this.defaultEditors.put(Long.class, new CustomNumberEditor(Long.class, true)); this.defaultEditors.put(float.class, new CustomNumberEditor(Float.class, false)); this.defaultEditors.put(Float.class, new CustomNumberEditor(Float.class, true)); this.defaultEditors.put(double.class, new CustomNumberEditor(Double.class, false)); this.defaultEditors.put(Double.class, new CustomNumberEditor(Double.class, true)); this.defaultEditors.put(BigDecimal.class, new CustomNumberEditor(BigDecimal.class, true)); this.defaultEditors.put(BigInteger.class, new CustomNumberEditor(BigInteger.class, true)); // Only register config value editors if explicitly requested. if (this.configValueEditorsActive) { StringArrayPropertyEditor sae = new StringArrayPropertyEditor(); this.defaultEditors.put(String[].class, sae); this.defaultEditors.put(short[].class, sae); this.defaultEditors.put(int[].class, sae); this.defaultEditors.put(long[].class, sae); } }
/** * Set the extended <code>PropertyEditor</code> instances, which are only used * if explicitly called (i.e. {@link #parseString(Class, String)}. */ protected void setExtendedEditors() { extEditors.put(InputStream.class, new InputStreamEditor()); extEditors.put(InputSource.class, new InputSourceEditor()); extEditors.put(Class[].class, new ClassArrayEditor()); extEditors.put(Resource[].class, new ResourceArrayPropertyEditor()); extEditors.put(TimeZone.class, new TimeZoneEditor()); extEditors.put(byte[].class, new ByteArrayPropertyEditor()); extEditors.put(char[].class, new CharArrayPropertyEditor()); extEditors.put(Properties.class, new PropertiesEditor()); extEditors.put(Set.class, new CustomCollectionEditor(Set.class)); extEditors .put(SortedSet.class, new CustomCollectionEditor(SortedSet.class)); extEditors.put(List.class, new CustomCollectionEditor(List.class)); extEditors.put(SortedMap.class, new CustomMapEditor(SortedMap.class)); extEditors.put(Collection.class, new CustomCollectionEditor( Collection.class)); extEditors.put(char.class, new CharacterEditor(false)); extEditors.put(Character.class, new CharacterEditor(true)); extEditors.put(boolean.class, new CustomBooleanEditor(false)); extEditors.put(byte.class, new CustomNumberEditor(Byte.class, false)); extEditors.put(short.class, new CustomNumberEditor(Short.class, false)); extEditors.put(int.class, new CustomNumberEditor(Integer.class, false)); extEditors.put(long.class, new CustomNumberEditor(Long.class, false)); extEditors.put(float.class, new CustomNumberEditor(Float.class, false)); extEditors.put(double.class, new CustomNumberEditor(Double.class, false)); extEditors.put(Charset.class, new CharsetEditor()); extEditors.put(Currency.class, new CurrencyEditor()); extEditors.put(Class.class, new ClassEditor()); extEditors.put(URL.class, new URLEditor()); extEditors.put(UUID.class, new UUIDEditor()); extEditors.put(Pattern.class, new PatternEditor()); extEditors.put(URI.class, new URIEditor()); extEditors.put(File.class, new FileEditor()); extEditors.put(Locale.class, new LocaleEditor()); extEditors.put(Byte.class, new CustomNumberEditor(Byte.class, true)); extEditors.put(Short.class, new CustomNumberEditor(Short.class, true)); extEditors.put(Float.class, new CustomNumberEditor(Float.class, true)); }
/** * 获得模板路径。将对模板文件名称进行本地化处理。 * * @param messageSource * @param lang * 本地化语言 * @param solution * 方案路径 * @param dir * 模板目录。不本地化处理。 * @param name * 模板名称。本地化处理。 * @return */ public static String getTplPath(MessageSource messageSource, String lang, String solution, String dir, String name) { LocaleEditor localeEditor = new LocaleEditor(); localeEditor.setAsText(lang); Locale locale = (Locale) localeEditor.getValue(); return solution + "/" + dir + "/" + messageSource.getMessage(name, null, locale) + TPL_SUFFIX; }