You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@struts.apache.org by "Dean Pullen (JIRA)" <ji...@apache.org> on 2007/10/10 16:00:45 UTC

[jira] Commented: (WW-2243) Including a variable and getter/setter called Locale breaks validation

    [ https://issues.apache.org/struts/browse/WW-2243?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_42364 ] 

Dean Pullen commented on WW-2243:
---------------------------------

public Locale getLocale() is being over-ridden in ActionSupport, this is the problem.

> Including a variable and getter/setter called Locale breaks validation
> ----------------------------------------------------------------------
>
>                 Key: WW-2243
>                 URL: https://issues.apache.org/struts/browse/WW-2243
>             Project: Struts 2
>          Issue Type: Bug
>          Components: Validation
>    Affects Versions: 2.0.9
>         Environment: Struts 2.0.9, Windows Vista, JBoss 4.2.1GA
>            Reporter: Dean Pullen
>
> Including this variable, within an Action class (or super class) that extends ActionSupport, that is called:
> private Locale locale; // or similar
> With:
> public Locale getLocale()
> {
> 	return locale;
> }
> public void setLocale(Locale locale)
> {
> 	this.locale = locale;
> }
> With validation being performed, will present the user with this error:
> [10 Oct 2007 11:57:20] ERROR org.apache.catalina.core.ContainerBase.[jboss.web].
> [localhost].[/csi].[default]  - Servlet.service() for servlet default threw exce
> ption
> java.lang.NullPointerException
>         at com.opensymphony.xwork2.util.LocalizedTextUtil.createMissesKey(Locali
> zedTextUtil.java:240)
>         at com.opensymphony.xwork2.util.LocalizedTextUtil.findResourceBundle(Loc
> alizedTextUtil.java:219)
>         at com.opensymphony.xwork2.util.LocalizedTextUtil.getMessage(LocalizedTe
> xtUtil.java:602)
>         at com.opensymphony.xwork2.util.LocalizedTextUtil.findMessage(LocalizedT
> extUtil.java:643)
>         at com.opensymphony.xwork2.util.LocalizedTextUtil.findText(LocalizedText
> Util.java:360)
>         at com.opensymphony.xwork2.util.LocalizedTextUtil.findText(LocalizedText
> Util.java:293)
>         at com.opensymphony.xwork2.TextProviderSupport.getText(TextProviderSuppo
> rt.java:173)
>         at com.opensymphony.xwork2.TextProviderSupport.getText(TextProviderSuppo
> rt.java:104)
>         at com.opensymphony.xwork2.ActionSupport.getText(ActionSupport.java:75)
>         at com.opensymphony.xwork2.validator.DelegatingValidatorContext.getText(
> DelegatingValidatorContext.java:106)
>         at com.opensymphony.xwork2.validator.validators.ValidatorSupport.getMess
> age(ValidatorSupport.java:66)
>         at com.opensymphony.xwork2.validator.validators.ValidatorSupport.addFiel
> dError(ValidatorSupport.java:162)
>         at com.opensymphony.xwork2.validator.validators.RequiredStringValidator.
> validate(RequiredStringValidator.java:77)
>         at com.opensymphony.xwork2.validator.AnnotationActionValidatorManager.va
> lidate(AnnotationActionValidatorManager.java:219)
>         at com.opensymphony.xwork2.validator.AnnotationActionValidatorManager.va
> lidate(AnnotationActionValidatorManager.java:113)
>         at com.opensymphony.xwork2.validator.AnnotationActionValidatorManager.va
> lidate(AnnotationActionValidatorManager.java:100)
>         at com.opensymphony.xwork2.validator.ValidationInterceptor.doBeforeInvoc
> ation(ValidationInterceptor.java:142)
>         at com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(V
> alidationInterceptor.java:148)
>         at org.apache.struts2.interceptor.validation.AnnotationValidationInterce
> ptor.doIntercept(AnnotationValidationInterceptor.java:48)
>         at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept
> (MethodFilterInterceptor.java:86)
>         at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(Default
> ActionInvocation.java:224)
>         at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(Default
> ActionInvocation.java:223)
>         at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTim
> erStack.java:455)
>         at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI
> nvocation.java:221)
>         at com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.interc
> ept(ConversionErrorInterceptor.java:123)
>         at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(Default
> ActionInvocation.java:224)
>         at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(Default
> ActionInvocation.java:223)
>         at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTim
> erStack.java:455)
>         at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI
> nvocation.java:221)
>         at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept
> (ParametersInterceptor.java:167)
>         at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept
> (MethodFilterInterceptor.java:86)
>         at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(Default
> ActionInvocation.java:224)
>         at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(Default
> ActionInvocation.java:223)
>         at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTim
> erStack.java:455)
>         at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI
> nvocation.java:221)
>         at com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.inter
> cept(StaticParametersInterceptor.java:105)
>         at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(Default
> ActionInvocation.java:224)
>         at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(Default
> ActionInvocation.java:223)
>         at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTim
> erStack.java:455)
>         at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI
> nvocation.java:221)
>         at org.apache.struts2.interceptor.CheckboxInterceptor.intercept(Checkbox
> Interceptor.java:83)
>         at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(Default
> ActionInvocation.java:224)
>         at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(Default
> ActionInvocation.java:223)
>         at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTim
> erStack.java:455)
>         at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI
> nvocation.java:221)
>         at org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUp
> loadInterceptor.java:207)
>         at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(Default
> ActionInvocation.java:224)
>         at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(Default
> ActionInvocation.java:223)
>         at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTim
> erStack.java:455)
>         at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI
> nvocation.java:221)
>         at com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(
> ModelDrivenInterceptor.java:74)
>         at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(Default
> ActionInvocation.java:224)
>         at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(Default
> ActionInvocation.java:223)
>         at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTim
> erStack.java:455)
>         at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI
> nvocation.java:221)
>         at com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.inte
> rcept(ScopedModelDrivenInterceptor.java:127)
>         at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(Default
> ActionInvocation.java:224)
>         at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(Default
> ActionInvocation.java:223)
>         at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTim
> erStack.java:455)
>         at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI
> nvocation.java:221)
>         at org.apache.struts2.interceptor.ProfilingActivationInterceptor.interce
> pt(ProfilingActivationInterceptor.java:107)
>         at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(Default
> ActionInvocation.java:224)
>         at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(Default
> ActionInvocation.java:223)
>         at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTim
> erStack.java:455)
>         at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI
> nvocation.java:221)
>         at org.apache.struts2.interceptor.debugging.DebuggingInterceptor.interce
> pt(DebuggingInterceptor.java:206)
>         at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(Default
> ActionInvocation.java:224)
>         at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(Default
> ActionInvocation.java:223)
>         at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTim
> erStack.java:455)
>         at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI
> nvocation.java:221)
>         at com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(Cha
> iningInterceptor.java:115)
>         at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(Default
> ActionInvocation.java:224)
>         at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(Default
> ActionInvocation.java:223)
>         at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTim
> erStack.java:455)
>         at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI
> nvocation.java:221)
>         at com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInt
> erceptor.java:143)
>         at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(Default
> ActionInvocation.java:224)
>         at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(Default
> ActionInvocation.java:223)
>         at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTim
> erStack.java:455)
>         at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI
> nvocation.java:221)
>         at com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(Pr
> epareInterceptor.java:121)
>         at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept
> (MethodFilterInterceptor.java:86)
>         at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(Default
> ActionInvocation.java:224)
>         at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(Default
> ActionInvocation.java:223)
>         at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTim
> erStack.java:455)
>         at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI
> nvocation.java:221)
>         at org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(Ser
> vletConfigInterceptor.java:170)
>         at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(Default
> ActionInvocation.java:224)
>         at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(Default
> ActionInvocation.java:223)
>         at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTim
> erStack.java:455)
>         at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI
> nvocation.java:221)
>         at com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasI
> nterceptor.java:123)
>         at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(Default
> ActionInvocation.java:224)
>         at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(Default
> ActionInvocation.java:223)
>         at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTim
> erStack.java:455)
>         at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI
> nvocation.java:221)
>         at com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.inter
> cept(ExceptionMappingInterceptor.java:176)
>         at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(Default
> ActionInvocation.java:224)
>         at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(Default
> ActionInvocation.java:223)
>         at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTim
> erStack.java:455)
>         at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI
> nvocation.java:221)
>         at org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.j
> ava:50)
>         at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.jav
> a:504)
>         at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatc
> her.java:419)
>         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
> icationFilterChain.java:235)
>         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
> ilterChain.java:206)
>         at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFi
> lter.java:96)
>         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
> icationFilterChain.java:235)
>         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
> ilterChain.java:206)
>         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
> alve.java:230)
>         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
> alve.java:175)
>         at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(Securit
> yAssociationValve.java:179)
>         at org.apache.catalina.authenticator.AuthenticatorBase.invoke(Authentica
> torBase.java:525)
>         at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValv
> e.java:84)
>         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
> ava:128)
>         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
> ava:104)
>         at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedC
> onnectionValve.java:157)
>         at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.ja
> va:420)
>         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
> ve.java:109)
>         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
> a:241)
>         at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:437)
>         at org.apache.coyote.ajp.AjpProtocol$AjpConnectionHandler.process(AjpPro
> tocol.java:381)
>         at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:44
> 7)
>         at java.lang.Thread.run(Thread.java:619)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.