Ok that sounds like the way to go! I won't post a feature request in JIRA then. I noticed that it was plugged onto into the CI properly while browsing the code too, and I suppose it will be necessary.
Well, right now I can work around the issue with excludeProperties parameter... Keep up the good work! 2011/1/28 Maurizio Cucchiara <maurizio.cucchi...@gmail.com>: > At first glance it seems related with [1]. > I'm working on that. I'd like to integrate type conversion support inside > json plugin, but it's not easy (in many place the json plugin doesn't use > dependency injection provided by struts, use static method and utility > class). > > [1] https://issues.apache.org/jira/browse/WW-3524 > > Maurizio Cucchiara > > On Jan 28, 2011 12:48 PM, "Leonard Broman" <leonard.bro...@gmail.com> wrote: > Hi > > I came across an issue with the JSON plugin today. Having the plugin > serialize a field of type LocalDate (from joda-time) I get the error > further down. > I dug into the code and asked around att google and this kind of issue > arises every now and then when developers try to serialize their > business objects and everything. The solution for them is to use > annotations to prevent this from happening. The LocalDate object > however is a data object that should easily be serializable, and I > didn't really dig more into why this happens as I realized the problem > is too general to be dealt with as a bug perhaps. > Now, for the usual html views to render and forms to submit correctly > I have a fairly simple TypeConverter for the joda-time class in > question and i was considering why this isn't used in the json-plugin. > > Does it sound like a good idea to add this feature to the json-plugin > or is there a reason why it has not been done this way? > If it is wise, I'll make post a suggestion in jira. > > Oh, and here's the massive stacktrace for those who are curious: > > Struts has detected an unhandled exception: > Messages: > > 1. Class org.apache.struts2.json.JSONWriter can not access a member > of class org.joda.time.DateTimeFieldType$StandardDateTimeFieldType > with modifiers "public" > 2. java.lang.IllegalAccessException: Class > org.apache.struts2.json.JSONWriter can not access a member of class > org.joda.time.DateTimeFieldType$StandardDateTimeFieldType with > modifiers "public" > 3. org.apache.struts2.json.JSONException: > java.lang.IllegalAccessException: Class > org.apache.struts2.json.JSONWriter can not access a member of class > org.joda.time.DateTimeFieldType$StandardDateTimeFieldType with > modifiers "public" > 4. org.apache.struts2.json.JSONException: > org.apache.struts2.json.JSONException: > java.lang.IllegalAccessException: Class > org.apache.struts2.json.JSONWriter can not access a member of class > org.joda.time.DateTimeFieldType$StandardDateTimeFieldType with > modifiers "public" > 5. org.apache.struts2.json.JSONException: > org.apache.struts2.json.JSONException: > org.apache.struts2.json.JSONException: > java.lang.IllegalAccessException: Class > org.apache.struts2.json.JSONWriter can not access a member of class > org.joda.time.DateTimeFieldType$StandardDateTimeFieldType with > modifiers "public" > > File: sun/reflect/Reflection.java > Line number: 65 > Stacktraces > org.apache.struts2.json.JSONException: > org.apache.struts2.json.JSONException: > org.apache.struts2.json.JSONException: > org.apache.struts2.json.JSONException: > java.lang.IllegalAccessException: Class > org.apache.struts2.json.JSONWriter can not access a member of class > org.joda.time.DateTimeFieldType$StandardDateTimeFieldType with > modifiers "public" > > org.apache.struts2.json.JSONWriter.bean(JSONWriter.java:250) > org.apache.struts2.json.JSONWriter.process(JSONWriter.java:164) > org.apache.struts2.json.JSONWriter.value(JSONWriter.java:130) > org.apache.struts2.json.JSONWriter.write(JSONWriter.java:98) > org.apache.struts2.json.JSONUtil.serialize(JSONUtil.java:112) > org.apache.struts2.json.JSONResult.execute(JSONResult.java:198) > > com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:373) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:277) > > org.apache.struts2.json.JSONInterceptor.intercept(JSONInterceptor.java:179) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > com.opensymphony.xwork2.interceptor.annotations.AnnotationWorkflowInterceptor.intercept(AnnotationWorkflowInterceptor.java:135) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:176) > > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:263) > > org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68) > > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:133) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:207) > > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:207) > > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:190) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:75) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:94) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:243) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:100) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:141) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:267) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:142) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:166) > > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:176) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:190) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:187) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > net.teliasonera.roaming.web.interceptor.LocalizationInterceptor.intercept(LocalizationInterceptor.java:58) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > net.teliasonera.roaming.web.interceptor.JsonDetectorInterceptor.intercept(JsonDetectorInterceptor.java:63) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52) > > org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:485) > > org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77) > > org.apache.struts2.dispatcher.ng.filter.StrutsExecuteFilter.doFilter(StrutsExecuteFilter.java:88) > > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1322) > > com.opensymphony.sitemesh.webapp.SiteMeshFilter.obtainContent(SiteMeshFilter.java:129) > > com.opensymphony.sitemesh.webapp.SiteMeshFilter.doFilter(SiteMeshFilter.java:77) > > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1322) > > org.apache.struts2.dispatcher.ng.filter.StrutsPrepareFilter.doFilter(StrutsPrepareFilter.java:82) > > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1322) > > org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:83) > > org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) > > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1322) > > org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:473) > > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119) > > org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:514) > > org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226) > > org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:920) > org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:403) > > org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:184) > > org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:856) > > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117) > > org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:247) > > org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:151) > > org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:114) > org.eclipse.jetty.server.Server.handle(Server.java:352) > > org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:596) > > org.eclipse.jetty.server.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:1049) > org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:590) > org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:212) > org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:426) > > org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:510) > > org.eclipse.jetty.io.nio.SelectChannelEndPoint.access$000(SelectChannelEndPoint.java:34) > > org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:40) > > org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:450) > java.lang.Thread.run(Thread.java:619) > > > org.apache.struts2.json.JSONException: > org.apache.struts2.json.JSONException: > org.apache.struts2.json.JSONException: > java.lang.IllegalAccessException: Class > org.apache.struts2.json.JSONWriter can not access a member of class > org.joda.time.DateTimeFieldType$StandardDateTimeFieldType with > modifiers "public" > > org.apache.struts2.json.JSONWriter.bean(JSONWriter.java:250) > org.apache.struts2.json.JSONWriter.process(JSONWriter.java:164) > org.apache.struts2.json.JSONWriter.value(JSONWriter.java:130) > org.apache.struts2.json.JSONWriter.array(JSONWriter.java:425) > org.apache.struts2.json.JSONWriter.process(JSONWriter.java:154) > org.apache.struts2.json.JSONWriter.value(JSONWriter.java:130) > org.apache.struts2.json.JSONWriter.add(JSONWriter.java:336) > org.apache.struts2.json.JSONWriter.bean(JSONWriter.java:235) > org.apache.struts2.json.JSONWriter.process(JSONWriter.java:164) > org.apache.struts2.json.JSONWriter.value(JSONWriter.java:130) > org.apache.struts2.json.JSONWriter.write(JSONWriter.java:98) > org.apache.struts2.json.JSONUtil.serialize(JSONUtil.java:112) > org.apache.struts2.json.JSONResult.execute(JSONResult.java:198) > > com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:373) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:277) > > org.apache.struts2.json.JSONInterceptor.intercept(JSONInterceptor.java:179) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > com.opensymphony.xwork2.interceptor.annotations.AnnotationWorkflowInterceptor.intercept(AnnotationWorkflowInterceptor.java:135) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:176) > > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:263) > > org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68) > > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:133) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:207) > > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:207) > > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:190) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:75) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:94) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:243) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:100) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:141) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:267) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:142) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:166) > > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:176) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:190) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:187) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > net.teliasonera.roaming.web.interceptor.LocalizationInterceptor.intercept(LocalizationInterceptor.java:58) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > net.teliasonera.roaming.web.interceptor.JsonDetectorInterceptor.intercept(JsonDetectorInterceptor.java:63) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52) > > org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:485) > > org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77) > > org.apache.struts2.dispatcher.ng.filter.StrutsExecuteFilter.doFilter(StrutsExecuteFilter.java:88) > > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1322) > > com.opensymphony.sitemesh.webapp.SiteMeshFilter.obtainContent(SiteMeshFilter.java:129) > > com.opensymphony.sitemesh.webapp.SiteMeshFilter.doFilter(SiteMeshFilter.java:77) > > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1322) > > org.apache.struts2.dispatcher.ng.filter.StrutsPrepareFilter.doFilter(StrutsPrepareFilter.java:82) > > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1322) > > org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:83) > > org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) > > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1322) > > org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:473) > > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119) > > org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:514) > > org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226) > > org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:920) > org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:403) > > org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:184) > > org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:856) > > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117) > > org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:247) > > org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:151) > > org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:114) > org.eclipse.jetty.server.Server.handle(Server.java:352) > > org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:596) > > org.eclipse.jetty.server.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:1049) > org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:590) > org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:212) > org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:426) > > org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:510) > > org.eclipse.jetty.io.nio.SelectChannelEndPoint.access$000(SelectChannelEndPoint.java:34) > > org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:40) > > org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:450) > java.lang.Thread.run(Thread.java:619) > > > org.apache.struts2.json.JSONException: > org.apache.struts2.json.JSONException: > java.lang.IllegalAccessException: Class > org.apache.struts2.json.JSONWriter can not access a member of class > org.joda.time.DateTimeFieldType$StandardDateTimeFieldType with > modifiers "public" > > org.apache.struts2.json.JSONWriter.bean(JSONWriter.java:250) > org.apache.struts2.json.JSONWriter.process(JSONWriter.java:164) > org.apache.struts2.json.JSONWriter.value(JSONWriter.java:130) > org.apache.struts2.json.JSONWriter.add(JSONWriter.java:336) > org.apache.struts2.json.JSONWriter.bean(JSONWriter.java:235) > org.apache.struts2.json.JSONWriter.process(JSONWriter.java:164) > org.apache.struts2.json.JSONWriter.value(JSONWriter.java:130) > org.apache.struts2.json.JSONWriter.array(JSONWriter.java:425) > org.apache.struts2.json.JSONWriter.process(JSONWriter.java:154) > org.apache.struts2.json.JSONWriter.value(JSONWriter.java:130) > org.apache.struts2.json.JSONWriter.add(JSONWriter.java:336) > org.apache.struts2.json.JSONWriter.bean(JSONWriter.java:235) > org.apache.struts2.json.JSONWriter.process(JSONWriter.java:164) > org.apache.struts2.json.JSONWriter.value(JSONWriter.java:130) > org.apache.struts2.json.JSONWriter.write(JSONWriter.java:98) > org.apache.struts2.json.JSONUtil.serialize(JSONUtil.java:112) > org.apache.struts2.json.JSONResult.execute(JSONResult.java:198) > > com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:373) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:277) > > org.apache.struts2.json.JSONInterceptor.intercept(JSONInterceptor.java:179) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > com.opensymphony.xwork2.interceptor.annotations.AnnotationWorkflowInterceptor.intercept(AnnotationWorkflowInterceptor.java:135) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:176) > > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:263) > > org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68) > > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:133) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:207) > > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:207) > > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:190) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:75) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:94) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:243) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:100) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:141) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:267) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:142) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:166) > > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:176) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:190) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:187) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > net.teliasonera.roaming.web.interceptor.LocalizationInterceptor.intercept(LocalizationInterceptor.java:58) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > net.teliasonera.roaming.web.interceptor.JsonDetectorInterceptor.intercept(JsonDetectorInterceptor.java:63) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52) > > org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:485) > > org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77) > > org.apache.struts2.dispatcher.ng.filter.StrutsExecuteFilter.doFilter(StrutsExecuteFilter.java:88) > > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1322) > > com.opensymphony.sitemesh.webapp.SiteMeshFilter.obtainContent(SiteMeshFilter.java:129) > > com.opensymphony.sitemesh.webapp.SiteMeshFilter.doFilter(SiteMeshFilter.java:77) > > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1322) > > org.apache.struts2.dispatcher.ng.filter.StrutsPrepareFilter.doFilter(StrutsPrepareFilter.java:82) > > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1322) > > org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:83) > > org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) > > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1322) > > org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:473) > > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119) > > org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:514) > > org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226) > > org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:920) > org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:403) > > org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:184) > > org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:856) > > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117) > > org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:247) > > org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:151) > > org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:114) > org.eclipse.jetty.server.Server.handle(Server.java:352) > > org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:596) > > org.eclipse.jetty.server.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:1049) > org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:590) > org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:212) > org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:426) > > org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:510) > > org.eclipse.jetty.io.nio.SelectChannelEndPoint.access$000(SelectChannelEndPoint.java:34) > > org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:40) > > org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:450) > java.lang.Thread.run(Thread.java:619) > > > org.apache.struts2.json.JSONException: > java.lang.IllegalAccessException: Class > org.apache.struts2.json.JSONWriter can not access a member of class > org.joda.time.DateTimeFieldType$StandardDateTimeFieldType with > modifiers "public" > > org.apache.struts2.json.JSONWriter.bean(JSONWriter.java:250) > org.apache.struts2.json.JSONWriter.process(JSONWriter.java:164) > org.apache.struts2.json.JSONWriter.value(JSONWriter.java:130) > org.apache.struts2.json.JSONWriter.array(JSONWriter.java:456) > org.apache.struts2.json.JSONWriter.process(JSONWriter.java:152) > org.apache.struts2.json.JSONWriter.value(JSONWriter.java:130) > org.apache.struts2.json.JSONWriter.add(JSONWriter.java:336) > org.apache.struts2.json.JSONWriter.bean(JSONWriter.java:235) > org.apache.struts2.json.JSONWriter.process(JSONWriter.java:164) > org.apache.struts2.json.JSONWriter.value(JSONWriter.java:130) > org.apache.struts2.json.JSONWriter.add(JSONWriter.java:336) > org.apache.struts2.json.JSONWriter.bean(JSONWriter.java:235) > org.apache.struts2.json.JSONWriter.process(JSONWriter.java:164) > org.apache.struts2.json.JSONWriter.value(JSONWriter.java:130) > org.apache.struts2.json.JSONWriter.array(JSONWriter.java:425) > org.apache.struts2.json.JSONWriter.process(JSONWriter.java:154) > org.apache.struts2.json.JSONWriter.value(JSONWriter.java:130) > org.apache.struts2.json.JSONWriter.add(JSONWriter.java:336) > org.apache.struts2.json.JSONWriter.bean(JSONWriter.java:235) > org.apache.struts2.json.JSONWriter.process(JSONWriter.java:164) > org.apache.struts2.json.JSONWriter.value(JSONWriter.java:130) > org.apache.struts2.json.JSONWriter.write(JSONWriter.java:98) > org.apache.struts2.json.JSONUtil.serialize(JSONUtil.java:112) > org.apache.struts2.json.JSONResult.execute(JSONResult.java:198) > > com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:373) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:277) > > org.apache.struts2.json.JSONInterceptor.intercept(JSONInterceptor.java:179) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > com.opensymphony.xwork2.interceptor.annotations.AnnotationWorkflowInterceptor.intercept(AnnotationWorkflowInterceptor.java:135) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:176) > > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:263) > > org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68) > > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:133) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:207) > > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:207) > > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:190) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:75) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:94) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:243) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:100) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:141) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:267) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:142) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:166) > > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:176) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:190) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:187) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > net.teliasonera.roaming.web.interceptor.LocalizationInterceptor.intercept(LocalizationInterceptor.java:58) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > net.teliasonera.roaming.web.interceptor.JsonDetectorInterceptor.intercept(JsonDetectorInterceptor.java:63) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52) > > org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:485) > > org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77) > > org.apache.struts2.dispatcher.ng.filter.StrutsExecuteFilter.doFilter(StrutsExecuteFilter.java:88) > > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1322) > > com.opensymphony.sitemesh.webapp.SiteMeshFilter.obtainContent(SiteMeshFilter.java:129) > > com.opensymphony.sitemesh.webapp.SiteMeshFilter.doFilter(SiteMeshFilter.java:77) > > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1322) > > org.apache.struts2.dispatcher.ng.filter.StrutsPrepareFilter.doFilter(StrutsPrepareFilter.java:82) > > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1322) > > org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:83) > > org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) > > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1322) > > org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:473) > > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119) > > org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:514) > > org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226) > > org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:920) > org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:403) > > org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:184) > > org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:856) > > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117) > > org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:247) > > org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:151) > > org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:114) > org.eclipse.jetty.server.Server.handle(Server.java:352) > > org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:596) > > org.eclipse.jetty.server.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:1049) > org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:590) > org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:212) > org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:426) > > org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:510) > > org.eclipse.jetty.io.nio.SelectChannelEndPoint.access$000(SelectChannelEndPoint.java:34) > > org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:40) > > org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:450) > java.lang.Thread.run(Thread.java:619) > > > java.lang.IllegalAccessException: Class > org.apache.struts2.json.JSONWriter can not access a member of class > org.joda.time.DateTimeFieldType$StandardDateTimeFieldType with > modifiers "public" > > sun.reflect.Reflection.ensureMemberAccess(Reflection.java:65) > java.lang.reflect.Method.invoke(Method.java:588) > org.apache.struts2.json.JSONWriter.bean(JSONWriter.java:234) > org.apache.struts2.json.JSONWriter.process(JSONWriter.java:164) > org.apache.struts2.json.JSONWriter.value(JSONWriter.java:130) > org.apache.struts2.json.JSONWriter.array(JSONWriter.java:456) > org.apache.struts2.json.JSONWriter.process(JSONWriter.java:152) > org.apache.struts2.json.JSONWriter.value(JSONWriter.java:130) > org.apache.struts2.json.JSONWriter.add(JSONWriter.java:336) > org.apache.struts2.json.JSONWriter.bean(JSONWriter.java:235) > org.apache.struts2.json.JSONWriter.process(JSONWriter.java:164) > org.apache.struts2.json.JSONWriter.value(JSONWriter.java:130) > org.apache.struts2.json.JSONWriter.add(JSONWriter.java:336) > org.apache.struts2.json.JSONWriter.bean(JSONWriter.java:235) > org.apache.struts2.json.JSONWriter.process(JSONWriter.java:164) > org.apache.struts2.json.JSONWriter.value(JSONWriter.java:130) > org.apache.struts2.json.JSONWriter.array(JSONWriter.java:425) > org.apache.struts2.json.JSONWriter.process(JSONWriter.java:154) > org.apache.struts2.json.JSONWriter.value(JSONWriter.java:130) > org.apache.struts2.json.JSONWriter.add(JSONWriter.java:336) > org.apache.struts2.json.JSONWriter.bean(JSONWriter.java:235) > org.apache.struts2.json.JSONWriter.process(JSONWriter.java:164) > org.apache.struts2.json.JSONWriter.value(JSONWriter.java:130) > org.apache.struts2.json.JSONWriter.write(JSONWriter.java:98) > org.apache.struts2.json.JSONUtil.serialize(JSONUtil.java:112) > org.apache.struts2.json.JSONResult.execute(JSONResult.java:198) > > com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:373) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:277) > > org.apache.struts2.json.JSONInterceptor.intercept(JSONInterceptor.java:179) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > com.opensymphony.xwork2.interceptor.annotations.AnnotationWorkflowInterceptor.intercept(AnnotationWorkflowInterceptor.java:135) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:176) > > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:263) > > org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68) > > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:133) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:207) > > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:207) > > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:190) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:75) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:94) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:243) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:100) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:141) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:267) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:142) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:166) > > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:176) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:190) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:187) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > net.teliasonera.roaming.web.interceptor.LocalizationInterceptor.intercept(LocalizationInterceptor.java:58) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > net.teliasonera.roaming.web.interceptor.JsonDetectorInterceptor.intercept(JsonDetectorInterceptor.java:63) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) > > org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52) > > org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:485) > > org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77) > > org.apache.struts2.dispatcher.ng.filter.StrutsExecuteFilter.doFilter(StrutsExecuteFilter.java:88) > > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1322) > > com.opensymphony.sitemesh.webapp.SiteMeshFilter.obtainContent(SiteMeshFilter.java:129) > > com.opensymphony.sitemesh.webapp.SiteMeshFilter.doFilter(SiteMeshFilter.java:77) > > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1322) > > org.apache.struts2.dispatcher.ng.filter.StrutsPrepareFilter.doFilter(StrutsPrepareFilter.java:82) > > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1322) > > org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:83) > > org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) > > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1322) > > org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:473) > > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119) > > org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:514) > > org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226) > > org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:920) > org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:403) > > org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:184) > > org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:856) > > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117) > > org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:247) > > org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:151) > > org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:114) > org.eclipse.jetty.server.Server.handle(Server.java:352) > > org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:596) > > org.eclipse.jetty.server.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:1049) > org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:590) > org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:212) > org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:426) > > org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:510) > > org.eclipse.jetty.io.nio.SelectChannelEndPoint.access$000(SelectChannelEndPoint.java:34) > > org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:40) > > org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:450) > java.lang.Thread.run(Thread.java:619) > > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscr...@struts.apache.org > For additional commands, e-mail: dev-h...@struts.apache.org > --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@struts.apache.org For additional commands, e-mail: dev-h...@struts.apache.org