Package org.apache.tuscany.sca.binding.corba.provider.reference

Examples of org.apache.tuscany.sca.binding.corba.provider.reference.DynaCorbaRequest


     * Tests passing CORBA arrays
     */
    @Test
    public void test_arraysPassing() {
        try {
            DynaCorbaRequest request = new DynaCorbaRequest(refArraysUnions, "passStringArray");
            Annotation[] notes =
                ArraysUnionsTuscanyServant.class.getMethod("passStringArray", new Class<?>[] {String[][].class})
                    .getAnnotations();
            request.setOutputType(String[][].class, notes);
            String[][] argument = { {"Hello", "World"}, {"Hi", "again"}};
            request.addArgument(argument, notes);
            DynaCorbaResponse response = request.invoke();
            String[][] result = (String[][])response.getContent();
            for (int i = 0; i < argument.length; i++) {
                for (int j = 0; j < argument[i].length; j++) {
                    assertEquals(argument[i][j], result[i][j]);
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
            fail();
        }

        try {
            DynaCorbaRequest request = new DynaCorbaRequest(refArraysUnions, "passTestStruct");
            ArraysTestStruct arg = new ArraysTestStruct();
            String[] field1 = {"Hello", "World"};
            arg.field1 = field1;
            int[][] field2 = { {4, 2, 2, 5}, {6, 12, 5, 8}};
            arg.field2 = field2;
            float[][][] field3 = { { {2, 6}, {2, 7}, {9, 3}, {4, 6}}, { {3, 7}, {6, 6}, {3, 5}, {6, 2}}};
            arg.field3 = field3;
            request.addArgument(arg);
            request.setOutputType(ArraysTestStruct.class);
            DynaCorbaResponse response = request.invoke();
            ArraysTestStruct result = (ArraysTestStruct)response.getContent();
            for (int i = 0; i < arg.field1.length; i++) {
                assertEquals(arg.field1[i], result.field1[i]);
            }
            for (int i = 0; i < arg.field2.length; i++) {
View Full Code Here


     * CORBA array annotation arguments (which sets dimension lengths)
     */
    @Test
    public void test_invalidArrayAnnotationSize() {
        try {
            DynaCorbaRequest request = new DynaCorbaRequest(refArraysUnions, "passStringArray");
            Annotation[] notes =
                ArraysUnionsTuscanyServant.class.getMethod("passStringArray", new Class<?>[] {String[][].class})
                    .getAnnotations();
            request.setOutputType(String[][][].class, notes);
            fail();
        } catch (RequestConfigurationException e) {
            // expected
        } catch (Exception e) {
            e.printStackTrace();
            fail();
        }
        try {
            DynaCorbaRequest request = new DynaCorbaRequest(refArraysUnions, "passStringArray");
            Annotation[] notes =
                ArraysUnionsTuscanyServant.class.getMethod("passStringArray", new Class<?>[] {String[][].class})
                    .getAnnotations();
            request.addArgument(new String[0][0][0], notes);
            fail();
        } catch (RequestConfigurationException e) {
            // expected
        } catch (Exception e) {
            e.printStackTrace();
            fail();
        }
        try {
            DynaCorbaRequest request = new DynaCorbaRequest(refArraysUnions, "passStringArray");
            request.addArgument(new InvalidCorbaArray(), null);
            fail();
        } catch (RequestConfigurationException e) {
            // expected
        } catch (Exception e) {
            e.printStackTrace();
View Full Code Here

     * Tests passing CORBA unions
     */
    @Test
    public void test_passingUnions() {
        try {
            DynaCorbaRequest request = new DynaCorbaRequest(refArraysUnions, "passRichUnion");
            request.setOutputType(RichUnion.class);
            RichUnion arg = new RichUnion();
            InnerUnion argIu = new InnerUnion();
            argIu.setX(10);
            arg.setIu(argIu);
            request.addArgument(arg);
            DynaCorbaResponse response = request.invoke();
            RichUnion result = (RichUnion)response.getContent();
            assertEquals(arg.getIu().getX(), result.getIu().getX());
        } catch (Exception e) {
            e.printStackTrace();
            fail();
        }
        try {
            DynaCorbaRequest request = new DynaCorbaRequest(refArraysUnions, "passRichUnion");
            request.setOutputType(RichUnion.class);
            RichUnion arg = new RichUnion();
            arg.setDef(true);
            request.addArgument(arg);
            DynaCorbaResponse response = request.invoke();
            RichUnion result = (RichUnion)response.getContent();
            assertEquals(arg.isDef(), result.isDef());
        } catch (Exception e) {
            e.printStackTrace();
            fail();
View Full Code Here

     * Tests handling invalid union declarations
     */
    @Test
    public void test_testInvalidUnionClasses() {
        try {
            DynaCorbaRequest request = new DynaCorbaRequest(refArraysUnions, "whatever");
            request.setOutputType(InvalidUnion1.class);
        } catch (Exception e) {
            assertEquals(RequestConfigurationException.class, e.getClass());
        }
        try {
            DynaCorbaRequest request = new DynaCorbaRequest(refArraysUnions, "whatever");
            request.setOutputType(InvalidUnion2.class);
        } catch (Exception e) {
            assertEquals(RequestConfigurationException.class, e.getClass());
        }
        try {
            DynaCorbaRequest request = new DynaCorbaRequest(refArraysUnions, "whatever");
            request.setOutputType(InvalidUnion3.class);
        } catch (Exception e) {
            assertEquals(RequestConfigurationException.class, e.getClass());
        }
        try {
            DynaCorbaRequest request = new DynaCorbaRequest(refArraysUnions, "whatever");
            request.setOutputType(InvalidUnion4.class);
        } catch (Exception e) {
            assertEquals(RequestConfigurationException.class, e.getClass());
        }
        try {
            DynaCorbaRequest request = new DynaCorbaRequest(refArraysUnions, "whatever");
            request.setOutputType(InvalidUnion5.class);
        } catch (Exception e) {
            assertEquals(RequestConfigurationException.class, e.getClass());
        }
    }
View Full Code Here

            InvocationProxy proxy = new ComponentInvocationProxy((RuntimeEndpoint) service.getEndpoints().get(0), javaClass);
            DynaCorbaServant servant = new DynaCorbaServant(proxy, Utils.getTypeId(javaClass));
            String[] ids = new String[] {"IDL:org/apache/tuscany/sca/binding/corba/testing/generated/TestObject:1.0"};
            servant.setIds(ids);
            bindServant(servant, "TestObject");
            DynaCorbaRequest request =
                new DynaCorbaRequest(bindReference("TestObject"), "methodThatSurelyDoesNotExist");
            request.invoke();
            fail();
        } catch (Exception e) {
            if (e instanceof CorbaException) {
                assertTrue(true);
            } else {
View Full Code Here

            Class<?> javaClass = ((JavaInterface)service.getInterfaceContract().getInterface()).getJavaClass();
            InvocationProxy proxy = new ComponentInvocationProxy((RuntimeEndpoint) service.getEndpoints().get(0), javaClass);
            DynaCorbaServant servant = new DynaCorbaServant(proxy, Utils.getTypeId(javaClass));
            bindServant(servant, "NonCorbaServant");
            // it's non corba servant so we don't have stubs to test them
            DynaCorbaRequest request = new DynaCorbaRequest(bindReference("NonCorbaServant"), "setString");
            request.addArgument(TestConstants.STR_1);
            request.setOutputType(String.class);
            DynaCorbaResponse response = request.invoke();
            assertTrue(response.getContent().equals(TestConstants.STR_1));
        } catch (Exception e) {
            e.printStackTrace();
            fail();
        }

        try {
            NonCorbaServant ncs = new NonCorbaServant();
            TestRuntimeComponentService service = new TestRuntimeComponentService(ncs);
            Class<?> javaClass = ((JavaInterface)service.getInterfaceContract().getInterface()).getJavaClass();
            InvocationProxy proxy = new ComponentInvocationProxy((RuntimeEndpoint) service.getEndpoints().get(0), javaClass);
            DynaCorbaServant servant = new DynaCorbaServant(proxy, Utils.getTypeId(javaClass));
            bindServant(servant, "NonCorbaServant");
            // it's non corba servant so we don't have stubs to test them
            DynaCorbaRequest request = new DynaCorbaRequest(bindReference("NonCorbaServant"), "throwException");
            request.addExceptionType(NonCorbaException.class);
            request.invoke();
            fail();
        } catch (Exception e) {
            if (e instanceof NonCorbaException) {
                assertTrue(true);
            } else {
View Full Code Here

            InvocationProxy proxy = new ComponentInvocationProxy((RuntimeEndpoint) service.getEndpoints().get(0), javaClass);
            DynaCorbaServant servant = new DynaCorbaServant(proxy, Utils.getTypeId(javaClass));
            String[] ids = new String[] {"IDL:org/apache/tuscany/sca/binding/corba/testing/generated/TestObject:1.0"};
            servant.setIds(ids);
            bindServant(servant, "Calc");
            DynaCorbaRequest request = new DynaCorbaRequest(bindReference("Calc"), "div");
            request.addArgument(2d);
            request.setOutputType(double.class);
            request.invoke();
            fail();
        } catch (Exception e) {
            if (e instanceof CorbaException) {
                assertTrue(true);
            } else {
View Full Code Here

    /**
     * @see org.apache.tuscany.sca.invocation.Invoker#invoke(org.apache.tuscany.sca.invocation.Message)
     */
    public Message invoke(Message msg) {
        try {
            DynaCorbaRequest request = new DynaCorbaRequest(remoteObject, msg.getOperation().getName());
            request.setReferenceClass(referenceClass);
            request.setOperationsMap(operationsMap);
            if (msg.getOperation().getOutputType() != null) {
                Annotation[] notes = operationMethodMapping.get(msg.getOperation()).getAnnotations();
                DataType returnType = msg.getOperation().getOutputType().getLogical().get(0);
                request.setOutputType(returnType.getPhysical(), notes);
            }
            java.lang.Object[] args = msg.getBody();
            if (args != null) {
                Annotation[][] notes = operationMethodMapping.get(msg.getOperation()).getParameterAnnotations();
                for (int i = 0; i < args.length; i++) {
                    request.addArgument(args[i], notes[i]);
                }
            }
            if (msg.getOperation().getFaultTypes() != null) {
                for (DataType<?> type : msg.getOperation().getFaultTypes()) {
                    request.addExceptionType(type.getPhysical());
                }
            }
            DynaCorbaResponse response = request.invoke();
            msg.setBody(response.getContent());
        } catch (RequestConfigurationException e) {
            throw new ServiceRuntimeException(e);
        } catch (Exception e) {
            msg.setFaultBody(e);
View Full Code Here

            InvocationProxy proxy = new ComponentInvocationProxy((RuntimeEndpoint) service.getEndpoints().get(0), javaClass);
            DynaCorbaServant servant = new DynaCorbaServant(proxy, Utils.getTypeId(javaClass));
            String[] ids = new String[] {"IDL:org/apache/tuscany/sca/binding/corba/testing/generated/TestObject:1.0"};
            servant.setIds(ids);
            bindServant(servant, "TestObject");
            DynaCorbaRequest request =
                new DynaCorbaRequest(bindReference("TestObject"), "methodThatSurelyDoesNotExist");
            request.invoke();
            fail();
        } catch (Exception e) {
            if (e instanceof CorbaException) {
                assertTrue(true);
            } else {
View Full Code Here

            Class<?> javaClass = ((JavaInterface)service.getInterfaceContract().getInterface()).getJavaClass();
            InvocationProxy proxy = new ComponentInvocationProxy((RuntimeEndpoint) service.getEndpoints().get(0), javaClass);
            DynaCorbaServant servant = new DynaCorbaServant(proxy, Utils.getTypeId(javaClass));
            bindServant(servant, "NonCorbaServant");
            // it's non corba servant so we don't have stubs to test them
            DynaCorbaRequest request = new DynaCorbaRequest(bindReference("NonCorbaServant"), "setString");
            request.addArgument(TestConstants.STR_1);
            request.setOutputType(String.class);
            DynaCorbaResponse response = request.invoke();
            assertTrue(response.getContent().equals(TestConstants.STR_1));
        } catch (Exception e) {
            e.printStackTrace();
            fail();
        }

        try {
            NonCorbaServant ncs = new NonCorbaServant();
            TestRuntimeComponentService service = new TestRuntimeComponentService(ncs);
            Class<?> javaClass = ((JavaInterface)service.getInterfaceContract().getInterface()).getJavaClass();
            InvocationProxy proxy = new ComponentInvocationProxy((RuntimeEndpoint) service.getEndpoints().get(0), javaClass);
            DynaCorbaServant servant = new DynaCorbaServant(proxy, Utils.getTypeId(javaClass));
            bindServant(servant, "NonCorbaServant");
            // it's non corba servant so we don't have stubs to test them
            DynaCorbaRequest request = new DynaCorbaRequest(bindReference("NonCorbaServant"), "throwException");
            request.addExceptionType(NonCorbaException.class);
            request.invoke();
            fail();
        } catch (Exception e) {
            if (e instanceof NonCorbaException) {
                assertTrue(true);
            } else {
View Full Code Here

TOP

Related Classes of org.apache.tuscany.sca.binding.corba.provider.reference.DynaCorbaRequest

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.