Examples of CorbaArrayHandler


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

        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

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

        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

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

   
    // Anonymous strings do not need an equivalent write - the primitive handler write is sufficuent.
   
    public CorbaObjectHandler readArrayFromStax(XMLEventReader reader, QName idlType, TypeCode tc)
        throws CorbaBindingException {
        CorbaArrayHandler obj = null;
        CorbaTypeImpl typeDefinition = CorbaUtils.getCorbaType(idlType, typeMaps);
       
        try {
            QName arrayElemType = null;
            long arrayBound = 0;
            // Arrays and anonymous arrays can be handled by the same method
            if (typeDefinition instanceof Anonarray) {
                Anonarray anonArrayType = (Anonarray)typeDefinition;
                arrayElemType = anonArrayType.getElemtype();
                arrayBound = anonArrayType.getBound();
            } else {
                Array arrayType = (Array)typeDefinition;
                arrayElemType = arrayType.getElemtype();
                arrayBound = arrayType.getBound();
            }
            StartElement arrayStartEl = reader.nextEvent().asStartElement();
            obj = new CorbaArrayHandler(arrayStartEl.getName(), idlType, tc, typeDefinition);
            for (int i = 0; i < arrayBound; ++i) {
                CorbaObjectHandler element = readObjectFromStax(reader, arrayElemType, true);
                obj.addElement(element);
            }
            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 array corba type", ex);
View Full Code Here

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

        return obj;
    }

    public void writeArrayToStax(CorbaObjectHandler obj, XMLEventWriter writer, XMLEventFactory factory)
        throws XMLStreamException {
        CorbaArrayHandler arrayHandler = (CorbaArrayHandler)obj;
        List<CorbaObjectHandler> elements = arrayHandler.getElements();
        for (Iterator<CorbaObjectHandler> iter = elements.iterator(); iter.hasNext();) {
            writeObjectToStax(iter.next(), writer, factory, true);
        }
    }
View Full Code Here

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

        CorbaObjectHandler unionValue = ((CorbaUnionHandler)obj).getValue();
        this.write(unionValue);
    }

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

        for (Iterator<CorbaObjectHandler> iter = arrayElements.iterator(); iter.hasNext();) {
            this.write(iter.next());
        }
    }
View Full Code Here

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

            unionHandler.setValue(defaultBranch.getName(), branchObj);
        }
    }

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

        for (Iterator<CorbaObjectHandler> iter = arrayElements.iterator(); iter.hasNext();) {
            this.read(iter.next());
        }
    }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.