Package org.apache.yoko.bindings.corba.types

Examples of org.apache.yoko.bindings.corba.types.CorbaFixedHandler


    protected CorbaObjectHandler readFixedFromStax(XMLEventReader reader,
                                                   QName idlType,
                                                   TypeCode tc,
                                                   XmlSchemaObject schemaType)
        throws CorbaBindingException {
        CorbaFixedHandler obj = null;
        try {
            CorbaTypeImpl type = CorbaUtils.getCorbaType(idlType, typeMaps);
            StartElement fixedStartEl = reader.nextEvent().asStartElement();
            obj = new CorbaFixedHandler(fixedStartEl.getName(), idlType, tc, type);
            Characters fixedCharEl = reader.nextEvent().asCharacters();
            obj.setValueFromData(fixedCharEl.getData());
            reader.nextEvent().asEndElement();
        } catch (java.lang.Exception ex) {
            LOG.log(Level.SEVERE, "Received exception while reading object of type " + idlType);
            throw new CorbaBindingException("Error while reading fixed corba type", ex);
        }
View Full Code Here


        if (objName == null) {
            objName = obj.getName();
        }
        StartElement startEl = factory.createStartElement(objName, null, null);
        writer.add(startEl);
        CorbaFixedHandler fixedHandler = (CorbaFixedHandler)obj;
        Characters charEvt = factory.createCharacters(fixedHandler.getValueData());
        writer.add(charEvt);
        EndElement endEl = factory.createEndElement(objName, null);
        writer.add(endEl);
    }
View Full Code Here

        QName objIdlType = new QName(staxTestNamespaceURI, "TestFixed", staxTestPrefix);
        CorbaTypeImpl type = CorbaUtils.getCorbaType(objIdlType, staxObject.getTypeMaps());
        assertTrue(type instanceof Fixed);
        Fixed fixedType = (Fixed)type;
        TypeCode objTypeCode = CorbaUtils.getTypeCode(orb, objIdlType, staxObject.getTypeMaps());
        CorbaFixedHandler obj = new CorbaFixedHandler(objName, objIdlType, objTypeCode, fixedType);
        assertNotNull(obj);

        java.math.BigDecimal fixedValue = new java.math.BigDecimal("12345.67");
        obj.setValue(fixedValue);
       
        XMLInputFactory inputFactory = XMLInputFactory.newInstance();
        XMLOutputFactory outputFactory = XMLOutputFactory.newInstance();
        outputFactory.setProperty(XMLOutputFactory.IS_REPAIRING_NAMESPACES, Boolean.TRUE);
     
        ByteArrayOutputStream outStream = new ByteArrayOutputStream();
        XMLEventWriter evtWriter = null;
        try {
            evtWriter = outputFactory.createXMLEventWriter(outStream);
        } catch (XMLStreamException ex) {
        }
        assertNotNull(evtWriter);
       
        try {
            XMLEventFactory factory = XMLEventFactory.newInstance();
            staxObject.writeObjectToStax(obj, evtWriter, factory);
            evtWriter.flush();
        } catch (XMLStreamException ex) {
           
        }

        ByteArrayInputStream inStream = new ByteArrayInputStream(outStream.toByteArray());       
        XMLEventReader evtReader = null;
        try {           
            evtReader = inputFactory.createXMLEventReader(inStream);
            // read the first tag which should be a start document
            XMLEvent evt = evtReader.nextEvent();
            assertTrue(evt.isStartDocument());
        } catch (XMLStreamException ex) {
        }
        assertNotNull(evtReader);
       
        CorbaObjectHandler resultObj = staxObject.readObjectFromStax(evtReader,
                                                                     obj.getIdlType());
        assertNotNull(resultObj);
       
        assertTrue(resultObj instanceof CorbaFixedHandler);
        CorbaFixedHandler result = (CorbaFixedHandler)resultObj;
       
        Object resultValueObj = result.getValue();
        assertTrue(resultValueObj instanceof java.math.BigDecimal);
       
        java.math.BigDecimal resultValue = (java.math.BigDecimal)resultValueObj;
        assertTrue(resultValue.toString().equals(fixedValue.toString()));
    }
View Full Code Here

            this.read(exceptElements.get(i));
        }
    }

    public void readFixed(CorbaObjectHandler obj) throws CorbaBindingException {
        CorbaFixedHandler fixedHandler = (CorbaFixedHandler)obj;
        long scale = fixedHandler.getScale();
       
        java.math.BigDecimal fixedValue = stream.read_fixed().movePointLeft((int)scale);
        fixedHandler.setValue(fixedValue);
    }
View Full Code Here

       
        // These values don't matter to the outcome of the test but are needed during construction
        QName fixedName = new QName("TestFixed");
        QName fixedIdlType = new QName("corbatm:TestFixed");
        TypeCode fixedTC = orb.create_fixed_tc((short)fixedType.getDigits(), (short)fixedType.getScale());
        CorbaFixedHandler obj = new CorbaFixedHandler(fixedName, fixedIdlType, fixedTC, fixedType);
       
        reader.readFixed(obj);
       
        assertTrue(obj.getValue().equals(new java.math.BigDecimal("12345.67")));
    }
View Full Code Here

            this.write(exMembers.get(i));
        }
    }

    public void writeFixed(CorbaObjectHandler obj) throws CorbaBindingException {
        CorbaFixedHandler fixedHandler = (CorbaFixedHandler)obj;
        long scale = fixedHandler.getScale();
        stream.write_fixed(fixedHandler.getValue().movePointRight((int)scale));
    }
View Full Code Here

       
        // These values don't matter to the outcome of the test but are needed during construction
        QName fixedName = new QName("TestFixed");
        QName fixedIdlType = new QName("corbatm:TestFixed");
        TypeCode fixedTC = orb.create_fixed_tc((short)fixedType.getDigits(), (short)fixedType.getScale());
        CorbaFixedHandler obj = new CorbaFixedHandler(fixedName, fixedIdlType, fixedTC, fixedType);
       
        reader.readFixed(obj);
       
        assertTrue(obj.getValue().equals(new java.math.BigDecimal("12345.67")));
    }
View Full Code Here

        objIdlType = new QName(nestedNamespaceURI, "BasicFixed", nestedPrefix);
        type = CorbaUtils.getCorbaType(objIdlType, bindingImpl.getCorbaTypeMaps());
        assertTrue(type instanceof Fixed);
        Fixed fixedType = (Fixed)type;
        objTypeCode = CorbaUtils.getTypeCode(orb, objIdlType, bindingImpl.getCorbaTypeMaps());
        CorbaFixedHandler member2Obj = new CorbaFixedHandler(objName, objIdlType, objTypeCode, fixedType);
        assertNotNull(member2Obj);
        obj.addMember(member2Obj);
       
        // Create member 3, a Basic Enum
        int enumIndex = 0;
        objName = new QName("member3");
        objIdlType = new QName(nestedNamespaceURI, "BasicEnum", nestedPrefix);
        type = CorbaUtils.getCorbaType(objIdlType, bindingImpl.getCorbaTypeMaps());
        assertTrue(type instanceof Enum);
        Enum enumType = (Enum)type;
        objTypeCode = CorbaUtils.getTypeCode(orb, objIdlType, bindingImpl.getCorbaTypeMaps());
        CorbaEnumHandler member3Obj = new CorbaEnumHandler(objName, objIdlType, objTypeCode, enumType);
        assertNotNull(member3Obj);
        obj.addMember(member3Obj);
       
        // Create member 4, a Basic Enum
        Float floatValue = 123456.678f;
        objName = new QName("member4");
        objIdlType = CorbaConstants.NT_CORBA_FLOAT;
        objTypeCode = CorbaUtils.getTypeCode(orb, objIdlType, bindingImpl.getCorbaTypeMaps());
        CorbaPrimitiveHandler member4Obj = new CorbaPrimitiveHandler(objName, objIdlType, objTypeCode, null);
        assertNotNull(member4Obj);
        obj.addMember(member4Obj);

        // Write to an output stream the way a CORBA application would marshal the data for the nested
        // struct.
        Buffer buf = new Buffer();
        OutputStream oStream = new OutputStream(buf);
       
        oStream.write_string(nestedMember1Value);
        oStream.write_boolean(nestedMember2Value.booleanValue());
        oStream.write_fixed(fixedValue.movePointRight(2));
        oStream.write_long(enumIndex);
        oStream.write_float(floatValue.floatValue());
       
        InputStream iStream = oStream.create_input_stream();
        CorbaObjectReader reader = new CorbaObjectReader(iStream);
        reader.read(obj);       
       
        // Now that the Object has its values, try and write it to Stax
        XMLInputFactory inputFactory = XMLInputFactory.newInstance();
        XMLOutputFactory outputFactory = XMLOutputFactory.newInstance();
        outputFactory.setProperty(XMLOutputFactory.IS_REPAIRING_NAMESPACES, Boolean.TRUE);
     
        ByteArrayOutputStream outStream = new ByteArrayOutputStream();
        XMLEventWriter evtWriter = null;
        try {
            evtWriter = outputFactory.createXMLEventWriter(outStream);
        } catch (XMLStreamException ex) {
            assertTrue(false);
        }
        assertNotNull(evtWriter);
       
        XMLEventFactory factory = XMLEventFactory.newInstance();
        try {
            bindingImpl.writeObjectToStax(obj, evtWriter, factory, false);
            evtWriter.flush();
        } catch (XMLStreamException ex) {
            assertTrue(false);
        }
       
        byte[] b = outStream.toByteArray();
        for (int i = 0; i < b.length; ++i) {
            System.out.print((char)b[i]);
        }
        System.out.println();
       
        ByteArrayInputStream inStream = new ByteArrayInputStream(outStream.toByteArray());       
        XMLEventReader evtReader = null;
        try {           
            evtReader = inputFactory.createXMLEventReader(inStream);
        } catch (XMLStreamException ex) {
            assertTrue(false);
        }
        assertNotNull(evtReader);
       
        // Now use the Stax data to re-create a new object
        CorbaObjectHandler result =
            bindingImpl.readObjectFromStax(evtReader,
                                           new QName(nestedNamespaceURI, "NestedStruct", nestedPrefix),
                                           false);
       
        // Verify that the object has the correct values
        assertTrue(result instanceof CorbaStructHandler);       
        CorbaStructHandler nestedStructResult = (CorbaStructHandler)result;
       
        result = nestedStructResult.getMember(0);
        assertTrue(result instanceof CorbaStructHandler);
        CorbaStructHandler structResult = (CorbaStructHandler)result;

        // These are from the struct nested inside our other struct
        result = structResult.getMember(0);
        assertTrue(result instanceof CorbaPrimitiveHandler);
        CorbaPrimitiveHandler structPrimitiveMemberResult = (CorbaPrimitiveHandler)result;
        assertTrue(structPrimitiveMemberResult.getValueData().equals(nestedMember1Value.toString()));
        result = structResult.getMember(1);
        assertTrue(result instanceof CorbaPrimitiveHandler);
        structPrimitiveMemberResult = (CorbaPrimitiveHandler)result;
        assertTrue(structPrimitiveMemberResult.getValueData().equals(nestedMember2Value.toString()));
       
        // This is the fixed nested inside our struct
        result = nestedStructResult.getMember(1);
        assertTrue(result instanceof CorbaFixedHandler);
        CorbaFixedHandler fixedResult = (CorbaFixedHandler)result;
        assertTrue(fixedResult.getValue().equals(fixedValue));

        // This is the enum nested inside our struct
        result = nestedStructResult.getMember(2);
        assertTrue(result instanceof CorbaEnumHandler);
        CorbaEnumHandler enumResult = (CorbaEnumHandler)result;
View Full Code Here

        QName objIdlType = new QName(staxTestNamespaceURI, "TestFixed", staxTestPrefix);
        CorbaTypeImpl type = CorbaUtils.getCorbaType(objIdlType, staxBindingImpl.getCorbaTypeMaps());
        assertTrue(type instanceof Fixed);
        Fixed fixedType = (Fixed)type;
        TypeCode objTypeCode = CorbaUtils.getTypeCode(orb, objIdlType, staxBindingImpl.getCorbaTypeMaps());
        CorbaFixedHandler obj = new CorbaFixedHandler(objName, objIdlType, objTypeCode, fixedType);
        assertNotNull(obj);

        java.math.BigDecimal fixedValue = new java.math.BigDecimal("12345.67");
        obj.setValue(fixedValue);
       
        XMLInputFactory inputFactory = XMLInputFactory.newInstance();
        XMLOutputFactory outputFactory = XMLOutputFactory.newInstance();
        outputFactory.setProperty(XMLOutputFactory.IS_REPAIRING_NAMESPACES, Boolean.TRUE);
     
        ByteArrayOutputStream outStream = new ByteArrayOutputStream();
        XMLEventWriter evtWriter = null;
        try {
            evtWriter = outputFactory.createXMLEventWriter(outStream);
        } catch (XMLStreamException ex) {
        }
        assertNotNull(evtWriter);
       
        try {
            XMLEventFactory factory = XMLEventFactory.newInstance();
            StartElement startEl = factory.createStartElement(obj.getName(), null, null);
            evtWriter.add(startEl);
            staxBindingImpl.writeFixedToStax(obj, evtWriter, factory);
            EndElement endEl = factory.createEndElement(obj.getName(), null);
            evtWriter.add(endEl);
            evtWriter.flush();
        } catch (XMLStreamException ex) {
           
        }

        ByteArrayInputStream inStream = new ByteArrayInputStream(outStream.toByteArray());       
        XMLEventReader evtReader = null;
        try {           
            evtReader = inputFactory.createXMLEventReader(inStream);
            // read the first tag which should be a start document
            XMLEvent evt = evtReader.nextEvent();
            assertTrue(evt.isStartDocument());
        } catch (XMLStreamException ex) {
        }
        assertNotNull(evtReader);
       
        CorbaObjectHandler resultObj = staxBindingImpl.readFixedFromStax(evtReader,
                                                                     obj.getIdlType(),
                                                                     obj.getTypeCode());
        assertNotNull(resultObj);
       
        assertTrue(resultObj instanceof CorbaFixedHandler);
        CorbaFixedHandler result = (CorbaFixedHandler)resultObj;
       
        Object resultValueObj = result.getValue();
        assertTrue(resultValueObj instanceof java.math.BigDecimal);
       
        java.math.BigDecimal resultValue = (java.math.BigDecimal)resultValueObj;
        assertTrue(resultValue.toString().equals(fixedValue.toString()));
    }
View Full Code Here

        writeObjectToStax(unionValue, writer, factory, true);
    }
   
    public CorbaObjectHandler readFixedFromStax(XMLEventReader reader, QName idlType, TypeCode tc)
        throws CorbaBindingException {
        CorbaFixedHandler obj = null;
        CorbaTypeImpl typeDefinition = CorbaUtils.getCorbaType(idlType, typeMaps);
       
        try {
            StartElement fixedStartEl = reader.nextEvent().asStartElement();
            obj = new CorbaFixedHandler(fixedStartEl.getName(), idlType, tc, typeDefinition);
            Characters fixedCharEl = reader.nextEvent().asCharacters();
            obj.setValueFromData(fixedCharEl.getData());
            reader.nextEvent().asEndElement();
        } catch (java.lang.Exception ex) {
            LOG.log(Level.SEVERE, "Received exception while reading object of type " + idlType);
            throw new CorbaBindingException("Error while reading fixed corba type", ex);
        }
View Full Code Here

TOP

Related Classes of org.apache.yoko.bindings.corba.types.CorbaFixedHandler

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.