Package org.apache.qpid.amqp_1_0.codec

Examples of org.apache.qpid.amqp_1_0.codec.ValueWriter


            System.out.println((midTime - startTime));

        }


        ValueHandler handler = new ValueHandler(registry);
        System.out.println("------ Decode (time in ms for 1 million opens)");
        for(int n = 0; n < 100; n++)
        {
            long startTime = System.currentTimeMillis();
            for(int i = 1000000; i !=0; i--)
            {
                buf.flip();
                handler.parse(buf);
                handler.parse(buf);
                handler.parse(buf);

            }
            long midTime = System.currentTimeMillis();
            System.out.println((midTime - startTime));
        }
View Full Code Here


        }

        if(queueEntry.getDeliveryCount() != 0)
        {
            payload = payload.duplicate();
            ValueHandler valueHandler = new ValueHandler(_typeRegistry);

            Header oldHeader = null;
            try
            {
                ByteBuffer encodedBuf = payload.duplicate();
                Object value = valueHandler.parse(payload);
                if(value instanceof Header)
                {
                    oldHeader = (Header) value;
                }
                else
View Full Code Here

            _typeRegistry.registerSecurityLayer();
        }

        public MessageMetaData_1_0 createMetaData(ByteBuffer buf)
        {
            ValueHandler valueHandler = new ValueHandler(_typeRegistry);

            ArrayList<Section> sections = new ArrayList<Section>(3);
            ArrayList<ByteBuffer> encodedSections = new ArrayList<ByteBuffer>(3);

            while(buf.hasRemaining())
            {
                try
                {
                    ByteBuffer encodedBuf = buf.duplicate();
                    Object parse = valueHandler.parse(buf);
                    sections.add((Section) parse);
                    encodedBuf.limit(buf.position());
                    encodedSections.add(encodedBuf);

                }
View Full Code Here

    private final Map<Class, ValueWriter> _cachedWriters = new HashMap<Class,ValueWriter>();

    public <V extends Object> ValueWriter<V> getValueWriter(V value, Map<Class, ValueWriter> localCache)
    {
        Class<? extends Object> clazz = value == null ? Void.TYPE : value.getClass();
        ValueWriter writer = null; // TODO localCache.get(clazz);
        if(writer == null || !writer.isComplete())
        {
            writer = getValueWriter(value);
            localCache.put(clazz, writer);
        }
        else
        {
            writer.setValue(value);
        }


        return writer;
    }
View Full Code Here

    public <V extends Object> ValueWriter<V> getValueWriter(V value)
    {

        Class<? extends Object> clazz = value == null ? Void.TYPE : value.getClass();

        ValueWriter writer = null; // TODO _cachedWriters.get(clazz);
        if(writer == null || !writer.isComplete())
        {
            ValueWriter.Factory<V> factory = (ValueWriter.Factory<V>) (_writerMap.get(clazz));

            if(factory == null)
            {
                if(value instanceof List)
                {
                    factory = _writerMap.get(List.class);
                    _writerMap.put(value.getClass(), factory);
                    writer = factory.newInstance(this);
                    if(writer.isCacheable())
                    {
                        _cachedWriters.put(clazz, writer);
                    }
                    writer.setValue(value);

                }
                else if(value instanceof Map)
                {
                    factory = _writerMap.get(Map.class);
                    _writerMap.put(value.getClass(), factory);
                    writer = factory.newInstance(this);
                    if(writer.isCacheable())
                    {
                        _cachedWriters.put(clazz, writer);
                    }
                    writer.setValue(value);

                }
                else if(value.getClass().isArray())
                {
                    if(RestrictedType.class.isAssignableFrom(value.getClass().getComponentType()))
                    {
                        RestrictedType[] restrictedTypes = (RestrictedType[]) value;
                        Object[] newVals = (Object[]) Array.newInstance(restrictedTypes[0].getValue().getClass(),
                                                                        restrictedTypes.length);
                        for(int i = 0; i < restrictedTypes.length; i++)
                        {
                            newVals[i] = restrictedTypes[i].getValue();
                        }
                        return (ValueWriter<V>) getValueWriter(newVals);
                    }
                    // TODO primitive array types
                    factory = _writerMap.get(List.class);
                    writer = factory.newInstance(this);
                    writer.setValue(Arrays.asList((Object[])value));

                }
                else
                {
                    return null;
                }
            }
            else
            {
                writer = factory.newInstance(this);
                if(writer.isCacheable())
                {
                    _cachedWriters.put(clazz, writer);
                }
                writer.setValue(value);
            }
        }
        else
        {
            writer.setValue(value);
        }

        return writer;

    }
View Full Code Here

        if(vals != null)
        {
            for(Object obj : vals)
            {
                ValueWriter writer = typeRegistry.getValueWriter(obj);

                int count;


                do
                {
                    count = writer.writeToBuffer(buf);
                    out.write(buf.array(), buf.arrayOffset(), count);
                    buf.clear();
                } while (!writer.isComplete());

            }
        }
        else
        {
            ValueWriter writer = typeRegistry.getValueWriter(null);

            int count;


            do
            {
                count = writer.writeToBuffer(buf);
                out.write(buf.array(), buf.arrayOffset(), count);
                buf.clear();
            } while (!writer.isComplete());

        }
        out.flush();
        out.close();
View Full Code Here

    }


    public <V extends Object> ValueWriter<V> getValueWriter(V value)
    {
        ValueWriter writer;

        Class<? extends Object> clazz = value == null ? Void.TYPE : value.getClass();

        ValueWriter.Factory<V> factory = (ValueWriter.Factory<V>) (_writerMap.get(clazz));

        if(factory == null)
        {
            if(value instanceof List)
            {
                factory = _writerMap.get(List.class);
                _writerMap.put(value.getClass(), factory);
                writer = factory.newInstance(this);
                writer.setValue(value);

            }
            else if(value instanceof Map)
            {
                factory = _writerMap.get(Map.class);
                _writerMap.put(value.getClass(), factory);
                writer = factory.newInstance(this);
                writer.setValue(value);

            }
            else if(value.getClass().isArray())
            {
                if(RestrictedType.class.isAssignableFrom(value.getClass().getComponentType()))
                {
                    RestrictedType[] restrictedTypes = (RestrictedType[]) value;
                    Object[] newVals = (Object[]) Array.newInstance(restrictedTypes[0].getValue().getClass(),
                                                                    restrictedTypes.length);
                    for(int i = 0; i < restrictedTypes.length; i++)
                    {
                        newVals[i] = restrictedTypes[i].getValue();
                    }
                    return (ValueWriter<V>) getValueWriter(newVals);
                }
                // TODO primitive array types
                factory = _writerMap.get(List.class);
                writer = factory.newInstance(this);
                writer.setValue(Arrays.asList((Object[])value));

            }
            else
            {
                return null;
            }
        }
        else
        {
            writer = factory.newInstance(this);
            writer.setValue(value);
        }


        return writer;
View Full Code Here

    }


    public <V extends Object> ValueWriter<V> getValueWriter(V value)
    {
        ValueWriter writer;

        Class<? extends Object> clazz = value == null ? Void.TYPE : value.getClass();

        ValueWriter.Factory<V> factory = (ValueWriter.Factory<V>) (_writerMap.get(clazz));

        if(factory == null)
        {
            if(value instanceof List)
            {
                factory = _writerMap.get(List.class);
                _writerMap.put(value.getClass(), factory);
                writer = factory.newInstance(this);
                writer.setValue(value);

            }
            else if(value instanceof Map)
            {
                factory = _writerMap.get(Map.class);
                _writerMap.put(value.getClass(), factory);
                writer = factory.newInstance(this);
                writer.setValue(value);

            }
            else if(value.getClass().isArray())
            {
                if(RestrictedType.class.isAssignableFrom(value.getClass().getComponentType()))
                {
                    RestrictedType[] restrictedTypes = (RestrictedType[]) value;
                    Object[] newVals = (Object[]) Array.newInstance(restrictedTypes[0].getValue().getClass(),
                                                                    restrictedTypes.length);
                    for(int i = 0; i < restrictedTypes.length; i++)
                    {
                        newVals[i] = restrictedTypes[i].getValue();
                    }
                    return (ValueWriter<V>) getValueWriter(newVals);
                }
                // TODO primitive array types
                factory = _writerMap.get(List.class);
                writer = factory.newInstance(this);
                writer.setValue(Arrays.asList((Object[])value));

            }
            else
            {
                return null;
            }
        }
        else
        {
            writer = factory.newInstance(this);
            writer.setValue(value);
        }


        return writer;
View Full Code Here

            if (_saslServer.isComplete())
            {
                SaslOutcome outcome = new SaslOutcome();

                outcome.setCode(SaslCode.OK);
                _saslFrameOutput.send(new SASLFrame(outcome), null);
                synchronized (getLock())
                {
                    _saslComplete = true;
                    _authenticated = true;
                    _user = _saslServerProvider.getAuthenticatedPrincipal(_saslServer);
                    getLock().notifyAll();
                }

                if (_onSaslCompleteTask != null)
                {
                    _onSaslCompleteTask.run();
                }

            }
            else
            {
                SaslChallenge challengeBody = new SaslChallenge();
                challengeBody.setChallenge(new Binary(challenge));
                _saslFrameOutput.send(new SASLFrame(challengeBody), null);

            }
        }
        catch (SaslException e)
        {
            SaslOutcome outcome = new SaslOutcome();

            outcome.setCode(SaslCode.AUTH);
            _saslFrameOutput.send(new SASLFrame(outcome), null);
            synchronized (getLock())
            {
                _saslComplete = true;
                _authenticated = false;
                getLock().notifyAll();
View Full Code Here

        }
        else if (mechanisms.contains(SASL_EXTERNAL))
        {
            init.setMechanism(SASL_EXTERNAL);
        }
        _saslFrameOutput.send(new SASLFrame(init), null);
    }
View Full Code Here

TOP

Related Classes of org.apache.qpid.amqp_1_0.codec.ValueWriter

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.