OPENWIRE-19 Create an annotation based codec generator and a set of openwire annotations that can be used to decorate openwire commands to define the openwire command set and any extensions.
OPENWIRE-10 Create a marsaller implementation that uses the openwire annotations to generate a single codec capable of encoding and decoding all openwire versions. Move all single version codecs into the legacy module. Project: http://git-wip-us.apache.org/repos/asf/activemq-openwire/repo Commit: http://git-wip-us.apache.org/repos/asf/activemq-openwire/commit/0c90d2e3 Tree: http://git-wip-us.apache.org/repos/asf/activemq-openwire/tree/0c90d2e3 Diff: http://git-wip-us.apache.org/repos/asf/activemq-openwire/diff/0c90d2e3 Branch: refs/heads/master Commit: 0c90d2e3d410666cb4616436c9610813a4622b79 Parents: 1705e0e Author: Timothy Bish <[email protected]> Authored: Tue Dec 1 14:16:32 2015 -0500 Committer: Timothy Bish <[email protected]> Committed: Tue Dec 1 14:16:32 2015 -0500 ---------------------------------------------------------------------- openwire-annotations/.gitignore | 1 + openwire-annotations/pom.xml | 31 + .../annotations/OpenWireDocumentation.java | 38 + .../openwire/annotations/OpenWireExtension.java | 40 ++ .../openwire/annotations/OpenWireProperty.java | 43 ++ .../openwire/annotations/OpenWireType.java | 34 + openwire-core/pom.xml | 190 ++--- .../activemq/openwire/codec/OpenWireFormat.java | 86 ++- .../codec/universal/BaseCommandMarshaller.java | 119 ++++ .../codec/universal/BrokerIdMarshaller.java | 131 ++++ .../codec/universal/BrokerInfoMarshaller.java | 259 +++++++ .../universal/ConnectionControlMarshaller.java | 216 ++++++ .../universal/ConnectionErrorMarshaller.java | 136 ++++ .../codec/universal/ConnectionIdMarshaller.java | 131 ++++ .../universal/ConnectionInfoMarshaller.java | 244 +++++++ .../universal/ConsumerControlMarshaller.java | 205 ++++++ .../codec/universal/ConsumerIdMarshaller.java | 141 ++++ .../codec/universal/ConsumerInfoMarshaller.java | 279 ++++++++ .../universal/ControlCommandMarshaller.java | 131 ++++ .../universal/DataArrayResponseMarshaller.java | 149 ++++ .../codec/universal/DataResponseMarshaller.java | 131 ++++ .../universal/DestinationInfoMarshaller.java | 168 +++++ .../universal/DiscoveryEventMarshaller.java | 136 ++++ .../universal/ExceptionResponseMarshaller.java | 131 ++++ .../codec/universal/FlushCommandMarshaller.java | 114 +++ .../universal/IntegerResponseMarshaller.java | 130 ++++ .../universal/JournalQueueAckMarshaller.java | 136 ++++ .../universal/JournalTopicAckMarshaller.java | 156 ++++ .../codec/universal/JournalTraceMarshaller.java | 131 ++++ .../universal/JournalTransactionMarshaller.java | 140 ++++ .../universal/KeepAliveInfoMarshaller.java | 114 +++ .../universal/LastPartialCommandMarshaller.java | 114 +++ .../universal/LocalTransactionIdMarshaller.java | 136 ++++ .../codec/universal/MarshallerFactory.java | 101 +++ .../codec/universal/MessageAckMarshaller.java | 179 +++++ .../universal/MessageDispatchMarshaller.java | 145 ++++ .../MessageDispatchNotificationMarshaller.java | 146 ++++ .../codec/universal/MessageIdMarshaller.java | 161 +++++ .../codec/universal/MessageMarshaller.java | 362 ++++++++++ .../codec/universal/MessagePullMarshaller.java | 176 +++++ .../NetworkBridgeFilterMarshaller.java | 164 +++++ .../OpenWireBlobMessageMarshaller.java | 176 +++++ .../OpenWireBytesMessageMarshaller.java | 114 +++ .../OpenWireDestinationMarshaller.java | 115 +++ .../universal/OpenWireMapMessageMarshaller.java | 114 +++ .../universal/OpenWireMessageMarshaller.java | 114 +++ .../OpenWireObjectMessageMarshaller.java | 114 +++ .../universal/OpenWireQueueMarshaller.java | 114 +++ .../OpenWireStreamMessageMarshaller.java | 114 +++ .../OpenWireTempDestinationMarshaller.java | 98 +++ .../universal/OpenWireTempQueueMarshaller.java | 114 +++ .../universal/OpenWireTempTopicMarshaller.java | 114 +++ .../OpenWireTextMessageMarshaller.java | 114 +++ .../universal/OpenWireTopicMarshaller.java | 114 +++ .../universal/PartialCommandMarshaller.java | 135 ++++ .../codec/universal/ProducerAckMarshaller.java | 160 +++++ .../codec/universal/ProducerIdMarshaller.java | 141 ++++ .../codec/universal/ProducerInfoMarshaller.java | 193 +++++ .../codec/universal/RemoveInfoMarshaller.java | 151 ++++ .../RemoveSubscriptionInfoMarshaller.java | 141 ++++ .../universal/ReplayCommandMarshaller.java | 134 ++++ .../codec/universal/ResponseMarshaller.java | 130 ++++ .../codec/universal/SessionIdMarshaller.java | 136 ++++ .../codec/universal/SessionInfoMarshaller.java | 131 ++++ .../codec/universal/ShutdownInfoMarshaller.java | 114 +++ .../universal/SubscriptionInfoMarshaller.java | 181 +++++ .../universal/TransactionIdMarshaller.java | 98 +++ .../universal/TransactionInfoMarshaller.java | 140 ++++ .../universal/WireFormatInfoMarshaller.java | 154 ++++ .../universal/XATransactionIdMarshaller.java | 140 ++++ .../codec/v1/BaseCommandMarshaller.java | 109 --- .../openwire/codec/v1/BrokerIdMarshaller.java | 118 --- .../openwire/codec/v1/BrokerInfoMarshaller.java | 175 ----- .../codec/v1/ConnectionControlMarshaller.java | 144 ---- .../codec/v1/ConnectionErrorMarshaller.java | 129 ---- .../codec/v1/ConnectionIdMarshaller.java | 124 ---- .../codec/v1/ConnectionInfoMarshaller.java | 189 ----- .../codec/v1/ConsumerControlMarshaller.java | 148 ---- .../openwire/codec/v1/ConsumerIdMarshaller.java | 134 ---- .../codec/v1/ConsumerInfoMarshaller.java | 222 ------ .../codec/v1/ControlCommandMarshaller.java | 123 ---- .../codec/v1/DataArrayResponseMarshaller.java | 143 ---- .../codec/v1/DataResponseMarshaller.java | 123 ---- .../v1/DataStructureSupportMarshaller.java | 88 --- .../codec/v1/DestinationInfoMarshaller.java | 164 ----- .../codec/v1/DiscoveryEventMarshaller.java | 129 ---- .../codec/v1/ExceptionResponseMarshaller.java | 123 ---- .../codec/v1/FlushCommandMarshaller.java | 107 --- .../codec/v1/IntegerResponseMarshaller.java | 119 ---- .../codec/v1/JournalQueueAckMarshaller.java | 130 ---- .../codec/v1/JournalTopicAckMarshaller.java | 150 ---- .../codec/v1/JournalTraceMarshaller.java | 124 ---- .../codec/v1/JournalTransactionMarshaller.java | 133 ---- .../codec/v1/KeepAliveInfoMarshaller.java | 107 --- .../codec/v1/LastPartialCommandMarshaller.java | 107 --- .../codec/v1/LocalTransactionIdMarshaller.java | 128 ---- .../openwire/codec/v1/MarshallerFactory.java | 95 --- .../openwire/codec/v1/MessageAckMarshaller.java | 152 ---- .../codec/v1/MessageDispatchMarshaller.java | 139 ---- .../MessageDispatchNotificationMarshaller.java | 140 ---- .../openwire/codec/v1/MessageIdMarshaller.java | 134 ---- .../openwire/codec/v1/MessageMarshaller.java | 258 ------- .../codec/v1/NetworkBridgeFilterMarshaller.java | 129 ---- .../v1/OpenWireBytesMessageMarshaller.java | 107 --- .../codec/v1/OpenWireDestinationMarshaller.java | 107 --- .../codec/v1/OpenWireMapMessageMarshaller.java | 107 --- .../codec/v1/OpenWireMessageMarshaller.java | 107 --- .../v1/OpenWireObjectMessageMarshaller.java | 107 --- .../codec/v1/OpenWireQueueMarshaller.java | 107 --- .../v1/OpenWireStreamMessageMarshaller.java | 107 --- .../v1/OpenWireTempDestinationMarshaller.java | 87 --- .../codec/v1/OpenWireTempQueueMarshaller.java | 107 --- .../codec/v1/OpenWireTempTopicMarshaller.java | 107 --- .../codec/v1/OpenWireTextMessageMarshaller.java | 108 --- .../codec/v1/OpenWireTopicMarshaller.java | 107 --- .../codec/v1/PartialCommandMarshaller.java | 128 ---- .../openwire/codec/v1/ProducerIdMarshaller.java | 134 ---- .../codec/v1/ProducerInfoMarshaller.java | 156 ---- .../openwire/codec/v1/RemoveInfoMarshaller.java | 123 ---- .../v1/RemoveSubscriptionInfoMarshaller.java | 134 ---- .../codec/v1/ReplayCommandMarshaller.java | 124 ---- .../openwire/codec/v1/ResponseMarshaller.java | 119 ---- .../openwire/codec/v1/SessionIdMarshaller.java | 130 ---- .../codec/v1/SessionInfoMarshaller.java | 124 ---- .../codec/v1/ShutdownInfoMarshaller.java | 107 --- .../codec/v1/SubscriptionInfoMarshaller.java | 140 ---- .../codec/v1/TransactionIdMarshaller.java | 88 --- .../codec/v1/TransactionInfoMarshaller.java | 134 ---- .../codec/v1/WireFormatInfoMarshaller.java | 150 ---- .../codec/v1/XATransactionIdMarshaller.java | 138 ---- .../codec/v10/BaseCommandMarshaller.java | 109 --- .../openwire/codec/v10/BrokerIdMarshaller.java | 124 ---- .../codec/v10/BrokerInfoMarshaller.java | 199 ------ .../codec/v10/ConnectionControlMarshaller.java | 163 ----- .../codec/v10/ConnectionErrorMarshaller.java | 129 ---- .../codec/v10/ConnectionIdMarshaller.java | 124 ---- .../codec/v10/ConnectionInfoMarshaller.java | 195 ----- .../codec/v10/ConsumerControlMarshaller.java | 154 ---- .../codec/v10/ConsumerIdMarshaller.java | 134 ---- .../codec/v10/ConsumerInfoMarshaller.java | 253 ------- .../codec/v10/ControlCommandMarshaller.java | 123 ---- .../codec/v10/DataArrayResponseMarshaller.java | 144 ---- .../codec/v10/DataResponseMarshaller.java | 123 ---- .../codec/v10/DestinationInfoMarshaller.java | 165 ----- .../codec/v10/DiscoveryEventMarshaller.java | 129 ---- .../codec/v10/ExceptionResponseMarshaller.java | 123 ---- .../codec/v10/FlushCommandMarshaller.java | 108 --- .../codec/v10/IntegerResponseMarshaller.java | 119 ---- .../codec/v10/JournalQueueAckMarshaller.java | 131 ---- .../codec/v10/JournalTopicAckMarshaller.java | 152 ---- .../codec/v10/JournalTraceMarshaller.java | 124 ---- .../codec/v10/JournalTransactionMarshaller.java | 134 ---- .../codec/v10/KeepAliveInfoMarshaller.java | 108 --- .../codec/v10/LastPartialCommandMarshaller.java | 108 --- .../codec/v10/LocalTransactionIdMarshaller.java | 129 ---- .../openwire/codec/v10/MarshallerFactory.java | 95 --- .../codec/v10/MessageAckMarshaller.java | 160 ----- .../codec/v10/MessageDispatchMarshaller.java | 140 ---- .../MessageDispatchNotificationMarshaller.java | 141 ---- .../openwire/codec/v10/MessageIdMarshaller.java | 140 ---- .../openwire/codec/v10/MessageMarshaller.java | 309 -------- .../codec/v10/MessagePullMarshaller.java | 146 ---- .../v10/NetworkBridgeFilterMarshaller.java | 133 ---- .../v10/OpenWireBlobMessageMarshaller.java | 133 ---- .../v10/OpenWireBytesMessageMarshaller.java | 107 --- .../v10/OpenWireDestinationMarshaller.java | 105 --- .../codec/v10/OpenWireMapMessageMarshaller.java | 107 --- .../codec/v10/OpenWireMessageMarshaller.java | 107 --- .../v10/OpenWireObjectMessageMarshaller.java | 108 --- .../codec/v10/OpenWireQueueMarshaller.java | 108 --- .../v10/OpenWireStreamMessageMarshaller.java | 108 --- .../v10/OpenWireTempDestinationMarshaller.java | 88 --- .../codec/v10/OpenWireTempQueueMarshaller.java | 108 --- .../codec/v10/OpenWireTempTopicMarshaller.java | 108 --- .../v10/OpenWireTextMessageMarshaller.java | 108 --- .../codec/v10/OpenWireTopicMarshaller.java | 108 --- .../codec/v10/PartialCommandMarshaller.java | 128 ---- .../codec/v10/ProducerAckMarshaller.java | 128 ---- .../codec/v10/ProducerIdMarshaller.java | 134 ---- .../codec/v10/ProducerInfoMarshaller.java | 165 ----- .../codec/v10/RemoveInfoMarshaller.java | 128 ---- .../v10/RemoveSubscriptionInfoMarshaller.java | 135 ---- .../codec/v10/ReplayCommandMarshaller.java | 123 ---- .../openwire/codec/v10/ResponseMarshaller.java | 118 --- .../openwire/codec/v10/SessionIdMarshaller.java | 129 ---- .../codec/v10/SessionInfoMarshaller.java | 124 ---- .../codec/v10/ShutdownInfoMarshaller.java | 107 --- .../codec/v10/SubscriptionInfoMarshaller.java | 145 ---- .../codec/v10/TransactionIdMarshaller.java | 88 --- .../codec/v10/TransactionInfoMarshaller.java | 134 ---- .../codec/v10/WireFormatInfoMarshaller.java | 149 ---- .../codec/v10/XATransactionIdMarshaller.java | 132 ---- .../codec/v11/BaseCommandMarshaller.java | 109 --- .../openwire/codec/v11/BrokerIdMarshaller.java | 124 ---- .../codec/v11/BrokerInfoMarshaller.java | 199 ------ .../codec/v11/ConnectionControlMarshaller.java | 163 ----- .../codec/v11/ConnectionErrorMarshaller.java | 129 ---- .../codec/v11/ConnectionIdMarshaller.java | 124 ---- .../codec/v11/ConnectionInfoMarshaller.java | 195 ----- .../codec/v11/ConsumerControlMarshaller.java | 154 ---- .../codec/v11/ConsumerIdMarshaller.java | 134 ---- .../codec/v11/ConsumerInfoMarshaller.java | 253 ------- .../codec/v11/ControlCommandMarshaller.java | 123 ---- .../codec/v11/DataArrayResponseMarshaller.java | 144 ---- .../codec/v11/DataResponseMarshaller.java | 123 ---- .../codec/v11/DestinationInfoMarshaller.java | 165 ----- .../codec/v11/DiscoveryEventMarshaller.java | 129 ---- .../codec/v11/ExceptionResponseMarshaller.java | 123 ---- .../codec/v11/FlushCommandMarshaller.java | 108 --- .../codec/v11/IntegerResponseMarshaller.java | 119 ---- .../codec/v11/JournalQueueAckMarshaller.java | 131 ---- .../codec/v11/JournalTopicAckMarshaller.java | 152 ---- .../codec/v11/JournalTraceMarshaller.java | 124 ---- .../codec/v11/JournalTransactionMarshaller.java | 134 ---- .../codec/v11/KeepAliveInfoMarshaller.java | 108 --- .../codec/v11/LastPartialCommandMarshaller.java | 108 --- .../codec/v11/LocalTransactionIdMarshaller.java | 129 ---- .../openwire/codec/v11/MarshallerFactory.java | 95 --- .../codec/v11/MessageAckMarshaller.java | 160 ----- .../codec/v11/MessageDispatchMarshaller.java | 140 ---- .../MessageDispatchNotificationMarshaller.java | 141 ---- .../openwire/codec/v11/MessageIdMarshaller.java | 140 ---- .../openwire/codec/v11/MessageMarshaller.java | 309 -------- .../codec/v11/MessagePullMarshaller.java | 146 ---- .../v11/NetworkBridgeFilterMarshaller.java | 133 ---- .../v11/OpenWireBlobMessageMarshaller.java | 133 ---- .../v11/OpenWireBytesMessageMarshaller.java | 107 --- .../v11/OpenWireDestinationMarshaller.java | 105 --- .../codec/v11/OpenWireMapMessageMarshaller.java | 107 --- .../codec/v11/OpenWireMessageMarshaller.java | 107 --- .../v11/OpenWireObjectMessageMarshaller.java | 108 --- .../codec/v11/OpenWireQueueMarshaller.java | 108 --- .../v11/OpenWireStreamMessageMarshaller.java | 108 --- .../v11/OpenWireTempDestinationMarshaller.java | 88 --- .../codec/v11/OpenWireTempQueueMarshaller.java | 108 --- .../codec/v11/OpenWireTempTopicMarshaller.java | 108 --- .../v11/OpenWireTextMessageMarshaller.java | 108 --- .../codec/v11/OpenWireTopicMarshaller.java | 108 --- .../codec/v11/PartialCommandMarshaller.java | 128 ---- .../codec/v11/ProducerAckMarshaller.java | 128 ---- .../codec/v11/ProducerIdMarshaller.java | 134 ---- .../codec/v11/ProducerInfoMarshaller.java | 165 ----- .../codec/v11/RemoveInfoMarshaller.java | 128 ---- .../v11/RemoveSubscriptionInfoMarshaller.java | 135 ---- .../codec/v11/ReplayCommandMarshaller.java | 123 ---- .../openwire/codec/v11/ResponseMarshaller.java | 118 --- .../openwire/codec/v11/SessionIdMarshaller.java | 129 ---- .../codec/v11/SessionInfoMarshaller.java | 124 ---- .../codec/v11/ShutdownInfoMarshaller.java | 107 --- .../codec/v11/SubscriptionInfoMarshaller.java | 150 ---- .../codec/v11/TransactionIdMarshaller.java | 88 --- .../codec/v11/TransactionInfoMarshaller.java | 134 ---- .../codec/v11/WireFormatInfoMarshaller.java | 149 ---- .../codec/v11/XATransactionIdMarshaller.java | 132 ---- .../codec/v9/BaseCommandMarshaller.java | 109 --- .../openwire/codec/v9/BrokerIdMarshaller.java | 124 ---- .../openwire/codec/v9/BrokerInfoMarshaller.java | 199 ------ .../codec/v9/ConnectionControlMarshaller.java | 163 ----- .../codec/v9/ConnectionErrorMarshaller.java | 129 ---- .../codec/v9/ConnectionIdMarshaller.java | 124 ---- .../codec/v9/ConnectionInfoMarshaller.java | 195 ----- .../codec/v9/ConsumerControlMarshaller.java | 154 ---- .../openwire/codec/v9/ConsumerIdMarshaller.java | 134 ---- .../codec/v9/ConsumerInfoMarshaller.java | 248 ------- .../codec/v9/ControlCommandMarshaller.java | 123 ---- .../codec/v9/DataArrayResponseMarshaller.java | 144 ---- .../codec/v9/DataResponseMarshaller.java | 123 ---- .../codec/v9/DestinationInfoMarshaller.java | 165 ----- .../codec/v9/DiscoveryEventMarshaller.java | 129 ---- .../codec/v9/ExceptionResponseMarshaller.java | 123 ---- .../codec/v9/FlushCommandMarshaller.java | 108 --- .../codec/v9/IntegerResponseMarshaller.java | 119 ---- .../codec/v9/JournalQueueAckMarshaller.java | 131 ---- .../codec/v9/JournalTopicAckMarshaller.java | 152 ---- .../codec/v9/JournalTraceMarshaller.java | 124 ---- .../codec/v9/JournalTransactionMarshaller.java | 134 ---- .../codec/v9/KeepAliveInfoMarshaller.java | 108 --- .../codec/v9/LastPartialCommandMarshaller.java | 108 --- .../codec/v9/LocalTransactionIdMarshaller.java | 129 ---- .../openwire/codec/v9/MarshallerFactory.java | 95 --- .../openwire/codec/v9/MessageAckMarshaller.java | 160 ----- .../codec/v9/MessageDispatchMarshaller.java | 140 ---- .../MessageDispatchNotificationMarshaller.java | 141 ---- .../openwire/codec/v9/MessageIdMarshaller.java | 135 ---- .../openwire/codec/v9/MessageMarshaller.java | 304 -------- .../codec/v9/MessagePullMarshaller.java | 146 ---- .../codec/v9/NetworkBridgeFilterMarshaller.java | 1 - .../codec/v9/OpenWireBlobMessageMarshaller.java | 133 ---- .../v9/OpenWireBytesMessageMarshaller.java | 107 --- .../codec/v9/OpenWireDestinationMarshaller.java | 105 --- .../codec/v9/OpenWireMapMessageMarshaller.java | 107 --- .../codec/v9/OpenWireMessageMarshaller.java | 107 --- .../v9/OpenWireObjectMessageMarshaller.java | 108 --- .../codec/v9/OpenWireQueueMarshaller.java | 108 --- .../v9/OpenWireStreamMessageMarshaller.java | 108 --- .../v9/OpenWireTempDestinationMarshaller.java | 88 --- .../codec/v9/OpenWireTempQueueMarshaller.java | 108 --- .../codec/v9/OpenWireTempTopicMarshaller.java | 108 --- .../codec/v9/OpenWireTextMessageMarshaller.java | 108 --- .../codec/v9/OpenWireTopicMarshaller.java | 108 --- .../codec/v9/PartialCommandMarshaller.java | 128 ---- .../codec/v9/ProducerAckMarshaller.java | 128 ---- .../openwire/codec/v9/ProducerIdMarshaller.java | 134 ---- .../codec/v9/ProducerInfoMarshaller.java | 165 ----- .../openwire/codec/v9/RemoveInfoMarshaller.java | 128 ---- .../v9/RemoveSubscriptionInfoMarshaller.java | 135 ---- .../codec/v9/ReplayCommandMarshaller.java | 123 ---- .../openwire/codec/v9/ResponseMarshaller.java | 118 --- .../openwire/codec/v9/SessionIdMarshaller.java | 129 ---- .../codec/v9/SessionInfoMarshaller.java | 124 ---- .../codec/v9/ShutdownInfoMarshaller.java | 107 --- .../codec/v9/SubscriptionInfoMarshaller.java | 145 ---- .../codec/v9/TransactionIdMarshaller.java | 88 --- .../codec/v9/TransactionInfoMarshaller.java | 134 ---- .../codec/v9/WireFormatInfoMarshaller.java | 149 ---- .../codec/v9/XATransactionIdMarshaller.java | 132 ---- .../activemq/openwire/commands/BaseCommand.java | 7 + .../activemq/openwire/commands/BrokerId.java | 6 + .../activemq/openwire/commands/BrokerInfo.java | 33 +- .../openwire/commands/ConnectionControl.java | 29 +- .../openwire/commands/ConnectionError.java | 9 +- .../openwire/commands/ConnectionId.java | 5 + .../openwire/commands/ConnectionInfo.java | 29 +- .../openwire/commands/ConsumerControl.java | 27 +- .../activemq/openwire/commands/ConsumerId.java | 15 + .../openwire/commands/ConsumerInfo.java | 58 +- .../openwire/commands/ControlCommand.java | 5 + .../openwire/commands/DataArrayResponse.java | 5 + .../openwire/commands/DataResponse.java | 5 + .../openwire/commands/DestinationInfo.java | 13 + .../openwire/commands/DiscoveryEvent.java | 7 + .../openwire/commands/ExceptionResponse.java | 5 + .../openwire/commands/FlushCommand.java | 3 + .../openwire/commands/IntegerResponse.java | 5 + .../openwire/commands/JournalQueueAck.java | 7 + .../openwire/commands/JournalTopicAck.java | 19 +- .../openwire/commands/JournalTrace.java | 5 + .../openwire/commands/JournalTransaction.java | 11 +- .../openwire/commands/KeepAliveInfo.java | 3 + .../openwire/commands/LastPartialCommand.java | 3 + .../openwire/commands/LocalTransactionId.java | 13 +- .../activemq/openwire/commands/Message.java | 102 ++- .../activemq/openwire/commands/MessageAck.java | 27 +- .../openwire/commands/MessageDispatch.java | 11 + .../commands/MessageDispatchNotification.java | 13 +- .../activemq/openwire/commands/MessageId.java | 14 + .../activemq/openwire/commands/MessagePull.java | 23 +- .../openwire/commands/NetworkBridgeFilter.java | 8 + .../openwire/commands/OpenWireBlobMessage.java | 17 +- .../openwire/commands/OpenWireBytesMessage.java | 2 + .../openwire/commands/OpenWireDestination.java | 14 + .../openwire/commands/OpenWireMapMessage.java | 4 + .../openwire/commands/OpenWireMessage.java | 6 + .../commands/OpenWireObjectMessage.java | 4 + .../openwire/commands/OpenWireQueue.java | 3 + .../commands/OpenWireStreamMessage.java | 2 + .../commands/OpenWireTempDestination.java | 6 + .../openwire/commands/OpenWireTempQueue.java | 3 + .../openwire/commands/OpenWireTempTopic.java | 3 + .../openwire/commands/OpenWireTextMessage.java | 4 + .../openwire/commands/OpenWireTopic.java | 3 + .../openwire/commands/PartialCommand.java | 7 + .../activemq/openwire/commands/ProducerAck.java | 7 + .../activemq/openwire/commands/ProducerId.java | 17 +- .../openwire/commands/ProducerInfo.java | 13 + .../activemq/openwire/commands/RemoveInfo.java | 7 + .../commands/RemoveSubscriptionInfo.java | 11 +- .../openwire/commands/ReplayCommand.java | 24 +- .../activemq/openwire/commands/Response.java | 6 + .../activemq/openwire/commands/SessionId.java | 13 + .../activemq/openwire/commands/SessionInfo.java | 5 + .../openwire/commands/ShutdownInfo.java | 3 + .../openwire/commands/SubscriptionInfo.java | 21 +- .../openwire/commands/TransactionId.java | 3 + .../openwire/commands/TransactionInfo.java | 11 +- .../openwire/commands/WireFormatInfo.java | 10 + .../openwire/commands/XATransactionId.java | 18 +- .../activemq/openwire/utils/CronParser.java | 357 ---------- .../commands/OpenWireTextMessageTest.java | 5 +- .../openwire/ide/OpenWireCodecGenerator.java | 121 ---- .../activemq/openwire/utils/CronParserTest.java | 363 ---------- .../openwire/utils/MarshallingSupport.java | 76 ++ openwire-generator/pom.xml | 50 +- .../openwire/generator/AbstractGenerator.java | 70 ++ .../activemq/openwire/generator/Generator.java | 32 + .../openwire/generator/GeneratorTask.java | 203 ++---- .../openwire/generator/GeneratorUtils.java | 211 ++++++ .../activemq/openwire/generator/Generators.java | 36 + .../generator/MarshallingGenerator.java | 712 ------------------- .../generator/MultiSourceGenerator.java | 265 ------- .../openwire/generator/OpenWireGenerator.java | 178 ----- .../generator/OpenWirePropertyDescriptor.java | 139 ++++ .../generator/OpenWireTypeDescriptor.java | 124 ++++ .../openwire/generator/TestDataGenerator.java | 66 -- .../openwire/generator/TestsGenerator.java | 198 ------ .../UniversalMarshallerFactoryGenerator.java | 147 ++++ .../builtin/UniversalMarshallerGenerator.java | 660 +++++++++++++++++ .../src/main/resources/log4j.properties | 35 + .../activenq/openwire/generator/IDERunner.java | 34 + openwire-interop-tests/pom.xml | 22 +- openwire-legacy/pom.xml | 4 - .../codec/v1/BaseCommandMarshaller.java | 109 +++ .../openwire/codec/v1/BrokerIdMarshaller.java | 118 +++ .../openwire/codec/v1/BrokerInfoMarshaller.java | 175 +++++ .../codec/v1/ConnectionControlMarshaller.java | 144 ++++ .../codec/v1/ConnectionErrorMarshaller.java | 129 ++++ .../codec/v1/ConnectionIdMarshaller.java | 124 ++++ .../codec/v1/ConnectionInfoMarshaller.java | 189 +++++ .../codec/v1/ConsumerControlMarshaller.java | 148 ++++ .../openwire/codec/v1/ConsumerIdMarshaller.java | 134 ++++ .../codec/v1/ConsumerInfoMarshaller.java | 222 ++++++ .../codec/v1/ControlCommandMarshaller.java | 123 ++++ .../codec/v1/DataArrayResponseMarshaller.java | 143 ++++ .../codec/v1/DataResponseMarshaller.java | 123 ++++ .../v1/DataStructureSupportMarshaller.java | 88 +++ .../codec/v1/DestinationInfoMarshaller.java | 164 +++++ .../codec/v1/DiscoveryEventMarshaller.java | 129 ++++ .../codec/v1/ExceptionResponseMarshaller.java | 123 ++++ .../codec/v1/FlushCommandMarshaller.java | 107 +++ .../codec/v1/IntegerResponseMarshaller.java | 119 ++++ .../codec/v1/JournalQueueAckMarshaller.java | 130 ++++ .../codec/v1/JournalTopicAckMarshaller.java | 150 ++++ .../codec/v1/JournalTraceMarshaller.java | 124 ++++ .../codec/v1/JournalTransactionMarshaller.java | 133 ++++ .../codec/v1/KeepAliveInfoMarshaller.java | 107 +++ .../codec/v1/LastPartialCommandMarshaller.java | 107 +++ .../codec/v1/LocalTransactionIdMarshaller.java | 128 ++++ .../openwire/codec/v1/MarshallerFactory.java | 95 +++ .../openwire/codec/v1/MessageAckMarshaller.java | 152 ++++ .../codec/v1/MessageDispatchMarshaller.java | 139 ++++ .../MessageDispatchNotificationMarshaller.java | 140 ++++ .../openwire/codec/v1/MessageIdMarshaller.java | 134 ++++ .../openwire/codec/v1/MessageMarshaller.java | 258 +++++++ .../codec/v1/NetworkBridgeFilterMarshaller.java | 129 ++++ .../v1/OpenWireBytesMessageMarshaller.java | 107 +++ .../codec/v1/OpenWireDestinationMarshaller.java | 107 +++ .../codec/v1/OpenWireMapMessageMarshaller.java | 107 +++ .../codec/v1/OpenWireMessageMarshaller.java | 107 +++ .../v1/OpenWireObjectMessageMarshaller.java | 107 +++ .../codec/v1/OpenWireQueueMarshaller.java | 107 +++ .../v1/OpenWireStreamMessageMarshaller.java | 107 +++ .../v1/OpenWireTempDestinationMarshaller.java | 87 +++ .../codec/v1/OpenWireTempQueueMarshaller.java | 107 +++ .../codec/v1/OpenWireTempTopicMarshaller.java | 107 +++ .../codec/v1/OpenWireTextMessageMarshaller.java | 108 +++ .../codec/v1/OpenWireTopicMarshaller.java | 107 +++ .../codec/v1/PartialCommandMarshaller.java | 128 ++++ .../openwire/codec/v1/ProducerIdMarshaller.java | 134 ++++ .../codec/v1/ProducerInfoMarshaller.java | 156 ++++ .../openwire/codec/v1/RemoveInfoMarshaller.java | 123 ++++ .../v1/RemoveSubscriptionInfoMarshaller.java | 134 ++++ .../codec/v1/ReplayCommandMarshaller.java | 124 ++++ .../openwire/codec/v1/ResponseMarshaller.java | 119 ++++ .../openwire/codec/v1/SessionIdMarshaller.java | 130 ++++ .../codec/v1/SessionInfoMarshaller.java | 124 ++++ .../codec/v1/ShutdownInfoMarshaller.java | 107 +++ .../codec/v1/SubscriptionInfoMarshaller.java | 140 ++++ .../codec/v1/TransactionIdMarshaller.java | 88 +++ .../codec/v1/TransactionInfoMarshaller.java | 134 ++++ .../codec/v1/WireFormatInfoMarshaller.java | 150 ++++ .../codec/v1/XATransactionIdMarshaller.java | 138 ++++ .../codec/v10/BaseCommandMarshaller.java | 109 +++ .../openwire/codec/v10/BrokerIdMarshaller.java | 124 ++++ .../codec/v10/BrokerInfoMarshaller.java | 199 ++++++ .../codec/v10/ConnectionControlMarshaller.java | 163 +++++ .../codec/v10/ConnectionErrorMarshaller.java | 129 ++++ .../codec/v10/ConnectionIdMarshaller.java | 124 ++++ .../codec/v10/ConnectionInfoMarshaller.java | 195 +++++ .../codec/v10/ConsumerControlMarshaller.java | 154 ++++ .../codec/v10/ConsumerIdMarshaller.java | 134 ++++ .../codec/v10/ConsumerInfoMarshaller.java | 253 +++++++ .../codec/v10/ControlCommandMarshaller.java | 123 ++++ .../codec/v10/DataArrayResponseMarshaller.java | 144 ++++ .../codec/v10/DataResponseMarshaller.java | 123 ++++ .../codec/v10/DestinationInfoMarshaller.java | 165 +++++ .../codec/v10/DiscoveryEventMarshaller.java | 129 ++++ .../codec/v10/ExceptionResponseMarshaller.java | 123 ++++ .../codec/v10/FlushCommandMarshaller.java | 108 +++ .../codec/v10/IntegerResponseMarshaller.java | 119 ++++ .../codec/v10/JournalQueueAckMarshaller.java | 131 ++++ .../codec/v10/JournalTopicAckMarshaller.java | 152 ++++ .../codec/v10/JournalTraceMarshaller.java | 124 ++++ .../codec/v10/JournalTransactionMarshaller.java | 134 ++++ .../codec/v10/KeepAliveInfoMarshaller.java | 108 +++ .../codec/v10/LastPartialCommandMarshaller.java | 108 +++ .../codec/v10/LocalTransactionIdMarshaller.java | 129 ++++ .../openwire/codec/v10/MarshallerFactory.java | 95 +++ .../codec/v10/MessageAckMarshaller.java | 160 +++++ .../codec/v10/MessageDispatchMarshaller.java | 140 ++++ .../MessageDispatchNotificationMarshaller.java | 141 ++++ .../openwire/codec/v10/MessageIdMarshaller.java | 140 ++++ .../openwire/codec/v10/MessageMarshaller.java | 309 ++++++++ .../codec/v10/MessagePullMarshaller.java | 146 ++++ .../v10/NetworkBridgeFilterMarshaller.java | 133 ++++ .../v10/OpenWireBlobMessageMarshaller.java | 133 ++++ .../v10/OpenWireBytesMessageMarshaller.java | 107 +++ .../v10/OpenWireDestinationMarshaller.java | 105 +++ .../codec/v10/OpenWireMapMessageMarshaller.java | 107 +++ .../codec/v10/OpenWireMessageMarshaller.java | 107 +++ .../v10/OpenWireObjectMessageMarshaller.java | 108 +++ .../codec/v10/OpenWireQueueMarshaller.java | 108 +++ .../v10/OpenWireStreamMessageMarshaller.java | 108 +++ .../v10/OpenWireTempDestinationMarshaller.java | 88 +++ .../codec/v10/OpenWireTempQueueMarshaller.java | 108 +++ .../codec/v10/OpenWireTempTopicMarshaller.java | 108 +++ .../v10/OpenWireTextMessageMarshaller.java | 108 +++ .../codec/v10/OpenWireTopicMarshaller.java | 108 +++ .../codec/v10/PartialCommandMarshaller.java | 128 ++++ .../codec/v10/ProducerAckMarshaller.java | 128 ++++ .../codec/v10/ProducerIdMarshaller.java | 134 ++++ .../codec/v10/ProducerInfoMarshaller.java | 165 +++++ .../codec/v10/RemoveInfoMarshaller.java | 128 ++++ .../v10/RemoveSubscriptionInfoMarshaller.java | 135 ++++ .../codec/v10/ReplayCommandMarshaller.java | 123 ++++ .../openwire/codec/v10/ResponseMarshaller.java | 118 +++ .../openwire/codec/v10/SessionIdMarshaller.java | 129 ++++ .../codec/v10/SessionInfoMarshaller.java | 124 ++++ .../codec/v10/ShutdownInfoMarshaller.java | 107 +++ .../codec/v10/SubscriptionInfoMarshaller.java | 145 ++++ .../codec/v10/TransactionIdMarshaller.java | 88 +++ .../codec/v10/TransactionInfoMarshaller.java | 134 ++++ .../codec/v10/WireFormatInfoMarshaller.java | 149 ++++ .../codec/v10/XATransactionIdMarshaller.java | 132 ++++ .../codec/v11/BaseCommandMarshaller.java | 109 +++ .../openwire/codec/v11/BrokerIdMarshaller.java | 124 ++++ .../codec/v11/BrokerInfoMarshaller.java | 199 ++++++ .../codec/v11/ConnectionControlMarshaller.java | 163 +++++ .../codec/v11/ConnectionErrorMarshaller.java | 129 ++++ .../codec/v11/ConnectionIdMarshaller.java | 124 ++++ .../codec/v11/ConnectionInfoMarshaller.java | 195 +++++ .../codec/v11/ConsumerControlMarshaller.java | 154 ++++ .../codec/v11/ConsumerIdMarshaller.java | 134 ++++ .../codec/v11/ConsumerInfoMarshaller.java | 253 +++++++ .../codec/v11/ControlCommandMarshaller.java | 123 ++++ .../codec/v11/DataArrayResponseMarshaller.java | 144 ++++ .../codec/v11/DataResponseMarshaller.java | 123 ++++ .../codec/v11/DestinationInfoMarshaller.java | 165 +++++ .../codec/v11/DiscoveryEventMarshaller.java | 129 ++++ .../codec/v11/ExceptionResponseMarshaller.java | 123 ++++ .../codec/v11/FlushCommandMarshaller.java | 108 +++ .../codec/v11/IntegerResponseMarshaller.java | 119 ++++ .../codec/v11/JournalQueueAckMarshaller.java | 131 ++++ .../codec/v11/JournalTopicAckMarshaller.java | 152 ++++ .../codec/v11/JournalTraceMarshaller.java | 124 ++++ .../codec/v11/JournalTransactionMarshaller.java | 134 ++++ .../codec/v11/KeepAliveInfoMarshaller.java | 108 +++ .../codec/v11/LastPartialCommandMarshaller.java | 108 +++ .../codec/v11/LocalTransactionIdMarshaller.java | 129 ++++ .../openwire/codec/v11/MarshallerFactory.java | 95 +++ .../codec/v11/MessageAckMarshaller.java | 160 +++++ .../codec/v11/MessageDispatchMarshaller.java | 140 ++++ .../MessageDispatchNotificationMarshaller.java | 141 ++++ .../openwire/codec/v11/MessageIdMarshaller.java | 140 ++++ .../openwire/codec/v11/MessageMarshaller.java | 309 ++++++++ .../codec/v11/MessagePullMarshaller.java | 146 ++++ .../v11/NetworkBridgeFilterMarshaller.java | 133 ++++ .../v11/OpenWireBlobMessageMarshaller.java | 133 ++++ .../v11/OpenWireBytesMessageMarshaller.java | 107 +++ .../v11/OpenWireDestinationMarshaller.java | 105 +++ .../codec/v11/OpenWireMapMessageMarshaller.java | 107 +++ .../codec/v11/OpenWireMessageMarshaller.java | 107 +++ .../v11/OpenWireObjectMessageMarshaller.java | 108 +++ .../codec/v11/OpenWireQueueMarshaller.java | 108 +++ .../v11/OpenWireStreamMessageMarshaller.java | 108 +++ .../v11/OpenWireTempDestinationMarshaller.java | 88 +++ .../codec/v11/OpenWireTempQueueMarshaller.java | 108 +++ .../codec/v11/OpenWireTempTopicMarshaller.java | 108 +++ .../v11/OpenWireTextMessageMarshaller.java | 108 +++ .../codec/v11/OpenWireTopicMarshaller.java | 108 +++ .../codec/v11/PartialCommandMarshaller.java | 128 ++++ .../codec/v11/ProducerAckMarshaller.java | 128 ++++ .../codec/v11/ProducerIdMarshaller.java | 134 ++++ .../codec/v11/ProducerInfoMarshaller.java | 165 +++++ .../codec/v11/RemoveInfoMarshaller.java | 128 ++++ .../v11/RemoveSubscriptionInfoMarshaller.java | 135 ++++ .../codec/v11/ReplayCommandMarshaller.java | 123 ++++ .../openwire/codec/v11/ResponseMarshaller.java | 118 +++ .../openwire/codec/v11/SessionIdMarshaller.java | 129 ++++ .../codec/v11/SessionInfoMarshaller.java | 124 ++++ .../codec/v11/ShutdownInfoMarshaller.java | 107 +++ .../codec/v11/SubscriptionInfoMarshaller.java | 150 ++++ .../codec/v11/TransactionIdMarshaller.java | 88 +++ .../codec/v11/TransactionInfoMarshaller.java | 134 ++++ .../codec/v11/WireFormatInfoMarshaller.java | 149 ++++ .../codec/v11/XATransactionIdMarshaller.java | 132 ++++ .../codec/v9/BaseCommandMarshaller.java | 109 +++ .../openwire/codec/v9/BrokerIdMarshaller.java | 124 ++++ .../openwire/codec/v9/BrokerInfoMarshaller.java | 199 ++++++ .../codec/v9/ConnectionControlMarshaller.java | 163 +++++ .../codec/v9/ConnectionErrorMarshaller.java | 129 ++++ .../codec/v9/ConnectionIdMarshaller.java | 124 ++++ .../codec/v9/ConnectionInfoMarshaller.java | 195 +++++ .../codec/v9/ConsumerControlMarshaller.java | 154 ++++ .../openwire/codec/v9/ConsumerIdMarshaller.java | 134 ++++ .../codec/v9/ConsumerInfoMarshaller.java | 248 +++++++ .../codec/v9/ControlCommandMarshaller.java | 123 ++++ .../codec/v9/DataArrayResponseMarshaller.java | 144 ++++ .../codec/v9/DataResponseMarshaller.java | 123 ++++ .../codec/v9/DestinationInfoMarshaller.java | 165 +++++ .../codec/v9/DiscoveryEventMarshaller.java | 129 ++++ .../codec/v9/ExceptionResponseMarshaller.java | 123 ++++ .../codec/v9/FlushCommandMarshaller.java | 108 +++ .../codec/v9/IntegerResponseMarshaller.java | 119 ++++ .../codec/v9/JournalQueueAckMarshaller.java | 131 ++++ .../codec/v9/JournalTopicAckMarshaller.java | 152 ++++ .../codec/v9/JournalTraceMarshaller.java | 124 ++++ .../codec/v9/JournalTransactionMarshaller.java | 134 ++++ .../codec/v9/KeepAliveInfoMarshaller.java | 108 +++ .../codec/v9/LastPartialCommandMarshaller.java | 108 +++ .../codec/v9/LocalTransactionIdMarshaller.java | 129 ++++ .../openwire/codec/v9/MarshallerFactory.java | 95 +++ .../openwire/codec/v9/MessageAckMarshaller.java | 160 +++++ .../codec/v9/MessageDispatchMarshaller.java | 140 ++++ .../MessageDispatchNotificationMarshaller.java | 141 ++++ .../openwire/codec/v9/MessageIdMarshaller.java | 135 ++++ .../openwire/codec/v9/MessageMarshaller.java | 304 ++++++++ .../codec/v9/MessagePullMarshaller.java | 146 ++++ .../codec/v9/NetworkBridgeFilterMarshaller.java | 1 + .../codec/v9/OpenWireBlobMessageMarshaller.java | 133 ++++ .../v9/OpenWireBytesMessageMarshaller.java | 107 +++ .../codec/v9/OpenWireDestinationMarshaller.java | 105 +++ .../codec/v9/OpenWireMapMessageMarshaller.java | 107 +++ .../codec/v9/OpenWireMessageMarshaller.java | 107 +++ .../v9/OpenWireObjectMessageMarshaller.java | 108 +++ .../codec/v9/OpenWireQueueMarshaller.java | 108 +++ .../v9/OpenWireStreamMessageMarshaller.java | 108 +++ .../v9/OpenWireTempDestinationMarshaller.java | 88 +++ .../codec/v9/OpenWireTempQueueMarshaller.java | 108 +++ .../codec/v9/OpenWireTempTopicMarshaller.java | 108 +++ .../codec/v9/OpenWireTextMessageMarshaller.java | 108 +++ .../codec/v9/OpenWireTopicMarshaller.java | 108 +++ .../codec/v9/PartialCommandMarshaller.java | 128 ++++ .../codec/v9/ProducerAckMarshaller.java | 128 ++++ .../openwire/codec/v9/ProducerIdMarshaller.java | 134 ++++ .../codec/v9/ProducerInfoMarshaller.java | 165 +++++ .../openwire/codec/v9/RemoveInfoMarshaller.java | 128 ++++ .../v9/RemoveSubscriptionInfoMarshaller.java | 135 ++++ .../codec/v9/ReplayCommandMarshaller.java | 123 ++++ .../openwire/codec/v9/ResponseMarshaller.java | 118 +++ .../openwire/codec/v9/SessionIdMarshaller.java | 129 ++++ .../codec/v9/SessionInfoMarshaller.java | 124 ++++ .../codec/v9/ShutdownInfoMarshaller.java | 107 +++ .../codec/v9/SubscriptionInfoMarshaller.java | 145 ++++ .../codec/v9/TransactionIdMarshaller.java | 88 +++ .../codec/v9/TransactionInfoMarshaller.java | 134 ++++ .../codec/v9/WireFormatInfoMarshaller.java | 149 ++++ .../codec/v9/XATransactionIdMarshaller.java | 132 ++++ pom.xml | 31 +- 648 files changed, 44091 insertions(+), 35009 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/activemq-openwire/blob/0c90d2e3/openwire-annotations/.gitignore ---------------------------------------------------------------------- diff --git a/openwire-annotations/.gitignore b/openwire-annotations/.gitignore new file mode 100644 index 0000000..b83d222 --- /dev/null +++ b/openwire-annotations/.gitignore @@ -0,0 +1 @@ +/target/ http://git-wip-us.apache.org/repos/asf/activemq-openwire/blob/0c90d2e3/openwire-annotations/pom.xml ---------------------------------------------------------------------- diff --git a/openwire-annotations/pom.xml b/openwire-annotations/pom.xml new file mode 100644 index 0000000..af29c42 --- /dev/null +++ b/openwire-annotations/pom.xml @@ -0,0 +1,31 @@ +<?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-annotations</artifactId> + <name>openwire-annotations</name> + <description>The main OpenWire protocol implementation providing current versions of the codec.</description> + <packaging>jar</packaging> + +</project> http://git-wip-us.apache.org/repos/asf/activemq-openwire/blob/0c90d2e3/openwire-annotations/src/main/java/org/apache/activemq/openwire/annotations/OpenWireDocumentation.java ---------------------------------------------------------------------- diff --git a/openwire-annotations/src/main/java/org/apache/activemq/openwire/annotations/OpenWireDocumentation.java b/openwire-annotations/src/main/java/org/apache/activemq/openwire/annotations/OpenWireDocumentation.java new file mode 100644 index 0000000..e51cf52 --- /dev/null +++ b/openwire-annotations/src/main/java/org/apache/activemq/openwire/annotations/OpenWireDocumentation.java @@ -0,0 +1,38 @@ +/* + * 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.annotations; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +/** + * Used to add documentation notes to an OpenWire command or one its properties. + */ +@Retention(RetentionPolicy.RUNTIME) +public @interface OpenWireDocumentation { + + /** + * @return a quick one sentence description of the element. + */ + String shortDescription(); + + /** + * @return a longer more thorough description of the element. + */ + String longDescription() default ""; + +} http://git-wip-us.apache.org/repos/asf/activemq-openwire/blob/0c90d2e3/openwire-annotations/src/main/java/org/apache/activemq/openwire/annotations/OpenWireExtension.java ---------------------------------------------------------------------- diff --git a/openwire-annotations/src/main/java/org/apache/activemq/openwire/annotations/OpenWireExtension.java b/openwire-annotations/src/main/java/org/apache/activemq/openwire/annotations/OpenWireExtension.java new file mode 100644 index 0000000..13a3c84 --- /dev/null +++ b/openwire-annotations/src/main/java/org/apache/activemq/openwire/annotations/OpenWireExtension.java @@ -0,0 +1,40 @@ +/* + * 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.annotations; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * Defines the annotation value to use to describes any extensions + * to a given OpenWire data type that is not part of the marshaled + * data for that type. + */ +@Retention(RetentionPolicy.RUNTIME) +@Target({ElementType.FIELD}) +public @interface OpenWireExtension { + + /** + * Defines if the extension is transient or not. + * + * @return true if the value should not be marked as transient. + */ + boolean serialized() default false; + +} http://git-wip-us.apache.org/repos/asf/activemq-openwire/blob/0c90d2e3/openwire-annotations/src/main/java/org/apache/activemq/openwire/annotations/OpenWireProperty.java ---------------------------------------------------------------------- diff --git a/openwire-annotations/src/main/java/org/apache/activemq/openwire/annotations/OpenWireProperty.java b/openwire-annotations/src/main/java/org/apache/activemq/openwire/annotations/OpenWireProperty.java new file mode 100644 index 0000000..a4646c4 --- /dev/null +++ b/openwire-annotations/src/main/java/org/apache/activemq/openwire/annotations/OpenWireProperty.java @@ -0,0 +1,43 @@ +/* + * 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.annotations; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * Defines the annotation value for the properties of an OpenWire data type. + */ +@Retention(RetentionPolicy.RUNTIME) +@Target({ElementType.FIELD}) +public @interface OpenWireProperty { + + int version(); + + int sequence(); + + boolean cached() default false; + + boolean serialized() default true; + + boolean mandatory() default false; + + int size() default 0; + +} http://git-wip-us.apache.org/repos/asf/activemq-openwire/blob/0c90d2e3/openwire-annotations/src/main/java/org/apache/activemq/openwire/annotations/OpenWireType.java ---------------------------------------------------------------------- diff --git a/openwire-annotations/src/main/java/org/apache/activemq/openwire/annotations/OpenWireType.java b/openwire-annotations/src/main/java/org/apache/activemq/openwire/annotations/OpenWireType.java new file mode 100644 index 0000000..797aef1 --- /dev/null +++ b/openwire-annotations/src/main/java/org/apache/activemq/openwire/annotations/OpenWireType.java @@ -0,0 +1,34 @@ +/* + * 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.annotations; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +@Retention(RetentionPolicy.RUNTIME) +@Target({ElementType.TYPE}) +public @interface OpenWireType { + + int typeCode(); + + int version() default 1; + + boolean marshalAware() default false; + +} http://git-wip-us.apache.org/repos/asf/activemq-openwire/blob/0c90d2e3/openwire-core/pom.xml ---------------------------------------------------------------------- diff --git a/openwire-core/pom.xml b/openwire-core/pom.xml index 18d3573..62077dd 100644 --- a/openwire-core/pom.xml +++ b/openwire-core/pom.xml @@ -29,16 +29,18 @@ <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> + <openwire-codec-dir>${basedir}/src/main/java/</openwire-codec-dir> </properties> <dependencies> <!-- =================================== --> - <!-- Required Dependencies --> + <!-- Required Dependencies --> <!-- =================================== --> <dependency> + <groupId>org.apache.activemq</groupId> + <artifactId>openwire-annotations</artifactId> + </dependency> + <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> </dependency> @@ -64,135 +66,59 @@ <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> --> + <profiles> + <!-- Execute with: mvn -P openwire-generate antrun:run --> + <profile> + <id>openwire-generate</id> + <build> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-antrun-plugin</artifactId> + <executions> + <execution> + <id>default</id> + <phase>generate-sources</phase> + <goals> + <goal>run</goal> + </goals> + </execution> + </executions> + <configuration> + <target> + <echo>Running OpenWire Generator</echo> + <taskdef name="generate" classname="org.apache.activemq.openwire.generator.GeneratorTask" classpathref="maven.test.classpath"/> + <generate baseDir="${openwire-codec-dir}" /> + </target> + </configuration> + <dependencies> + <dependency> + <groupId>org.apache.activemq</groupId> + <artifactId>openwire-annotations</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>org.apache.activemq</groupId> + <artifactId>openwire-generator</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>org.apache.activemq</groupId> + <artifactId>openwire-core</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>org.reflections</groupId> + <artifactId>reflections</artifactId> + <version>${reflections-version}</version> + </dependency> + </dependencies> + </plugin> + </plugins> + </build> + </profile> + </profiles> </project> http://git-wip-us.apache.org/repos/asf/activemq-openwire/blob/0c90d2e3/openwire-core/src/main/java/org/apache/activemq/openwire/codec/OpenWireFormat.java ---------------------------------------------------------------------- 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 index 720d658..9e0c063 100644 --- 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 @@ -53,6 +53,8 @@ public final class OpenWireFormat { private boolean sizePrefixDisabled; private long maxFrameSize = DEFAULT_MAX_FRAME_SIZE; + private boolean useLegacyCodecs = false; + // The following fields are used for value caching private short nextMarshallCacheIndex; private short nextMarshallCacheEvictionIndex; @@ -93,6 +95,7 @@ public final class OpenWireFormat { 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; @@ -123,7 +126,6 @@ public final class OpenWireFormat { throw new IOException("Unknown data type: " + type); } if (tightEncodingEnabled) { - BooleanStream bs = new BooleanStream(); size += dsm.tightMarshal1(this, c, bs); size += bs.marshalledSize(); @@ -136,7 +138,6 @@ public final class OpenWireFormat { bs.marshal(bytesOut); dsm.tightMarshal2(this, c, bytesOut, bs); sequence = bytesOut.toBuffer(); - } else { bytesOut.restart(); if (!sizePrefixDisabled) { @@ -181,7 +182,6 @@ public final class OpenWireFormat { } public synchronized void marshal(Object o, DataOutput dataOut) throws IOException { - if (cacheEnabled) { runMarshallCacheEvictionSweep(); } @@ -195,6 +195,7 @@ public final class OpenWireFormat { if (dsm == null) { throw new IOException("Unknown data type: " + type); } + if (tightEncodingEnabled) { BooleanStream bs = new BooleanStream(); size += dsm.tightMarshal1(this, c, bs); @@ -207,7 +208,6 @@ public final class OpenWireFormat { dataOut.writeByte(type); bs.marshal(dataOut); dsm.tightMarshal2(this, c, dataOut, bs); - } else { DataOutput looseOut = dataOut; @@ -224,9 +224,7 @@ public final class OpenWireFormat { dataOut.writeInt(sequence.getLength()); dataOut.write(sequence.getData(), sequence.getOffset(), sequence.getLength()); } - } - } else { if (!sizePrefixDisabled) { dataOut.writeInt(size); @@ -243,6 +241,7 @@ public final class OpenWireFormat { throw new IOException("Frame size of " + (size / (1024 * 1024)) + " MB larger than max allowed " + (maxFrameSize / (1024 * 1024)) + " MB"); } } + return doUnmarshal(dataIn); } @@ -262,6 +261,7 @@ public final class OpenWireFormat { size += dsm.tightMarshal1(this, c, bs); size += bs.marshalledSize(); } + return size; } @@ -286,29 +286,6 @@ public final class OpenWireFormat { } } - /** - * 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) { @@ -400,7 +377,6 @@ public final class OpenWireFormat { public DataStructure looseUnmarshalNestedObject(DataInput dis) throws IOException { if (dis.readBoolean()) { - byte dataType = dis.readByte(); DataStreamMarshaller dsm = dataMarshallers[dataType & 0xFF]; if (dsm == null) { @@ -409,7 +385,6 @@ public final class OpenWireFormat { DataStructure data = dsm.createObject(); dsm.looseUnmarshal(this, data, dis); return data; - } else { return null; } @@ -536,6 +511,55 @@ public final class OpenWireFormat { this.maxFrameSize = maxFrameSize; } + /** + * @return the useLegacyCodecs current value. + */ + public boolean isUseLegacyCodecs() { + return useLegacyCodecs; + } + + /** + * Sets whether the WireFormat should use the legacy codecs or the universal codec. + * + * @param useLegacyCodecs + * the useLegacyCodecs setting to use. + */ + public void setUseLegacyCodecs(boolean useLegacyCodecs) { + this.useLegacyCodecs = useLegacyCodecs; + } + + /** + * Allows you to dynamically switch the version of the openwire protocol being used. + * + * @param version + */ + public void setVersion(int version) { + String mfName = null; + Class<?> mfClass; + + if (!useLegacyCodecs) { + mfName = "org.apache.activemq.openwire.codec.universal.MarshallerFactory"; + } else { + mfName = "org.apache.activemq.openwire.codec.v" + version + ".MarshallerFactory"; + } + + 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 void renegotiateWireFormat(WireFormatInfo info) throws IOException { if (preferedWireFormatInfo == null) { throw new IllegalStateException("Wireformat cannot not be renegotiated."); http://git-wip-us.apache.org/repos/asf/activemq-openwire/blob/0c90d2e3/openwire-core/src/main/java/org/apache/activemq/openwire/codec/universal/BaseCommandMarshaller.java ---------------------------------------------------------------------- diff --git a/openwire-core/src/main/java/org/apache/activemq/openwire/codec/universal/BaseCommandMarshaller.java b/openwire-core/src/main/java/org/apache/activemq/openwire/codec/universal/BaseCommandMarshaller.java new file mode 100644 index 0000000..cd4f683 --- /dev/null +++ b/openwire-core/src/main/java/org/apache/activemq/openwire/codec/universal/BaseCommandMarshaller.java @@ -0,0 +1,119 @@ +/* + * 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.universal; + +import java.io.DataInput; +import java.io.DataOutput; +import java.io.IOException; + +import org.apache.activemq.openwire.codec.*; +import org.apache.activemq.openwire.commands.*; + +/** + * Marshalling code for Open Wire for BaseCommand + * + * NOTE!: This file is auto generated - do not modify! + * + */ +public abstract class BaseCommandMarshaller extends BaseDataStreamMarshaller { + + /** + * Un-marshal an object instance from the data input stream + * + * @param wireFormat the OpenWireFormat instance to use + * @param target the object to un-marshal + * @param dataIn the data input stream to build the object from + * @param bs the boolean stream where the type's booleans were marshaled + * + * @throws IOException if an error occurs while reading the data + */ + public void tightUnmarshal(OpenWireFormat wireFormat, Object target, DataInput dataIn, BooleanStream bs) throws IOException { + super.tightUnmarshal(wireFormat, target, dataIn, bs); + + BaseCommand info = (BaseCommand) target; + + info.setCommandId(dataIn.readInt()); + info.setResponseRequired(bs.readBoolean()); + } + + /** + * Write the booleans that this object uses to a BooleanStream + * + * @param wireFormat the OpenWireFormat instance to use + * @param source the object to marshal + * @param bs the boolean stream where the type's booleans are written + * + * @throws IOException if an error occurs while writing the data + */ + public int tightMarshal1(OpenWireFormat wireFormat, Object source, BooleanStream bs) throws IOException { + BaseCommand info = (BaseCommand) source; + + int rc = super.tightMarshal1(wireFormat, source, bs); + bs.writeBoolean(info.isResponseRequired()); + + return rc + 4; + } + + /** + * Write a object instance to data output stream + * + * @param wireFormat the OpenWireFormat instance to use + * @param source the object to marshal + * @param dataOut the DataOut where the properties are written + * @param bs the boolean stream where the type's booleans are written + * + * @throws IOException if an error occurs while writing the data + */ + public void tightMarshal2(OpenWireFormat wireFormat, Object source, DataOutput dataOut, BooleanStream bs) throws IOException { + super.tightMarshal2(wireFormat, source, dataOut, bs); + + BaseCommand info = (BaseCommand) source; + + dataOut.writeInt(info.getCommandId()); + bs.readBoolean(); + } + + /** + * Write the object to the output using loose marshaling. + * + * @throws IOException if an error occurs while writing the data + */ + public void looseMarshal(OpenWireFormat wireFormat, Object source, DataOutput dataOut) throws IOException { + BaseCommand info = (BaseCommand) source; + + super.looseMarshal(wireFormat, source, dataOut); + dataOut.writeInt(info.getCommandId()); + dataOut.writeBoolean(info.isResponseRequired()); + } + + /** + * Un-marshal an object instance from the data input stream + * + * @param target the object to un-marshal + * @param dataIn the data input stream to build the object from + * + * @throws IOException if an error occurs while writing the data + */ + public void looseUnmarshal(OpenWireFormat wireFormat, Object target, DataInput dataIn) throws IOException { + super.looseUnmarshal(wireFormat, target, dataIn); + + BaseCommand info = (BaseCommand) target; + + info.setCommandId(dataIn.readInt()); + info.setResponseRequired(dataIn.readBoolean()); + } +} http://git-wip-us.apache.org/repos/asf/activemq-openwire/blob/0c90d2e3/openwire-core/src/main/java/org/apache/activemq/openwire/codec/universal/BrokerIdMarshaller.java ---------------------------------------------------------------------- diff --git a/openwire-core/src/main/java/org/apache/activemq/openwire/codec/universal/BrokerIdMarshaller.java b/openwire-core/src/main/java/org/apache/activemq/openwire/codec/universal/BrokerIdMarshaller.java new file mode 100644 index 0000000..d2def84 --- /dev/null +++ b/openwire-core/src/main/java/org/apache/activemq/openwire/codec/universal/BrokerIdMarshaller.java @@ -0,0 +1,131 @@ +/* + * 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.universal; + +import java.io.DataInput; +import java.io.DataOutput; +import java.io.IOException; + +import org.apache.activemq.openwire.codec.*; +import org.apache.activemq.openwire.commands.*; + +/** + * Marshalling code for Open Wire for BrokerId + * + * NOTE!: This file is auto generated - do not modify! + * + */ +public class BrokerIdMarshaller extends BaseDataStreamMarshaller { + + /** + * Return the type of Data Structure handled by this Marshaler + * + * @return short representation of the type data structure + */ + public byte getDataStructureType() { + return BrokerId.DATA_STRUCTURE_TYPE; + } + + /** + * @return a new instance of the managed type. + */ + public DataStructure createObject() { + return new BrokerId(); + } + + /** + * Un-marshal an object instance from the data input stream + * + * @param wireFormat the OpenWireFormat instance to use + * @param target the object to un-marshal + * @param dataIn the data input stream to build the object from + * @param bs the boolean stream where the type's booleans were marshaled + * + * @throws IOException if an error occurs while reading the data + */ + public void tightUnmarshal(OpenWireFormat wireFormat, Object target, DataInput dataIn, BooleanStream bs) throws IOException { + super.tightUnmarshal(wireFormat, target, dataIn, bs); + + BrokerId info = (BrokerId) target; + + info.setValue(tightUnmarshalString(dataIn, bs)); + } + + /** + * Write the booleans that this object uses to a BooleanStream + * + * @param wireFormat the OpenWireFormat instance to use + * @param source the object to marshal + * @param bs the boolean stream where the type's booleans are written + * + * @throws IOException if an error occurs while writing the data + */ + public int tightMarshal1(OpenWireFormat wireFormat, Object source, BooleanStream bs) throws IOException { + BrokerId info = (BrokerId) source; + + int rc = super.tightMarshal1(wireFormat, source, bs); + rc += tightMarshalString1(info.getValue(), bs); + + return rc + 0; + } + + /** + * Write a object instance to data output stream + * + * @param wireFormat the OpenWireFormat instance to use + * @param source the object to marshal + * @param dataOut the DataOut where the properties are written + * @param bs the boolean stream where the type's booleans are written + * + * @throws IOException if an error occurs while writing the data + */ + public void tightMarshal2(OpenWireFormat wireFormat, Object source, DataOutput dataOut, BooleanStream bs) throws IOException { + super.tightMarshal2(wireFormat, source, dataOut, bs); + + BrokerId info = (BrokerId) source; + + tightMarshalString2(info.getValue(), dataOut, bs); + } + + /** + * Write the object to the output using loose marshaling. + * + * @throws IOException if an error occurs while writing the data + */ + public void looseMarshal(OpenWireFormat wireFormat, Object source, DataOutput dataOut) throws IOException { + BrokerId info = (BrokerId) source; + + super.looseMarshal(wireFormat, source, dataOut); + looseMarshalString(info.getValue(), dataOut); + } + + /** + * Un-marshal an object instance from the data input stream + * + * @param target the object to un-marshal + * @param dataIn the data input stream to build the object from + * + * @throws IOException if an error occurs while writing the data + */ + public void looseUnmarshal(OpenWireFormat wireFormat, Object target, DataInput dataIn) throws IOException { + super.looseUnmarshal(wireFormat, target, dataIn); + + BrokerId info = (BrokerId) target; + + info.setValue(looseUnmarshalString(dataIn)); + } +} http://git-wip-us.apache.org/repos/asf/activemq-openwire/blob/0c90d2e3/openwire-core/src/main/java/org/apache/activemq/openwire/codec/universal/BrokerInfoMarshaller.java ---------------------------------------------------------------------- diff --git a/openwire-core/src/main/java/org/apache/activemq/openwire/codec/universal/BrokerInfoMarshaller.java b/openwire-core/src/main/java/org/apache/activemq/openwire/codec/universal/BrokerInfoMarshaller.java new file mode 100644 index 0000000..b7c0433 --- /dev/null +++ b/openwire-core/src/main/java/org/apache/activemq/openwire/codec/universal/BrokerInfoMarshaller.java @@ -0,0 +1,259 @@ +/* + * 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.universal; + +import java.io.DataInput; +import java.io.DataOutput; +import java.io.IOException; + +import org.apache.activemq.openwire.codec.*; +import org.apache.activemq.openwire.commands.*; + +/** + * Marshalling code for Open Wire for BrokerInfo + * + * NOTE!: This file is auto generated - do not modify! + * + */ +public class BrokerInfoMarshaller extends BaseCommandMarshaller { + + /** + * Return the type of Data Structure handled by this Marshaler + * + * @return short representation of the type data structure + */ + public byte getDataStructureType() { + return BrokerInfo.DATA_STRUCTURE_TYPE; + } + + /** + * @return a new instance of the managed type. + */ + public DataStructure createObject() { + return new BrokerInfo(); + } + + /** + * Un-marshal an object instance from the data input stream + * + * @param wireFormat the OpenWireFormat instance to use + * @param target the object to un-marshal + * @param dataIn the data input stream to build the object from + * @param bs the boolean stream where the type's booleans were marshaled + * + * @throws IOException if an error occurs while reading the data + */ + public void tightUnmarshal(OpenWireFormat wireFormat, Object target, DataInput dataIn, BooleanStream bs) throws IOException { + super.tightUnmarshal(wireFormat, target, dataIn, bs); + + BrokerInfo info = (BrokerInfo) target; + int version = wireFormat.getVersion(); + + 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()); + if (version >= 2) { + info.setDuplexConnection(bs.readBoolean()); + } + if (version >= 2) { + info.setNetworkConnection(bs.readBoolean()); + } + if (version >= 2) { + info.setConnectionId(tightUnmarshalLong(wireFormat, dataIn, bs)); + } + if (version >= 3) { + info.setBrokerUploadUrl(tightUnmarshalString(dataIn, bs)); + } + if (version >= 3) { + info.setNetworkProperties(tightUnmarshalString(dataIn, bs)); + } + } + + /** + * Write the booleans that this object uses to a BooleanStream + * + * @param wireFormat the OpenWireFormat instance to use + * @param source the object to marshal + * @param bs the boolean stream where the type's booleans are written + * + * @throws IOException if an error occurs while writing the data + */ + public int tightMarshal1(OpenWireFormat wireFormat, Object source, BooleanStream bs) throws IOException { + BrokerInfo info = (BrokerInfo) source; + int version = wireFormat.getVersion(); + + int rc = super.tightMarshal1(wireFormat, source, bs); + rc += tightMarshalCachedObject1(wireFormat, (DataStructure)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()); + if (version >= 2) { + bs.writeBoolean(info.isDuplexConnection()); + } + if (version >= 2) { + bs.writeBoolean(info.isNetworkConnection()); + } + if (version >= 2) { + rc += tightMarshalLong1(wireFormat, info.getConnectionId(), bs); + } + if (version >= 3) { + rc += tightMarshalString1(info.getBrokerUploadUrl(), bs); + } + if (version >= 3) { + rc += tightMarshalString1(info.getNetworkProperties(), bs); + } + + return rc + 0; + } + + /** + * Write a object instance to data output stream + * + * @param wireFormat the OpenWireFormat instance to use + * @param source the object to marshal + * @param dataOut the DataOut where the properties are written + * @param bs the boolean stream where the type's booleans are written + * + * @throws IOException if an error occurs while writing the data + */ + public void tightMarshal2(OpenWireFormat wireFormat, Object source, DataOutput dataOut, BooleanStream bs) throws IOException { + super.tightMarshal2(wireFormat, source, dataOut, bs); + + BrokerInfo info = (BrokerInfo) source; + int version = wireFormat.getVersion(); + + tightMarshalCachedObject2(wireFormat, (DataStructure)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(); + if (version >= 2) { + bs.readBoolean(); + } + if (version >= 2) { + bs.readBoolean(); + } + if (version >= 2) { + tightMarshalLong2(wireFormat, info.getConnectionId(), dataOut, bs); + } + if (version >= 3) { + tightMarshalString2(info.getBrokerUploadUrl(), dataOut, bs); + } + if (version >= 3) { + tightMarshalString2(info.getNetworkProperties(), dataOut, bs); + } + } + + /** + * Write the object to the output using loose marshaling. + * + * @throws IOException if an error occurs while writing the data + */ + public void looseMarshal(OpenWireFormat wireFormat, Object source, DataOutput dataOut) throws IOException { + BrokerInfo info = (BrokerInfo) source; + int version = wireFormat.getVersion(); + + super.looseMarshal(wireFormat, source, dataOut); + looseMarshalCachedObject(wireFormat, (DataStructure)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()); + if (version >= 2) { + dataOut.writeBoolean(info.isDuplexConnection()); + } + if (version >= 2) { + dataOut.writeBoolean(info.isNetworkConnection()); + } + if (version >= 2) { + looseMarshalLong(wireFormat, info.getConnectionId(), dataOut); + } + if (version >= 3) { + looseMarshalString(info.getBrokerUploadUrl(), dataOut); + } + if (version >= 3) { + looseMarshalString(info.getNetworkProperties(), dataOut); + } + } + + /** + * Un-marshal an object instance from the data input stream + * + * @param target the object to un-marshal + * @param dataIn the data input stream to build the object from + * + * @throws IOException if an error occurs while writing the data + */ + public void looseUnmarshal(OpenWireFormat wireFormat, Object target, DataInput dataIn) throws IOException { + super.looseUnmarshal(wireFormat, target, dataIn); + + BrokerInfo info = (BrokerInfo) target; + int version = wireFormat.getVersion(); + + 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()); + if (version >= 2) { + info.setDuplexConnection(dataIn.readBoolean()); + } + if (version >= 2) { + info.setNetworkConnection(dataIn.readBoolean()); + } + if (version >= 2) { + info.setConnectionId(looseUnmarshalLong(wireFormat, dataIn)); + } + if (version >= 3) { + info.setBrokerUploadUrl(looseUnmarshalString(dataIn)); + } + if (version >= 3) { + info.setNetworkProperties(looseUnmarshalString(dataIn)); + } + } +}
