https://issues.apache.org/jira/browse/OPENWIRE-1
authorTimothy Bish <tabish121@gmail.com>
Thu, 24 Jul 2014 14:22:24 +0000 (10:22 -0400)
committerTimothy Bish <tabish121@gmail.com>
Thu, 24 Jul 2014 14:22:24 +0000 (10:22 -0400)
An initial break out of the OpenWire protocol into it's own project.

777 files changed:
openwire-core/.gitignore [new file with mode: 0644]
openwire-core/pom.xml [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/BaseDataStreamMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/BooleanStream.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/DataStreamMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/OpenWireConstants.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/OpenWireFormat.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/OpenWireFormatFactory.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v1/BaseCommandMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v1/BrokerIdMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v1/BrokerInfoMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v1/ConnectionControlMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v1/ConnectionErrorMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v1/ConnectionIdMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v1/ConnectionInfoMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v1/ConsumerControlMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v1/ConsumerIdMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v1/ConsumerInfoMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v1/ControlCommandMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v1/DataArrayResponseMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v1/DataResponseMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v1/DataStructureSupportMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v1/DestinationInfoMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v1/DiscoveryEventMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v1/ExceptionResponseMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v1/FlushCommandMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v1/IntegerResponseMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v1/JournalQueueAckMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v1/JournalTopicAckMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v1/JournalTraceMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v1/JournalTransactionMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v1/KeepAliveInfoMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v1/LastPartialCommandMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v1/LocalTransactionIdMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v1/MarshallerFactory.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v1/MessageAckMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v1/MessageDispatchMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v1/MessageDispatchNotificationMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v1/MessageIdMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v1/MessageMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v1/NetworkBridgeFilterMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v1/OpenWireBytesMessageMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v1/OpenWireDestinationMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v1/OpenWireMapMessageMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v1/OpenWireMessageMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v1/OpenWireObjectMessageMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v1/OpenWireQueueMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v1/OpenWireStreamMessageMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v1/OpenWireTempDestinationMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v1/OpenWireTempQueueMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v1/OpenWireTempTopicMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v1/OpenWireTextMessageMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v1/OpenWireTopicMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v1/PartialCommandMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v1/ProducerIdMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v1/ProducerInfoMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v1/RemoveInfoMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v1/RemoveSubscriptionInfoMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v1/ReplayCommandMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v1/ResponseMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v1/SessionIdMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v1/SessionInfoMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v1/ShutdownInfoMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v1/SubscriptionInfoMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v1/TransactionIdMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v1/TransactionInfoMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v1/WireFormatInfoMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v1/XATransactionIdMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v10/BaseCommandMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v10/BrokerIdMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v10/BrokerInfoMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v10/ConnectionControlMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v10/ConnectionErrorMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v10/ConnectionIdMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v10/ConnectionInfoMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v10/ConsumerControlMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v10/ConsumerIdMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v10/ConsumerInfoMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v10/ControlCommandMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v10/DataArrayResponseMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v10/DataResponseMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v10/DestinationInfoMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v10/DiscoveryEventMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v10/ExceptionResponseMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v10/FlushCommandMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v10/IntegerResponseMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v10/JournalQueueAckMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v10/JournalTopicAckMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v10/JournalTraceMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v10/JournalTransactionMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v10/KeepAliveInfoMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v10/LastPartialCommandMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v10/LocalTransactionIdMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v10/MarshallerFactory.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v10/MessageAckMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v10/MessageDispatchMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v10/MessageDispatchNotificationMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v10/MessageIdMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v10/MessageMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v10/MessagePullMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v10/NetworkBridgeFilterMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v10/OpenWireBlobMessageMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v10/OpenWireBytesMessageMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v10/OpenWireDestinationMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v10/OpenWireMapMessageMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v10/OpenWireMessageMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v10/OpenWireObjectMessageMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v10/OpenWireQueueMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v10/OpenWireStreamMessageMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v10/OpenWireTempDestinationMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v10/OpenWireTempQueueMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v10/OpenWireTempTopicMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v10/OpenWireTextMessageMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v10/OpenWireTopicMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v10/PartialCommandMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v10/ProducerAckMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v10/ProducerIdMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v10/ProducerInfoMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v10/RemoveInfoMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v10/RemoveSubscriptionInfoMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v10/ReplayCommandMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v10/ResponseMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v10/SessionIdMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v10/SessionInfoMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v10/ShutdownInfoMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v10/SubscriptionInfoMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v10/TransactionIdMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v10/TransactionInfoMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v10/WireFormatInfoMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v10/XATransactionIdMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v9/BaseCommandMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v9/BrokerIdMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v9/BrokerInfoMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v9/ConnectionControlMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v9/ConnectionErrorMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v9/ConnectionIdMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v9/ConnectionInfoMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v9/ConsumerControlMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v9/ConsumerIdMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v9/ConsumerInfoMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v9/ControlCommandMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v9/DataArrayResponseMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v9/DataResponseMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v9/DestinationInfoMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v9/DiscoveryEventMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v9/ExceptionResponseMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v9/FlushCommandMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v9/IntegerResponseMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v9/JournalQueueAckMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v9/JournalTopicAckMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v9/JournalTraceMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v9/JournalTransactionMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v9/KeepAliveInfoMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v9/LastPartialCommandMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v9/LocalTransactionIdMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v9/MarshallerFactory.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v9/MessageAckMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v9/MessageDispatchMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v9/MessageDispatchNotificationMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v9/MessageIdMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v9/MessageMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v9/MessagePullMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v9/NetworkBridgeFilterMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v9/OpenWireBlobMessageMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v9/OpenWireBytesMessageMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v9/OpenWireDestinationMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v9/OpenWireMapMessageMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v9/OpenWireMessageMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v9/OpenWireObjectMessageMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v9/OpenWireQueueMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v9/OpenWireStreamMessageMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v9/OpenWireTempDestinationMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v9/OpenWireTempQueueMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v9/OpenWireTempTopicMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v9/OpenWireTextMessageMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v9/OpenWireTopicMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v9/PartialCommandMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v9/ProducerAckMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v9/ProducerIdMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v9/ProducerInfoMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v9/RemoveInfoMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v9/RemoveSubscriptionInfoMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v9/ReplayCommandMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v9/ResponseMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v9/SessionIdMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v9/SessionInfoMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v9/ShutdownInfoMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v9/SubscriptionInfoMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v9/TransactionIdMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v9/TransactionInfoMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v9/WireFormatInfoMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/codec/v9/XATransactionIdMarshaller.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/commands/BaseCommand.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/commands/BrokerId.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/commands/BrokerInfo.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/commands/Command.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/commands/CommandTypes.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/commands/CommandVisitor.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/commands/CommandVisitorAdapter.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/commands/ConnectionControl.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/commands/ConnectionError.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/commands/ConnectionId.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/commands/ConnectionInfo.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/commands/ConsumerControl.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/commands/ConsumerId.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/commands/ConsumerInfo.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/commands/ControlCommand.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/commands/DataArrayResponse.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/commands/DataResponse.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/commands/DataStructure.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/commands/DestinationInfo.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/commands/DiscoveryEvent.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/commands/ExceptionResponse.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/commands/FlushCommand.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/commands/IntegerResponse.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/commands/JournalQueueAck.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/commands/JournalTopicAck.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/commands/JournalTrace.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/commands/JournalTransaction.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/commands/KeepAliveInfo.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/commands/LastPartialCommand.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/commands/LocalTransactionId.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/commands/MarshallAware.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/commands/Message.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/commands/MessageAck.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/commands/MessageDispatch.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/commands/MessageDispatchNotification.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/commands/MessageId.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/commands/MessagePull.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/commands/NetworkBridgeFilter.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/commands/OpenWireBlobMessage.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/commands/OpenWireBytesMessage.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/commands/OpenWireDestination.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/commands/OpenWireMapMessage.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/commands/OpenWireMessage.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/commands/OpenWireObjectMessage.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/commands/OpenWireQueue.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/commands/OpenWireStreamMessage.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/commands/OpenWireTempDestination.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/commands/OpenWireTempQueue.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/commands/OpenWireTempTopic.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/commands/OpenWireTextMessage.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/commands/OpenWireTopic.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/commands/PartialCommand.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/commands/ProducerAck.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/commands/ProducerId.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/commands/ProducerInfo.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/commands/RemoveInfo.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/commands/RemoveSubscriptionInfo.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/commands/ReplayCommand.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/commands/Response.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/commands/SessionId.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/commands/SessionInfo.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/commands/ShutdownInfo.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/commands/SubscriptionInfo.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/commands/TransactionId.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/commands/TransactionInfo.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/commands/WireFormatInfo.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/commands/XATransactionId.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/commands/package.html [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/utils/CronParser.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/utils/DefaultUnresolvedDestinationTransformer.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/utils/ExceptionSupport.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/utils/ObjectMessageInputStream.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/utils/OpenWireConnection.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/utils/OpenWireConsumer.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/utils/OpenWireIdGenerator.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/utils/OpenWireMarshallingSupport.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/utils/OpenWireProducer.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/utils/OpenWireSession.java [new file with mode: 0644]
openwire-core/src/main/java/org/apache/activemq/openwire/utils/UnresolvedDestinationTransformer.java [new file with mode: 0644]
openwire-core/src/test/java/org/apache/activemq/openwire/codec/BooleanStreamTest.java [new file with mode: 0644]
openwire-core/src/test/java/org/apache/activemq/openwire/codec/NumberRangesWhileMarshallingTest.java [new file with mode: 0644]
openwire-core/src/test/java/org/apache/activemq/openwire/commands/DataStructureTestSupport.java [new file with mode: 0644]
openwire-core/src/test/java/org/apache/activemq/openwire/commands/MessageTest.java [new file with mode: 0644]
openwire-core/src/test/java/org/apache/activemq/openwire/commands/OpenWireBytesMessageTest.java [new file with mode: 0644]
openwire-core/src/test/java/org/apache/activemq/openwire/commands/OpenWireDestinationTest.java [new file with mode: 0644]
openwire-core/src/test/java/org/apache/activemq/openwire/commands/OpenWireMapMessageTest.java [new file with mode: 0644]
openwire-core/src/test/java/org/apache/activemq/openwire/commands/OpenWireMessageTest.java [new file with mode: 0644]
openwire-core/src/test/java/org/apache/activemq/openwire/commands/OpenWireObjectMessageTest.java [new file with mode: 0644]
openwire-core/src/test/java/org/apache/activemq/openwire/commands/OpenWireStreamMessageTest.java [new file with mode: 0644]
openwire-core/src/test/java/org/apache/activemq/openwire/commands/OpenWireTextMessageTest.java [new file with mode: 0644]
openwire-core/src/test/java/org/apache/activemq/openwire/ide/OpenWireCodecGenerator.java [new file with mode: 0644]
openwire-core/src/test/java/org/apache/activemq/openwire/utils/CronParserTest.java [new file with mode: 0644]
openwire-core/src/test/java/org/apache/activemq/openwire/utils/OpenWireMarshallingSupportTest.java [new file with mode: 0644]
openwire-core/src/test/resources/log4j.properties [new file with mode: 0644]
openwire-generator/.gitignore [new file with mode: 0644]
openwire-generator/pom.xml [new file with mode: 0644]
openwire-generator/src/main/java/org/apache/activemq/openwire/generator/GeneratorTask.java [new file with mode: 0644]
openwire-generator/src/main/java/org/apache/activemq/openwire/generator/MarshallingGenerator.java [new file with mode: 0644]
openwire-generator/src/main/java/org/apache/activemq/openwire/generator/MultiSourceGenerator.java [new file with mode: 0644]
openwire-generator/src/main/java/org/apache/activemq/openwire/generator/OpenWireGenerator.java [new file with mode: 0644]
openwire-generator/src/main/java/org/apache/activemq/openwire/generator/TestDataGenerator.java [new file with mode: 0644]
openwire-generator/src/main/java/org/apache/activemq/openwire/generator/TestsGenerator.java [new file with mode: 0644]
openwire-interop-tests/.gitignore [new file with mode: 0644]
openwire-interop-tests/pom.xml [new file with mode: 0644]
openwire-interop-tests/src/test/java/org/apache/activemq/openwire/codec/MessageCompressionTest.java [new file with mode: 0644]
openwire-interop-tests/src/test/java/org/apache/activemq/openwire/codec/OpenWireInteropTestSupport.java [new file with mode: 0644]
openwire-interop-tests/src/test/java/org/apache/activemq/openwire/codec/OpenWireInteropTests.java [new file with mode: 0644]
openwire-interop-tests/src/test/java/org/apache/activemq/openwire/codec/WireFormatInfoMarshaledSizeTest.java [new file with mode: 0644]
openwire-interop-tests/src/test/java/org/apache/activemq/openwire/codec/v1/OpenWireV1Test.java [new file with mode: 0644]
openwire-interop-tests/src/test/java/org/apache/activemq/openwire/codec/v1/WireFormatInfoV1MarshaledSizeTest.java [new file with mode: 0644]
openwire-interop-tests/src/test/java/org/apache/activemq/openwire/codec/v10/OpenWireV10Test.java [new file with mode: 0644]
openwire-interop-tests/src/test/java/org/apache/activemq/openwire/codec/v10/WireFormatInfoV10MarshaledSizeTest.java [new file with mode: 0644]
openwire-interop-tests/src/test/java/org/apache/activemq/openwire/codec/v2/OpenWireV2Test.java [new file with mode: 0644]
openwire-interop-tests/src/test/java/org/apache/activemq/openwire/codec/v2/WireFormatInfoV2MarshaledSizeTest.java [new file with mode: 0644]
openwire-interop-tests/src/test/java/org/apache/activemq/openwire/codec/v3/OpenWireV3Test.java [new file with mode: 0644]
openwire-interop-tests/src/test/java/org/apache/activemq/openwire/codec/v3/WireFormatInfoV3MarshaledSizeTest.java [new file with mode: 0644]
openwire-interop-tests/src/test/java/org/apache/activemq/openwire/codec/v4/OpenWireV4Test.java [new file with mode: 0644]
openwire-interop-tests/src/test/java/org/apache/activemq/openwire/codec/v4/WireFormatInfoV4MarshaledSizeTest.java [new file with mode: 0644]
openwire-interop-tests/src/test/java/org/apache/activemq/openwire/codec/v5/OpenWireV5Test.java [new file with mode: 0644]
openwire-interop-tests/src/test/java/org/apache/activemq/openwire/codec/v5/WireFormatInfoV5MarshaledSizeTest.java [new file with mode: 0644]
openwire-interop-tests/src/test/java/org/apache/activemq/openwire/codec/v6/OpenWireV6Test.java [new file with mode: 0644]
openwire-interop-tests/src/test/java/org/apache/activemq/openwire/codec/v6/WireFormatInfoV6MarshaledSizeTest.java [new file with mode: 0644]
openwire-interop-tests/src/test/java/org/apache/activemq/openwire/codec/v7/OpenWireV7Test.java [new file with mode: 0644]
openwire-interop-tests/src/test/java/org/apache/activemq/openwire/codec/v7/WireFormatInfoV7MarshaledSizeTest.java [new file with mode: 0644]
openwire-interop-tests/src/test/java/org/apache/activemq/openwire/codec/v8/OpenWireV8Test.java [new file with mode: 0644]
openwire-interop-tests/src/test/java/org/apache/activemq/openwire/codec/v8/WireFormatInfoV8MarshaledSizeTest.java [new file with mode: 0644]
openwire-interop-tests/src/test/java/org/apache/activemq/openwire/codec/v9/OpenWireV9Test.java [new file with mode: 0644]
openwire-interop-tests/src/test/java/org/apache/activemq/openwire/codec/v9/WireFormatInfoV9MarshaledSizeTest.java [new file with mode: 0644]
openwire-interop-tests/src/test/java/org/apache/activemq/openwire/util/TcpTransport.java [new file with mode: 0644]
openwire-interop-tests/src/test/java/org/apache/activemq/openwire/util/TransportListener.java [new file with mode: 0644]
openwire-interop-tests/src/test/java/org/apache/activemq/openwire/util/Wait.java [new file with mode: 0644]
openwire-interop-tests/src/test/resources/log4j.properties [new file with mode: 0644]
openwire-jms/.gitignore [new file with mode: 0644]
openwire-jms/pom.xml [new file with mode: 0644]
openwire-jms/src/main/java/org/apache/activemq/openwire/jms/OpenWireJMSBytesMessage.java [new file with mode: 0644]
openwire-jms/src/main/java/org/apache/activemq/openwire/jms/OpenWireJMSMapMessage.java [new file with mode: 0644]
openwire-jms/src/main/java/org/apache/activemq/openwire/jms/OpenWireJMSMessage.java [new file with mode: 0644]
openwire-jms/src/main/java/org/apache/activemq/openwire/jms/OpenWireJMSObjectMessage.java [new file with mode: 0644]
openwire-jms/src/main/java/org/apache/activemq/openwire/jms/OpenWireJMSStreamMessage.java [new file with mode: 0644]
openwire-jms/src/main/java/org/apache/activemq/openwire/jms/OpenWireJMSTextMessage.java [new file with mode: 0644]
openwire-jms/src/main/java/org/apache/activemq/openwire/jms/utils/OpenWireMessagePropertyGetter.java [new file with mode: 0644]
openwire-jms/src/main/java/org/apache/activemq/openwire/jms/utils/OpenWireMessagePropertySetter.java [new file with mode: 0644]
openwire-jms/src/main/java/org/apache/activemq/openwire/jms/utils/TypeConversionSupport.java [new file with mode: 0644]
openwire-jms/src/test/java/org/apache/activemq/openwire/jms/OpenWireJMSBytesMessageTest.java [new file with mode: 0644]
openwire-jms/src/test/java/org/apache/activemq/openwire/jms/OpenWireJMSMapMessageTest.java [new file with mode: 0644]
openwire-jms/src/test/java/org/apache/activemq/openwire/jms/OpenWireJMSMessageTest.java [new file with mode: 0644]
openwire-jms/src/test/java/org/apache/activemq/openwire/jms/OpenWireJMSObjectMessageTest.java [new file with mode: 0644]
openwire-jms/src/test/java/org/apache/activemq/openwire/jms/OpenWireJMSStreamMessageTest.java [new file with mode: 0644]
openwire-jms/src/test/java/org/apache/activemq/openwire/jms/OpenWireJMSTextMessageTest.java [new file with mode: 0644]
openwire-jms/src/test/resources/log4j.properties [new file with mode: 0644]
openwire-legacy/.gitignore [new file with mode: 0644]
openwire-legacy/pom.xml [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v2/BaseCommandMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v2/BrokerIdMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v2/BrokerInfoMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v2/ConnectionControlMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v2/ConnectionErrorMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v2/ConnectionIdMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v2/ConnectionInfoMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v2/ConsumerControlMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v2/ConsumerIdMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v2/ConsumerInfoMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v2/ControlCommandMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v2/DataArrayResponseMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v2/DataResponseMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v2/DestinationInfoMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v2/DiscoveryEventMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v2/ExceptionResponseMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v2/FlushCommandMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v2/IntegerResponseMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v2/JournalQueueAckMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v2/JournalTopicAckMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v2/JournalTraceMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v2/JournalTransactionMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v2/KeepAliveInfoMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v2/LastPartialCommandMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v2/LocalTransactionIdMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v2/MarshallerFactory.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v2/MessageAckMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v2/MessageDispatchMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v2/MessageDispatchNotificationMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v2/MessageIdMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v2/MessageMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v2/MessagePullMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v2/NetworkBridgeFilterMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v2/OpenWireBytesMessageMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v2/OpenWireDestinationMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v2/OpenWireMapMessageMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v2/OpenWireMessageMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v2/OpenWireObjectMessageMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v2/OpenWireQueueMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v2/OpenWireStreamMessageMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v2/OpenWireTempDestinationMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v2/OpenWireTempQueueMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v2/OpenWireTempTopicMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v2/OpenWireTextMessageMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v2/OpenWireTopicMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v2/PartialCommandMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v2/ProducerIdMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v2/ProducerInfoMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v2/RemoveInfoMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v2/RemoveSubscriptionInfoMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v2/ReplayCommandMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v2/ResponseMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v2/SessionIdMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v2/SessionInfoMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v2/ShutdownInfoMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v2/SubscriptionInfoMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v2/TransactionIdMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v2/TransactionInfoMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v2/WireFormatInfoMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v2/XATransactionIdMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v3/BaseCommandMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v3/BrokerIdMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v3/BrokerInfoMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v3/ConnectionControlMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v3/ConnectionErrorMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v3/ConnectionIdMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v3/ConnectionInfoMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v3/ConsumerControlMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v3/ConsumerIdMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v3/ConsumerInfoMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v3/ControlCommandMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v3/DataArrayResponseMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v3/DataResponseMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v3/DestinationInfoMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v3/DiscoveryEventMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v3/ExceptionResponseMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v3/FlushCommandMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v3/IntegerResponseMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v3/JournalQueueAckMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v3/JournalTopicAckMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v3/JournalTraceMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v3/JournalTransactionMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v3/KeepAliveInfoMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v3/LastPartialCommandMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v3/LocalTransactionIdMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v3/MarshallerFactory.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v3/MessageAckMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v3/MessageDispatchMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v3/MessageDispatchNotificationMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v3/MessageIdMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v3/MessageMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v3/MessagePullMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v3/NetworkBridgeFilterMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v3/OpenWireBlobMessageMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v3/OpenWireBytesMessageMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v3/OpenWireDestinationMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v3/OpenWireMapMessageMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v3/OpenWireMessageMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v3/OpenWireObjectMessageMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v3/OpenWireQueueMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v3/OpenWireStreamMessageMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v3/OpenWireTempDestinationMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v3/OpenWireTempQueueMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v3/OpenWireTempTopicMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v3/OpenWireTextMessageMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v3/OpenWireTopicMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v3/PartialCommandMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v3/ProducerAckMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v3/ProducerIdMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v3/ProducerInfoMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v3/RemoveInfoMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v3/RemoveSubscriptionInfoMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v3/ReplayCommandMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v3/ResponseMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v3/SessionIdMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v3/SessionInfoMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v3/ShutdownInfoMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v3/SubscriptionInfoMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v3/TransactionIdMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v3/TransactionInfoMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v3/WireFormatInfoMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v3/XATransactionIdMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v4/BaseCommandMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v4/BrokerIdMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v4/BrokerInfoMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v4/ConnectionControlMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v4/ConnectionErrorMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v4/ConnectionIdMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v4/ConnectionInfoMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v4/ConsumerControlMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v4/ConsumerIdMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v4/ConsumerInfoMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v4/ControlCommandMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v4/DataArrayResponseMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v4/DataResponseMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v4/DestinationInfoMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v4/DiscoveryEventMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v4/ExceptionResponseMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v4/FlushCommandMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v4/IntegerResponseMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v4/JournalQueueAckMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v4/JournalTopicAckMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v4/JournalTraceMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v4/JournalTransactionMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v4/KeepAliveInfoMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v4/LastPartialCommandMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v4/LocalTransactionIdMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v4/MarshallerFactory.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v4/MessageAckMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v4/MessageDispatchMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v4/MessageDispatchNotificationMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v4/MessageIdMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v4/MessageMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v4/MessagePullMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v4/NetworkBridgeFilterMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v4/OpenWireBlobMessageMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v4/OpenWireBytesMessageMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v4/OpenWireDestinationMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v4/OpenWireMapMessageMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v4/OpenWireMessageMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v4/OpenWireObjectMessageMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v4/OpenWireQueueMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v4/OpenWireStreamMessageMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v4/OpenWireTempDestinationMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v4/OpenWireTempQueueMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v4/OpenWireTempTopicMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v4/OpenWireTextMessageMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v4/OpenWireTopicMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v4/PartialCommandMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v4/ProducerAckMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v4/ProducerIdMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v4/ProducerInfoMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v4/RemoveInfoMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v4/RemoveSubscriptionInfoMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v4/ReplayCommandMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v4/ResponseMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v4/SessionIdMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v4/SessionInfoMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v4/ShutdownInfoMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v4/SubscriptionInfoMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v4/TransactionIdMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v4/TransactionInfoMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v4/WireFormatInfoMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v4/XATransactionIdMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v5/BaseCommandMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v5/BrokerIdMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v5/BrokerInfoMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v5/ConnectionControlMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v5/ConnectionErrorMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v5/ConnectionIdMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v5/ConnectionInfoMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v5/ConsumerControlMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v5/ConsumerIdMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v5/ConsumerInfoMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v5/ControlCommandMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v5/DataArrayResponseMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v5/DataResponseMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v5/DestinationInfoMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v5/DiscoveryEventMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v5/ExceptionResponseMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v5/FlushCommandMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v5/IntegerResponseMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v5/JournalQueueAckMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v5/JournalTopicAckMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v5/JournalTraceMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v5/JournalTransactionMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v5/KeepAliveInfoMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v5/LastPartialCommandMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v5/LocalTransactionIdMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v5/MarshallerFactory.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v5/MessageAckMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v5/MessageDispatchMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v5/MessageDispatchNotificationMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v5/MessageIdMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v5/MessageMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v5/MessagePullMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v5/NetworkBridgeFilterMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v5/OpenWireBlobMessageMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v5/OpenWireBytesMessageMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v5/OpenWireDestinationMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v5/OpenWireMapMessageMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v5/OpenWireMessageMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v5/OpenWireObjectMessageMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v5/OpenWireQueueMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v5/OpenWireStreamMessageMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v5/OpenWireTempDestinationMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v5/OpenWireTempQueueMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v5/OpenWireTempTopicMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v5/OpenWireTextMessageMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v5/OpenWireTopicMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v5/PartialCommandMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v5/ProducerAckMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v5/ProducerIdMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v5/ProducerInfoMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v5/RemoveInfoMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v5/RemoveSubscriptionInfoMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v5/ReplayCommandMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v5/ResponseMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v5/SessionIdMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v5/SessionInfoMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v5/ShutdownInfoMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v5/SubscriptionInfoMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v5/TransactionIdMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v5/TransactionInfoMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v5/WireFormatInfoMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v5/XATransactionIdMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v6/BaseCommandMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v6/BrokerIdMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v6/BrokerInfoMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v6/ConnectionControlMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v6/ConnectionErrorMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v6/ConnectionIdMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v6/ConnectionInfoMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v6/ConsumerControlMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v6/ConsumerIdMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v6/ConsumerInfoMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v6/ControlCommandMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v6/DataArrayResponseMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v6/DataResponseMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v6/DestinationInfoMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v6/DiscoveryEventMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v6/ExceptionResponseMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v6/FlushCommandMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v6/IntegerResponseMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v6/JournalQueueAckMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v6/JournalTopicAckMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v6/JournalTraceMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v6/JournalTransactionMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v6/KeepAliveInfoMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v6/LastPartialCommandMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v6/LocalTransactionIdMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v6/MarshallerFactory.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v6/MessageAckMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v6/MessageDispatchMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v6/MessageDispatchNotificationMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v6/MessageIdMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v6/MessageMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v6/MessagePullMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v6/NetworkBridgeFilterMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v6/OpenWireBlobMessageMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v6/OpenWireBytesMessageMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v6/OpenWireDestinationMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v6/OpenWireMapMessageMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v6/OpenWireMessageMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v6/OpenWireObjectMessageMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v6/OpenWireQueueMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v6/OpenWireStreamMessageMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v6/OpenWireTempDestinationMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v6/OpenWireTempQueueMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v6/OpenWireTempTopicMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v6/OpenWireTextMessageMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v6/OpenWireTopicMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v6/PartialCommandMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v6/ProducerAckMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v6/ProducerIdMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v6/ProducerInfoMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v6/RemoveInfoMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v6/RemoveSubscriptionInfoMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v6/ReplayCommandMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v6/ResponseMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v6/SessionIdMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v6/SessionInfoMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v6/ShutdownInfoMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v6/SubscriptionInfoMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v6/TransactionIdMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v6/TransactionInfoMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v6/WireFormatInfoMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v6/XATransactionIdMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v7/BaseCommandMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v7/BrokerIdMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v7/BrokerInfoMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v7/ConnectionControlMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v7/ConnectionErrorMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v7/ConnectionIdMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v7/ConnectionInfoMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v7/ConsumerControlMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v7/ConsumerIdMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v7/ConsumerInfoMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v7/ControlCommandMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v7/DataArrayResponseMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v7/DataResponseMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v7/DestinationInfoMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v7/DiscoveryEventMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v7/ExceptionResponseMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v7/FlushCommandMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v7/IntegerResponseMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v7/JournalQueueAckMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v7/JournalTopicAckMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v7/JournalTraceMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v7/JournalTransactionMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v7/KeepAliveInfoMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v7/LastPartialCommandMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v7/LocalTransactionIdMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v7/MarshallerFactory.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v7/MessageAckMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v7/MessageDispatchMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v7/MessageDispatchNotificationMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v7/MessageIdMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v7/MessageMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v7/MessagePullMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v7/NetworkBridgeFilterMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v7/OpenWireBlobMessageMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v7/OpenWireBytesMessageMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v7/OpenWireDestinationMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v7/OpenWireMapMessageMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v7/OpenWireMessageMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v7/OpenWireObjectMessageMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v7/OpenWireQueueMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v7/OpenWireStreamMessageMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v7/OpenWireTempDestinationMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v7/OpenWireTempQueueMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v7/OpenWireTempTopicMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v7/OpenWireTextMessageMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v7/OpenWireTopicMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v7/PartialCommandMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v7/ProducerAckMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v7/ProducerIdMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v7/ProducerInfoMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v7/RemoveInfoMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v7/RemoveSubscriptionInfoMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v7/ReplayCommandMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v7/ResponseMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v7/SessionIdMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v7/SessionInfoMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v7/ShutdownInfoMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v7/SubscriptionInfoMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v7/TransactionIdMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v7/TransactionInfoMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v7/WireFormatInfoMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v7/XATransactionIdMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v8/BaseCommandMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v8/BrokerIdMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v8/BrokerInfoMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v8/ConnectionControlMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v8/ConnectionErrorMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v8/ConnectionIdMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v8/ConnectionInfoMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v8/ConsumerControlMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v8/ConsumerIdMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v8/ConsumerInfoMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v8/ControlCommandMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v8/DataArrayResponseMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v8/DataResponseMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v8/DestinationInfoMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v8/DiscoveryEventMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v8/ExceptionResponseMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v8/FlushCommandMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v8/IntegerResponseMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v8/JournalQueueAckMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v8/JournalTopicAckMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v8/JournalTraceMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v8/JournalTransactionMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v8/KeepAliveInfoMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v8/LastPartialCommandMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v8/LocalTransactionIdMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v8/MarshallerFactory.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v8/MessageAckMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v8/MessageDispatchMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v8/MessageDispatchNotificationMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v8/MessageIdMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v8/MessageMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v8/MessagePullMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v8/NetworkBridgeFilterMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v8/OpenWireBlobMessageMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v8/OpenWireBytesMessageMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v8/OpenWireDestinationMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v8/OpenWireMapMessageMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v8/OpenWireMessageMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v8/OpenWireObjectMessageMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v8/OpenWireQueueMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v8/OpenWireStreamMessageMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v8/OpenWireTempDestinationMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v8/OpenWireTempQueueMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v8/OpenWireTempTopicMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v8/OpenWireTextMessageMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v8/OpenWireTopicMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v8/PartialCommandMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v8/ProducerAckMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v8/ProducerIdMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v8/ProducerInfoMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v8/RemoveInfoMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v8/RemoveSubscriptionInfoMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v8/ReplayCommandMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v8/ResponseMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v8/SessionIdMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v8/SessionInfoMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v8/ShutdownInfoMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v8/SubscriptionInfoMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v8/TransactionIdMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v8/TransactionInfoMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v8/WireFormatInfoMarshaller.java [new file with mode: 0644]
openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v8/XATransactionIdMarshaller.java [new file with mode: 0644]
pom.xml [new file with mode: 0644]

diff --git a/openwire-core/.gitignore b/openwire-core/.gitignore
new file mode 100644 (file)
index 0000000..ea8c4bf
--- /dev/null
@@ -0,0 +1 @@
+/target
diff --git a/openwire-core/pom.xml b/openwire-core/pom.xml
new file mode 100644 (file)
index 0000000..18d3573
--- /dev/null
@@ -0,0 +1,198 @@
+<?xml version="1.0"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.apache.activemq</groupId>
+    <artifactId>openwire-protocol</artifactId>
+    <version>1.0-SNAPSHOT</version>
+  </parent>
+
+  <artifactId>openwire-core</artifactId>
+  <name>openwire-core</name>
+  <description>The main OpenWire protocol implementation providing current versions of the codec.</description>
+  <packaging>jar</packaging>
+  <properties>
+    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    <openwire-src>${basedir}/src/main/java/io/openwire/commands</openwire-src>
+    <openwire-oldest>10</openwire-oldest>
+    <openwire-newest>10</openwire-newest>
+  </properties>
+
+  <dependencies>
+    <!-- =================================== -->
+    <!-- Required Dependencies                -->
+    <!-- =================================== -->
+    <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>slf4j-api</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.fusesource.hawtbuf</groupId>
+      <artifactId>hawtbuf</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.geronimo.specs</groupId>
+      <artifactId>geronimo-jms_1.1_spec</artifactId>
+    </dependency>
+
+    <!-- =================================== -->
+    <!-- Testing Dependencies                -->
+    <!-- =================================== -->
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>slf4j-log4j12</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.activemq</groupId>
+      <artifactId>openwire-generator</artifactId>
+      <scope>test</scope>
+    </dependency>
+
+    <dependency>
+      <groupId>org.apache.activemq</groupId>
+      <artifactId>activemq-broker</artifactId>
+      <version>${activemq-version}</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.activemq</groupId>
+      <artifactId>activemq-kahadb-store</artifactId>
+      <version>${activemq-version}</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.activemq</groupId>
+      <artifactId>activemq-jaas</artifactId>
+      <version>${activemq-version}</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.activemq</groupId>
+      <artifactId>activemq-spring</artifactId>
+      <version>${activemq-version}</version>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
+
+<!--   <build> -->
+<!--     <plugins> -->
+<!--       <plugin> -->
+<!--         <groupId>org.apache.maven.plugins</groupId> -->
+<!--         <artifactId>maven-antrun-plugin</artifactId> -->
+<!--         <executions> -->
+<!--           <execution> -->
+<!--             <id>default</id> -->
+<!--             <phase>generate-sources</phase> -->
+<!--             <configuration> -->
+<!--               <target> -->
+<!--                 <echo>Running OpenWire Generator</echo> -->
+<!--                 <taskdef name="generate" classname="org.apache.activemq.openwire.generator.GeneratorTask" classpathref="maven.test.classpath" /> -->
+<!--                 <generate fromVersion="${openwire-oldest}" toVersion="${openwire-newest}" sourceDir="${openwire-src}" targetDir="${project.build.directory}/generated-sources/openwire" /> -->
+<!--               </target> -->
+<!--             </configuration> -->
+<!--             <goals> -->
+<!--               <goal>run</goal> -->
+<!--             </goals> -->
+<!--           </execution> -->
+<!--         </executions> -->
+<!--       </plugin> -->
+<!--       <plugin> -->
+<!--         <groupId>org.codehaus.mojo</groupId> -->
+<!--         <artifactId>build-helper-maven-plugin</artifactId> -->
+<!--         <version>1.7</version> -->
+<!--         <executions> -->
+<!--           <execution> -->
+<!--             <id>default</id> -->
+<!--             <phase>generate-sources</phase> -->
+<!--             <goals> -->
+<!--               <goal>add-source</goal> -->
+<!--             </goals> -->
+<!--             <configuration> -->
+<!--               <sources> -->
+<!--                 <source>${project.build.directory}/generated-sources/openwire</source> -->
+<!--               </sources> -->
+<!--             </configuration> -->
+<!--           </execution> -->
+<!--         </executions> -->
+<!--       </plugin> -->
+<!--     </plugins> -->
+<!--   </build> -->
+
+<!--   <profiles> -->
+<!--     <profile> -->
+<!--       <id>lib/tools.jar</id> -->
+<!--       <activation> -->
+<!--         <file> -->
+<!--           <exists>${java.home}/lib/tools.jar</exists> -->
+<!--         </file> -->
+<!--       </activation> -->
+<!--       <build> -->
+<!--         <plugins> -->
+<!--           <plugin> -->
+<!--             <groupId>org.apache.maven.plugins</groupId> -->
+<!--             <artifactId>maven-antrun-plugin</artifactId> -->
+<!--             <dependencies> -->
+<!--               <dependency> -->
+<!--                 <groupId>com.sun</groupId> -->
+<!--                 <artifactId>tools</artifactId> -->
+<!--                 <version>1.6.5</version> -->
+<!--                 <scope>system</scope> -->
+<!--                 <optional>true</optional> -->
+<!--                 <systemPath>${java.home}/lib/tools.jar</systemPath> -->
+<!--               </dependency> -->
+<!--             </dependencies> -->
+<!--           </plugin> -->
+<!--         </plugins> -->
+<!--       </build> -->
+<!--     </profile> -->
+<!--     <profile> -->
+<!--       <id>../lib/tools.jar</id> -->
+<!--       <activation> -->
+<!--         <file> -->
+<!--           <exists>${java.home}/../lib/tools.jar</exists> -->
+<!--         </file> -->
+<!--       </activation> -->
+<!--       <build> -->
+<!--         <plugins> -->
+<!--           <plugin> -->
+<!--             <groupId>org.apache.maven.plugins</groupId> -->
+<!--             <artifactId>maven-antrun-plugin</artifactId> -->
+<!--             <dependencies> -->
+<!--               <dependency> -->
+<!--                 <groupId>com.sun</groupId> -->
+<!--                 <artifactId>tools</artifactId> -->
+<!--                 <version>1.6.5</version> -->
+<!--                 <scope>system</scope> -->
+<!--                 <optional>true</optional> -->
+<!--                 <systemPath>${java.home}/../lib/tools.jar</systemPath> -->
+<!--               </dependency> -->
+<!--             </dependencies> -->
+<!--           </plugin> -->
+<!--         </plugins> -->
+<!--       </build> -->
+<!--     </profile> -->
+<!--   </profiles> -->
+
+</project>
diff --git a/openwire-core/src/main/java/org/apache/activemq/openwire/codec/BaseDataStreamMarshaller.java b/openwire-core/src/main/java/org/apache/activemq/openwire/codec/BaseDataStreamMarshaller.java
new file mode 100644 (file)
index 0000000..6566f8f
--- /dev/null
@@ -0,0 +1,618 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.activemq.openwire.codec;
+
+import java.io.DataInput;
+import java.io.DataOutput;
+import java.io.IOException;
+import java.lang.reflect.Constructor;
+
+import org.apache.activemq.openwire.commands.DataStructure;
+import org.fusesource.hawtbuf.Buffer;
+
+/**
+ * Root of all OpenWire marshalers.
+ */
+public abstract class BaseDataStreamMarshaller implements DataStreamMarshaller {
+
+    public static final Constructor<StackTraceElement> STACK_TRACE_ELEMENT_CONSTRUCTOR;
+
+    static {
+        Constructor<StackTraceElement> constructor = null;
+        try {
+            constructor = StackTraceElement.class.getConstructor(
+                new Class[] { String.class, String.class, String.class, int.class });
+        } catch (Throwable e) {
+        }
+        STACK_TRACE_ELEMENT_CONSTRUCTOR = constructor;
+    }
+
+    @Override
+    public abstract byte getDataStructureType();
+
+    @Override
+    public abstract DataStructure createObject();
+
+    @Override
+    public int tightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs) throws IOException {
+        return 0;
+    }
+
+    @Override
+    public void tightMarshal2(OpenWireFormat wireFormat, Object o, DataOutput dataOut, BooleanStream bs) throws IOException {
+    }
+
+    @Override
+    public void tightUnmarshal(OpenWireFormat wireFormat, Object o, DataInput dataIn, BooleanStream bs) throws IOException {
+    }
+
+    public int tightMarshalLong1(OpenWireFormat wireFormat, long o, BooleanStream bs) throws IOException {
+        if (o == 0) {
+            bs.writeBoolean(false);
+            bs.writeBoolean(false);
+            return 0;
+        } else if ((o & 0xFFFFFFFFFFFF0000L) == 0) {
+            bs.writeBoolean(false);
+            bs.writeBoolean(true);
+            return 2;
+        } else if ((o & 0xFFFFFFFF00000000L) == 0) {
+            bs.writeBoolean(true);
+            bs.writeBoolean(false);
+            return 4;
+        } else {
+            bs.writeBoolean(true);
+            bs.writeBoolean(true);
+            return 8;
+        }
+    }
+
+    public void tightMarshalLong2(OpenWireFormat wireFormat, long o, DataOutput dataOut, BooleanStream bs) throws IOException {
+        if (bs.readBoolean()) {
+            if (bs.readBoolean()) {
+                dataOut.writeLong(o);
+            } else {
+                dataOut.writeInt((int) o);
+            }
+        } else {
+            if (bs.readBoolean()) {
+                dataOut.writeShort((int) o);
+            }
+        }
+    }
+
+    public long tightUnmarshalLong(OpenWireFormat wireFormat, DataInput dataIn, BooleanStream bs) throws IOException {
+        if (bs.readBoolean()) {
+            if (bs.readBoolean()) {
+                return dataIn.readLong();
+            } else {
+                return toLong(dataIn.readInt());
+            }
+        } else {
+            if (bs.readBoolean()) {
+                return toLong(dataIn.readShort());
+            } else {
+                return 0;
+            }
+        }
+    }
+
+    protected long toLong(short value) {
+        // lets handle negative values
+        long answer = value;
+        return answer & 0xffffL;
+    }
+
+    protected long toLong(int value) {
+        // lets handle negative values
+        long answer = value;
+        return answer & 0xffffffffL;
+    }
+
+    protected DataStructure tightUnmarsalNestedObject(OpenWireFormat wireFormat, DataInput dataIn, BooleanStream bs) throws IOException {
+        return wireFormat.tightUnmarshalNestedObject(dataIn, bs);
+    }
+
+    protected int tightMarshalNestedObject1(OpenWireFormat wireFormat, DataStructure o, BooleanStream bs) throws IOException {
+        return wireFormat.tightMarshalNestedObject1(o, bs);
+    }
+
+    protected void tightMarshalNestedObject2(OpenWireFormat wireFormat, DataStructure o, DataOutput dataOut, BooleanStream bs) throws IOException {
+        wireFormat.tightMarshalNestedObject2(o, dataOut, bs);
+    }
+
+    protected DataStructure tightUnmarsalCachedObject(OpenWireFormat wireFormat, DataInput dataIn, BooleanStream bs) throws IOException {
+        if (wireFormat.isCacheEnabled()) {
+            if (bs.readBoolean()) {
+                short index = dataIn.readShort();
+                DataStructure object = wireFormat.tightUnmarshalNestedObject(dataIn, bs);
+                wireFormat.setInUnmarshallCache(index, object);
+                return object;
+            } else {
+                short index = dataIn.readShort();
+                return wireFormat.getFromUnmarshallCache(index);
+            }
+        } else {
+            return wireFormat.tightUnmarshalNestedObject(dataIn, bs);
+        }
+    }
+
+    protected int tightMarshalCachedObject1(OpenWireFormat wireFormat, DataStructure o, BooleanStream bs) throws IOException {
+        if (wireFormat.isCacheEnabled()) {
+            Short index = wireFormat.getMarshallCacheIndex(o);
+            bs.writeBoolean(index == null);
+            if (index == null) {
+                int rc = wireFormat.tightMarshalNestedObject1(o, bs);
+                wireFormat.addToMarshallCache(o);
+                return 2 + rc;
+            } else {
+                return 2;
+            }
+        } else {
+            return wireFormat.tightMarshalNestedObject1(o, bs);
+        }
+    }
+
+    protected void tightMarshalCachedObject2(OpenWireFormat wireFormat, DataStructure o, DataOutput dataOut, BooleanStream bs) throws IOException {
+        if (wireFormat.isCacheEnabled()) {
+            Short index = wireFormat.getMarshallCacheIndex(o);
+            if (bs.readBoolean()) {
+                dataOut.writeShort(index.shortValue());
+                wireFormat.tightMarshalNestedObject2(o, dataOut, bs);
+            } else {
+                dataOut.writeShort(index.shortValue());
+            }
+        } else {
+            wireFormat.tightMarshalNestedObject2(o, dataOut, bs);
+        }
+    }
+
+    protected Throwable tightUnmarsalThrowable(OpenWireFormat wireFormat, DataInput dataIn, BooleanStream bs) throws IOException {
+        if (bs.readBoolean()) {
+            String clazz = tightUnmarshalString(dataIn, bs);
+            String message = tightUnmarshalString(dataIn, bs);
+            Throwable o = createThrowable(clazz, message);
+            if (wireFormat.isStackTraceEnabled()) {
+                if (STACK_TRACE_ELEMENT_CONSTRUCTOR != null) {
+                    StackTraceElement ss[] = new StackTraceElement[dataIn.readShort()];
+                    for (int i = 0; i < ss.length; i++) {
+                        try {
+                            ss[i] = STACK_TRACE_ELEMENT_CONSTRUCTOR.newInstance(new Object[] { tightUnmarshalString(dataIn, bs),
+                                tightUnmarshalString(dataIn, bs), tightUnmarshalString(dataIn, bs), Integer.valueOf(dataIn.readInt()) });
+                        } catch (IOException e) {
+                            throw e;
+                        } catch (Throwable e) {
+                        }
+                    }
+                    o.setStackTrace(ss);
+                } else {
+                    short size = dataIn.readShort();
+                    for (int i = 0; i < size; i++) {
+                        tightUnmarshalString(dataIn, bs);
+                        tightUnmarshalString(dataIn, bs);
+                        tightUnmarshalString(dataIn, bs);
+                        dataIn.readInt();
+                    }
+                }
+                o.initCause(tightUnmarsalThrowable(wireFormat, dataIn, bs));
+
+            }
+            return o;
+        } else {
+            return null;
+        }
+    }
+
+    private Throwable createThrowable(String className, String message) {
+        try {
+            Class<?> clazz = Class.forName(className, false, BaseDataStreamMarshaller.class.getClassLoader());
+            Constructor<?> constructor = clazz.getConstructor(new Class[] { String.class });
+            return (Throwable) constructor.newInstance(new Object[] { message });
+        } catch (Throwable e) {
+            return new Throwable(className + ": " + message);
+        }
+    }
+
+    protected int tightMarshalThrowable1(OpenWireFormat wireFormat, Throwable o, BooleanStream bs) throws IOException {
+        if (o == null) {
+            bs.writeBoolean(false);
+            return 0;
+        } else {
+            int rc = 0;
+            bs.writeBoolean(true);
+            rc += tightMarshalString1(o.getClass().getName(), bs);
+            rc += tightMarshalString1(o.getMessage(), bs);
+            if (wireFormat.isStackTraceEnabled()) {
+                rc += 2;
+                StackTraceElement[] stackTrace = o.getStackTrace();
+                for (int i = 0; i < stackTrace.length; i++) {
+                    StackTraceElement element = stackTrace[i];
+                    rc += tightMarshalString1(element.getClassName(), bs);
+                    rc += tightMarshalString1(element.getMethodName(), bs);
+                    rc += tightMarshalString1(element.getFileName(), bs);
+                    rc += 4;
+                }
+                rc += tightMarshalThrowable1(wireFormat, o.getCause(), bs);
+            }
+            return rc;
+        }
+    }
+
+    protected void tightMarshalThrowable2(OpenWireFormat wireFormat, Throwable o, DataOutput dataOut, BooleanStream bs) throws IOException {
+        if (bs.readBoolean()) {
+            tightMarshalString2(o.getClass().getName(), dataOut, bs);
+            tightMarshalString2(o.getMessage(), dataOut, bs);
+            if (wireFormat.isStackTraceEnabled()) {
+                StackTraceElement[] stackTrace = o.getStackTrace();
+                dataOut.writeShort(stackTrace.length);
+                for (int i = 0; i < stackTrace.length; i++) {
+                    StackTraceElement element = stackTrace[i];
+                    tightMarshalString2(element.getClassName(), dataOut, bs);
+                    tightMarshalString2(element.getMethodName(), dataOut, bs);
+                    tightMarshalString2(element.getFileName(), dataOut, bs);
+                    dataOut.writeInt(element.getLineNumber());
+                }
+                tightMarshalThrowable2(wireFormat, o.getCause(), dataOut, bs);
+            }
+        }
+    }
+
+    @SuppressWarnings("deprecation")
+    protected String tightUnmarshalString(DataInput dataIn, BooleanStream bs) throws IOException {
+        if (bs.readBoolean()) {
+            if (bs.readBoolean()) {
+                int size = dataIn.readShort();
+                byte data[] = new byte[size];
+                dataIn.readFully(data);
+                // Yes deprecated, but we know what we are doing.
+                // This allows us to create a String from a ASCII byte array. (no UTF-8
+                // decoding)
+                return new String(data, 0);
+            } else {
+                return dataIn.readUTF();
+            }
+        } else {
+            return null;
+        }
+    }
+
+    protected int tightMarshalString1(String value, BooleanStream bs) throws IOException {
+        bs.writeBoolean(value != null);
+        if (value != null) {
+
+            int strlen = value.length();
+            int utflen = 0;
+            char[] charr = new char[strlen];
+            int c = 0;
+            boolean isOnlyAscii = true;
+
+            value.getChars(0, strlen, charr, 0);
+
+            for (int i = 0; i < strlen; i++) {
+                c = charr[i];
+                if ((c >= 0x0001) && (c <= 0x007F)) {
+                    utflen++;
+                } else if (c > 0x07FF) {
+                    utflen += 3;
+                    isOnlyAscii = false;
+                } else {
+                    isOnlyAscii = false;
+                    utflen += 2;
+                }
+            }
+
+            if (utflen >= Short.MAX_VALUE) {
+                throw new IOException("Encountered a String value that is too long to encode.");
+            }
+            bs.writeBoolean(isOnlyAscii);
+            return utflen + 2;
+
+        } else {
+            return 0;
+        }
+    }
+
+    protected void tightMarshalString2(String value, DataOutput dataOut, BooleanStream bs) throws IOException {
+        if (bs.readBoolean()) {
+            // If we verified it only holds ascii values
+            if (bs.readBoolean()) {
+                dataOut.writeShort(value.length());
+                dataOut.writeBytes(value);
+            } else {
+                dataOut.writeUTF(value);
+            }
+        }
+    }
+
+    protected int tightMarshalObjectArray1(OpenWireFormat wireFormat, DataStructure[] objects, BooleanStream bs) throws IOException {
+        if (objects != null) {
+            int rc = 0;
+            bs.writeBoolean(true);
+            rc += 2;
+            for (int i = 0; i < objects.length; i++) {
+                rc += tightMarshalNestedObject1(wireFormat, objects[i], bs);
+            }
+            return rc;
+        } else {
+            bs.writeBoolean(false);
+            return 0;
+        }
+    }
+
+    protected void tightMarshalObjectArray2(OpenWireFormat wireFormat, DataStructure[] objects, DataOutput dataOut, BooleanStream bs) throws IOException {
+        if (bs.readBoolean()) {
+            dataOut.writeShort(objects.length);
+            for (int i = 0; i < objects.length; i++) {
+                tightMarshalNestedObject2(wireFormat, objects[i], dataOut, bs);
+            }
+        }
+    }
+
+    protected int tightMarshalConstByteArray1(byte[] data, BooleanStream bs, int i) throws IOException {
+        return i;
+    }
+
+    protected void tightMarshalConstByteArray2(byte[] data, DataOutput dataOut, BooleanStream bs, int i) throws IOException {
+        dataOut.write(data, 0, i);
+    }
+
+    protected byte[] tightUnmarshalConstByteArray(DataInput dataIn, BooleanStream bs, int i) throws IOException {
+        byte data[] = new byte[i];
+        dataIn.readFully(data);
+        return data;
+    }
+
+    protected int tightMarshalByteArray1(byte[] data, BooleanStream bs) throws IOException {
+        bs.writeBoolean(data != null);
+        if (data != null) {
+            return data.length + 4;
+        } else {
+            return 0;
+        }
+    }
+
+    protected void tightMarshalByteArray2(byte[] data, DataOutput dataOut, BooleanStream bs) throws IOException {
+        if (bs.readBoolean()) {
+            dataOut.writeInt(data.length);
+            dataOut.write(data);
+        }
+    }
+
+    protected byte[] tightUnmarshalByteArray(DataInput dataIn, BooleanStream bs) throws IOException {
+        byte rc[] = null;
+        if (bs.readBoolean()) {
+            int size = dataIn.readInt();
+            rc = new byte[size];
+            dataIn.readFully(rc);
+        }
+        return rc;
+    }
+
+    protected int tightMarshalByteSequence1(Buffer data, BooleanStream bs) throws IOException {
+        bs.writeBoolean(data != null);
+        if (data != null) {
+            return data.getLength() + 4;
+        } else {
+            return 0;
+        }
+    }
+
+    protected void tightMarshalByteSequence2(Buffer data, DataOutput dataOut, BooleanStream bs) throws IOException {
+        if (bs.readBoolean()) {
+            dataOut.writeInt(data.getLength());
+            dataOut.write(data.getData(), data.getOffset(), data.getLength());
+        }
+    }
+
+    protected Buffer tightUnmarshalByteSequence(DataInput dataIn, BooleanStream bs) throws IOException {
+        Buffer rc = null;
+        if (bs.readBoolean()) {
+            int size = dataIn.readInt();
+            byte[] t = new byte[size];
+            dataIn.readFully(t);
+            return new Buffer(t, 0, size);
+        }
+        return rc;
+    }
+
+    //
+    // The loose marshaling logic
+    //
+
+    @Override
+    public void looseMarshal(OpenWireFormat wireFormat, Object o, DataOutput dataOut) throws IOException {
+    }
+
+    @Override
+    public void looseUnmarshal(OpenWireFormat wireFormat, Object o, DataInput dataIn) throws IOException {
+    }
+
+    public void looseMarshalLong(OpenWireFormat wireFormat, long o, DataOutput dataOut) throws IOException {
+        dataOut.writeLong(o);
+    }
+
+    public long looseUnmarshalLong(OpenWireFormat wireFormat, DataInput dataIn) throws IOException {
+        return dataIn.readLong();
+    }
+
+    protected DataStructure looseUnmarsalNestedObject(OpenWireFormat wireFormat, DataInput dataIn) throws IOException {
+        return wireFormat.looseUnmarshalNestedObject(dataIn);
+    }
+
+    protected void looseMarshalNestedObject(OpenWireFormat wireFormat, DataStructure o, DataOutput dataOut) throws IOException {
+        wireFormat.looseMarshalNestedObject(o, dataOut);
+    }
+
+    protected DataStructure looseUnmarsalCachedObject(OpenWireFormat wireFormat, DataInput dataIn) throws IOException {
+        if (wireFormat.isCacheEnabled()) {
+            if (dataIn.readBoolean()) {
+                short index = dataIn.readShort();
+                DataStructure object = wireFormat.looseUnmarshalNestedObject(dataIn);
+                wireFormat.setInUnmarshallCache(index, object);
+                return object;
+            } else {
+                short index = dataIn.readShort();
+                return wireFormat.getFromUnmarshallCache(index);
+            }
+        } else {
+            return wireFormat.looseUnmarshalNestedObject(dataIn);
+        }
+    }
+
+    protected void looseMarshalCachedObject(OpenWireFormat wireFormat, DataStructure o, DataOutput dataOut) throws IOException {
+        if (wireFormat.isCacheEnabled()) {
+            Short index = wireFormat.getMarshallCacheIndex(o);
+            dataOut.writeBoolean(index == null);
+            if (index == null) {
+                index = wireFormat.addToMarshallCache(o);
+                dataOut.writeShort(index.shortValue());
+                wireFormat.looseMarshalNestedObject(o, dataOut);
+            } else {
+                dataOut.writeShort(index.shortValue());
+            }
+        } else {
+            wireFormat.looseMarshalNestedObject(o, dataOut);
+        }
+    }
+
+    protected Throwable looseUnmarsalThrowable(OpenWireFormat wireFormat, DataInput dataIn) throws IOException {
+        if (dataIn.readBoolean()) {
+            String clazz = looseUnmarshalString(dataIn);
+            String message = looseUnmarshalString(dataIn);
+            Throwable o = createThrowable(clazz, message);
+            if (wireFormat.isStackTraceEnabled()) {
+                if (STACK_TRACE_ELEMENT_CONSTRUCTOR != null) {
+                    StackTraceElement ss[] = new StackTraceElement[dataIn.readShort()];
+                    for (int i = 0; i < ss.length; i++) {
+                        try {
+                            ss[i] = STACK_TRACE_ELEMENT_CONSTRUCTOR.newInstance(new Object[] { looseUnmarshalString(dataIn),
+                                looseUnmarshalString(dataIn), looseUnmarshalString(dataIn), Integer.valueOf(dataIn.readInt()) });
+                        } catch (IOException e) {
+                            throw e;
+                        } catch (Throwable e) {
+                        }
+                    }
+                    o.setStackTrace(ss);
+                } else {
+                    short size = dataIn.readShort();
+                    for (int i = 0; i < size; i++) {
+                        looseUnmarshalString(dataIn);
+                        looseUnmarshalString(dataIn);
+                        looseUnmarshalString(dataIn);
+                        dataIn.readInt();
+                    }
+                }
+                o.initCause(looseUnmarsalThrowable(wireFormat, dataIn));
+
+            }
+            return o;
+        } else {
+            return null;
+        }
+    }
+
+    protected void looseMarshalThrowable(OpenWireFormat wireFormat, Throwable o, DataOutput dataOut) throws IOException {
+        dataOut.writeBoolean(o != null);
+        if (o != null) {
+            looseMarshalString(o.getClass().getName(), dataOut);
+            looseMarshalString(o.getMessage(), dataOut);
+            if (wireFormat.isStackTraceEnabled()) {
+                StackTraceElement[] stackTrace = o.getStackTrace();
+                dataOut.writeShort(stackTrace.length);
+                for (int i = 0; i < stackTrace.length; i++) {
+                    StackTraceElement element = stackTrace[i];
+                    looseMarshalString(element.getClassName(), dataOut);
+                    looseMarshalString(element.getMethodName(), dataOut);
+                    looseMarshalString(element.getFileName(), dataOut);
+                    dataOut.writeInt(element.getLineNumber());
+                }
+                looseMarshalThrowable(wireFormat, o.getCause(), dataOut);
+            }
+        }
+    }
+
+    protected String looseUnmarshalString(DataInput dataIn) throws IOException {
+        if (dataIn.readBoolean()) {
+            return dataIn.readUTF();
+        } else {
+            return null;
+        }
+    }
+
+    protected void looseMarshalString(String value, DataOutput dataOut) throws IOException {
+        dataOut.writeBoolean(value != null);
+        if (value != null) {
+            dataOut.writeUTF(value);
+        }
+    }
+
+    protected void looseMarshalObjectArray(OpenWireFormat wireFormat, DataStructure[] objects, DataOutput dataOut) throws IOException {
+        dataOut.writeBoolean(objects != null);
+        if (objects != null) {
+            dataOut.writeShort(objects.length);
+            for (int i = 0; i < objects.length; i++) {
+                looseMarshalNestedObject(wireFormat, objects[i], dataOut);
+            }
+        }
+    }
+
+    protected void looseMarshalConstByteArray(OpenWireFormat wireFormat, byte[] data, DataOutput dataOut, int i) throws IOException {
+        dataOut.write(data, 0, i);
+    }
+
+    protected byte[] looseUnmarshalConstByteArray(DataInput dataIn, int i) throws IOException {
+        byte data[] = new byte[i];
+        dataIn.readFully(data);
+        return data;
+    }
+
+    protected void looseMarshalByteArray(OpenWireFormat wireFormat, byte[] data, DataOutput dataOut) throws IOException {
+        dataOut.writeBoolean(data != null);
+        if (data != null) {
+            dataOut.writeInt(data.length);
+            dataOut.write(data);
+        }
+    }
+
+    protected byte[] looseUnmarshalByteArray(DataInput dataIn) throws IOException {
+        byte rc[] = null;
+        if (dataIn.readBoolean()) {
+            int size = dataIn.readInt();
+            rc = new byte[size];
+            dataIn.readFully(rc);
+        }
+        return rc;
+    }
+
+    protected void looseMarshalByteSequence(OpenWireFormat wireFormat, Buffer data, DataOutput dataOut) throws IOException {
+        dataOut.writeBoolean(data != null);
+        if (data != null) {
+            dataOut.writeInt(data.getLength());
+            dataOut.write(data.getData(), data.getOffset(), data.getLength());
+        }
+    }
+
+    protected Buffer looseUnmarshalByteSequence(DataInput dataIn) throws IOException {
+        Buffer rc = null;
+        if (dataIn.readBoolean()) {
+            int size = dataIn.readInt();
+            byte[] t = new byte[size];
+            dataIn.readFully(t);
+            rc = new Buffer(t, 0, size);
+        }
+        return rc;
+    }
+}
diff --git a/openwire-core/src/main/java/org/apache/activemq/openwire/codec/BooleanStream.java b/openwire-core/src/main/java/org/apache/activemq/openwire/codec/BooleanStream.java
new file mode 100644 (file)
index 0000000..615b379
--- /dev/null
@@ -0,0 +1,120 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.activemq.openwire.codec;
+
+import java.io.DataInput;
+import java.io.DataOutput;
+import java.io.IOException;
+import java.nio.ByteBuffer;
+
+public final class BooleanStream {
+
+    byte data[] = new byte[48];
+    short arrayLimit;
+    short arrayPos;
+    byte bytePos;
+
+    public boolean readBoolean() throws IOException {
+        assert arrayPos <= arrayLimit;
+        byte b = data[arrayPos];
+        boolean rc = ((b >> bytePos) & 0x01) != 0;
+        bytePos++;
+        if (bytePos >= 8) {
+            bytePos = 0;
+            arrayPos++;
+        }
+        return rc;
+    }
+
+    public void writeBoolean(boolean value) throws IOException {
+        if (bytePos == 0) {
+            arrayLimit++;
+            if (arrayLimit >= data.length) {
+                // re-grow the array.
+                byte d[] = new byte[data.length * 2];
+                System.arraycopy(data, 0, d, 0, data.length);
+                data = d;
+            }
+        }
+        if (value) {
+            data[arrayPos] |= 0x01 << bytePos;
+        }
+        bytePos++;
+        if (bytePos >= 8) {
+            bytePos = 0;
+            arrayPos++;
+        }
+    }
+
+    public void marshal(DataOutput dataOut) throws IOException {
+        if (arrayLimit < 64) {
+            dataOut.writeByte(arrayLimit);
+        } else if (arrayLimit < 256) { // max value of unsigned byte
+            dataOut.writeByte(0xC0);
+            dataOut.writeByte(arrayLimit);
+        } else {
+            dataOut.writeByte(0x80);
+            dataOut.writeShort(arrayLimit);
+        }
+
+        dataOut.write(data, 0, arrayLimit);
+        clear();
+    }
+
+    public void marshal(ByteBuffer dataOut) {
+        if (arrayLimit < 64) {
+            dataOut.put((byte) arrayLimit);
+        } else if (arrayLimit < 256) { // max value of unsigned byte
+            dataOut.put((byte) 0xC0);
+            dataOut.put((byte) arrayLimit);
+        } else {
+            dataOut.put((byte) 0x80);
+            dataOut.putShort(arrayLimit);
+        }
+
+        dataOut.put(data, 0, arrayLimit);
+    }
+
+    public void unmarshal(DataInput dataIn) throws IOException {
+        arrayLimit = (short) (dataIn.readByte() & 0xFF);
+        if (arrayLimit == 0xC0) {
+            arrayLimit = (short) (dataIn.readByte() & 0xFF);
+        } else if (arrayLimit == 0x80) {
+            arrayLimit = dataIn.readShort();
+        }
+        if (data.length < arrayLimit) {
+            data = new byte[arrayLimit];
+        }
+        dataIn.readFully(data, 0, arrayLimit);
+        clear();
+    }
+
+    public void clear() {
+        arrayPos = 0;
+        bytePos = 0;
+    }
+
+    public int marshalledSize() {
+        if (arrayLimit < 64) {
+            return 1 + arrayLimit;
+        } else if (arrayLimit < 256) {
+            return 2 + arrayLimit;
+        } else {
+            return 3 + arrayLimit;
+        }
+    }
+}
diff --git a/openwire-core/src/main/java/org/apache/activemq/openwire/codec/DataStreamMarshaller.java b/openwire-core/src/main/java/org/apache/activemq/openwire/codec/DataStreamMarshaller.java
new file mode 100644 (file)
index 0000000..3035644
--- /dev/null
@@ -0,0 +1,41 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.activemq.openwire.codec;
+
+import java.io.DataInput;
+import java.io.DataOutput;
+import java.io.IOException;
+
+import org.apache.activemq.openwire.commands.DataStructure;
+
+public interface DataStreamMarshaller {
+
+    byte getDataStructureType();
+
+    DataStructure createObject();
+
+    int tightMarshal1(OpenWireFormat format, Object c, BooleanStream bs) throws IOException;
+
+    void tightMarshal2(OpenWireFormat format, Object c, DataOutput ds, BooleanStream bs) throws IOException;
+
+    void tightUnmarshal(OpenWireFormat format, Object data, DataInput dis, BooleanStream bs) throws IOException;
+
+    void looseMarshal(OpenWireFormat format, Object c, DataOutput ds) throws IOException;
+
+    void looseUnmarshal(OpenWireFormat format, Object data, DataInput dis) throws IOException;
+
+}
diff --git a/openwire-core/src/main/java/org/apache/activemq/openwire/codec/OpenWireConstants.java b/openwire-core/src/main/java/org/apache/activemq/openwire/codec/OpenWireConstants.java
new file mode 100644 (file)
index 0000000..f1de32c
--- /dev/null
@@ -0,0 +1,105 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.activemq.openwire.codec;
+
+/**
+ * Set of Constant values used by various OpenWire Brokers.
+ */
+public class OpenWireConstants {
+
+    //---------- ActiveMQ Message Extended Property Values -------------------//
+
+    public static final String DLQ_DELIVERY_FAILURE_CAUSE_PROPERTY = "dlqDeliveryFailureCause";
+
+    public static final String BROKER_PATH_PROPERTY = "JMSActiveMQBrokerPath";
+
+    //---------- ActiveMQ Advisory Message Identifiers -----------------------//
+
+    public static final String ADIVSORY_MESSAGE_TYPE = "Advisory";
+
+    //---------- ActiveMQ Scheduled Message Value ----------------------------//
+
+    /**
+     * The time in milliseconds that a message will wait before being scheduled to be
+     * delivered by the broker
+     */
+    public static final String AMQ_SCHEDULED_DELAY = "AMQ_SCHEDULED_DELAY";
+
+    /**
+     * The time in milliseconds to wait after the start time to wait before scheduling the message again
+     */
+    public static final String AMQ_SCHEDULED_PERIOD = "AMQ_SCHEDULED_PERIOD";
+
+    /**
+     * The number of times to repeat scheduling a message for delivery
+     */
+    public static final String AMQ_SCHEDULED_REPEAT = "AMQ_SCHEDULED_REPEAT";
+
+    /**
+     * Use a Cron tab entry to set the schedule
+     */
+    public static final String AMQ_SCHEDULED_CRON = "AMQ_SCHEDULED_CRON";
+
+    /**
+     * An Id that is assigned to a Scheduled Message, this value is only available once the
+     * Message is scheduled, Messages sent to the Browse Destination or delivered to the
+     * assigned Destination will have this value set.
+     */
+    public static final String AMQ_SCHEDULED_ID = "scheduledJobId";
+
+    /**
+     * Special destination to send Message's to with an assigned "action" that the Scheduler
+     * should perform such as removing a message.
+     */
+    public static final String AMQ_SCHEDULER_MANAGEMENT_DESTINATION = "ActiveMQ.Scheduler.Management";
+
+    /**
+     * Used to specify that a some operation should be performed on the Scheduled Message,
+     * the Message must have an assigned Id for this action to be taken.
+     */
+    public static final String AMQ_SCHEDULER_ACTION = "AMQ_SCHEDULER_ACTION";
+
+    /**
+     * Indicates that a browse of the Scheduled Messages is being requested.
+     */
+    public static final String AMQ_SCHEDULER_ACTION_BROWSE = "BROWSE";
+
+    /**
+     * Indicates that a Scheduled Message is to be remove from the Scheduler, the Id of
+     * the scheduled message must be set as a property in order for this action to have
+     * any effect.
+     */
+    public static final String AMQ_SCHEDULER_ACTION_REMOVE = "REMOVE";
+
+    /**
+     * Indicates that all scheduled Messages should be removed.
+     */
+    public static final String AMQ_SCHEDULER_ACTION_REMOVEALL = "REMOVEALL";
+
+    /**
+     * A property that holds the beginning of the time interval that the specified action should
+     * be applied within.  Maps to a long value that specified time in milliseconds since UTC.
+     */
+    public static final String AMQ_SCHEDULER_ACTION_START_TIME = "ACTION_START_TIME";
+
+    /**
+     * A property that holds the end of the time interval that the specified action should be
+     * applied within.  Maps to a long value that specified time in milliseconds since UTC.
+     */
+    public static final String AMQ_SCHEDULER_ACTION_END_TIME = "ACTION_END_TIME";
+
+}
diff --git a/openwire-core/src/main/java/org/apache/activemq/openwire/codec/OpenWireFormat.java b/openwire-core/src/main/java/org/apache/activemq/openwire/codec/OpenWireFormat.java
new file mode 100644 (file)
index 0000000..ceab954
--- /dev/null
@@ -0,0 +1,599 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.activemq.openwire.codec;
+
+import java.io.DataInput;
+import java.io.DataOutput;
+import java.io.IOException;
+import java.lang.reflect.Method;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.apache.activemq.openwire.commands.CommandTypes;
+import org.apache.activemq.openwire.commands.DataStructure;
+import org.apache.activemq.openwire.commands.WireFormatInfo;
+import org.fusesource.hawtbuf.Buffer;
+import org.fusesource.hawtbuf.DataByteArrayInputStream;
+import org.fusesource.hawtbuf.DataByteArrayOutputStream;
+
+/**
+ * The OpenWire Protocol Encoder and Decoder implementation.
+ */
+public final class OpenWireFormat {
+
+    public static final int DEFAULT_VERSION = CommandTypes.PROTOCOL_STORE_VERSION;
+    public static final int DEFAULT_WIRE_VERSION = CommandTypes.PROTOCOL_VERSION;
+    public static final long DEFAULT_MAX_FRAME_SIZE = Long.MAX_VALUE;
+
+    static final byte NULL_TYPE = CommandTypes.NULL;
+    private static final int MARSHAL_CACHE_SIZE = Short.MAX_VALUE / 2;
+    private static final int MARSHAL_CACHE_FREE_SPACE = 100;
+
+    private DataStreamMarshaller dataMarshallers[];
+    private int version;
+    private boolean stackTraceEnabled;
+    private boolean tcpNoDelayEnabled;
+    private boolean cacheEnabled;
+    private boolean tightEncodingEnabled;
+    private boolean sizePrefixDisabled;
+    private long maxFrameSize = DEFAULT_MAX_FRAME_SIZE;
+
+    // The following fields are used for value caching
+    private short nextMarshallCacheIndex;
+    private short nextMarshallCacheEvictionIndex;
+    private Map<DataStructure, Short> marshallCacheMap = new HashMap<DataStructure, Short>();
+    private DataStructure marshallCache[] = null;
+    private DataStructure unmarshallCache[] = null;
+    private final DataByteArrayOutputStream bytesOut = new DataByteArrayOutputStream();
+    private final DataByteArrayInputStream bytesIn = new DataByteArrayInputStream();
+    private WireFormatInfo preferedWireFormatInfo;
+
+    public OpenWireFormat() {
+        this(DEFAULT_VERSION);
+    }
+
+    public OpenWireFormat(int i) {
+        setVersion(i);
+    }
+
+    @Override
+    public int hashCode() {
+        return version ^ (cacheEnabled ? 0x10000000 : 0x20000000) ^ (stackTraceEnabled ? 0x01000000 : 0x02000000)
+            ^ (tightEncodingEnabled ? 0x00100000 : 0x00200000) ^ (sizePrefixDisabled ? 0x00010000 : 0x00020000);
+    }
+
+    public OpenWireFormat copy() {
+        OpenWireFormat answer = new OpenWireFormat(version);
+        answer.stackTraceEnabled = stackTraceEnabled;
+        answer.tcpNoDelayEnabled = tcpNoDelayEnabled;
+        answer.cacheEnabled = cacheEnabled;
+        answer.tightEncodingEnabled = tightEncodingEnabled;
+        answer.sizePrefixDisabled = sizePrefixDisabled;
+        answer.preferedWireFormatInfo = preferedWireFormatInfo;
+        return answer;
+    }
+
+    @Override
+    public boolean equals(Object object) {
+        if (object == null) {
+            return false;
+        }
+        OpenWireFormat o = (OpenWireFormat) object;
+        return o.stackTraceEnabled == stackTraceEnabled && o.cacheEnabled == cacheEnabled && o.version == version
+            && o.tightEncodingEnabled == tightEncodingEnabled && o.sizePrefixDisabled == sizePrefixDisabled;
+    }
+
+    @Override
+    public String toString() {
+        return "OpenWireFormat{version=" + version + ", cacheEnabled=" + cacheEnabled + ", stackTraceEnabled=" + stackTraceEnabled + ", tightEncodingEnabled="
+            + tightEncodingEnabled + ", sizePrefixDisabled=" + sizePrefixDisabled + ", maxFrameSize=" + maxFrameSize + "}";
+    }
+
+    public int getVersion() {
+        return version;
+    }
+
+    public synchronized Buffer marshal(Object command) throws IOException {
+        if (cacheEnabled) {
+            runMarshallCacheEvictionSweep();
+        }
+
+        Buffer sequence = null;
+        int size = 1;
+        if (command != null) {
+            DataStructure c = (DataStructure) command;
+            byte type = c.getDataStructureType();
+            DataStreamMarshaller dsm = dataMarshallers[type & 0xFF];
+            if (dsm == null) {
+                throw new IOException("Unknown data type: " + type);
+            }
+            if (tightEncodingEnabled) {
+
+                BooleanStream bs = new BooleanStream();
+                size += dsm.tightMarshal1(this, c, bs);
+                size += bs.marshalledSize();
+
+                bytesOut.restart(size);
+                if (!sizePrefixDisabled) {
+                    bytesOut.writeInt(size);
+                }
+                bytesOut.writeByte(type);
+                bs.marshal(bytesOut);
+                dsm.tightMarshal2(this, c, bytesOut, bs);
+                sequence = bytesOut.toBuffer();
+
+            } else {
+                bytesOut.restart();
+                if (!sizePrefixDisabled) {
+                    // we don't know the final size yet but write this here for now.
+                    bytesOut.writeInt(0);
+                }
+                bytesOut.writeByte(type);
+                dsm.looseMarshal(this, c, bytesOut);
+                sequence = bytesOut.toBuffer();
+
+                if (!sizePrefixDisabled) {
+                    size = sequence.getLength() - 4;
+                    int length = sequence.length;
+                    int offset = sequence.offset;
+                    sequence.bigEndianEditor().writeInt(size);
+                    sequence.length = length;
+                    sequence.offset = offset;
+                }
+            }
+        } else {
+            bytesOut.restart(5);
+            bytesOut.writeInt(size);
+            bytesOut.writeByte(NULL_TYPE);
+            sequence = bytesOut.toBuffer();
+        }
+
+        return sequence;
+    }
+
+    public synchronized Object unmarshal(Buffer sequence) throws IOException {
+        bytesIn.restart(sequence);
+
+        if (!sizePrefixDisabled) {
+            int size = bytesIn.readInt();
+            if (size > maxFrameSize) {
+                throw new IOException("Frame size of " + (size / (1024 * 1024)) + " MB larger than max allowed " + (maxFrameSize / (1024 * 1024)) + " MB");
+            }
+        }
+
+        Object command = doUnmarshal(bytesIn);
+        return command;
+    }
+
+    public synchronized void marshal(Object o, DataOutput dataOut) throws IOException {
+
+        if (cacheEnabled) {
+            runMarshallCacheEvictionSweep();
+        }
+
+        int size = 1;
+        if (o != null) {
+
+            DataStructure c = (DataStructure) o;
+            byte type = c.getDataStructureType();
+            DataStreamMarshaller dsm = dataMarshallers[type & 0xFF];
+            if (dsm == null) {
+                throw new IOException("Unknown data type: " + type);
+            }
+            if (tightEncodingEnabled) {
+                BooleanStream bs = new BooleanStream();
+                size += dsm.tightMarshal1(this, c, bs);
+                size += bs.marshalledSize();
+
+                if (!sizePrefixDisabled) {
+                    dataOut.writeInt(size);
+                }
+
+                dataOut.writeByte(type);
+                bs.marshal(dataOut);
+                dsm.tightMarshal2(this, c, dataOut, bs);
+
+            } else {
+                DataOutput looseOut = dataOut;
+
+                if (!sizePrefixDisabled) {
+                    bytesOut.restart();
+                    looseOut = bytesOut;
+                }
+
+                looseOut.writeByte(type);
+                dsm.looseMarshal(this, c, looseOut);
+
+                if (!sizePrefixDisabled) {
+                    Buffer sequence = bytesOut.toBuffer();
+                    dataOut.writeInt(sequence.getLength());
+                    dataOut.write(sequence.getData(), sequence.getOffset(), sequence.getLength());
+                }
+
+            }
+
+        } else {
+            if (!sizePrefixDisabled) {
+                dataOut.writeInt(size);
+            }
+            dataOut.writeByte(NULL_TYPE);
+        }
+    }
+
+    public Object unmarshal(DataInput dis) throws IOException {
+        DataInput dataIn = dis;
+        if (!sizePrefixDisabled) {
+            int size = dis.readInt();
+            if (size > maxFrameSize) {
+                throw new IOException("Frame size of " + (size / (1024 * 1024)) + " MB larger than max allowed " + (maxFrameSize / (1024 * 1024)) + " MB");
+            }
+        }
+        return doUnmarshal(dataIn);
+    }
+
+    /**
+     * Used by NIO or AIO transports
+     */
+    public int tightMarshal1(Object o, BooleanStream bs) throws IOException {
+        int size = 1;
+        if (o != null) {
+            DataStructure c = (DataStructure) o;
+            byte type = c.getDataStructureType();
+            DataStreamMarshaller dsm = dataMarshallers[type & 0xFF];
+            if (dsm == null) {
+                throw new IOException("Unknown data type: " + type);
+            }
+
+            size += dsm.tightMarshal1(this, c, bs);
+            size += bs.marshalledSize();
+        }
+        return size;
+    }
+
+    /**
+     * Used by NIO or AIO transports; note that the size is not written as part of this method.
+     */
+    public void tightMarshal2(Object o, DataOutput ds, BooleanStream bs) throws IOException {
+        if (cacheEnabled) {
+            runMarshallCacheEvictionSweep();
+        }
+
+        if (o != null) {
+            DataStructure c = (DataStructure) o;
+            byte type = c.getDataStructureType();
+            DataStreamMarshaller dsm = dataMarshallers[type & 0xFF];
+            if (dsm == null) {
+                throw new IOException("Unknown data type: " + type);
+            }
+            ds.writeByte(type);
+            bs.marshal(ds);
+            dsm.tightMarshal2(this, c, ds, bs);
+        }
+    }
+
+    /**
+     * Allows you to dynamically switch the version of the openwire protocol being used.
+     *
+     * @param version
+     */
+    public void setVersion(int version) {
+        String mfName = "org.apache.activemq.openwire.codec.v" + version + ".MarshallerFactory";
+        Class<?> mfClass;
+        try {
+            mfClass = Class.forName(mfName, false, getClass().getClassLoader());
+        } catch (ClassNotFoundException e) {
+            throw new IllegalArgumentException("Invalid version: " + version + ", could not load " + mfName, e);
+        }
+        try {
+            Method method = mfClass.getMethod("createMarshallerMap", new Class[] { OpenWireFormat.class });
+            dataMarshallers = (DataStreamMarshaller[]) method.invoke(null, new Object[] { this });
+        } catch (Throwable e) {
+            throw new IllegalArgumentException("Invalid version: " + version + ", " + mfName
+                + " does not properly implement the createMarshallerMap method.", e);
+        }
+        this.version = version;
+    }
+
+    public Object doUnmarshal(DataInput dis) throws IOException {
+        byte dataType = dis.readByte();
+        if (dataType != NULL_TYPE) {
+            DataStreamMarshaller dsm = dataMarshallers[dataType & 0xFF];
+            if (dsm == null) {
+                throw new IOException("Unknown data type: " + dataType);
+            }
+            Object data = dsm.createObject();
+            if (this.tightEncodingEnabled) {
+                BooleanStream bs = new BooleanStream();
+                bs.unmarshal(dis);
+                dsm.tightUnmarshal(this, data, dis, bs);
+            } else {
+                dsm.looseUnmarshal(this, data, dis);
+            }
+            return data;
+        } else {
+            return null;
+        }
+    }
+
+    public int tightMarshalNestedObject1(DataStructure o, BooleanStream bs) throws IOException {
+        bs.writeBoolean(o != null);
+        if (o == null) {
+            return 0;
+        }
+
+        if (o.isMarshallAware()) {
+            // Legacy code, always writes false
+            Buffer sequence = null;
+            bs.writeBoolean(sequence != null);
+        }
+
+        byte type = o.getDataStructureType();
+        DataStreamMarshaller dsm = dataMarshallers[type & 0xFF];
+        if (dsm == null) {
+            throw new IOException("Unknown data type: " + type);
+        }
+        return 1 + dsm.tightMarshal1(this, o, bs);
+    }
+
+    public void tightMarshalNestedObject2(DataStructure o, DataOutput ds, BooleanStream bs) throws IOException {
+        if (!bs.readBoolean()) {
+            return;
+        }
+
+        byte type = o.getDataStructureType();
+        ds.writeByte(type);
+
+        if (o.isMarshallAware() && bs.readBoolean()) {
+            // We should not be doing any caching
+            throw new IOException("Corrupted stream");
+        } else {
+            DataStreamMarshaller dsm = dataMarshallers[type & 0xFF];
+            if (dsm == null) {
+                throw new IOException("Unknown data type: " + type);
+            }
+            dsm.tightMarshal2(this, o, ds, bs);
+        }
+    }
+
+    public DataStructure tightUnmarshalNestedObject(DataInput dis, BooleanStream bs) throws IOException {
+        if (bs.readBoolean()) {
+
+            byte dataType = dis.readByte();
+            DataStreamMarshaller dsm = dataMarshallers[dataType & 0xFF];
+            if (dsm == null) {
+                throw new IOException("Unknown data type: " + dataType);
+            }
+            DataStructure data = dsm.createObject();
+
+            if (data.isMarshallAware() && bs.readBoolean()) {
+
+                dis.readInt();
+                dis.readByte();
+
+                BooleanStream bs2 = new BooleanStream();
+                bs2.unmarshal(dis);
+                dsm.tightUnmarshal(this, data, dis, bs2);
+            } else {
+                dsm.tightUnmarshal(this, data, dis, bs);
+            }
+
+            return data;
+        } else {
+            return null;
+        }
+    }
+
+    public DataStructure looseUnmarshalNestedObject(DataInput dis) throws IOException {
+        if (dis.readBoolean()) {
+
+            byte dataType = dis.readByte();
+            DataStreamMarshaller dsm = dataMarshallers[dataType & 0xFF];
+            if (dsm == null) {
+                throw new IOException("Unknown data type: " + dataType);
+            }
+            DataStructure data = dsm.createObject();
+            dsm.looseUnmarshal(this, data, dis);
+            return data;
+
+        } else {
+            return null;
+        }
+    }
+
+    public void looseMarshalNestedObject(DataStructure o, DataOutput dataOut) throws IOException {
+        dataOut.writeBoolean(o != null);
+        if (o != null) {
+            byte type = o.getDataStructureType();
+            dataOut.writeByte(type);
+            DataStreamMarshaller dsm = dataMarshallers[type & 0xFF];
+            if (dsm == null) {
+                throw new IOException("Unknown data type: " + type);
+            }
+            dsm.looseMarshal(this, o, dataOut);
+        }
+    }
+
+    public void runMarshallCacheEvictionSweep() {
+        // Do we need to start evicting??
+        while (marshallCacheMap.size() > marshallCache.length - MARSHAL_CACHE_FREE_SPACE) {
+            marshallCacheMap.remove(marshallCache[nextMarshallCacheEvictionIndex]);
+            marshallCache[nextMarshallCacheEvictionIndex] = null;
+
+            nextMarshallCacheEvictionIndex++;
+            if (nextMarshallCacheEvictionIndex >= marshallCache.length) {
+                nextMarshallCacheEvictionIndex = 0;
+            }
+        }
+    }
+
+    public Short getMarshallCacheIndex(DataStructure o) {
+        return marshallCacheMap.get(o);
+    }
+
+    public Short addToMarshallCache(DataStructure o) {
+        short i = nextMarshallCacheIndex++;
+        if (nextMarshallCacheIndex >= marshallCache.length) {
+            nextMarshallCacheIndex = 0;
+        }
+
+        // We can only cache that item if there is space left.
+        if (marshallCacheMap.size() < marshallCache.length) {
+            marshallCache[i] = o;
+            Short index = new Short(i);
+            marshallCacheMap.put(o, index);
+            return index;
+        } else {
+            // Use -1 to indicate that the value was not cached due to cache being full.
+            return new Short((short) -1);
+        }
+    }
+
+    public void setInUnmarshallCache(short index, DataStructure o) {
+        // There was no space left in the cache, so we can't put this in the cache.
+        if (index == -1) {
+            return;
+        }
+
+        unmarshallCache[index] = o;
+    }
+
+    public DataStructure getFromUnmarshallCache(short index) {
+        return unmarshallCache[index];
+    }
+
+    public void setStackTraceEnabled(boolean b) {
+        stackTraceEnabled = b;
+    }
+
+    public boolean isStackTraceEnabled() {
+        return stackTraceEnabled;
+    }
+
+    public boolean isTcpNoDelayEnabled() {
+        return tcpNoDelayEnabled;
+    }
+
+    public void setTcpNoDelayEnabled(boolean tcpNoDelayEnabled) {
+        this.tcpNoDelayEnabled = tcpNoDelayEnabled;
+    }
+
+    public boolean isCacheEnabled() {
+        return cacheEnabled;
+    }
+
+    public void setCacheEnabled(boolean cacheEnabled) {
+        if (cacheEnabled) {
+            marshallCache = new DataStructure[MARSHAL_CACHE_SIZE];
+            unmarshallCache = new DataStructure[MARSHAL_CACHE_SIZE];
+        }
+        this.cacheEnabled = cacheEnabled;
+    }
+
+    public boolean isTightEncodingEnabled() {
+        return tightEncodingEnabled;
+    }
+
+    public void setTightEncodingEnabled(boolean tightEncodingEnabled) {
+        this.tightEncodingEnabled = tightEncodingEnabled;
+    }
+
+    public boolean isSizePrefixDisabled() {
+        return sizePrefixDisabled;
+    }
+
+    public void setSizePrefixDisabled(boolean prefixPacketSize) {
+        this.sizePrefixDisabled = prefixPacketSize;
+    }
+
+    public void setPreferedWireFormatInfo(WireFormatInfo info) {
+        this.preferedWireFormatInfo = info;
+    }
+
+    public WireFormatInfo getPreferedWireFormatInfo() {
+        return preferedWireFormatInfo;
+    }
+
+    public long getMaxFrameSize() {
+        return maxFrameSize;
+    }
+
+    public void setMaxFrameSize(long maxFrameSize) {
+        this.maxFrameSize = maxFrameSize;
+    }
+
+    public void renegotiateWireFormat(WireFormatInfo info) throws IOException {
+        if (preferedWireFormatInfo == null) {
+            throw new IllegalStateException("Wireformat cannot not be renegotiated.");
+        }
+
+        this.setVersion(min(preferedWireFormatInfo.getVersion(), info.getVersion()));
+        info.setVersion(this.getVersion());
+
+        this.setMaxFrameSize(min(preferedWireFormatInfo.getMaxFrameSize(), info.getMaxFrameSize()));
+        info.setMaxFrameSize(this.getMaxFrameSize());
+
+        this.stackTraceEnabled = info.isStackTraceEnabled() && preferedWireFormatInfo.isStackTraceEnabled();
+        info.setStackTraceEnabled(this.stackTraceEnabled);
+
+        this.tcpNoDelayEnabled = info.isTcpNoDelayEnabled() && preferedWireFormatInfo.isTcpNoDelayEnabled();
+        info.setTcpNoDelayEnabled(this.tcpNoDelayEnabled);
+
+        this.cacheEnabled = info.isCacheEnabled() && preferedWireFormatInfo.isCacheEnabled();
+        info.setCacheEnabled(this.cacheEnabled);
+
+        this.tightEncodingEnabled = info.isTightEncodingEnabled() && preferedWireFormatInfo.isTightEncodingEnabled();
+        info.setTightEncodingEnabled(this.tightEncodingEnabled);
+
+        this.sizePrefixDisabled = info.isSizePrefixDisabled() && preferedWireFormatInfo.isSizePrefixDisabled();
+        info.setSizePrefixDisabled(this.sizePrefixDisabled);
+
+        if (cacheEnabled) {
+            int size = Math.min(preferedWireFormatInfo.getCacheSize(), info.getCacheSize());
+            info.setCacheSize(size);
+
+            if (size == 0) {
+                size = MARSHAL_CACHE_SIZE;
+            }
+
+            marshallCache = new DataStructure[size];
+            unmarshallCache = new DataStructure[size];
+            nextMarshallCacheIndex = 0;
+            nextMarshallCacheEvictionIndex = 0;
+            marshallCacheMap = new HashMap<DataStructure, Short>();
+        } else {
+            marshallCache = null;
+            unmarshallCache = null;
+            nextMarshallCacheIndex = 0;
+            nextMarshallCacheEvictionIndex = 0;
+            marshallCacheMap = null;
+        }
+    }
+
+    protected int min(int version1, int version2) {
+        if (version1 < version2 && version1 > 0 || version2 <= 0) {
+            return version1;
+        }
+        return version2;
+    }
+
+    protected long min(long version1, long version2) {
+        if (version1 < version2 && version1 > 0 || version2 <= 0) {
+            return version1;
+        }
+        return version2;
+    }
+}
diff --git a/openwire-core/src/main/java/org/apache/activemq/openwire/codec/OpenWireFormatFactory.java b/openwire-core/src/main/java/org/apache/activemq/openwire/codec/OpenWireFormatFactory.java
new file mode 100644 (file)
index 0000000..333ec26
--- /dev/null
@@ -0,0 +1,159 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.activemq.openwire.codec;
+
+import org.apache.activemq.openwire.commands.WireFormatInfo;
+
+/**
+ * Creates a new instance of the OpenWireFormat codec.
+ */
+public class OpenWireFormatFactory {
+
+    //
+    // The default values here are what the wire format changes to after a
+    // default negotiation.
+    //
+
+    private int version = OpenWireFormat.DEFAULT_WIRE_VERSION;
+    private boolean stackTraceEnabled = true;
+    private boolean tcpNoDelayEnabled = true;
+    private boolean cacheEnabled = true;
+    private boolean tightEncodingEnabled = true;
+    private boolean sizePrefixDisabled;
+    private long maxInactivityDuration = 30 * 1000;
+    private long maxInactivityDurationInitalDelay = 10 * 1000;
+    private int cacheSize = 1024;
+    private long maxFrameSize = OpenWireFormat.DEFAULT_MAX_FRAME_SIZE;
+    private String host = null;
+
+    public OpenWireFormat createWireFormat() {
+        WireFormatInfo info = new WireFormatInfo();
+        info.setVersion(version);
+
+        try {
+            info.setStackTraceEnabled(stackTraceEnabled);
+            info.setCacheEnabled(cacheEnabled);
+            info.setTcpNoDelayEnabled(tcpNoDelayEnabled);
+            info.setTightEncodingEnabled(tightEncodingEnabled);
+            info.setSizePrefixDisabled(sizePrefixDisabled);
+            info.setMaxInactivityDuration(maxInactivityDuration);
+            info.setMaxInactivityDurationInitalDelay(maxInactivityDurationInitalDelay);
+            info.setCacheSize(cacheSize);
+            info.setMaxFrameSize(maxFrameSize);
+            if (host != null) {
+                info.setHost(host);
+            }
+        } catch (Exception e) {
+            IllegalStateException ise = new IllegalStateException("Could not configure WireFormatInfo");
+            ise.initCause(e);
+            throw ise;
+        }
+
+        OpenWireFormat f = new OpenWireFormat(version);
+        f.setMaxFrameSize(maxFrameSize);
+        f.setPreferedWireFormatInfo(info);
+        return f;
+    }
+
+    public boolean isStackTraceEnabled() {
+        return stackTraceEnabled;
+    }
+
+    public void setStackTraceEnabled(boolean stackTraceEnabled) {
+        this.stackTraceEnabled = stackTraceEnabled;
+    }
+
+    public boolean isTcpNoDelayEnabled() {
+        return tcpNoDelayEnabled;
+    }
+
+    public void setTcpNoDelayEnabled(boolean tcpNoDelayEnabled) {
+        this.tcpNoDelayEnabled = tcpNoDelayEnabled;
+    }
+
+    public int getVersion() {
+        return version;
+    }
+
+    public void setVersion(int version) {
+        this.version = version;
+    }
+
+    public boolean isCacheEnabled() {
+        return cacheEnabled;
+    }
+
+    public void setCacheEnabled(boolean cacheEnabled) {
+        this.cacheEnabled = cacheEnabled;
+    }
+
+    public boolean isTightEncodingEnabled() {
+        return tightEncodingEnabled;
+    }
+
+    public void setTightEncodingEnabled(boolean tightEncodingEnabled) {
+        this.tightEncodingEnabled = tightEncodingEnabled;
+    }
+
+    public boolean isSizePrefixDisabled() {
+        return sizePrefixDisabled;
+    }
+
+    public void setSizePrefixDisabled(boolean sizePrefixDisabled) {
+        this.sizePrefixDisabled = sizePrefixDisabled;
+    }
+
+    public long getMaxInactivityDuration() {
+        return maxInactivityDuration;
+    }
+
+    public void setMaxInactivityDuration(long maxInactivityDuration) {
+        this.maxInactivityDuration = maxInactivityDuration;
+    }
+
+    public int getCacheSize() {
+        return cacheSize;
+    }
+
+    public void setCacheSize(int cacheSize) {
+        this.cacheSize = cacheSize;
+    }
+
+    public long getMaxInactivityDurationInitalDelay() {
+        return maxInactivityDurationInitalDelay;
+    }
+
+    public void setMaxInactivityDurationInitalDelay(long maxInactivityDurationInitalDelay) {
+        this.maxInactivityDurationInitalDelay = maxInactivityDurationInitalDelay;
+    }
+
+    public long getMaxFrameSize() {
+        return maxFrameSize;
+    }
+
+    public void setMaxFrameSize(long maxFrameSize) {
+        this.maxFrameSize = maxFrameSize;
+    }
+
+    public String getHost() {
+        return host;
+    }
+
+    public void setHost(String host) {
+        this.host = host;
+    }
+}
diff --git a/openwire-core/src/main/java/org/apache/activemq/openwire/codec/v1/BaseCommandMarshaller.java b/openwire-core/src/main/java/org/apache/activemq/openwire/codec/v1/BaseCommandMarshaller.java
new file mode 100644 (file)
index 0000000..ea3a3f3
--- /dev/null
@@ -0,0 +1,109 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.activemq.openwire.codec.v1;
+
+import java.io.DataInput;
+import java.io.DataOutput;
+import java.io.IOException;
+
+import org.apache.activemq.openwire.codec.BaseDataStreamMarshaller;
+import org.apache.activemq.openwire.codec.BooleanStream;
+import org.apache.activemq.openwire.codec.OpenWireFormat;
+import org.apache.activemq.openwire.commands.BaseCommand;
+
+public abstract class BaseCommandMarshaller extends BaseDataStreamMarshaller {
+
+    /**
+     * Un-marshal an object instance from the data input stream
+     *
+     * @param o
+     *        the object to un-marshal
+     * @param dataIn
+     *        the data input stream to build the object from
+     * @throws IOException
+     */
+    @Override
+    public void tightUnmarshal(OpenWireFormat wireFormat, Object o, DataInput dataIn, BooleanStream bs) throws IOException {
+        super.tightUnmarshal(wireFormat, o, dataIn, bs);
+
+        BaseCommand info = (BaseCommand) o;
+        info.setCommandId(dataIn.readInt());
+        info.setResponseRequired(bs.readBoolean());
+    }
+
+    /**
+     * Write the booleans that this object uses to a BooleanStream
+     */
+    @Override
+    public int tightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs) throws IOException {
+        BaseCommand info = (BaseCommand) o;
+
+        int rc = super.tightMarshal1(wireFormat, o, bs);
+        bs.writeBoolean(info.isResponseRequired());
+
+        return rc + 4;
+    }
+
+    /**
+     * Write a object instance to data output stream
+     *
+     * @param o
+     *        the instance to be marshaled
+     * @param dataOut
+     *        the output stream
+     * @throws IOException
+     *         thrown if an error occurs
+     */
+    @Override
+    public void tightMarshal2(OpenWireFormat wireFormat, Object o, DataOutput dataOut, BooleanStream bs) throws IOException {
+        super.tightMarshal2(wireFormat, o, dataOut, bs);
+
+        BaseCommand info = (BaseCommand) o;
+        dataOut.writeInt(info.getCommandId());
+        bs.readBoolean();
+    }
+
+    /**
+     * Un-marshal an object instance from the data input stream
+     *
+     * @param o
+     *        the object to un-marshal
+     * @param dataIn
+     *        the data input stream to build the object from
+     * @throws IOException
+     */
+    @Override
+    public void looseUnmarshal(OpenWireFormat wireFormat, Object o, DataInput dataIn) throws IOException {
+        super.looseUnmarshal(wireFormat, o, dataIn);
+
+        BaseCommand info = (BaseCommand) o;
+        info.setCommandId(dataIn.readInt());
+        info.setResponseRequired(dataIn.readBoolean());
+    }
+
+    /**
+     * Write the booleans that this object uses to a BooleanStream
+     */
+    @Override
+    public void looseMarshal(OpenWireFormat wireFormat, Object o, DataOutput dataOut) throws IOException {
+        BaseCommand info = (BaseCommand) o;
+
+        super.looseMarshal(wireFormat, o, dataOut);
+        dataOut.writeInt(info.getCommandId());
+        dataOut.writeBoolean(info.isResponseRequired());
+    }
+}
diff --git a/openwire-core/src/main/java/org/apache/activemq/openwire/codec/v1/BrokerIdMarshaller.java b/openwire-core/src/main/java/org/apache/activemq/openwire/codec/v1/BrokerIdMarshaller.java
new file mode 100644 (file)
index 0000000..43e4154
--- /dev/null
@@ -0,0 +1,118 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.activemq.openwire.codec.v1;
+
+import java.io.DataInput;
+import java.io.DataOutput;
+import java.io.IOException;
+
+import org.apache.activemq.openwire.codec.BaseDataStreamMarshaller;
+import org.apache.activemq.openwire.codec.BooleanStream;
+import org.apache.activemq.openwire.codec.OpenWireFormat;
+import org.apache.activemq.openwire.commands.BrokerId;
+import org.apache.activemq.openwire.commands.DataStructure;
+
+public class BrokerIdMarshaller extends BaseDataStreamMarshaller {
+
+    /**
+     * Return the type of Data Structure we marshal
+     *
+     * @return short representation of the type data structure
+     */
+    @Override
+    public byte getDataStructureType() {
+        return BrokerId.DATA_STRUCTURE_TYPE;
+    }
+
+    /**
+     * @return a new object instance
+     */
+    @Override
+    public DataStructure createObject() {
+        return new BrokerId();
+    }
+
+    /**
+     * Un-marshal an object instance from the data input stream
+     *
+     * @param o
+     *        the object to un-marshal
+     * @param dataIn
+     *        the data input stream to build the object from
+     * @throws IOException
+     */
+    @Override
+    public void tightUnmarshal(OpenWireFormat wireFormat, Object o, DataInput dataIn, BooleanStream bs) throws IOException {
+        super.tightUnmarshal(wireFormat, o, dataIn, bs);
+        BrokerId info = (BrokerId) o;
+        info.setValue(tightUnmarshalString(dataIn, bs));
+    }
+
+    /**
+     * Write the booleans that this object uses to a BooleanStream
+     */
+    @Override
+    public int tightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs) throws IOException {
+        BrokerId info = (BrokerId) o;
+        int rc = super.tightMarshal1(wireFormat, o, bs);
+        rc += tightMarshalString1(info.getValue(), bs);
+        return rc + 0;
+    }
+
+    /**
+     * Write a object instance to data output stream
+     *
+     * @param o
+     *        the instance to be marshaled
+     * @param dataOut
+     *        the output stream
+     * @throws IOException
+     *         thrown if an error occurs
+     */
+    @Override
+    public void tightMarshal2(OpenWireFormat wireFormat, Object o, DataOutput dataOut, BooleanStream bs) throws IOException {
+        super.tightMarshal2(wireFormat, o, dataOut, bs);
+        BrokerId info = (BrokerId) o;
+        tightMarshalString2(info.getValue(), dataOut, bs);
+    }
+
+    /**
+     * Un-marshal an object instance from the data input stream
+     *
+     * @param o
+     *        the object to un-marshal
+     * @param dataIn
+     *        the data input stream to build the object from
+     * @throws IOException
+     */
+    @Override
+    public void looseUnmarshal(OpenWireFormat wireFormat, Object o, DataInput dataIn) throws IOException {
+        super.looseUnmarshal(wireFormat, o, dataIn);
+        BrokerId info = (BrokerId) o;
+        info.setValue(looseUnmarshalString(dataIn));
+    }
+
+    /**
+     * Write the booleans that this object uses to a BooleanStream
+     */
+    @Override
+    public void looseMarshal(OpenWireFormat wireFormat, Object o, DataOutput dataOut) throws IOException {
+        BrokerId info = (BrokerId) o;
+        super.looseMarshal(wireFormat, o, dataOut);
+        looseMarshalString(info.getValue(), dataOut);
+    }
+}
diff --git a/openwire-core/src/main/java/org/apache/activemq/openwire/codec/v1/BrokerInfoMarshaller.java b/openwire-core/src/main/java/org/apache/activemq/openwire/codec/v1/BrokerInfoMarshaller.java
new file mode 100644 (file)
index 0000000..e89e8f7
--- /dev/null
@@ -0,0 +1,175 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.activemq.openwire.codec.v1;
+
+import java.io.DataInput;
+import java.io.DataOutput;
+import java.io.IOException;
+
+import org.apache.activemq.openwire.codec.BooleanStream;
+import org.apache.activemq.openwire.codec.OpenWireFormat;
+import org.apache.activemq.openwire.commands.BrokerId;
+import org.apache.activemq.openwire.commands.BrokerInfo;
+import org.apache.activemq.openwire.commands.DataStructure;
+
+public class BrokerInfoMarshaller extends BaseCommandMarshaller {
+
+    /**
+     * Return the type of Data Structure we marshal
+     *
+     * @return short representation of the type data structure
+     */
+    @Override
+    public byte getDataStructureType() {
+        return BrokerInfo.DATA_STRUCTURE_TYPE;
+    }
+
+    /**
+     * @return a new object instance
+     */
+    @Override
+    public DataStructure createObject() {
+        return new BrokerInfo();
+    }
+
+    /**
+     * Un-marshal an object instance from the data input stream
+     *
+     * @param o
+     *        the object to un-marshal
+     * @param dataIn
+     *        the data input stream to build the object from
+     * @throws IOException
+     */
+    @Override
+    public void tightUnmarshal(OpenWireFormat wireFormat, Object o, DataInput dataIn, BooleanStream bs) throws IOException {
+        super.tightUnmarshal(wireFormat, o, dataIn, bs);
+
+        BrokerInfo info = (BrokerInfo) o;
+        info.setBrokerId((BrokerId) tightUnmarsalCachedObject(wireFormat, dataIn, bs));
+        info.setBrokerURL(tightUnmarshalString(dataIn, bs));
+
+        if (bs.readBoolean()) {
+            short size = dataIn.readShort();
+            BrokerInfo value[] = new BrokerInfo[size];
+            for (int i = 0; i < size; i++) {
+                value[i] = (BrokerInfo) tightUnmarsalNestedObject(wireFormat, dataIn, bs);
+            }
+            info.setPeerBrokerInfos(value);
+        } else {
+            info.setPeerBrokerInfos(null);
+        }
+        info.setBrokerName(tightUnmarshalString(dataIn, bs));
+        info.setSlaveBroker(bs.readBoolean());
+        info.setMasterBroker(bs.readBoolean());
+        info.setFaultTolerantConfiguration(bs.readBoolean());
+    }
+
+    /**
+     * Write the booleans that this object uses to a BooleanStream
+     */
+    @Override
+    public int tightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs) throws IOException {
+
+        BrokerInfo info = (BrokerInfo) o;
+
+        int rc = super.tightMarshal1(wireFormat, o, bs);
+        rc += tightMarshalCachedObject1(wireFormat, info.getBrokerId(), bs);
+        rc += tightMarshalString1(info.getBrokerURL(), bs);
+        rc += tightMarshalObjectArray1(wireFormat, info.getPeerBrokerInfos(), bs);
+        rc += tightMarshalString1(info.getBrokerName(), bs);
+        bs.writeBoolean(info.isSlaveBroker());
+        bs.writeBoolean(info.isMasterBroker());
+        bs.writeBoolean(info.isFaultTolerantConfiguration());
+
+        return rc + 0;
+    }
+
+    /**
+     * Write a object instance to data output stream
+     *
+     * @param o
+     *        the instance to be marshaled
+     * @param dataOut
+     *        the output stream
+     * @throws IOException
+     *         thrown if an error occurs
+     */
+    @Override
+    public void tightMarshal2(OpenWireFormat wireFormat, Object o, DataOutput dataOut, BooleanStream bs) throws IOException {
+        super.tightMarshal2(wireFormat, o, dataOut, bs);
+
+        BrokerInfo info = (BrokerInfo) o;
+        tightMarshalCachedObject2(wireFormat, info.getBrokerId(), dataOut, bs);
+        tightMarshalString2(info.getBrokerURL(), dataOut, bs);
+        tightMarshalObjectArray2(wireFormat, info.getPeerBrokerInfos(), dataOut, bs);
+        tightMarshalString2(info.getBrokerName(), dataOut, bs);
+        bs.readBoolean();
+        bs.readBoolean();
+        bs.readBoolean();
+    }
+
+    /**
+     * Un-marshal an object instance from the data input stream
+     *
+     * @param o
+     *        the object to un-marshal
+     * @param dataIn
+     *        the data input stream to build the object from
+     * @throws IOException
+     */
+    @Override
+    public void looseUnmarshal(OpenWireFormat wireFormat, Object o, DataInput dataIn) throws IOException {
+        super.looseUnmarshal(wireFormat, o, dataIn);
+
+        BrokerInfo info = (BrokerInfo) o;
+        info.setBrokerId((BrokerId) looseUnmarsalCachedObject(wireFormat, dataIn));
+        info.setBrokerURL(looseUnmarshalString(dataIn));
+
+        if (dataIn.readBoolean()) {
+            short size = dataIn.readShort();
+            BrokerInfo value[] = new BrokerInfo[size];
+            for (int i = 0; i < size; i++) {
+                value[i] = (BrokerInfo) looseUnmarsalNestedObject(wireFormat, dataIn);
+            }
+            info.setPeerBrokerInfos(value);
+        } else {
+            info.setPeerBrokerInfos(null);
+        }
+        info.setBrokerName(looseUnmarshalString(dataIn));
+        info.setSlaveBroker(dataIn.readBoolean());
+        info.setMasterBroker(dataIn.readBoolean());
+        info.setFaultTolerantConfiguration(dataIn.readBoolean());
+    }
+
+    /**
+     * Write the booleans that this object uses to a BooleanStream
+     */
+    @Override
+    public void looseMarshal(OpenWireFormat wireFormat, Object o, DataOutput dataOut) throws IOException {
+        BrokerInfo info = (BrokerInfo) o;
+
+        super.looseMarshal(wireFormat, o, dataOut);
+        looseMarshalCachedObject(wireFormat, info.getBrokerId(), dataOut);
+        looseMarshalString(info.getBrokerURL(), dataOut);
+        looseMarshalObjectArray(wireFormat, info.getPeerBrokerInfos(), dataOut);
+        looseMarshalString(info.getBrokerName(), dataOut);
+        dataOut.writeBoolean(info.isSlaveBroker());
+        dataOut.writeBoolean(info.isMasterBroker());
+        dataOut.writeBoolean(info.isFaultTolerantConfiguration());
+    }
+}
diff --git a/openwire-core/src/main/java/org/apache/activemq/openwire/codec/v1/ConnectionControlMarshaller.java b/openwire-core/src/main/java/org/apache/activemq/openwire/codec/v1/ConnectionControlMarshaller.java
new file mode 100644 (file)
index 0000000..330f450
--- /dev/null
@@ -0,0 +1,144 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.activemq.openwire.codec.v1;
+
+import java.io.DataInput;
+import java.io.DataOutput;
+import java.io.IOException;
+
+import org.apache.activemq.openwire.codec.BooleanStream;
+import org.apache.activemq.openwire.codec.OpenWireFormat;
+import org.apache.activemq.openwire.commands.ConnectionControl;
+import org.apache.activemq.openwire.commands.DataStructure;
+
+public class ConnectionControlMarshaller extends BaseCommandMarshaller {
+
+    /**
+     * Return the type of Data Structure we marshal
+     *
+     * @return short representation of the type data structure
+     */
+    @Override
+    public byte getDataStructureType() {
+        return ConnectionControl.DATA_STRUCTURE_TYPE;
+    }
+
+    /**
+     * @return a new object instance
+     */
+    @Override
+    public DataStructure createObject() {
+        return new ConnectionControl();
+    }
+
+    /**
+     * Un-marshal an object instance from the data input stream
+     *
+     * @param o
+     *        the object to un-marshal
+     * @param dataIn
+     *        the data input stream to build the object from
+     * @throws IOException
+     */
+    @Override
+    public void tightUnmarshal(OpenWireFormat wireFormat, Object o, DataInput dataIn, BooleanStream bs) throws IOException {
+        super.tightUnmarshal(wireFormat, o, dataIn, bs);
+
+        ConnectionControl info = (ConnectionControl) o;
+        info.setClose(bs.readBoolean());
+        info.setExit(bs.readBoolean());
+        info.setFaultTolerant(bs.readBoolean());
+        info.setResume(bs.readBoolean());
+        info.setSuspend(bs.readBoolean());
+    }
+
+    /**
+     * Write the booleans that this object uses to a BooleanStream
+     */
+    @Override
+    public int tightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs) throws IOException {
+
+        ConnectionControl info = (ConnectionControl) o;
+
+        int rc = super.tightMarshal1(wireFormat, o, bs);
+        bs.writeBoolean(info.isClose());
+        bs.writeBoolean(info.isExit());
+        bs.writeBoolean(info.isFaultTolerant());
+        bs.writeBoolean(info.isResume());
+        bs.writeBoolean(info.isSuspend());
+
+        return rc + 0;
+    }
+
+    /**
+     * Write a object instance to data output stream
+     *
+     * @param o
+     *        the instance to be marshaled
+     * @param dataOut
+     *        the output stream
+     * @throws IOException
+     *         thrown if an error occurs
+     */
+    @Override
+    public void tightMarshal2(OpenWireFormat wireFormat, Object o, DataOutput dataOut, BooleanStream bs) throws IOException {
+        super.tightMarshal2(wireFormat, o, dataOut, bs);
+
+        bs.readBoolean();
+        bs.readBoolean();
+        bs.readBoolean();
+        bs.readBoolean();
+        bs.readBoolean();
+    }
+
+    /**
+     * Un-marshal an object instance from the data input stream
+     *
+     * @param o
+     *        the object to un-marshal
+     * @param dataIn
+     *        the data input stream to build the object from
+     * @throws IOException
+     */
+    @Override
+    public void looseUnmarshal(OpenWireFormat wireFormat, Object o, DataInput dataIn) throws IOException {
+        super.looseUnmarshal(wireFormat, o, dataIn);
+
+        ConnectionControl info = (ConnectionControl) o;
+        info.setClose(dataIn.readBoolean());
+        info.setExit(dataIn.readBoolean());
+        info.setFaultTolerant(dataIn.readBoolean());
+        info.setResume(dataIn.readBoolean());
+        info.setSuspend(dataIn.readBoolean());
+    }
+
+    /**
+     * Write the booleans that this object uses to a BooleanStream
+     */
+    @Override
+    public void looseMarshal(OpenWireFormat wireFormat, Object o, DataOutput dataOut) throws IOException {
+
+        ConnectionControl info = (ConnectionControl) o;
+
+        super.looseMarshal(wireFormat, o, dataOut);
+        dataOut.writeBoolean(info.isClose());
+        dataOut.writeBoolean(info.isExit());
+        dataOut.writeBoolean(info.isFaultTolerant());
+        dataOut.writeBoolean(info.isResume());
+        dataOut.writeBoolean(info.isSuspend());
+    }
+}
diff --git a/openwire-core/src/main/java/org/apache/activemq/openwire/codec/v1/ConnectionErrorMarshaller.java b/openwire-core/src/main/java/org/apache/activemq/openwire/codec/v1/ConnectionErrorMarshaller.java
new file mode 100644 (file)
index 0000000..73b3c8c
--- /dev/null
@@ -0,0 +1,129 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.activemq.openwire.codec.v1;
+
+import java.io.DataInput;
+import java.io.DataOutput;
+import java.io.IOException;
+
+import org.apache.activemq.openwire.codec.BooleanStream;
+import org.apache.activemq.openwire.codec.OpenWireFormat;
+import org.apache.activemq.openwire.commands.ConnectionError;
+import org.apache.activemq.openwire.commands.ConnectionId;
+import org.apache.activemq.openwire.commands.DataStructure;
+
+public class ConnectionErrorMarshaller extends BaseCommandMarshaller {
+
+    /**
+     * Return the type of Data Structure we marshal
+     *
+     * @return short representation of the type data structure
+     */
+    @Override
+    public byte getDataStructureType() {
+        return ConnectionError.DATA_STRUCTURE_TYPE;
+    }
+
+    /**
+     * @return a new object instance
+     */
+    @Override
+    public DataStructure createObject() {
+        return new ConnectionError();
+    }
+
+    /**
+     * Un-marshal an object instance from the data input stream
+     *
+     * @param o
+     *        the object to un-marshal
+     * @param dataIn
+     *        the data input stream to build the object from
+     * @throws IOException
+     */
+    @Override
+    public void tightUnmarshal(OpenWireFormat wireFormat, Object o, DataInput dataIn, BooleanStream bs) throws IOException {
+        super.tightUnmarshal(wireFormat, o, dataIn, bs);
+
+        ConnectionError info = (ConnectionError) o;
+        info.setException(tightUnmarsalThrowable(wireFormat, dataIn, bs));
+        info.setConnectionId((ConnectionId) tightUnmarsalNestedObject(wireFormat, dataIn, bs));
+    }
+
+    /**
+     * Write the booleans that this object uses to a BooleanStream
+     */
+    @Override
+    public int tightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs) throws IOException {
+        ConnectionError info = (ConnectionError) o;
+
+        int rc = super.tightMarshal1(wireFormat, o, bs);
+        rc += tightMarshalThrowable1(wireFormat, info.getException(), bs);
+        rc += tightMarshalNestedObject1(wireFormat, info.getConnectionId(), bs);
+
+        return rc + 0;
+    }
+
+    /**
+     * Write a object instance to data output stream
+     *
+     * @param o
+     *        the instance to be marshaled
+     * @param dataOut
+     *        the output stream
+     * @throws IOException
+     *         thrown if an error occurs
+     */
+    @Override
+    public void tightMarshal2(OpenWireFormat wireFormat, Object o, DataOutput dataOut, BooleanStream bs) throws IOException {
+        super.tightMarshal2(wireFormat, o, dataOut, bs);
+
+        ConnectionError info = (ConnectionError) o;
+        tightMarshalThrowable2(wireFormat, info.getException(), dataOut, bs);
+        tightMarshalNestedObject2(wireFormat, info.getConnectionId(), dataOut, bs);
+    }
+
+    /**
+     * Un-marshal an object instance from the data input stream
+     *
+     * @param o
+     *        the object to un-marshal
+     * @param dataIn
+     *        the data input stream to build the object from
+     * @throws IOException
+     */
+    @Override
+    public void looseUnmarshal(OpenWireFormat wireFormat, Object o, DataInput dataIn) throws IOException {
+        super.looseUnmarshal(wireFormat, o, dataIn);
+
+        ConnectionError info = (ConnectionError) o;
+        info.setException(looseUnmarsalThrowable(wireFormat, dataIn));
+        info.setConnectionId((ConnectionId) looseUnmarsalNestedObject(wireFormat, dataIn));
+    }
+
+    /**
+     * Write the booleans that this object uses to a BooleanStream
+     */
+    @Override
+    public void looseMarshal(OpenWireFormat wireFormat, Object o, DataOutput dataOut) throws IOException {
+        ConnectionError info = (ConnectionError) o;
+
+        super.looseMarshal(wireFormat, o, dataOut);
+        looseMarshalThrowable(wireFormat, info.getException(), dataOut);
+        looseMarshalNestedObject(wireFormat, info.getConnectionId(), dataOut);
+    }
+}
diff --git a/openwire-core/src/main/java/org/apache/activemq/openwire/codec/v1/ConnectionIdMarshaller.java b/openwire-core/src/main/java/org/apache/activemq/openwire/codec/v1/ConnectionIdMarshaller.java
new file mode 100644 (file)
index 0000000..0dab2a9
--- /dev/null
@@ -0,0 +1,124 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.activemq.openwire.codec.v1;
+
+import java.io.DataInput;
+import java.io.DataOutput;
+import java.io.IOException;
+
+import org.apache.activemq.openwire.codec.BaseDataStreamMarshaller;
+import org.apache.activemq.openwire.codec.BooleanStream;
+import org.apache.activemq.openwire.codec.OpenWireFormat;
+import org.apache.activemq.openwire.commands.ConnectionId;
+import org.apache.activemq.openwire.commands.DataStructure;
+
+public class ConnectionIdMarshaller extends BaseDataStreamMarshaller {
+
+    /**
+     * Return the type of Data Structure we marshal
+     *
+     * @return short representation of the type data structure
+     */
+    @Override
+    public byte getDataStructureType() {
+        return ConnectionId.DATA_STRUCTURE_TYPE;
+    }
+
+    /**
+     * @return a new object instance
+     */
+    @Override
+    public DataStructure createObject() {
+        return new ConnectionId();
+    }
+
+    /**
+     * Un-marshal an object instance from the data input stream
+     *
+     * @param o
+     *        the object to un-marshal
+     * @param dataIn
+     *        the data input stream to build the object from
+     * @throws IOException
+     */
+    @Override
+    public void tightUnmarshal(OpenWireFormat wireFormat, Object o, DataInput dataIn, BooleanStream bs) throws IOException {
+        super.tightUnmarshal(wireFormat, o, dataIn, bs);
+
+        ConnectionId info = (ConnectionId) o;
+        info.setValue(tightUnmarshalString(dataIn, bs));
+    }
+
+    /**
+     * Write the booleans that this object uses to a BooleanStream
+     */
+    @Override
+    public int tightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs) throws IOException {
+        ConnectionId info = (ConnectionId) o;
+
+        int rc = super.tightMarshal1(wireFormat, o, bs);
+        rc += tightMarshalString1(info.getValue(), bs);
+
+        return rc + 0;
+    }
+
+    /**
+     * Write a object instance to data output stream
+     *
+     * @param o
+     *        the instance to be marshaled
+     * @param dataOut
+     *        the output stream
+     * @throws IOException
+     *         thrown if an error occurs
+     */
+    @Override
+    public void tightMarshal2(OpenWireFormat wireFormat, Object o, DataOutput dataOut, BooleanStream bs) throws IOException {
+        super.tightMarshal2(wireFormat, o, dataOut, bs);
+
+        ConnectionId info = (ConnectionId) o;
+        tightMarshalString2(info.getValue(), dataOut, bs);
+    }
+
+    /**
+     * Un-marshal an object instance from the data input stream
+     *
+     * @param o
+     *        the object to un-marshal
+     * @param dataIn
+     *        the data input stream to build the object from
+     * @throws IOException
+     */
+    @Override
+    public void looseUnmarshal(OpenWireFormat wireFormat, Object o, DataInput dataIn) throws IOException {
+        super.looseUnmarshal(wireFormat, o, dataIn);
+
+        ConnectionId info = (ConnectionId) o;
+        info.setValue(looseUnmarshalString(dataIn));
+    }
+
+    /**
+     * Write the booleans that this object uses to a BooleanStream
+     */
+    @Override
+    public void looseMarshal(OpenWireFormat wireFormat, Object o, DataOutput dataOut) throws IOException {
+        ConnectionId info = (ConnectionId) o;
+
+        super.looseMarshal(wireFormat, o, dataOut);
+        looseMarshalString(info.getValue(), dataOut);
+    }
+}
diff --git a/openwire-core/src/main/java/org/apache/activemq/openwire/codec/v1/ConnectionInfoMarshaller.java b/openwire-core/src/main/java/org/apache/activemq/openwire/codec/v1/ConnectionInfoMarshaller.java
new file mode 100644 (file)
index 0000000..80258c7
--- /dev/null
@@ -0,0 +1,189 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.activemq.openwire.codec.v1;
+
+import java.io.DataInput;
+import java.io.DataOutput;
+import java.io.IOException;
+
+import org.apache.activemq.openwire.codec.BooleanStream;
+import org.apache.activemq.openwire.codec.OpenWireFormat;
+import org.apache.activemq.openwire.commands.ConnectionInfo;
+import org.apache.activemq.openwire.commands.DataStructure;
+
+/**
+ * Marshalling code for Open Wire Format for ConnectionInfoMarshaller
+ *
+ *
+ * NOTE!: This file is auto generated - do not modify! if you need to make a change, please see
+ * the modify the groovy scripts in the under src/gram/script and then use maven
+ * openwire:generate to regenerate this file.
+ *
+ *
+ */
+public class ConnectionInfoMarshaller extends BaseCommandMarshaller {
+
+    /**
+     * Return the type of Data Structure we marshal
+     *
+     * @return short representation of the type data structure
+     */
+    @Override
+    public byte getDataStructureType() {
+        return ConnectionInfo.DATA_STRUCTURE_TYPE;
+    }
+
+    /**
+     * @return a new object instance
+     */
+    @Override
+    public DataStructure createObject() {
+        return new ConnectionInfo();
+    }
+
+    /**
+     * Un-marshal an object instance from the data input stream
+     *
+     * @param o
+     *        the object to un-marshal
+     * @param dataIn
+     *        the data input stream to build the object from
+     * @throws IOException
+     */
+    @Override
+    public void tightUnmarshal(OpenWireFormat wireFormat, Object o, DataInput dataIn, BooleanStream bs) throws IOException {
+        super.tightUnmarshal(wireFormat, o, dataIn, bs);
+
+        ConnectionInfo info = (ConnectionInfo) o;
+        info.setConnectionId((org.apache.activemq.openwire.commands.ConnectionId) tightUnmarsalCachedObject(wireFormat, dataIn, bs));
+        info.setClientId(tightUnmarshalString(dataIn, bs));
+        info.setPassword(tightUnmarshalString(dataIn, bs));
+        info.setUserName(tightUnmarshalString(dataIn, bs));
+
+        if (bs.readBoolean()) {
+            short size = dataIn.readShort();
+            org.apache.activemq.openwire.commands.BrokerId value[] = new org.apache.activemq.openwire.commands.BrokerId[size];
+            for (int i = 0; i < size; i++) {
+                value[i] = (org.apache.activemq.openwire.commands.BrokerId) tightUnmarsalNestedObject(wireFormat, dataIn, bs);
+            }
+            info.setBrokerPath(value);
+        } else {
+            info.setBrokerPath(null);
+        }
+        info.setBrokerMasterConnector(bs.readBoolean());
+        info.setManageable(bs.readBoolean());
+
+    }
+
+    /**
+     * Write the booleans that this object uses to a BooleanStream
+     */
+    @Override
+    public int tightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs) throws IOException {
+
+        ConnectionInfo info = (ConnectionInfo) o;
+
+        int rc = super.tightMarshal1(wireFormat, o, bs);
+        rc += tightMarshalCachedObject1(wireFormat, info.getConnectionId(), bs);
+        rc += tightMarshalString1(info.getClientId(), bs);
+        rc += tightMarshalString1(info.getPassword(), bs);
+        rc += tightMarshalString1(info.getUserName(), bs);
+        rc += tightMarshalObjectArray1(wireFormat, info.getBrokerPath(), bs);
+        bs.writeBoolean(info.isBrokerMasterConnector());
+        bs.writeBoolean(info.isManageable());
+
+        return rc + 0;
+    }
+
+    /**
+     * Write a object instance to data output stream
+     *
+     * @param o
+     *        the instance to be marshaled
+     * @param dataOut
+     *        the output stream
+     * @throws IOException
+     *         thrown if an error occurs
+     */
+    @Override
+    public void tightMarshal2(OpenWireFormat wireFormat, Object o, DataOutput dataOut, BooleanStream bs) throws IOException {
+        super.tightMarshal2(wireFormat, o, dataOut, bs);
+
+        ConnectionInfo info = (ConnectionInfo) o;
+        tightMarshalCachedObject2(wireFormat, info.getConnectionId(), dataOut, bs);
+        tightMarshalString2(info.getClientId(), dataOut, bs);
+        tightMarshalString2(info.getPassword(), dataOut, bs);
+        tightMarshalString2(info.getUserName(), dataOut, bs);
+        tightMarshalObjectArray2(wireFormat, info.getBrokerPath(), dataOut, bs);
+        bs.readBoolean();
+        bs.readBoolean();
+
+    }
+
+    /**
+     * Un-marshal an object instance from the data input stream
+     *
+     * @param o
+     *        the object to un-marshal
+     * @param dataIn
+     *        the data input stream to build the object from
+     * @throws IOException
+     */
+    @Override
+    public void looseUnmarshal(OpenWireFormat wireFormat, Object o, DataInput dataIn) throws IOException {
+        super.looseUnmarshal(wireFormat, o, dataIn);
+
+        ConnectionInfo info = (ConnectionInfo) o;
+        info.setConnectionId((org.apache.activemq.openwire.commands.ConnectionId) looseUnmarsalCachedObject(wireFormat, dataIn));
+        info.setClientId(looseUnmarshalString(dataIn));
+        info.setPassword(looseUnmarshalString(dataIn));
+        info.setUserName(looseUnmarshalString(dataIn));
+
+        if (dataIn.readBoolean()) {
+            short size = dataIn.readShort();
+            org.apache.activemq.openwire.commands.BrokerId value[] = new org.apache.activemq.openwire.commands.BrokerId[size];
+            for (int i = 0; i < size; i++) {
+                value[i] = (org.apache.activemq.openwire.commands.BrokerId) looseUnmarsalNestedObject(wireFormat, dataIn);
+            }
+            info.setBrokerPath(value);
+        } else {
+            info.setBrokerPath(null);
+        }
+        info.setBrokerMasterConnector(dataIn.readBoolean());
+        info.setManageable(dataIn.readBoolean());
+
+    }
+
+    /**
+     * Write the booleans that this object uses to a BooleanStream
+     */
+    @Override
+    public void looseMarshal(OpenWireFormat wireFormat, Object o, DataOutput dataOut) throws IOException {
+
+        ConnectionInfo info = (ConnectionInfo) o;
+
+        super.looseMarshal(wireFormat, o, dataOut);
+        looseMarshalCachedObject(wireFormat, info.getConnectionId(), dataOut);
+        looseMarshalString(info.getClientId(), dataOut);
+        looseMarshalString(info.getPassword(), dataOut);
+        looseMarshalString(info.getUserName(), dataOut);
+        looseMarshalObjectArray(wireFormat, info.getBrokerPath(), dataOut);
+        dataOut.writeBoolean(info.isBrokerMasterConnector());
+        dataOut.writeBoolean(info.isManageable());
+
+    }
+}
diff --git a/openwire-core/src/main/java/org/apache/activemq/openwire/codec/v1/ConsumerControlMarshaller.java b/openwire-core/src/main/java/org/apache/activemq/openwire/codec/v1/ConsumerControlMarshaller.java
new file mode 100644 (file)
index 0000000..4579843
--- /dev/null
@@ -0,0 +1,148 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.activemq.openwire.codec.v1;
+
+import java.io.DataInput;
+import java.io.DataOutput;
+import java.io.IOException;
+
+import org.apache.activemq.openwire.codec.BooleanStream;
+import org.apache.activemq.openwire.codec.OpenWireFormat;
+import org.apache.activemq.openwire.commands.ConsumerControl;
+import org.apache.activemq.openwire.commands.DataStructure;
+
+/**
+ * Marshalling code for Open Wire Format for ConsumerControlMarshaller
+ *
+ *
+ * NOTE!: This file is auto generated - do not modify! if you need to make a change, please see
+ * the modify the groovy scripts in the under src/gram/script and then use maven
+ * openwire:generate to regenerate this file.
+ *
+ *
+ */
+public class ConsumerControlMarshaller extends BaseCommandMarshaller {
+
+    /**
+     * Return the type of Data Structure we marshal
+     *
+     * @return short representation of the type data structure
+     */
+    @Override
+    public byte getDataStructureType() {
+        return ConsumerControl.DATA_STRUCTURE_TYPE;
+    }
+
+    /**
+     * @return a new object instance
+     */
+    @Override
+    public DataStructure createObject() {
+        return new ConsumerControl();
+    }
+
+    /**
+     * Un-marshal an object instance from the data input stream
+     *
+     * @param o
+     *        the object to un-marshal
+     * @param dataIn
+     *        the data input stream to build the object from
+     * @throws IOException
+     */
+    @Override
+    public void tightUnmarshal(OpenWireFormat wireFormat, Object o, DataInput dataIn, BooleanStream bs) throws IOException {
+        super.tightUnmarshal(wireFormat, o, dataIn, bs);
+
+        ConsumerControl info = (ConsumerControl) o;
+        info.setClose(bs.readBoolean());
+        info.setConsumerId((org.apache.activemq.openwire.commands.ConsumerId) tightUnmarsalNestedObject(wireFormat, dataIn, bs));
+        info.setPrefetch(dataIn.readInt());
+
+    }
+
+    /**
+     * Write the booleans that this object uses to a BooleanStream
+     */
+    @Override
+    public int tightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs) throws IOException {
+
+        ConsumerControl info = (ConsumerControl) o;
+
+        int rc = super.tightMarshal1(wireFormat, o, bs);
+        bs.writeBoolean(info.isClose());
+        rc += tightMarshalNestedObject1(wireFormat, info.getConsumerId(), bs);
+
+        return rc + 4;
+    }
+
+    /**
+     * Write a object instance to data output stream
+     *
+     * @param o
+     *        the instance to be marshaled
+     * @param dataOut
+     *        the output stream
+     * @throws IOException
+     *         thrown if an error occurs
+     */
+    @Override
+    public void tightMarshal2(OpenWireFormat wireFormat, Object o, DataOutput dataOut, BooleanStream bs) throws IOException {
+        super.tightMarshal2(wireFormat, o, dataOut, bs);
+
+        ConsumerControl info = (ConsumerControl) o;
+        bs.readBoolean();
+        tightMarshalNestedObject2(wireFormat, info.getConsumerId(), dataOut, bs);
+        dataOut.writeInt(info.getPrefetch());
+
+    }
+
+    /**
+     * Un-marshal an object instance from the data input stream
+     *
+     * @param o
+     *        the object to un-marshal
+     * @param dataIn
+     *        the data input stream to build the object from
+     * @throws IOException
+     */
+    @Override
+    public void looseUnmarshal(OpenWireFormat wireFormat, Object o, DataInput dataIn) throws IOException {
+        super.looseUnmarshal(wireFormat, o, dataIn);
+
+        ConsumerControl info = (ConsumerControl) o;
+        info.setClose(dataIn.readBoolean());
+        info.setConsumerId((org.apache.activemq.openwire.commands.ConsumerId) looseUnmarsalNestedObject(wireFormat, dataIn));
+        info.setPrefetch(dataIn.readInt());
+
+    }
+
+    /**
+     * Write the booleans that this object uses to a BooleanStream
+     */
+    @Override
+    public void looseMarshal(OpenWireFormat wireFormat, Object o, DataOutput dataOut) throws IOException {
+
+        ConsumerControl info = (ConsumerControl) o;
+
+        super.looseMarshal(wireFormat, o, dataOut);
+        dataOut.writeBoolean(info.isClose());
+        looseMarshalNestedObject(wireFormat, info.getConsumerId(), dataOut);
+        dataOut.writeInt(info.getPrefetch());
+
+    }
+}
diff --git a/openwire-core/src/main/java/org/apache/activemq/openwire/codec/v1/ConsumerIdMarshaller.java b/openwire-core/src/main/java/org/apache/activemq/openwire/codec/v1/ConsumerIdMarshaller.java
new file mode 100644 (file)
index 0000000..c645492
--- /dev/null
@@ -0,0 +1,134 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.activemq.openwire.codec.v1;
+
+import java.io.DataInput;
+import java.io.DataOutput;
+import java.io.IOException;
+
+import org.apache.activemq.openwire.codec.BaseDataStreamMarshaller;
+import org.apache.activemq.openwire.codec.BooleanStream;
+import org.apache.activemq.openwire.codec.OpenWireFormat;
+import org.apache.activemq.openwire.commands.ConsumerId;
+import org.apache.activemq.openwire.commands.DataStructure;
+
+public class ConsumerIdMarshaller extends BaseDataStreamMarshaller {
+
+    /**
+     * Return the type of Data Structure we marshal
+     *
+     * @return short representation of the type data structure
+     */
+    @Override
+    public byte getDataStructureType() {
+        return ConsumerId.DATA_STRUCTURE_TYPE;
+    }
+
+    /**
+     * @return a new object instance
+     */
+    @Override
+    public DataStructure createObject() {
+        return new ConsumerId();
+    }
+
+    /**
+     * Un-marshal an object instance from the data input stream
+     *
+     * @param o
+     *        the object to un-marshal
+     * @param dataIn
+     *        the data input stream to build the object from
+     * @throws IOException
+     */
+    @Override
+    public void tightUnmarshal(OpenWireFormat wireFormat, Object o, DataInput dataIn, BooleanStream bs) throws IOException {
+        super.tightUnmarshal(wireFormat, o, dataIn, bs);
+
+        ConsumerId info = (ConsumerId) o;
+        info.setConnectionId(tightUnmarshalString(dataIn, bs));
+        info.setSessionId(tightUnmarshalLong(wireFormat, dataIn, bs));
+        info.setValue(tightUnmarshalLong(wireFormat, dataIn, bs));
+    }
+
+    /**
+     * Write the booleans that this object uses to a BooleanStream
+     */
+    @Override
+    public int tightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs) throws IOException {
+        ConsumerId info = (ConsumerId) o;
+
+        int rc = super.tightMarshal1(wireFormat, o, bs);
+        rc += tightMarshalString1(info.getConnectionId(), bs);
+        rc += tightMarshalLong1(wireFormat, info.getSessionId(), bs);
+        rc += tightMarshalLong1(wireFormat, info.getValue(), bs);
+
+        return rc + 0;
+    }
+
+    /**
+     * Write a object instance to data output stream
+     *
+     * @param o
+     *        the instance to be marshaled
+     * @param dataOut
+     *        the output stream
+     * @throws IOException
+     *         thrown if an error occurs
+     */
+    @Override
+    public void tightMarshal2(OpenWireFormat wireFormat, Object o, DataOutput dataOut, BooleanStream bs) throws IOException {
+        super.tightMarshal2(wireFormat, o, dataOut, bs);
+
+        ConsumerId info = (ConsumerId) o;
+        tightMarshalString2(info.getConnectionId(), dataOut, bs);
+        tightMarshalLong2(wireFormat, info.getSessionId(), dataOut, bs);
+        tightMarshalLong2(wireFormat, info.getValue(), dataOut, bs);
+    }
+
+    /**
+     * Un-marshal an object instance from the data input stream
+     *
+     * @param o
+     *        the object to un-marshal
+     * @param dataIn
+     *        the data input stream to build the object from
+     * @throws IOException
+     */
+    @Override
+    public void looseUnmarshal(OpenWireFormat wireFormat, Object o, DataInput dataIn) throws IOException {
+        super.looseUnmarshal(wireFormat, o, dataIn);
+
+        ConsumerId info = (ConsumerId) o;
+        info.setConnectionId(looseUnmarshalString(dataIn));
+        info.setSessionId(looseUnmarshalLong(wireFormat, dataIn));
+        info.setValue(looseUnmarshalLong(wireFormat, dataIn));
+    }
+
+    /**
+     * Write the booleans that this object uses to a BooleanStream
+     */
+    @Override
+    public void looseMarshal(OpenWireFormat wireFormat, Object o, DataOutput dataOut) throws IOException {
+        ConsumerId info = (ConsumerId) o;
+
+        super.looseMarshal(wireFormat, o, dataOut);
+        looseMarshalString(info.getConnectionId(), dataOut);
+        looseMarshalLong(wireFormat, info.getSessionId(), dataOut);
+        looseMarshalLong(wireFormat, info.getValue(), dataOut);
+    }
+}
diff --git a/openwire-core/src/main/java/org/apache/activemq/openwire/codec/v1/ConsumerInfoMarshaller.java b/openwire-core/src/main/java/org/apache/activemq/openwire/codec/v1/ConsumerInfoMarshaller.java
new file mode 100644 (file)
index 0000000..d7bc4f0
--- /dev/null
@@ -0,0 +1,222 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.activemq.openwire.codec.v1;
+
+import java.io.DataInput;
+import java.io.DataOutput;
+import java.io.IOException;
+
+import org.apache.activemq.openwire.codec.BooleanStream;
+import org.apache.activemq.openwire.codec.OpenWireFormat;
+import org.apache.activemq.openwire.commands.ConsumerInfo;
+import org.apache.activemq.openwire.commands.DataStructure;
+import org.apache.activemq.openwire.commands.OpenWireDestination;
+
+public class ConsumerInfoMarshaller extends BaseCommandMarshaller {
+
+    /**
+     * Return the type of Data Structure we marshal
+     *
+     * @return short representation of the type data structure
+     */
+    @Override
+    public byte getDataStructureType() {
+        return ConsumerInfo.DATA_STRUCTURE_TYPE;
+    }
+
+    /**
+     * @return a new object instance
+     */
+    @Override
+    public DataStructure createObject() {
+        return new ConsumerInfo();
+    }
+
+    /**
+     * Un-marshal an object instance from the data input stream
+     *
+     * @param o
+     *        the object to un-marshal
+     * @param dataIn
+     *        the data input stream to build the object from
+     * @throws IOException
+     */
+    @Override
+    public void tightUnmarshal(OpenWireFormat wireFormat, Object o, DataInput dataIn, BooleanStream bs) throws IOException {
+        super.tightUnmarshal(wireFormat, o, dataIn, bs);
+
+        ConsumerInfo info = (ConsumerInfo) o;
+        info.setConsumerId((org.apache.activemq.openwire.commands.ConsumerId) tightUnmarsalCachedObject(wireFormat, dataIn, bs));
+        info.setBrowser(bs.readBoolean());
+        info.setDestination((OpenWireDestination) tightUnmarsalCachedObject(wireFormat, dataIn, bs));
+        info.setPrefetchSize(dataIn.readInt());
+        info.setMaximumPendingMessageLimit(dataIn.readInt());
+        info.setDispatchAsync(bs.readBoolean());
+        info.setSelector(tightUnmarshalString(dataIn, bs));
+        info.setSubscriptionName(tightUnmarshalString(dataIn, bs));
+        info.setNoLocal(bs.readBoolean());
+        info.setExclusive(bs.readBoolean());
+        info.setRetroactive(bs.readBoolean());
+        info.setPriority(dataIn.readByte());
+
+        if (bs.readBoolean()) {
+            short size = dataIn.readShort();
+            org.apache.activemq.openwire.commands.BrokerId value[] = new org.apache.activemq.openwire.commands.BrokerId[size];
+            for (int i = 0; i < size; i++) {
+                value[i] = (org.apache.activemq.openwire.commands.BrokerId) tightUnmarsalNestedObject(wireFormat, dataIn, bs);
+            }
+            info.setBrokerPath(value);
+        } else {
+            info.setBrokerPath(null);
+        }
+        info.setAdditionalPredicate(tightUnmarsalNestedObject(wireFormat, dataIn, bs));
+        info.setNetworkSubscription(bs.readBoolean());
+        info.setOptimizedAcknowledge(bs.readBoolean());
+        info.setNoRangeAcks(bs.readBoolean());
+
+    }
+
+    /**
+     * Write the booleans that this object uses to a BooleanStream
+     */
+    @Override
+    public int tightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs) throws IOException {
+        ConsumerInfo info = (ConsumerInfo) o;
+
+        int rc = super.tightMarshal1(wireFormat, o, bs);
+        rc += tightMarshalCachedObject1(wireFormat, info.getConsumerId(), bs);
+        bs.writeBoolean(info.isBrowser());
+        rc += tightMarshalCachedObject1(wireFormat, info.getDestination(), bs);
+        bs.writeBoolean(info.isDispatchAsync());
+        rc += tightMarshalString1(info.getSelector(), bs);
+        rc += tightMarshalString1(info.getSubscriptionName(), bs);
+        bs.writeBoolean(info.isNoLocal());
+        bs.writeBoolean(info.isExclusive());
+        bs.writeBoolean(info.isRetroactive());
+        rc += tightMarshalObjectArray1(wireFormat, info.getBrokerPath(), bs);
+        rc += tightMarshalNestedObject1(wireFormat, (DataStructure) info.getAdditionalPredicate(), bs);
+        bs.writeBoolean(info.isNetworkSubscription());
+        bs.writeBoolean(info.isOptimizedAcknowledge());
+        bs.writeBoolean(info.isNoRangeAcks());
+
+        return rc + 9;
+    }
+
+    /**
+     * Write a object instance to data output stream
+     *
+     * @param o
+     *        the instance to be marshaled
+     * @param dataOut
+     *        the output stream
+     * @throws IOException
+     *         thrown if an error occurs
+     */
+    @Override
+    public void tightMarshal2(OpenWireFormat wireFormat, Object o, DataOutput dataOut, BooleanStream bs) throws IOException {
+        super.tightMarshal2(wireFormat, o, dataOut, bs);
+
+        ConsumerInfo info = (ConsumerInfo) o;
+        tightMarshalCachedObject2(wireFormat, info.getConsumerId(), dataOut, bs);
+        bs.readBoolean();
+        tightMarshalCachedObject2(wireFormat, info.getDestination(), dataOut, bs);
+        dataOut.writeInt(info.getPrefetchSize());
+        dataOut.writeInt(info.getMaximumPendingMessageLimit());
+        bs.readBoolean();
+        tightMarshalString2(info.getSelector(), dataOut, bs);
+        tightMarshalString2(info.getSubscriptionName(), dataOut, bs);
+        bs.readBoolean();
+        bs.readBoolean();
+        bs.readBoolean();
+        dataOut.writeByte(info.getPriority());
+        tightMarshalOb