You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@struts.apache.org by "Matt Raible (JIRA)" <ji...@apache.org> on 2007/06/07 17:12:26 UTC

[jira] Created: (WW-1978) NPE in XWorkConverter.loadConversionProperties after adding DateConverter

NPE in XWorkConverter.loadConversionProperties after adding DateConverter
-------------------------------------------------------------------------

                 Key: WW-1978
                 URL: https://issues.apache.org/struts/browse/WW-1978
             Project: Struts 2
          Issue Type: Bug
          Components: Actions
    Affects Versions: 2.0.8, 2.0.6
            Reporter: Matt Raible


I recently added a DateConverter to my project (Struts 2.0.6, Maven 2) and now I'm getting NPEs when running tests.

xwork-conversion.properties:

java.util.Date=org.appfuse.webapp.action.DateConverter

DateConverter.java:

public class DateConverter extends StrutsTypeConverter {

    public Object convertFromString(Map ctx, String[] value, Class arg2) {
        if (value[0] == null || value[0].trim().equals("")) {
            return null;
        }

        try {
            return DateUtil.convertStringToDate(value[0]);
        } catch (ParseException pe) {
            pe.printStackTrace();
            throw new TypeConversionException(pe.getMessage());
        }
    }

    public String convertToString(Map ctx, Object data) {
        return DateUtil.convertDateToString((Date) data);
    }
}

My test's setUp() method:

    @Override
    protected void onSetUpBeforeTransaction() throws Exception {
        LocalizedTextUtil.addDefaultResourceBundle(Constants.BUNDLE_KEY);
        ActionContext.getContext().setSession(new HashMap());

        // change the port on the mailSender so it doesn't conflict with an
        // existing SMTP server on localhost
        JavaMailSenderImpl mailSender = (JavaMailSenderImpl) applicationContext.getBean("mailSender");
        mailSender.setPort(2525);
        mailSender.setHost("localhost");

        // populate the request so getRequest().getSession() doesn't fail in BaseAction.java
        ServletActionContext.setRequest(new MockHttpServletRequest());
    }

Stack trace:

ERROR [main] XWorkConverter.loadConversionProperties(645) | Conversion registration error
java.lang.NullPointerException
        at com.opensymphony.xwork2.util.XWorkConverter.createTypeConverter(XWorkConverter.java:621)
        at com.opensymphony.xwork2.util.XWorkConverter.loadConversionProperties(XWorkConverter.java:639)
        at com.opensymphony.xwork2.util.XWorkConverter.<init>(XWorkConverter.java:176)
        at com.opensymphony.xwork2.util.AnnotationXWorkConverter.<init>(AnnotationXWorkConverter.java:98)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
        at java.lang.Class.newInstance0(Class.java:350)
        at java.lang.Class.newInstance(Class.java:303)
        at com.opensymphony.xwork2.util.XWorkConverter.getInstance(XWorkConverter.java:202)
        at com.opensymphony.xwork2.util.XWorkMapPropertyAccessor.<clinit>(XWorkMapPropertyAccessor.java:30)
        at com.opensymphony.xwork2.util.OgnlValueStack.reset(OgnlValueStack.java:47)
        at com.opensymphony.xwork2.util.OgnlValueStack.<clinit>(OgnlValueStack.java:37)
        at com.opensymphony.xwork2.util.OgnlValueStackFactory.createValueStack(OgnlValueStackFactory.java:14)
        at com.opensymphony.xwork2.ActionContext$ActionContextThreadLocal.initialValue(ActionContext.java:329)
        at java.lang.ThreadLocal$ThreadLocalMap.getAfterMiss(ThreadLocal.java:374)
        at java.lang.ThreadLocal$ThreadLocalMap.get(ThreadLocal.java:347)
        at java.lang.ThreadLocal$ThreadLocalMap.access$000(ThreadLocal.java:225)
        at java.lang.ThreadLocal.get(ThreadLocal.java:127)
        at com.opensymphony.xwork2.ActionContext.getContext(ActionContext.java:151)
        at org.appfuse.webapp.action.BaseActionTestCase.onSetUpBeforeTransaction(BaseActionTestCase.java:35) 

I tested this with Struts 2.0.8 and there's no change.

I posted this to the mailing list, but received no responses.

http://www.nabble.com/Testing-error-after-adding-DateConverter-tf3868021.html

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


[jira] Resolved: (WW-1978) NPE in XWorkConverter.loadConversionProperties after adding DateConverter

Posted by "Don Brown (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/struts/browse/WW-1978?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Don Brown resolved WW-1978.
---------------------------

    Resolution: Fixed
      Assignee: Don Brown  (was: Rainer Hermanns)

If someone wants to fix this in 2.0, please reopen, but this has been fixed in 2.1 since there are no more lazy static initalizations to screw things up.

> NPE in XWorkConverter.loadConversionProperties after adding DateConverter
> -------------------------------------------------------------------------
>
>                 Key: WW-1978
>                 URL: https://issues.apache.org/struts/browse/WW-1978
>             Project: Struts 2
>          Issue Type: Bug
>          Components: Actions
>    Affects Versions: 2.0.6, 2.0.8
>            Reporter: Matt Raible
>            Assignee: Don Brown
>             Fix For: 2.1.0
>
>
> I recently added a DateConverter to my project (Struts 2.0.6, Maven 2) and now I'm getting NPEs when running tests.
> xwork-conversion.properties:
> java.util.Date=org.appfuse.webapp.action.DateConverter
> DateConverter.java:
> public class DateConverter extends StrutsTypeConverter {
>     public Object convertFromString(Map ctx, String[] value, Class arg2) {
>         if (value[0] == null || value[0].trim().equals("")) {
>             return null;
>         }
>         try {
>             return DateUtil.convertStringToDate(value[0]);
>         } catch (ParseException pe) {
>             pe.printStackTrace();
>             throw new TypeConversionException(pe.getMessage());
>         }
>     }
>     public String convertToString(Map ctx, Object data) {
>         return DateUtil.convertDateToString((Date) data);
>     }
> }
> My test's setUp() method:
>     @Override
>     protected void onSetUpBeforeTransaction() throws Exception {
>         LocalizedTextUtil.addDefaultResourceBundle(Constants.BUNDLE_KEY);
>         ActionContext.getContext().setSession(new HashMap());
>         // change the port on the mailSender so it doesn't conflict with an
>         // existing SMTP server on localhost
>         JavaMailSenderImpl mailSender = (JavaMailSenderImpl) applicationContext.getBean("mailSender");
>         mailSender.setPort(2525);
>         mailSender.setHost("localhost");
>         // populate the request so getRequest().getSession() doesn't fail in BaseAction.java
>         ServletActionContext.setRequest(new MockHttpServletRequest());
>     }
> Stack trace:
> ERROR [main] XWorkConverter.loadConversionProperties(645) | Conversion registration error
> java.lang.NullPointerException
>         at com.opensymphony.xwork2.util.XWorkConverter.createTypeConverter(XWorkConverter.java:621)
>         at com.opensymphony.xwork2.util.XWorkConverter.loadConversionProperties(XWorkConverter.java:639)
>         at com.opensymphony.xwork2.util.XWorkConverter.<init>(XWorkConverter.java:176)
>         at com.opensymphony.xwork2.util.AnnotationXWorkConverter.<init>(AnnotationXWorkConverter.java:98)
>         at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
>         at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
>         at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
>         at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
>         at java.lang.Class.newInstance0(Class.java:350)
>         at java.lang.Class.newInstance(Class.java:303)
>         at com.opensymphony.xwork2.util.XWorkConverter.getInstance(XWorkConverter.java:202)
>         at com.opensymphony.xwork2.util.XWorkMapPropertyAccessor.<clinit>(XWorkMapPropertyAccessor.java:30)
>         at com.opensymphony.xwork2.util.OgnlValueStack.reset(OgnlValueStack.java:47)
>         at com.opensymphony.xwork2.util.OgnlValueStack.<clinit>(OgnlValueStack.java:37)
>         at com.opensymphony.xwork2.util.OgnlValueStackFactory.createValueStack(OgnlValueStackFactory.java:14)
>         at com.opensymphony.xwork2.ActionContext$ActionContextThreadLocal.initialValue(ActionContext.java:329)
>         at java.lang.ThreadLocal$ThreadLocalMap.getAfterMiss(ThreadLocal.java:374)
>         at java.lang.ThreadLocal$ThreadLocalMap.get(ThreadLocal.java:347)
>         at java.lang.ThreadLocal$ThreadLocalMap.access$000(ThreadLocal.java:225)
>         at java.lang.ThreadLocal.get(ThreadLocal.java:127)
>         at com.opensymphony.xwork2.ActionContext.getContext(ActionContext.java:151)
>         at org.appfuse.webapp.action.BaseActionTestCase.onSetUpBeforeTransaction(BaseActionTestCase.java:35) 
> I tested this with Struts 2.0.8 and there's no change.
> I posted this to the mailing list, but received no responses.
> http://www.nabble.com/Testing-error-after-adding-DateConverter-tf3868021.html

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


[jira] Commented: (WW-1978) NPE in XWorkConverter.loadConversionProperties after adding DateConverter

Posted by "Matt Raible (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/struts/browse/WW-1978?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_42119 ] 

Matt Raible commented on WW-1978:
---------------------------------

Yes, it's still an issue in 2.0.9:

ERROR [main] XWorkConverter.loadConversionProperties(784) | Conversion registration error
java.lang.NullPointerException
        at com.opensymphony.xwork2.util.XWorkConverter.createTypeConverter(XWorkConverter.java:760)
        at com.opensymphony.xwork2.util.XWorkConverter.loadConversionProperties(XWorkConverter.java:778)
        at com.opensymphony.xwork2.util.XWorkConverter.<init>(XWorkConverter.java:183)
        at com.opensymphony.xwork2.util.XWorkConverter.getInstance(XWorkConverter.java:207)
        at com.opensymphony.xwork2.util.OgnlValueStack.setRoot(OgnlValueStack.java:340)
        at com.opensymphony.xwork2.util.OgnlValueStack.<init>(OgnlValueStack.java:84)
        at com.opensymphony.xwork2.util.OgnlValueStackFactory.createValueStack(OgnlValueStackFactory.java:14)


> NPE in XWorkConverter.loadConversionProperties after adding DateConverter
> -------------------------------------------------------------------------
>
>                 Key: WW-1978
>                 URL: https://issues.apache.org/struts/browse/WW-1978
>             Project: Struts 2
>          Issue Type: Bug
>          Components: Actions
>    Affects Versions: 2.0.6, 2.0.8
>            Reporter: Matt Raible
>            Assignee: Rainer Hermanns
>             Fix For: 2.1.0
>
>
> I recently added a DateConverter to my project (Struts 2.0.6, Maven 2) and now I'm getting NPEs when running tests.
> xwork-conversion.properties:
> java.util.Date=org.appfuse.webapp.action.DateConverter
> DateConverter.java:
> public class DateConverter extends StrutsTypeConverter {
>     public Object convertFromString(Map ctx, String[] value, Class arg2) {
>         if (value[0] == null || value[0].trim().equals("")) {
>             return null;
>         }
>         try {
>             return DateUtil.convertStringToDate(value[0]);
>         } catch (ParseException pe) {
>             pe.printStackTrace();
>             throw new TypeConversionException(pe.getMessage());
>         }
>     }
>     public String convertToString(Map ctx, Object data) {
>         return DateUtil.convertDateToString((Date) data);
>     }
> }
> My test's setUp() method:
>     @Override
>     protected void onSetUpBeforeTransaction() throws Exception {
>         LocalizedTextUtil.addDefaultResourceBundle(Constants.BUNDLE_KEY);
>         ActionContext.getContext().setSession(new HashMap());
>         // change the port on the mailSender so it doesn't conflict with an
>         // existing SMTP server on localhost
>         JavaMailSenderImpl mailSender = (JavaMailSenderImpl) applicationContext.getBean("mailSender");
>         mailSender.setPort(2525);
>         mailSender.setHost("localhost");
>         // populate the request so getRequest().getSession() doesn't fail in BaseAction.java
>         ServletActionContext.setRequest(new MockHttpServletRequest());
>     }
> Stack trace:
> ERROR [main] XWorkConverter.loadConversionProperties(645) | Conversion registration error
> java.lang.NullPointerException
>         at com.opensymphony.xwork2.util.XWorkConverter.createTypeConverter(XWorkConverter.java:621)
>         at com.opensymphony.xwork2.util.XWorkConverter.loadConversionProperties(XWorkConverter.java:639)
>         at com.opensymphony.xwork2.util.XWorkConverter.<init>(XWorkConverter.java:176)
>         at com.opensymphony.xwork2.util.AnnotationXWorkConverter.<init>(AnnotationXWorkConverter.java:98)
>         at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
>         at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
>         at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
>         at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
>         at java.lang.Class.newInstance0(Class.java:350)
>         at java.lang.Class.newInstance(Class.java:303)
>         at com.opensymphony.xwork2.util.XWorkConverter.getInstance(XWorkConverter.java:202)
>         at com.opensymphony.xwork2.util.XWorkMapPropertyAccessor.<clinit>(XWorkMapPropertyAccessor.java:30)
>         at com.opensymphony.xwork2.util.OgnlValueStack.reset(OgnlValueStack.java:47)
>         at com.opensymphony.xwork2.util.OgnlValueStack.<clinit>(OgnlValueStack.java:37)
>         at com.opensymphony.xwork2.util.OgnlValueStackFactory.createValueStack(OgnlValueStackFactory.java:14)
>         at com.opensymphony.xwork2.ActionContext$ActionContextThreadLocal.initialValue(ActionContext.java:329)
>         at java.lang.ThreadLocal$ThreadLocalMap.getAfterMiss(ThreadLocal.java:374)
>         at java.lang.ThreadLocal$ThreadLocalMap.get(ThreadLocal.java:347)
>         at java.lang.ThreadLocal$ThreadLocalMap.access$000(ThreadLocal.java:225)
>         at java.lang.ThreadLocal.get(ThreadLocal.java:127)
>         at com.opensymphony.xwork2.ActionContext.getContext(ActionContext.java:151)
>         at org.appfuse.webapp.action.BaseActionTestCase.onSetUpBeforeTransaction(BaseActionTestCase.java:35) 
> I tested this with Struts 2.0.8 and there's no change.
> I posted this to the mailing list, but received no responses.
> http://www.nabble.com/Testing-error-after-adding-DateConverter-tf3868021.html

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


[jira] Commented: (WW-1978) NPE in XWorkConverter.loadConversionProperties after adding DateConverter

Posted by "Sami Dalouche (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/struts/browse/WW-1978?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=43145#action_43145 ] 

Sami Dalouche commented on WW-1978:
-----------------------------------

Hi,

I have upgraded to Struts 2.1.0 and struts 2.1.1-snapshot, and experience the same problem with both versions.
Can you really confidently say that this bug is resolved ?

[ERROR] [2008-02-03 09:22:03,074] [com.opensymphony.xwork2.conversion.impl.XWorkConverter] (main,) : Conversion registration error
java.lang.NullPointerException
        at com.opensymphony.xwork2.conversion.impl.XWorkConverter.createTypeConverter(XWorkConverter.java:729)
        at com.opensymphony.xwork2.conversion.impl.XWorkConverter.loadConversionProperties(XWorkConverter.java:756)
        at com.opensymphony.xwork2.conversion.impl.XWorkConverter.<init>(XWorkConverter.java:184)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
        at com.opensymphony.xwork2.inject.ContainerImpl$ConstructorInjector.construct(ContainerImpl.java:388)
        at com.opensymphony.xwork2.inject.ContainerBuilder$5.create(ContainerBuilder.java:211)
        at com.opensymphony.xwork2.inject.Scope$2$1.create(Scope.java:49)
        at com.opensymphony.xwork2.inject.ContainerImpl$ParameterInjector.inject(ContainerImpl.java:431)
        at com.opensymphony.xwork2.inject.ContainerImpl.getParameters(ContainerImpl.java:446)
        at com.opensymphony.xwork2.inject.ContainerImpl.access$000(ContainerImpl.java:48)
        at com.opensymphony.xwork2.inject.ContainerImpl$MethodInjector.inject(ContainerImpl.java:288)
        at com.opensymphony.xwork2.inject.ContainerImpl$ConstructorInjector.construct(ContainerImpl.java:400)
        at com.opensymphony.xwork2.inject.ContainerBuilder$5.create(ContainerBuilder.java:211)
        at com.opensymphony.xwork2.inject.Scope$2$1.create(Scope.java:49)
        at com.opensymphony.xwork2.inject.ContainerImpl$ParameterInjector.inject(ContainerImpl.java:431)
        at com.opensymphony.xwork2.inject.ContainerImpl.getParameters(ContainerImpl.java:446)
        at com.opensymphony.xwork2.inject.ContainerImpl.access$000(ContainerImpl.java:48)
        at com.opensymphony.xwork2.inject.ContainerImpl$MethodInjector.inject(ContainerImpl.java:288)
        at com.opensymphony.xwork2.inject.ContainerImpl$ConstructorInjector.construct(ContainerImpl.java:400)
        at com.opensymphony.xwork2.inject.ContainerBuilder$5.create(ContainerBuilder.java:211)
        at com.opensymphony.xwork2.inject.Scope$2$1.create(Scope.java:49)
        at com.opensymphony.xwork2.inject.ContainerImpl$ParameterInjector.inject(ContainerImpl.java:431)
        at com.opensymphony.xwork2.inject.ContainerImpl.getParameters(ContainerImpl.java:446)
        at com.opensymphony.xwork2.inject.ContainerImpl.access$000(ContainerImpl.java:48)
        at com.opensymphony.xwork2.inject.ContainerImpl$MethodInjector.inject(ContainerImpl.java:288)
        at com.opensymphony.xwork2.inject.ContainerImpl$ConstructorInjector.construct(ContainerImpl.java:400)
        at com.opensymphony.xwork2.inject.ContainerBuilder$5.create(ContainerBuilder.java:211)
        at com.opensymphony.xwork2.inject.Scope$2$1.create(Scope.java:49)
        at com.opensymphony.xwork2.inject.ContainerBuilder$3.create(ContainerBuilder.java:98)
        at com.opensymphony.xwork2.inject.ContainerBuilder$7.call(ContainerBuilder.java:489)
        at com.opensymphony.xwork2.inject.ContainerBuilder$7.call(ContainerBuilder.java:487)
        at com.opensymphony.xwork2.inject.ContainerImpl.callInContext(ContainerImpl.java:542)
        at com.opensymphony.xwork2.inject.ContainerBuilder.create(ContainerBuilder.java:486)
        at com.opensymphony.xwork2.config.impl.DefaultConfiguration.createBootstrapContainer(DefaultConfiguration.java:221)
        at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:168)
        at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:55)
        at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:370)
        at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:423)
        at org.apache.struts2.dispatcher.FilterDispatcher.init(FilterDispatcher.java:211)
        at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:223)
        at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:304)
        at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:77)
        at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3598)
        at org.apache.catalina.core.StandardContext.start(StandardContext.java:4168)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1012)
        at org.apache.catalina.core.StandardHost.start(StandardHost.java:718)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1012)
        at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:442)
        at org.apache.catalina.startup.Embedded.start(Embedded.java:821)
        at org.codehaus.mojo.tomcat.AbstractRunMojo.startContainer(AbstractRunMojo.java:253)
        at org.codehaus.mojo.tomcat.AbstractRunMojo.execute(AbstractRunMojo.java:113)
        at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:447)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:539)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal(DefaultLifecycleExecutor.java:493)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:463)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:311)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:278)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:143)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:333)
        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:126)
        at org.apache.maven.cli.MavenCli.main(MavenCli.java:282)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
        at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
        at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
        at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
[INFO] [2008-02-03 09:22:03,161] [org.apache.struts2.spring.StrutsSpringObjectFactory] (main,) : Initializing Struts-Spring integration...
[INFO] [2008-02-03 09:22:03,161] [com.opensymphony.xwork2.spring.SpringObjectFactory] (main,) : Setting autowire strategy to name
[INFO] [2008-02-03 09:22:03,161] [org.apache.struts2.spring.StrutsSpringObjectFactory] (main,) : ... initialized Struts-Spring integration successfully
[ERROR] [2008-02-03 09:22:03,162] [com.opensymphony.xwork2.conversion.impl.XWorkConverter] (main,) : Conversion registration error
java.lang.NullPointerException
        at com.opensymphony.xwork2.conversion.impl.XWorkConverter.createTypeConverter(XWorkConverter.java:729)
        at com.opensymphony.xwork2.conversion.impl.XWorkConverter.loadConversionProperties(XWorkConverter.java:756)
        at com.opensymphony.xwork2.conversion.impl.XWorkConverter.<init>(XWorkConverter.java:184)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
        at com.opensymphony.xwork2.inject.ContainerImpl$ConstructorInjector.construct(ContainerImpl.java:388)
        at com.opensymphony.xwork2.inject.ContainerImpl.inject(ContainerImpl.java:461)
        at com.opensymphony.xwork2.inject.ContainerImpl$7.call(ContainerImpl.java:501)
        at com.opensymphony.xwork2.inject.ContainerImpl.callInContext(ContainerImpl.java:549)
        at com.opensymphony.xwork2.inject.ContainerImpl.inject(ContainerImpl.java:499)
        at com.opensymphony.xwork2.config.impl.LocatableFactory.create(LocatableFactory.java:32)
        at com.opensymphony.xwork2.inject.ContainerBuilder$4.create(ContainerBuilder.java:135)
        at com.opensymphony.xwork2.inject.Scope$2$1.create(Scope.java:49)
        at com.opensymphony.xwork2.inject.ContainerImpl$ParameterInjector.inject(ContainerImpl.java:431)
        at com.opensymphony.xwork2.inject.ContainerImpl.getParameters(ContainerImpl.java:446)
        at com.opensymphony.xwork2.inject.ContainerImpl.access$000(ContainerImpl.java:48)
        at com.opensymphony.xwork2.inject.ContainerImpl$MethodInjector.inject(ContainerImpl.java:288)
        at com.opensymphony.xwork2.inject.ContainerImpl$ConstructorInjector.construct(ContainerImpl.java:400)
        at com.opensymphony.xwork2.inject.ContainerImpl.inject(ContainerImpl.java:461)
        at com.opensymphony.xwork2.inject.ContainerImpl$7.call(ContainerImpl.java:501)
        at com.opensymphony.xwork2.inject.ContainerImpl.callInContext(ContainerImpl.java:549)
        at com.opensymphony.xwork2.inject.ContainerImpl.inject(ContainerImpl.java:499)
        at com.opensymphony.xwork2.config.impl.LocatableFactory.create(LocatableFactory.java:32)
        at com.opensymphony.xwork2.inject.ContainerBuilder$4.create(ContainerBuilder.java:135)
        at com.opensymphony.xwork2.inject.Scope$2$1.create(Scope.java:49)
        at com.opensymphony.xwork2.inject.ContainerImpl$ParameterInjector.inject(ContainerImpl.java:431)
        at com.opensymphony.xwork2.inject.ContainerImpl.getParameters(ContainerImpl.java:446)
        at com.opensymphony.xwork2.inject.ContainerImpl.access$000(ContainerImpl.java:48)
        at com.opensymphony.xwork2.inject.ContainerImpl$MethodInjector.inject(ContainerImpl.java:288)
        at com.opensymphony.xwork2.inject.ContainerImpl$ConstructorInjector.construct(ContainerImpl.java:400)
        at com.opensymphony.xwork2.inject.ContainerImpl.inject(ContainerImpl.java:461)
        at com.opensymphony.xwork2.inject.ContainerImpl$7.call(ContainerImpl.java:501)
        at com.opensymphony.xwork2.inject.ContainerImpl.callInContext(ContainerImpl.java:549)
        at com.opensymphony.xwork2.inject.ContainerImpl.inject(ContainerImpl.java:499)
        at com.opensymphony.xwork2.config.impl.LocatableFactory.create(LocatableFactory.java:32)
        at com.opensymphony.xwork2.inject.ContainerBuilder$4.create(ContainerBuilder.java:135)
        at com.opensymphony.xwork2.inject.Scope$2$1.create(Scope.java:49)
        at com.opensymphony.xwork2.inject.ContainerImpl$ParameterInjector.inject(ContainerImpl.java:431)
        at com.opensymphony.xwork2.inject.ContainerImpl.getParameters(ContainerImpl.java:446)
        at com.opensymphony.xwork2.inject.ContainerImpl.access$000(ContainerImpl.java:48)
        at com.opensymphony.xwork2.inject.ContainerImpl$MethodInjector.inject(ContainerImpl.java:288)
        at com.opensymphony.xwork2.inject.ContainerImpl$ConstructorInjector.construct(ContainerImpl.java:400)
        at com.opensymphony.xwork2.inject.ContainerImpl.inject(ContainerImpl.java:461)
        at com.opensymphony.xwork2.inject.ContainerImpl$7.call(ContainerImpl.java:501)
        at com.opensymphony.xwork2.inject.ContainerImpl.callInContext(ContainerImpl.java:549)
        at com.opensymphony.xwork2.inject.ContainerImpl.inject(ContainerImpl.java:499)
        at com.opensymphony.xwork2.config.impl.LocatableFactory.create(LocatableFactory.java:32)
        at com.opensymphony.xwork2.inject.ContainerBuilder$4.create(ContainerBuilder.java:135)
        at com.opensymphony.xwork2.inject.Scope$2$1.create(Scope.java:49)
        at com.opensymphony.xwork2.inject.ContainerImpl.getInstance(ContainerImpl.java:476)
        at com.opensymphony.xwork2.inject.ContainerImpl.getInstance(ContainerImpl.java:486)
        at com.opensymphony.xwork2.inject.ContainerImpl$9.call(ContainerImpl.java:517)
        at com.opensymphony.xwork2.inject.ContainerImpl.callInContext(ContainerImpl.java:549)
        at com.opensymphony.xwork2.inject.ContainerImpl.getInstance(ContainerImpl.java:515)
        at org.apache.struts2.config.BeanSelectionProvider$ObjectFactoryDelegateFactory.create(BeanSelectionProvider.java:297)
        at com.opensymphony.xwork2.inject.ContainerBuilder$4.create(ContainerBuilder.java:135)
        at com.opensymphony.xwork2.inject.Scope$2$1.create(Scope.java:49)
        at com.opensymphony.xwork2.inject.ContainerImpl$ParameterInjector.inject(ContainerImpl.java:431)
        at com.opensymphony.xwork2.inject.ContainerImpl.getParameters(ContainerImpl.java:446)
        at com.opensymphony.xwork2.inject.ContainerImpl.access$000(ContainerImpl.java:48)
        at com.opensymphony.xwork2.inject.ContainerImpl$MethodInjector.inject(ContainerImpl.java:288)
        at com.opensymphony.xwork2.inject.ContainerImpl$2.call(ContainerImpl.java:117)
        at com.opensymphony.xwork2.inject.ContainerImpl$2.call(ContainerImpl.java:115)
        at com.opensymphony.xwork2.inject.ContainerImpl.callInContext(ContainerImpl.java:542)
        at com.opensymphony.xwork2.inject.ContainerImpl.injectStatics(ContainerImpl.java:114)
        at com.opensymphony.xwork2.inject.ContainerBuilder.create(ContainerBuilder.java:495)
        at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:170)
        at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:55)
        at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:370)
        at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:423)
        at org.apache.struts2.dispatcher.FilterDispatcher.init(FilterDispatcher.java:211)
        at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:223)
        at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:304)
        at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:77)
        at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3598)
        at org.apache.catalina.core.StandardContext.start(StandardContext.java:4168)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1012)
        at org.apache.catalina.core.StandardHost.start(StandardHost.java:718)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1012)
        at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:442)
        at org.apache.catalina.startup.Embedded.start(Embedded.java:821)
        at org.codehaus.mojo.tomcat.AbstractRunMojo.startContainer(AbstractRunMojo.java:253)
        at org.codehaus.mojo.tomcat.AbstractRunMojo.execute(AbstractRunMojo.java:113)
        at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:447)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:539)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal(DefaultLifecycleExecutor.java:493)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:463)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:311)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:278)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:143)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:333)
        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:126)
        at org.apache.maven.cli.MavenCli.main(MavenCli.java:282)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
        at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
        at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
        at org.codehaus.classworlds.Launcher.main(Launcher.java:375)


> NPE in XWorkConverter.loadConversionProperties after adding DateConverter
> -------------------------------------------------------------------------
>
>                 Key: WW-1978
>                 URL: https://issues.apache.org/struts/browse/WW-1978
>             Project: Struts 2
>          Issue Type: Bug
>          Components: Core Actions
>    Affects Versions: 2.0.6, 2.0.8
>            Reporter: Matt Raible
>            Assignee: Don Brown
>             Fix For: 2.1.0
>
>
> I recently added a DateConverter to my project (Struts 2.0.6, Maven 2) and now I'm getting NPEs when running tests.
> xwork-conversion.properties:
> java.util.Date=org.appfuse.webapp.action.DateConverter
> DateConverter.java:
> public class DateConverter extends StrutsTypeConverter {
>     public Object convertFromString(Map ctx, String[] value, Class arg2) {
>         if (value[0] == null || value[0].trim().equals("")) {
>             return null;
>         }
>         try {
>             return DateUtil.convertStringToDate(value[0]);
>         } catch (ParseException pe) {
>             pe.printStackTrace();
>             throw new TypeConversionException(pe.getMessage());
>         }
>     }
>     public String convertToString(Map ctx, Object data) {
>         return DateUtil.convertDateToString((Date) data);
>     }
> }
> My test's setUp() method:
>     @Override
>     protected void onSetUpBeforeTransaction() throws Exception {
>         LocalizedTextUtil.addDefaultResourceBundle(Constants.BUNDLE_KEY);
>         ActionContext.getContext().setSession(new HashMap());
>         // change the port on the mailSender so it doesn't conflict with an
>         // existing SMTP server on localhost
>         JavaMailSenderImpl mailSender = (JavaMailSenderImpl) applicationContext.getBean("mailSender");
>         mailSender.setPort(2525);
>         mailSender.setHost("localhost");
>         // populate the request so getRequest().getSession() doesn't fail in BaseAction.java
>         ServletActionContext.setRequest(new MockHttpServletRequest());
>     }
> Stack trace:
> ERROR [main] XWorkConverter.loadConversionProperties(645) | Conversion registration error
> java.lang.NullPointerException
>         at com.opensymphony.xwork2.util.XWorkConverter.createTypeConverter(XWorkConverter.java:621)
>         at com.opensymphony.xwork2.util.XWorkConverter.loadConversionProperties(XWorkConverter.java:639)
>         at com.opensymphony.xwork2.util.XWorkConverter.<init>(XWorkConverter.java:176)
>         at com.opensymphony.xwork2.util.AnnotationXWorkConverter.<init>(AnnotationXWorkConverter.java:98)
>         at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
>         at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
>         at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
>         at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
>         at java.lang.Class.newInstance0(Class.java:350)
>         at java.lang.Class.newInstance(Class.java:303)
>         at com.opensymphony.xwork2.util.XWorkConverter.getInstance(XWorkConverter.java:202)
>         at com.opensymphony.xwork2.util.XWorkMapPropertyAccessor.<clinit>(XWorkMapPropertyAccessor.java:30)
>         at com.opensymphony.xwork2.util.OgnlValueStack.reset(OgnlValueStack.java:47)
>         at com.opensymphony.xwork2.util.OgnlValueStack.<clinit>(OgnlValueStack.java:37)
>         at com.opensymphony.xwork2.util.OgnlValueStackFactory.createValueStack(OgnlValueStackFactory.java:14)
>         at com.opensymphony.xwork2.ActionContext$ActionContextThreadLocal.initialValue(ActionContext.java:329)
>         at java.lang.ThreadLocal$ThreadLocalMap.getAfterMiss(ThreadLocal.java:374)
>         at java.lang.ThreadLocal$ThreadLocalMap.get(ThreadLocal.java:347)
>         at java.lang.ThreadLocal$ThreadLocalMap.access$000(ThreadLocal.java:225)
>         at java.lang.ThreadLocal.get(ThreadLocal.java:127)
>         at com.opensymphony.xwork2.ActionContext.getContext(ActionContext.java:151)
>         at org.appfuse.webapp.action.BaseActionTestCase.onSetUpBeforeTransaction(BaseActionTestCase.java:35) 
> I tested this with Struts 2.0.8 and there's no change.
> I posted this to the mailing list, but received no responses.
> http://www.nabble.com/Testing-error-after-adding-DateConverter-tf3868021.html

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


[jira] Commented: (WW-1978) NPE in XWorkConverter.loadConversionProperties after adding DateConverter

Posted by "Rainer Hermanns (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/struts/browse/WW-1978?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_41479 ] 

Rainer Hermanns commented on WW-1978:
-------------------------------------

Matt, Marcin,

I can reproduce the issue locally and we will target this asap but it won't make it in the upcoming security fix release.
If someone already got a working patch arround, we would be very pleased to apply it to the codebase.

tia,
Rainer 

> NPE in XWorkConverter.loadConversionProperties after adding DateConverter
> -------------------------------------------------------------------------
>
>                 Key: WW-1978
>                 URL: https://issues.apache.org/struts/browse/WW-1978
>             Project: Struts 2
>          Issue Type: Bug
>          Components: Actions
>    Affects Versions: 2.0.6, 2.0.8
>            Reporter: Matt Raible
>            Assignee: Rainer Hermanns
>             Fix For: 2.1.0
>
>
> I recently added a DateConverter to my project (Struts 2.0.6, Maven 2) and now I'm getting NPEs when running tests.
> xwork-conversion.properties:
> java.util.Date=org.appfuse.webapp.action.DateConverter
> DateConverter.java:
> public class DateConverter extends StrutsTypeConverter {
>     public Object convertFromString(Map ctx, String[] value, Class arg2) {
>         if (value[0] == null || value[0].trim().equals("")) {
>             return null;
>         }
>         try {
>             return DateUtil.convertStringToDate(value[0]);
>         } catch (ParseException pe) {
>             pe.printStackTrace();
>             throw new TypeConversionException(pe.getMessage());
>         }
>     }
>     public String convertToString(Map ctx, Object data) {
>         return DateUtil.convertDateToString((Date) data);
>     }
> }
> My test's setUp() method:
>     @Override
>     protected void onSetUpBeforeTransaction() throws Exception {
>         LocalizedTextUtil.addDefaultResourceBundle(Constants.BUNDLE_KEY);
>         ActionContext.getContext().setSession(new HashMap());
>         // change the port on the mailSender so it doesn't conflict with an
>         // existing SMTP server on localhost
>         JavaMailSenderImpl mailSender = (JavaMailSenderImpl) applicationContext.getBean("mailSender");
>         mailSender.setPort(2525);
>         mailSender.setHost("localhost");
>         // populate the request so getRequest().getSession() doesn't fail in BaseAction.java
>         ServletActionContext.setRequest(new MockHttpServletRequest());
>     }
> Stack trace:
> ERROR [main] XWorkConverter.loadConversionProperties(645) | Conversion registration error
> java.lang.NullPointerException
>         at com.opensymphony.xwork2.util.XWorkConverter.createTypeConverter(XWorkConverter.java:621)
>         at com.opensymphony.xwork2.util.XWorkConverter.loadConversionProperties(XWorkConverter.java:639)
>         at com.opensymphony.xwork2.util.XWorkConverter.<init>(XWorkConverter.java:176)
>         at com.opensymphony.xwork2.util.AnnotationXWorkConverter.<init>(AnnotationXWorkConverter.java:98)
>         at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
>         at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
>         at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
>         at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
>         at java.lang.Class.newInstance0(Class.java:350)
>         at java.lang.Class.newInstance(Class.java:303)
>         at com.opensymphony.xwork2.util.XWorkConverter.getInstance(XWorkConverter.java:202)
>         at com.opensymphony.xwork2.util.XWorkMapPropertyAccessor.<clinit>(XWorkMapPropertyAccessor.java:30)
>         at com.opensymphony.xwork2.util.OgnlValueStack.reset(OgnlValueStack.java:47)
>         at com.opensymphony.xwork2.util.OgnlValueStack.<clinit>(OgnlValueStack.java:37)
>         at com.opensymphony.xwork2.util.OgnlValueStackFactory.createValueStack(OgnlValueStackFactory.java:14)
>         at com.opensymphony.xwork2.ActionContext$ActionContextThreadLocal.initialValue(ActionContext.java:329)
>         at java.lang.ThreadLocal$ThreadLocalMap.getAfterMiss(ThreadLocal.java:374)
>         at java.lang.ThreadLocal$ThreadLocalMap.get(ThreadLocal.java:347)
>         at java.lang.ThreadLocal$ThreadLocalMap.access$000(ThreadLocal.java:225)
>         at java.lang.ThreadLocal.get(ThreadLocal.java:127)
>         at com.opensymphony.xwork2.ActionContext.getContext(ActionContext.java:151)
>         at org.appfuse.webapp.action.BaseActionTestCase.onSetUpBeforeTransaction(BaseActionTestCase.java:35) 
> I tested this with Struts 2.0.8 and there's no change.
> I posted this to the mailing list, but received no responses.
> http://www.nabble.com/Testing-error-after-adding-DateConverter-tf3868021.html

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


[jira] Updated: (WW-1978) NPE in XWorkConverter.loadConversionProperties after adding DateConverter

Posted by "Rainer Hermanns (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/struts/browse/WW-1978?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Rainer Hermanns updated WW-1978:
--------------------------------

    Fix Version/s: 2.1.0
         Assignee: Rainer Hermanns

> NPE in XWorkConverter.loadConversionProperties after adding DateConverter
> -------------------------------------------------------------------------
>
>                 Key: WW-1978
>                 URL: https://issues.apache.org/struts/browse/WW-1978
>             Project: Struts 2
>          Issue Type: Bug
>          Components: Actions
>    Affects Versions: 2.0.6, 2.0.8
>            Reporter: Matt Raible
>            Assignee: Rainer Hermanns
>             Fix For: 2.1.0
>
>
> I recently added a DateConverter to my project (Struts 2.0.6, Maven 2) and now I'm getting NPEs when running tests.
> xwork-conversion.properties:
> java.util.Date=org.appfuse.webapp.action.DateConverter
> DateConverter.java:
> public class DateConverter extends StrutsTypeConverter {
>     public Object convertFromString(Map ctx, String[] value, Class arg2) {
>         if (value[0] == null || value[0].trim().equals("")) {
>             return null;
>         }
>         try {
>             return DateUtil.convertStringToDate(value[0]);
>         } catch (ParseException pe) {
>             pe.printStackTrace();
>             throw new TypeConversionException(pe.getMessage());
>         }
>     }
>     public String convertToString(Map ctx, Object data) {
>         return DateUtil.convertDateToString((Date) data);
>     }
> }
> My test's setUp() method:
>     @Override
>     protected void onSetUpBeforeTransaction() throws Exception {
>         LocalizedTextUtil.addDefaultResourceBundle(Constants.BUNDLE_KEY);
>         ActionContext.getContext().setSession(new HashMap());
>         // change the port on the mailSender so it doesn't conflict with an
>         // existing SMTP server on localhost
>         JavaMailSenderImpl mailSender = (JavaMailSenderImpl) applicationContext.getBean("mailSender");
>         mailSender.setPort(2525);
>         mailSender.setHost("localhost");
>         // populate the request so getRequest().getSession() doesn't fail in BaseAction.java
>         ServletActionContext.setRequest(new MockHttpServletRequest());
>     }
> Stack trace:
> ERROR [main] XWorkConverter.loadConversionProperties(645) | Conversion registration error
> java.lang.NullPointerException
>         at com.opensymphony.xwork2.util.XWorkConverter.createTypeConverter(XWorkConverter.java:621)
>         at com.opensymphony.xwork2.util.XWorkConverter.loadConversionProperties(XWorkConverter.java:639)
>         at com.opensymphony.xwork2.util.XWorkConverter.<init>(XWorkConverter.java:176)
>         at com.opensymphony.xwork2.util.AnnotationXWorkConverter.<init>(AnnotationXWorkConverter.java:98)
>         at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
>         at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
>         at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
>         at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
>         at java.lang.Class.newInstance0(Class.java:350)
>         at java.lang.Class.newInstance(Class.java:303)
>         at com.opensymphony.xwork2.util.XWorkConverter.getInstance(XWorkConverter.java:202)
>         at com.opensymphony.xwork2.util.XWorkMapPropertyAccessor.<clinit>(XWorkMapPropertyAccessor.java:30)
>         at com.opensymphony.xwork2.util.OgnlValueStack.reset(OgnlValueStack.java:47)
>         at com.opensymphony.xwork2.util.OgnlValueStack.<clinit>(OgnlValueStack.java:37)
>         at com.opensymphony.xwork2.util.OgnlValueStackFactory.createValueStack(OgnlValueStackFactory.java:14)
>         at com.opensymphony.xwork2.ActionContext$ActionContextThreadLocal.initialValue(ActionContext.java:329)
>         at java.lang.ThreadLocal$ThreadLocalMap.getAfterMiss(ThreadLocal.java:374)
>         at java.lang.ThreadLocal$ThreadLocalMap.get(ThreadLocal.java:347)
>         at java.lang.ThreadLocal$ThreadLocalMap.access$000(ThreadLocal.java:225)
>         at java.lang.ThreadLocal.get(ThreadLocal.java:127)
>         at com.opensymphony.xwork2.ActionContext.getContext(ActionContext.java:151)
>         at org.appfuse.webapp.action.BaseActionTestCase.onSetUpBeforeTransaction(BaseActionTestCase.java:35) 
> I tested this with Struts 2.0.8 and there's no change.
> I posted this to the mailing list, but received no responses.
> http://www.nabble.com/Testing-error-after-adding-DateConverter-tf3868021.html

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


[jira] Commented: (WW-1978) NPE in XWorkConverter.loadConversionProperties after adding DateConverter

Posted by "Don Brown (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/struts/browse/WW-1978?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_42117 ] 

Don Brown commented on WW-1978:
-------------------------------

Is this still an issue?  

> NPE in XWorkConverter.loadConversionProperties after adding DateConverter
> -------------------------------------------------------------------------
>
>                 Key: WW-1978
>                 URL: https://issues.apache.org/struts/browse/WW-1978
>             Project: Struts 2
>          Issue Type: Bug
>          Components: Actions
>    Affects Versions: 2.0.6, 2.0.8
>            Reporter: Matt Raible
>            Assignee: Rainer Hermanns
>             Fix For: 2.1.0
>
>
> I recently added a DateConverter to my project (Struts 2.0.6, Maven 2) and now I'm getting NPEs when running tests.
> xwork-conversion.properties:
> java.util.Date=org.appfuse.webapp.action.DateConverter
> DateConverter.java:
> public class DateConverter extends StrutsTypeConverter {
>     public Object convertFromString(Map ctx, String[] value, Class arg2) {
>         if (value[0] == null || value[0].trim().equals("")) {
>             return null;
>         }
>         try {
>             return DateUtil.convertStringToDate(value[0]);
>         } catch (ParseException pe) {
>             pe.printStackTrace();
>             throw new TypeConversionException(pe.getMessage());
>         }
>     }
>     public String convertToString(Map ctx, Object data) {
>         return DateUtil.convertDateToString((Date) data);
>     }
> }
> My test's setUp() method:
>     @Override
>     protected void onSetUpBeforeTransaction() throws Exception {
>         LocalizedTextUtil.addDefaultResourceBundle(Constants.BUNDLE_KEY);
>         ActionContext.getContext().setSession(new HashMap());
>         // change the port on the mailSender so it doesn't conflict with an
>         // existing SMTP server on localhost
>         JavaMailSenderImpl mailSender = (JavaMailSenderImpl) applicationContext.getBean("mailSender");
>         mailSender.setPort(2525);
>         mailSender.setHost("localhost");
>         // populate the request so getRequest().getSession() doesn't fail in BaseAction.java
>         ServletActionContext.setRequest(new MockHttpServletRequest());
>     }
> Stack trace:
> ERROR [main] XWorkConverter.loadConversionProperties(645) | Conversion registration error
> java.lang.NullPointerException
>         at com.opensymphony.xwork2.util.XWorkConverter.createTypeConverter(XWorkConverter.java:621)
>         at com.opensymphony.xwork2.util.XWorkConverter.loadConversionProperties(XWorkConverter.java:639)
>         at com.opensymphony.xwork2.util.XWorkConverter.<init>(XWorkConverter.java:176)
>         at com.opensymphony.xwork2.util.AnnotationXWorkConverter.<init>(AnnotationXWorkConverter.java:98)
>         at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
>         at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
>         at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
>         at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
>         at java.lang.Class.newInstance0(Class.java:350)
>         at java.lang.Class.newInstance(Class.java:303)
>         at com.opensymphony.xwork2.util.XWorkConverter.getInstance(XWorkConverter.java:202)
>         at com.opensymphony.xwork2.util.XWorkMapPropertyAccessor.<clinit>(XWorkMapPropertyAccessor.java:30)
>         at com.opensymphony.xwork2.util.OgnlValueStack.reset(OgnlValueStack.java:47)
>         at com.opensymphony.xwork2.util.OgnlValueStack.<clinit>(OgnlValueStack.java:37)
>         at com.opensymphony.xwork2.util.OgnlValueStackFactory.createValueStack(OgnlValueStackFactory.java:14)
>         at com.opensymphony.xwork2.ActionContext$ActionContextThreadLocal.initialValue(ActionContext.java:329)
>         at java.lang.ThreadLocal$ThreadLocalMap.getAfterMiss(ThreadLocal.java:374)
>         at java.lang.ThreadLocal$ThreadLocalMap.get(ThreadLocal.java:347)
>         at java.lang.ThreadLocal$ThreadLocalMap.access$000(ThreadLocal.java:225)
>         at java.lang.ThreadLocal.get(ThreadLocal.java:127)
>         at com.opensymphony.xwork2.ActionContext.getContext(ActionContext.java:151)
>         at org.appfuse.webapp.action.BaseActionTestCase.onSetUpBeforeTransaction(BaseActionTestCase.java:35) 
> I tested this with Struts 2.0.8 and there's no change.
> I posted this to the mailing list, but received no responses.
> http://www.nabble.com/Testing-error-after-adding-DateConverter-tf3868021.html

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


[jira] Commented: (WW-1978) NPE in XWorkConverter.loadConversionProperties after adding DateConverter

Posted by "Marcin Gryszko (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/struts/browse/WW-1978?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_41235 ] 

Marcin Gryszko commented on WW-1978:
------------------------------------

I experience the same problem with Struts 2.0.8. I had a simple BooleanConverter working with Webwork 2.2.4 and XWork 1.2.1. When switching to Struts 2.0.8 I got the same exception as Matt.

It seems to be the same issue as http://jira.opensymphony.com/browse/XW-460.

> NPE in XWorkConverter.loadConversionProperties after adding DateConverter
> -------------------------------------------------------------------------
>
>                 Key: WW-1978
>                 URL: https://issues.apache.org/struts/browse/WW-1978
>             Project: Struts 2
>          Issue Type: Bug
>          Components: Actions
>    Affects Versions: 2.0.6, 2.0.8
>            Reporter: Matt Raible
>
> I recently added a DateConverter to my project (Struts 2.0.6, Maven 2) and now I'm getting NPEs when running tests.
> xwork-conversion.properties:
> java.util.Date=org.appfuse.webapp.action.DateConverter
> DateConverter.java:
> public class DateConverter extends StrutsTypeConverter {
>     public Object convertFromString(Map ctx, String[] value, Class arg2) {
>         if (value[0] == null || value[0].trim().equals("")) {
>             return null;
>         }
>         try {
>             return DateUtil.convertStringToDate(value[0]);
>         } catch (ParseException pe) {
>             pe.printStackTrace();
>             throw new TypeConversionException(pe.getMessage());
>         }
>     }
>     public String convertToString(Map ctx, Object data) {
>         return DateUtil.convertDateToString((Date) data);
>     }
> }
> My test's setUp() method:
>     @Override
>     protected void onSetUpBeforeTransaction() throws Exception {
>         LocalizedTextUtil.addDefaultResourceBundle(Constants.BUNDLE_KEY);
>         ActionContext.getContext().setSession(new HashMap());
>         // change the port on the mailSender so it doesn't conflict with an
>         // existing SMTP server on localhost
>         JavaMailSenderImpl mailSender = (JavaMailSenderImpl) applicationContext.getBean("mailSender");
>         mailSender.setPort(2525);
>         mailSender.setHost("localhost");
>         // populate the request so getRequest().getSession() doesn't fail in BaseAction.java
>         ServletActionContext.setRequest(new MockHttpServletRequest());
>     }
> Stack trace:
> ERROR [main] XWorkConverter.loadConversionProperties(645) | Conversion registration error
> java.lang.NullPointerException
>         at com.opensymphony.xwork2.util.XWorkConverter.createTypeConverter(XWorkConverter.java:621)
>         at com.opensymphony.xwork2.util.XWorkConverter.loadConversionProperties(XWorkConverter.java:639)
>         at com.opensymphony.xwork2.util.XWorkConverter.<init>(XWorkConverter.java:176)
>         at com.opensymphony.xwork2.util.AnnotationXWorkConverter.<init>(AnnotationXWorkConverter.java:98)
>         at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
>         at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
>         at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
>         at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
>         at java.lang.Class.newInstance0(Class.java:350)
>         at java.lang.Class.newInstance(Class.java:303)
>         at com.opensymphony.xwork2.util.XWorkConverter.getInstance(XWorkConverter.java:202)
>         at com.opensymphony.xwork2.util.XWorkMapPropertyAccessor.<clinit>(XWorkMapPropertyAccessor.java:30)
>         at com.opensymphony.xwork2.util.OgnlValueStack.reset(OgnlValueStack.java:47)
>         at com.opensymphony.xwork2.util.OgnlValueStack.<clinit>(OgnlValueStack.java:37)
>         at com.opensymphony.xwork2.util.OgnlValueStackFactory.createValueStack(OgnlValueStackFactory.java:14)
>         at com.opensymphony.xwork2.ActionContext$ActionContextThreadLocal.initialValue(ActionContext.java:329)
>         at java.lang.ThreadLocal$ThreadLocalMap.getAfterMiss(ThreadLocal.java:374)
>         at java.lang.ThreadLocal$ThreadLocalMap.get(ThreadLocal.java:347)
>         at java.lang.ThreadLocal$ThreadLocalMap.access$000(ThreadLocal.java:225)
>         at java.lang.ThreadLocal.get(ThreadLocal.java:127)
>         at com.opensymphony.xwork2.ActionContext.getContext(ActionContext.java:151)
>         at org.appfuse.webapp.action.BaseActionTestCase.onSetUpBeforeTransaction(BaseActionTestCase.java:35) 
> I tested this with Struts 2.0.8 and there's no change.
> I posted this to the mailing list, but received no responses.
> http://www.nabble.com/Testing-error-after-adding-DateConverter-tf3868021.html

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


[jira] Commented: (WW-1978) NPE in XWorkConverter.loadConversionProperties after adding DateConverter

Posted by "Sami Dalouche (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/struts/browse/WW-1978?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=43147#action_43147 ] 

Sami Dalouche commented on WW-1978:
-----------------------------------

I opened a new bug : WW-2471

> NPE in XWorkConverter.loadConversionProperties after adding DateConverter
> -------------------------------------------------------------------------
>
>                 Key: WW-1978
>                 URL: https://issues.apache.org/struts/browse/WW-1978
>             Project: Struts 2
>          Issue Type: Bug
>          Components: Core Actions
>    Affects Versions: 2.0.6, 2.0.8
>            Reporter: Matt Raible
>            Assignee: Don Brown
>             Fix For: 2.1.0
>
>
> I recently added a DateConverter to my project (Struts 2.0.6, Maven 2) and now I'm getting NPEs when running tests.
> xwork-conversion.properties:
> java.util.Date=org.appfuse.webapp.action.DateConverter
> DateConverter.java:
> public class DateConverter extends StrutsTypeConverter {
>     public Object convertFromString(Map ctx, String[] value, Class arg2) {
>         if (value[0] == null || value[0].trim().equals("")) {
>             return null;
>         }
>         try {
>             return DateUtil.convertStringToDate(value[0]);
>         } catch (ParseException pe) {
>             pe.printStackTrace();
>             throw new TypeConversionException(pe.getMessage());
>         }
>     }
>     public String convertToString(Map ctx, Object data) {
>         return DateUtil.convertDateToString((Date) data);
>     }
> }
> My test's setUp() method:
>     @Override
>     protected void onSetUpBeforeTransaction() throws Exception {
>         LocalizedTextUtil.addDefaultResourceBundle(Constants.BUNDLE_KEY);
>         ActionContext.getContext().setSession(new HashMap());
>         // change the port on the mailSender so it doesn't conflict with an
>         // existing SMTP server on localhost
>         JavaMailSenderImpl mailSender = (JavaMailSenderImpl) applicationContext.getBean("mailSender");
>         mailSender.setPort(2525);
>         mailSender.setHost("localhost");
>         // populate the request so getRequest().getSession() doesn't fail in BaseAction.java
>         ServletActionContext.setRequest(new MockHttpServletRequest());
>     }
> Stack trace:
> ERROR [main] XWorkConverter.loadConversionProperties(645) | Conversion registration error
> java.lang.NullPointerException
>         at com.opensymphony.xwork2.util.XWorkConverter.createTypeConverter(XWorkConverter.java:621)
>         at com.opensymphony.xwork2.util.XWorkConverter.loadConversionProperties(XWorkConverter.java:639)
>         at com.opensymphony.xwork2.util.XWorkConverter.<init>(XWorkConverter.java:176)
>         at com.opensymphony.xwork2.util.AnnotationXWorkConverter.<init>(AnnotationXWorkConverter.java:98)
>         at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
>         at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
>         at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
>         at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
>         at java.lang.Class.newInstance0(Class.java:350)
>         at java.lang.Class.newInstance(Class.java:303)
>         at com.opensymphony.xwork2.util.XWorkConverter.getInstance(XWorkConverter.java:202)
>         at com.opensymphony.xwork2.util.XWorkMapPropertyAccessor.<clinit>(XWorkMapPropertyAccessor.java:30)
>         at com.opensymphony.xwork2.util.OgnlValueStack.reset(OgnlValueStack.java:47)
>         at com.opensymphony.xwork2.util.OgnlValueStack.<clinit>(OgnlValueStack.java:37)
>         at com.opensymphony.xwork2.util.OgnlValueStackFactory.createValueStack(OgnlValueStackFactory.java:14)
>         at com.opensymphony.xwork2.ActionContext$ActionContextThreadLocal.initialValue(ActionContext.java:329)
>         at java.lang.ThreadLocal$ThreadLocalMap.getAfterMiss(ThreadLocal.java:374)
>         at java.lang.ThreadLocal$ThreadLocalMap.get(ThreadLocal.java:347)
>         at java.lang.ThreadLocal$ThreadLocalMap.access$000(ThreadLocal.java:225)
>         at java.lang.ThreadLocal.get(ThreadLocal.java:127)
>         at com.opensymphony.xwork2.ActionContext.getContext(ActionContext.java:151)
>         at org.appfuse.webapp.action.BaseActionTestCase.onSetUpBeforeTransaction(BaseActionTestCase.java:35) 
> I tested this with Struts 2.0.8 and there's no change.
> I posted this to the mailing list, but received no responses.
> http://www.nabble.com/Testing-error-after-adding-DateConverter-tf3868021.html

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


[jira] Commented: (WW-1978) NPE in XWorkConverter.loadConversionProperties after adding DateConverter

Posted by "Sami Dalouche (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/struts/browse/WW-1978?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=43146#action_43146 ] 

Sami Dalouche commented on WW-1978:
-----------------------------------

I just want to add that the problem does not happen as soon as I remove all my lines from xwork-conversion.properties..... (and then, of course, I don't have access to my type converters...)

> NPE in XWorkConverter.loadConversionProperties after adding DateConverter
> -------------------------------------------------------------------------
>
>                 Key: WW-1978
>                 URL: https://issues.apache.org/struts/browse/WW-1978
>             Project: Struts 2
>          Issue Type: Bug
>          Components: Core Actions
>    Affects Versions: 2.0.6, 2.0.8
>            Reporter: Matt Raible
>            Assignee: Don Brown
>             Fix For: 2.1.0
>
>
> I recently added a DateConverter to my project (Struts 2.0.6, Maven 2) and now I'm getting NPEs when running tests.
> xwork-conversion.properties:
> java.util.Date=org.appfuse.webapp.action.DateConverter
> DateConverter.java:
> public class DateConverter extends StrutsTypeConverter {
>     public Object convertFromString(Map ctx, String[] value, Class arg2) {
>         if (value[0] == null || value[0].trim().equals("")) {
>             return null;
>         }
>         try {
>             return DateUtil.convertStringToDate(value[0]);
>         } catch (ParseException pe) {
>             pe.printStackTrace();
>             throw new TypeConversionException(pe.getMessage());
>         }
>     }
>     public String convertToString(Map ctx, Object data) {
>         return DateUtil.convertDateToString((Date) data);
>     }
> }
> My test's setUp() method:
>     @Override
>     protected void onSetUpBeforeTransaction() throws Exception {
>         LocalizedTextUtil.addDefaultResourceBundle(Constants.BUNDLE_KEY);
>         ActionContext.getContext().setSession(new HashMap());
>         // change the port on the mailSender so it doesn't conflict with an
>         // existing SMTP server on localhost
>         JavaMailSenderImpl mailSender = (JavaMailSenderImpl) applicationContext.getBean("mailSender");
>         mailSender.setPort(2525);
>         mailSender.setHost("localhost");
>         // populate the request so getRequest().getSession() doesn't fail in BaseAction.java
>         ServletActionContext.setRequest(new MockHttpServletRequest());
>     }
> Stack trace:
> ERROR [main] XWorkConverter.loadConversionProperties(645) | Conversion registration error
> java.lang.NullPointerException
>         at com.opensymphony.xwork2.util.XWorkConverter.createTypeConverter(XWorkConverter.java:621)
>         at com.opensymphony.xwork2.util.XWorkConverter.loadConversionProperties(XWorkConverter.java:639)
>         at com.opensymphony.xwork2.util.XWorkConverter.<init>(XWorkConverter.java:176)
>         at com.opensymphony.xwork2.util.AnnotationXWorkConverter.<init>(AnnotationXWorkConverter.java:98)
>         at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
>         at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
>         at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
>         at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
>         at java.lang.Class.newInstance0(Class.java:350)
>         at java.lang.Class.newInstance(Class.java:303)
>         at com.opensymphony.xwork2.util.XWorkConverter.getInstance(XWorkConverter.java:202)
>         at com.opensymphony.xwork2.util.XWorkMapPropertyAccessor.<clinit>(XWorkMapPropertyAccessor.java:30)
>         at com.opensymphony.xwork2.util.OgnlValueStack.reset(OgnlValueStack.java:47)
>         at com.opensymphony.xwork2.util.OgnlValueStack.<clinit>(OgnlValueStack.java:37)
>         at com.opensymphony.xwork2.util.OgnlValueStackFactory.createValueStack(OgnlValueStackFactory.java:14)
>         at com.opensymphony.xwork2.ActionContext$ActionContextThreadLocal.initialValue(ActionContext.java:329)
>         at java.lang.ThreadLocal$ThreadLocalMap.getAfterMiss(ThreadLocal.java:374)
>         at java.lang.ThreadLocal$ThreadLocalMap.get(ThreadLocal.java:347)
>         at java.lang.ThreadLocal$ThreadLocalMap.access$000(ThreadLocal.java:225)
>         at java.lang.ThreadLocal.get(ThreadLocal.java:127)
>         at com.opensymphony.xwork2.ActionContext.getContext(ActionContext.java:151)
>         at org.appfuse.webapp.action.BaseActionTestCase.onSetUpBeforeTransaction(BaseActionTestCase.java:35) 
> I tested this with Struts 2.0.8 and there's no change.
> I posted this to the mailing list, but received no responses.
> http://www.nabble.com/Testing-error-after-adding-DateConverter-tf3868021.html

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