GitHub user Mingun opened a pull request:
https://github.com/apache/jmeter/pull/394
Fix IllegalArgumentException for File properties wich allow null value
## Description
This fix the `IllegalArgumentException` when `TestBean` class contains
nullable `File` field (in my case field has name `vendorSKPath`):
```
2018-08-02 11:42:54,940 DEBUG o.a.j.t.g.GenericTestBeanCustomizer: Property
vendorSKPath has editor class null
2018-08-02 11:42:54,941 DEBUG o.a.j.t.g.WrapperEditor: <-java.lang.String:
2018-08-02 11:42:54,941 DEBUG o.a.j.t.g.WrapperEditor: ->""
2018-08-02 11:42:54,941 DEBUG o.a.j.t.g.GenericTestBeanCustomizer: Property
vendorSKPath has property editor
org.apache.jmeter.testbeans.gui.FileEditor@1f236f6d
2018-08-02 11:42:54,941 DEBUG o.a.j.t.g.WrapperEditor: <-NULL:null
2018-08-02 11:42:54,941 WARN o.a.j.g.a.Load: Unexpected error.
java.lang.IllegalArgumentException
java.lang.IllegalArgumentException: null
at
org.apache.jmeter.testbeans.gui.FieldStringEditor.setValue(FieldStringEditor.java:82)
~[ApacheJMeter_core.jar:4.1-SNAPSHOT.20180802]
at
org.apache.jmeter.testbeans.gui.WrapperEditor.setValue(WrapperEditor.java:349)
~[ApacheJMeter_core.jar:4.1-SNAPSHOT.20180802]
at
org.apache.jmeter.testbeans.gui.FileEditor.setValue(FileEditor.java:214)
~[ApacheJMeter_core.jar:4.1-SNAPSHOT.20180802]
at
org.apache.jmeter.testbeans.gui.GenericTestBeanCustomizer.setEditorValue(GenericTestBeanCustomizer.java:477)
~[ApacheJMeter_core.jar:4.1-SNAPSHOT.20180802]
at
org.apache.jmeter.testbeans.gui.GenericTestBeanCustomizer.(GenericTestBeanCustomizer.java:289)
~[ApacheJMeter_core.jar:4.1-SNAPSHOT.20180802]
at
org.apache.jmeter.testbeans.gui.TestBeanGUI.init(TestBeanGUI.java:417)
~[ApacheJMeter_core.jar:4.1-SNAPSHOT.20180802]
at
org.apache.jmeter.testbeans.gui.TestBeanGUI.configure(TestBeanGUI.java:299)
~[ApacheJMeter_core.jar:4.1-SNAPSHOT.20180802]
at
org.apache.jmeter.gui.tree.JMeterTreeModel.addComponent(JMeterTreeModel.java:159)
~[ApacheJMeter_core.jar:4.1-SNAPSHOT.20180802]
at
org.apache.jmeter.gui.tree.JMeterTreeModel.addSubTree(JMeterTreeModel.java:133)
~[ApacheJMeter_core.jar:4.1-SNAPSHOT.20180802]
at
org.apache.jmeter.gui.tree.JMeterTreeModel.addSubTree(JMeterTreeModel.java:133)
~[ApacheJMeter_core.jar:4.1-SNAPSHOT.20180802]
at
org.apache.jmeter.gui.tree.JMeterTreeModel.addSubTree(JMeterTreeModel.java:133)
~[ApacheJMeter_core.jar:4.1-SNAPSHOT.20180802]
at
org.apache.jmeter.gui.tree.JMeterTreeModel.addSubTree(JMeterTreeModel.java:125)
~[ApacheJMeter_core.jar:4.1-SNAPSHOT.20180802]
at org.apache.jmeter.gui.GuiPackage.addSubTree(GuiPackage.java:522)
~[ApacheJMeter_core.jar:4.1-SNAPSHOT.20180802]
at org.apache.jmeter.gui.action.Load.insertLoadedTree(Load.java:193)
~[ApacheJMeter_core.jar:4.1-SNAPSHOT.20180802]
at org.apache.jmeter.gui.action.Load.loadProjectFile(Load.java:130)
~[ApacheJMeter_core.jar:4.1-SNAPSHOT.20180802]
at org.apache.jmeter.gui.action.Load.loadProjectFile(Load.java:101)
~[ApacheJMeter_core.jar:4.1-SNAPSHOT.20180802]
at
org.apache.jmeter.gui.action.LoadRecentProject.doActionAfterCheck(LoadRecentProject.java:67)
~[ApacheJMeter_core.jar:4.1-SNAPSHOT.20180802]
at
org.apache.jmeter.gui.action.AbstractActionWithNoRunningTest.doAction(AbstractActionWithNoRunningTest.java:45)
~[ApacheJMeter_core.jar:4.1-SNAPSHOT.20180802]
at
org.apache.jmeter.gui.action.ActionRouter.performAction(ActionRouter.java:88)
~[ApacheJMeter_core.jar:4.1-SNAPSHOT.20180802]
at
org.apache.jmeter.gui.action.ActionRouter.lambda$actionPerformed$0(ActionRouter.java:70)
~[ApacheJMeter_core.jar:4.1-SNAPSHOT.20180802]
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
[?:1.8.0_181]
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
[?:1.8.0_181]
at java.awt.EventQueue.access$500(EventQueue.java:97) [?:1.8.0_181]
at java.awt.EventQueue$3.run(EventQueue.java:709) [?:1.8.0_181]
at java.awt.EventQueue$3.run(EventQueue.java:703) [?:1.8.0_181]
at java.security.AccessController.doPrivileged(Native Method)
[?:1.8.0_181]
at
java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
[?:1.8.0_181]
at java.awt.EventQueue.dispatchEvent(EventQueue.java:728) [?:1.8.0_181]
at
java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
[?:1.8.0_181]
at
java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
[?:1.8.0_181]
at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
[?:1.8.0_181]
at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
[?:1.8.0_181]
at java.awt.EventDispatchThread.pumpEvents(EventDis