protected String[] getConfigLocations() {
return new String[] {"classpath:DocLitWrappedClientTestBeans.xml"};
}
private Void beanFunctionCaller(Context context, boolean useWrapper) {
TestBean1 b1 = new TestBean1();
b1.stringItem = "strung";
TestBean1[] beans = new TestBean1[3];
beans[0] = new TestBean1();
beans[0].beanTwoNotRequiredItem = new TestBean2("bean2");
if (useWrapper) {
beans[1] = null;
} else {
// without a wrapper, it can't be null, so put something in there.
beans[1] = new TestBean1();
}
beans[2] = new TestBean1();
beans[2].optionalIntArrayItem = new int[2];
beans[2].optionalIntArrayItem[0] = 4;
beans[2].optionalIntArrayItem[1] = 6;
Object[] jsBeans = new Object[3];
jsBeans[0] = testBean1ToJS(testUtilities, context, beans[0]);
jsBeans[1] = testBean1ToJS(testUtilities, context, beans[1]);
jsBeans[2] = testBean1ToJS(testUtilities, context, beans[2]);
Scriptable jsBean1 = testBean1ToJS(testUtilities, context, b1);
Scriptable jsBeanArray = context.newArray(testUtilities.getRhinoScope(), jsBeans);
LOG.info("About to call test4 " + getAddress());
Notifier notifier =
testUtilities.rhinoCallConvert("test4", Notifier.class,
testUtilities.javaToJS(getAddress()),
testUtilities.javaToJS(Boolean.valueOf(useWrapper)),
jsBean1,
jsBeanArray);
boolean notified = notifier.waitForJavascript(1000 * 10);
assertTrue(notified);
Integer errorStatus = testUtilities.rhinoEvaluateConvert("globalErrorStatus", Integer.class);
assertNull(errorStatus);
String errorText = testUtilities.rhinoEvaluateConvert("globalErrorStatusText", String.class);
assertNull(errorText);
// This method returns void, which translated into a Javascript object with no properties.
// really. Void.
Object responseObject = testUtilities.rhinoEvaluate("globalResponseObject");
assertNotNull(responseObject);
assertEquals(Context.getUndefinedValue(), responseObject);
SimpleDocLitWrappedImpl impl = (SimpleDocLitWrappedImpl)rawImplementor;
TestBean1 b1returned = impl.getLastBean1();
assertEquals(b1, b1returned);
TestBean1[] beansReturned = impl.getLastBean1Array();
assertArrayEquals(beans, beansReturned);
return null;
}