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

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


                                                   QName idlType,
                                                   TypeCode tc,
                                                   XmlSchemaObject schemaType,
                                                   boolean isTopLevel)
        throws CorbaBindingException {
        CorbaArrayHandler obj = null;
        if (schemaType == null) {
            throw new CorbaBindingException("Couldn't find xml schema object for : " + idlType);
        }
        try {
            QName arrayElemType = null;
            long arrayBound = 0;
            CorbaTypeImpl type = CorbaUtils.getCorbaType(idlType, typeMaps);
            // Arrays and anonymous arrays can be handled by the same method
            if (type instanceof Anonarray) {
                Anonarray anonArrayType = (Anonarray)type;
                arrayElemType = anonArrayType.getElemtype();
                arrayBound = anonArrayType.getBound();
            } else {
                Array arrayType = (Array)type;
                arrayElemType = arrayType.getElemtype();
                arrayBound = arrayType.getBound();
            }
            XmlSchemaElement el = CorbaHandlerUtils.getXmlSchemaSequenceElement(schemaType, serviceInfo);

            QName name;
            if (isTopLevel) {
                name = reader.nextEvent().asStartElement().getName();
            } else {
                name = el.getQName();
            }

            obj = new CorbaArrayHandler(name, idlType, tc, type);
            boolean nestedArray = isNestedArray(arrayElemType);
            for (int i = 0; i < arrayBound; ++i) {
                if (nestedArray) {
                    reader.nextEvent().asStartElement();
                }
                CorbaObjectHandler element = readObjectFromStax(reader, arrayElemType, el, true);
                obj.addElement(element);
                if (nestedArray) {
                    reader.nextEvent().asEndElement();
                }
            }
            if (isTopLevel) {
View Full Code Here


        }
        if (isTopLevel) {
            StartElement startEl = factory.createStartElement(objName, null, null);
            writer.add(startEl);
        }
        CorbaArrayHandler arrayHandler = (CorbaArrayHandler)obj;
        XmlSchemaElement el = CorbaHandlerUtils.getXmlSchemaSequenceElement(schemaType, serviceInfo);
        List<CorbaObjectHandler> elements = arrayHandler.getElements();
        for (Iterator<CorbaObjectHandler> elementsIter = elements.iterator(); elementsIter.hasNext();) {
            CorbaObjectHandler handler = elementsIter.next();
            QName handlerName = handler.getName();
            boolean nestedArray = isNestedArray(handler.getTypeCode());
            if (nestedArray) {              
View Full Code Here

        arrayType.setElemtype(longIdlType);
        // name and respoitory ID of the array are not needed for this test

        // build the object holder for an array.
        TypeCode arrayTC = orb.create_array_tc(data.length, orb.get_primitive_tc(TCKind.tk_long));
        CorbaArrayHandler obj = new CorbaArrayHandler(new QName("Array"), arrayIdlType, arrayTC, arrayType);
        for (int i = 0; i < data.length; ++i) {
            CorbaPrimitiveHandler nestedObj =
                new CorbaPrimitiveHandler(new QName("item"), longIdlType,
                                      orb.get_primitive_tc(TCKind.tk_long), null);
            nestedObj.setValueFromData(Integer.toString(data[i]));
            obj.addElement(nestedObj);
        }

        Buffer buf = new Buffer();
        OutputStream oStream = new OutputStream(buf);
        CorbaObjectWriter writer = new CorbaObjectWriter(oStream);
View Full Code Here

        TypeCode objTypeCode = CorbaUtils.getTypeCode(orb, objIdlType, staxObject.getTypeMaps());
        CorbaTypeImpl type = CorbaUtils.getCorbaType(objIdlType, staxObject.getTypeMaps());
        assertTrue(type instanceof Array);

        Array arrayType = (Array)type;
        CorbaArrayHandler obj = new CorbaArrayHandler(objName, objIdlType, objTypeCode, arrayType);
        assertNotNull(obj);

        List<CorbaObjectHandler> objElements = new ArrayList<CorbaObjectHandler>();
        int arrayData[] = { 2, 4, 6, 8, 10 };
        for (int i = 0 ; i < arrayData.length; ++i) {
            QName elName = new QName("item");
            QName elIdlType = CorbaConstants.NT_CORBA_LONG;
            TypeCode elTC = orb.get_primitive_tc(TCKind.tk_long);
            CorbaPrimitiveHandler el = new CorbaPrimitiveHandler(elName, elIdlType, elTC, null);
            el.setValue(Integer.valueOf(arrayData[i]));
            obj.addElement(el);
            objElements.add(el);
        }
       
        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);
            staxObject.writeObjectToStax(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 result = staxObject.readObjectFromStax(evtReader,
                                                                  obj.getIdlType());
        assertNotNull(result);
       
        assertTrue(result instanceof CorbaArrayHandler);
        CorbaArrayHandler resultObj = (CorbaArrayHandler)result;
       
        assertTrue(resultObj.getName().equals(obj.getName()));
        assertTrue(resultObj.getIdlType().equals(obj.getIdlType()));
        assertTrue(resultObj.getTypeCode().equal(obj.getTypeCode()));
        List<CorbaObjectHandler> resultElements = resultObj.getElements();
        for (int i = 0; i < resultElements.size(); ++i) {
            assertTrue(resultElements.get(i) instanceof CorbaPrimitiveHandler);
            CorbaPrimitiveHandler resultEl = (CorbaPrimitiveHandler)resultElements.get(i);
            CorbaPrimitiveHandler objEl = (CorbaPrimitiveHandler)objElements.get(i);
            assertTrue(resultEl.getDataFromValue().equals(objEl.getDataFromValue()));
View Full Code Here

            }
        }
    }

    public void readArray(CorbaObjectHandler obj) throws CorbaBindingException {
        CorbaArrayHandler arrayObj = (CorbaArrayHandler)obj;
        List<CorbaObjectHandler> arrayElements = arrayObj.getElements();

        for (int i = 0; i < arrayElements.size(); ++i) {
            this.read(arrayElements.get(i));
        }
    }
View Full Code Here

        arrayType.setElemtype(longIdlType);
        // name and respoitory ID of the array are not needed for this test

        // build the object holder for an array.
        TypeCode arrayTC = orb.create_array_tc(data.length, orb.get_primitive_tc(TCKind.tk_long));
        CorbaArrayHandler obj = new CorbaArrayHandler(new QName("Array"), arrayIdlType, arrayTC, arrayType);
        for (int i = 0; i < data.length; ++i) {
            CorbaObjectHandler nestedObj =
                new CorbaPrimitiveHandler(new QName("item"), longIdlType,
                                      orb.get_primitive_tc(TCKind.tk_long), null);
            obj.addElement(nestedObj);
        }
       
        reader.readArray(obj);
        int length = obj.getElements().size();
        for (int i = 0; i < length; ++i) {
            assertTrue(new Long(((CorbaPrimitiveHandler)obj.getElement(i)).getDataFromValue()).intValue()
                       == data[i]);
        }
    }
View Full Code Here

            }
        }
    }

    public void writeArray(CorbaObjectHandler obj) throws CorbaBindingException {
        CorbaArrayHandler arrayHandler = (CorbaArrayHandler)obj;
        List<CorbaObjectHandler> arrayElements = arrayHandler.getElements();

        for (int i = 0; i < arrayElements.size(); ++i) {
            this.write(arrayElements.get(i));
        }
    }
View Full Code Here

        arrayType.setElemtype(longIdlType);
        // name and respoitory ID of the array are not needed for this test

        // build the object holder for an array.
        TypeCode arrayTC = orb.create_array_tc(data.length, orb.get_primitive_tc(TCKind.tk_long));
        CorbaArrayHandler obj = new CorbaArrayHandler(new QName("Array"), arrayIdlType, arrayTC, arrayType);
        for (int i = 0; i < data.length; ++i) {
            CorbaObjectHandler nestedObj =
                new CorbaPrimitiveHandler(new QName("item"), longIdlType,
                                      orb.get_primitive_tc(TCKind.tk_long), null);
            obj.addElement(nestedObj);
        }
       
        reader.readArray(obj);
        int length = obj.getElements().size();
        for (int i = 0; i < length; ++i) {
            assertTrue(new Long(((CorbaPrimitiveHandler)obj.getElement(i)).getValueData()).intValue()
                       == data[i]);
        }
    }
View Full Code Here

        arrayType.setElemtype(longIdlType);
        // name and respoitory ID of the array are not needed for this test

        // build the object holder for an array.
        TypeCode arrayTC = orb.create_array_tc(data.length, orb.get_primitive_tc(TCKind.tk_long));
        CorbaArrayHandler obj = new CorbaArrayHandler(new QName("Array"), arrayIdlType, arrayTC, arrayType);
        for (int i = 0; i < data.length; ++i) {
            CorbaPrimitiveHandler nestedObj =
                new CorbaPrimitiveHandler(new QName("item"), longIdlType,
                                      orb.get_primitive_tc(TCKind.tk_long), null);
            nestedObj.setValueFromData(Integer.toString(data[i]));
            obj.addElement(nestedObj);
        }

        Buffer buf = new Buffer();
        OutputStream oStream = new OutputStream(buf);
        CorbaObjectWriter writer = new CorbaObjectWriter(oStream);
View Full Code Here

        TypeCode objTypeCode = CorbaUtils.getTypeCode(orb, objIdlType, staxBindingImpl.getCorbaTypeMaps());
        CorbaTypeImpl type = CorbaUtils.getCorbaType(objIdlType, staxBindingImpl.getCorbaTypeMaps());
        assertTrue(type instanceof Array);

        Array arrayType = (Array)type;
        CorbaArrayHandler obj = new CorbaArrayHandler(objName, objIdlType, objTypeCode, arrayType);
        assertNotNull(obj);

        List<CorbaObjectHandler> objElements = new ArrayList<CorbaObjectHandler>();
        int arrayData[] = { 2, 4, 6, 8, 10 };
        for (int i = 0 ; i < arrayData.length; ++i) {
            QName elName = new QName("item");
            QName elIdlType = CorbaConstants.NT_CORBA_LONG;
            TypeCode elTC = orb.get_primitive_tc(TCKind.tk_long);
            CorbaPrimitiveHandler el = new CorbaPrimitiveHandler(elName, elIdlType, elTC, null);
            el.setValue(Long.valueOf(arrayData[i]));
            obj.addElement(el);
            objElements.add(el);
        }
       
        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.writeArrayToStax(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 result = staxBindingImpl.readArrayFromStax(evtReader,
                                                                  obj.getIdlType(),
                                                                  obj.getTypeCode());
        assertNotNull(result);
       
        assertTrue(result instanceof CorbaArrayHandler);
        CorbaArrayHandler resultObj = (CorbaArrayHandler)result;
       
        assertTrue(resultObj.getName().equals(obj.getName()));
        assertTrue(resultObj.getIdlType().equals(obj.getIdlType()));
        assertTrue(resultObj.getTypeCode().equal(obj.getTypeCode()));
        List<CorbaObjectHandler> resultElements = resultObj.getElements();
        for (int i = 0; i < resultElements.size(); ++i) {
            assertTrue(resultElements.get(i) instanceof CorbaPrimitiveHandler);
            CorbaPrimitiveHandler resultEl = (CorbaPrimitiveHandler)resultElements.get(i);
            CorbaPrimitiveHandler objEl = (CorbaPrimitiveHandler)objElements.get(i);
            assertTrue(resultEl.getValueData().equals(objEl.getValueData()));
View Full Code Here

TOP

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

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.