Description
An empty string value for the validatorMerge property in the @Jpf.Controller annotation causes the following stack trace during the page flow compile.
[apt] java.lang.StringIndexOutOfBoundsException: String index out of range: 0
[apt] at java.lang.String.charAt(String.java:558)
[apt] at org.apache.beehive.netui.compiler.CompilerUtils.getFileRelativeToSourceFile(CompilerUtils.java:1198)
[apt] at org.apache.beehive.netui.compiler.genmodel.GenStrutsApp.getMergeFile(GenStrutsApp.java:460)
[apt] at org.apache.beehive.netui.compiler.genmodel.GenValidationModel.<init>(GenValidationModel.java:77)
[apt] at org.apache.beehive.netui.compiler.FlowControllerGenerator.generate(FlowControllerGenerator.java:61)
[apt] at org.apache.beehive.netui.compiler.processor.BaseCoreAnnotationProcessor.generate(BaseCoreAnnotationProcessor.java:100)
[apt] at org.apache.beehive.netui.compiler.processor.TwoPhaseCoreAnnotationProcessor.generate(TwoPhaseCoreAnnotationProcessor.java:175)
[apt] at org.apache.beehive.netui.compiler.processor.TwoPhaseCoreAnnotationProcessor.process(TwoPhaseCoreAnnotationProcessor.java:113)
[apt] at org.apache.beehive.netui.compiler.processor.BaseCoreAnnotationProcessor.process(BaseCoreAnnotationProcessor.java:107)
[apt] at org.apache.beehive.netui.compiler.apt.BaseAnnotationProcessorFactory$DelegatingAnnotationProcessor.process(BaseAnnotationProcessorFactory.java:75)
[apt] at com.sun.mirror.apt.AnnotationProcessors$CompositeAnnotationProcessor.process(AnnotationProcessors.java:60)
We need to place a check in the compiler to ensure that the value is not an empty string. I can make this fix and submit a test case as well.