Search in sources :

Example 1 with SimpleDocLitWrappedImpl

use of org.apache.cxf.javascript.fortest.SimpleDocLitWrappedImpl in project cxf by apache.

the class DocLitWrappedClientTest method beanFunctionCaller.

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;
}
Also used : TestBean1(org.apache.cxf.javascript.fortest.TestBean1) SimpleDocLitWrappedImpl(org.apache.cxf.javascript.fortest.SimpleDocLitWrappedImpl) TestBean2(org.apache.cxf.javascript.fortest.TestBean2) Scriptable(org.mozilla.javascript.Scriptable) Notifier(org.apache.cxf.javascript.JavascriptTestUtilities.Notifier)

Aggregations

Notifier (org.apache.cxf.javascript.JavascriptTestUtilities.Notifier)1 SimpleDocLitWrappedImpl (org.apache.cxf.javascript.fortest.SimpleDocLitWrappedImpl)1 TestBean1 (org.apache.cxf.javascript.fortest.TestBean1)1 TestBean2 (org.apache.cxf.javascript.fortest.TestBean2)1 Scriptable (org.mozilla.javascript.Scriptable)1