Am 26.02.2014 13:48, schrieb Lukasz Lenart:
2014-02-26 13:35 GMT+01:00 Thomas Hermann <therm...@mtg.de>:Hello,In a JUnit-Test and in a Ajax-Server I try to validate an Object with com.opensymphony.xwork2.validator.DefaultActionValidatorManager (Version 2.3.15.3). The MyObject-validation.xml file is provided in the same directory as the MyObject-Class (no action alias used). I instantiate the validator manually with the new operator because the ActionValidatorManagerFactory is no longer supported in the version 2.3.15.3: -------------------------------------- DefaultActionValidatorManager validator = new DefaultActionValidatorManager(); validator.validate(myObject, null); -------------------------------------- but at runtime I get a NullPointerException: -------------------------------------- java.lang.NullPointerException at com.opensymphony.xwork2.validator.DefaultActionValidatorManager.loadFile(DefaultActionValidatorManager.java:342) at com.opensymphony.xwork2.validator.DefaultActionValidatorManager.buildClassValidatorConfigs(DefaultActionValidatorManager.java:245) at com.opensymphony.xwork2.validator.DefaultActionValidatorManager.buildValidatorConfigs(DefaultActionValidatorManager.java:324) at com.opensymphony.xwork2.validator.DefaultActionValidatorManager.buildValidatorConfigs(DefaultActionValidatorManager.java:305) at com.opensymphony.xwork2.validator.DefaultActionValidatorManager.buildValidatorConfigs(DefaultActionValidatorManager.java:305) at com.opensymphony.xwork2.validator.DefaultActionValidatorManager.getValidators(DefaultActionValidatorManager.java:93) at com.opensymphony.xwork2.validator.DefaultActionValidatorManager.validate(DefaultActionValidatorManager.java:127) at com.opensymphony.xwork2.validator.DefaultActionValidatorManager.validate(DefaultActionValidatorManager.java:119) at com.opensymphony.xwork2.validator.DefaultActionValidatorManager.validate(DefaultActionValidatorManager.java:114) -------------------------------------- The problem seems to be caused by the fileManager, that is set to NULL. Has anyone an idea how to solve the problem? How is the DefaultActionValidatorManager used correctly?You must inject FileManagerFactory - manually via setter (new DefaultFileManagerFactory()) - but as far I understand you use DefaultActionValidatorManager outside struts, right? If in struts action, you can use @Inject to inject proper instance. Regards
Do you simply mean: -------------------------------------------------DefaultActionValidatorManager validator = new DefaultActionValidatorManager();
validator.setFileManagerFactory(new DefaultFileManagerFactory()); validator.validate(request, null); -------------------------------------------------- ?The DefaultFileManagerFactory is not instantiated properly. I get the following exception now:
--------------------------------------------------- java.lang.NullPointerExceptionat com.opensymphony.xwork2.util.fs.DefaultFileManagerFactory.lookupFileManager(DefaultFileManagerFactory.java:57) at com.opensymphony.xwork2.util.fs.DefaultFileManagerFactory.getFileManager(DefaultFileManagerFactory.java:41) at com.opensymphony.xwork2.validator.DefaultActionValidatorManager.setFileManagerFactory(DefaultActionValidatorManager.java:73)
---------------------------------------------------Isn't there an easy way to initialize the DefaultActionValidatorManager properly?
Thanks, Thomas
smime.p7s
Description: S/MIME Cryptographic Signature