http://git-wip-us.apache.org/repos/asf/activemq-openwire/blob/0c90d2e3/openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v11/TransactionInfoMarshaller.java ---------------------------------------------------------------------- diff --git a/openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v11/TransactionInfoMarshaller.java b/openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v11/TransactionInfoMarshaller.java new file mode 100644 index 0000000..bce262e --- /dev/null +++ b/openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v11/TransactionInfoMarshaller.java @@ -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.v11; + +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.ConnectionId; +import org.apache.activemq.openwire.commands.DataStructure; +import org.apache.activemq.openwire.commands.TransactionId; +import org.apache.activemq.openwire.commands.TransactionInfo; + +public class TransactionInfoMarshaller extends BaseCommandMarshaller { + + /** + * Return the type of Data Structure we marshal + * + * @return short representation of the type data structure + */ + @Override + public byte getDataStructureType() { + return TransactionInfo.DATA_STRUCTURE_TYPE; + } + + /** + * @return a new object instance + */ + @Override + public DataStructure createObject() { + return new TransactionInfo(); + } + + /** + * 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); + + TransactionInfo info = (TransactionInfo) o; + info.setConnectionId((ConnectionId) tightUnmarsalCachedObject(wireFormat, dataIn, bs)); + info.setTransactionId((TransactionId) tightUnmarsalCachedObject(wireFormat, dataIn, bs)); + info.setType(dataIn.readByte()); + } + + /** + * Write the booleans that this object uses to a BooleanStream + */ + @Override + public int tightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs) throws IOException { + TransactionInfo info = (TransactionInfo) o; + + int rc = super.tightMarshal1(wireFormat, o, bs); + rc += tightMarshalCachedObject1(wireFormat, info.getConnectionId(), bs); + rc += tightMarshalCachedObject1(wireFormat, info.getTransactionId(), bs); + + return rc + 1; + } + + /** + * 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); + + TransactionInfo info = (TransactionInfo) o; + tightMarshalCachedObject2(wireFormat, info.getConnectionId(), dataOut, bs); + tightMarshalCachedObject2(wireFormat, info.getTransactionId(), dataOut, bs); + dataOut.writeByte(info.getType()); + } + + /** + * 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); + + TransactionInfo info = (TransactionInfo) o; + info.setConnectionId((ConnectionId) looseUnmarsalCachedObject(wireFormat, dataIn)); + info.setTransactionId((TransactionId) looseUnmarsalCachedObject(wireFormat, dataIn)); + info.setType(dataIn.readByte()); + } + + /** + * Write the booleans that this object uses to a BooleanStream + */ + @Override + public void looseMarshal(OpenWireFormat wireFormat, Object o, DataOutput dataOut) throws IOException { + TransactionInfo info = (TransactionInfo) o; + + super.looseMarshal(wireFormat, o, dataOut); + looseMarshalCachedObject(wireFormat, info.getConnectionId(), dataOut); + looseMarshalCachedObject(wireFormat, info.getTransactionId(), dataOut); + dataOut.writeByte(info.getType()); + } +}
http://git-wip-us.apache.org/repos/asf/activemq-openwire/blob/0c90d2e3/openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v11/WireFormatInfoMarshaller.java ---------------------------------------------------------------------- diff --git a/openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v11/WireFormatInfoMarshaller.java b/openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v11/WireFormatInfoMarshaller.java new file mode 100644 index 0000000..b4168e7 --- /dev/null +++ b/openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v11/WireFormatInfoMarshaller.java @@ -0,0 +1,149 @@ +/** + * 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.v11; + +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.DataStructure; +import org.apache.activemq.openwire.commands.WireFormatInfo; + +public class WireFormatInfoMarshaller extends BaseDataStreamMarshaller { + + /** + * Return the type of Data Structure we marshal + * + * @return short representation of the type data structure + */ + @Override + public byte getDataStructureType() { + return WireFormatInfo.DATA_STRUCTURE_TYPE; + } + + /** + * @return a new object instance + */ + @Override + public DataStructure createObject() { + return new WireFormatInfo(); + } + + /** + * 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); + + WireFormatInfo info = (WireFormatInfo) o; + + info.beforeUnmarshall(wireFormat); + + info.setMagic(tightUnmarshalConstByteArray(dataIn, bs, 8)); + info.setVersion(dataIn.readInt()); + info.setMarshalledProperties(tightUnmarshalByteSequence(dataIn, bs)); + + info.afterUnmarshall(wireFormat); + } + + /** + * Write the booleans that this object uses to a BooleanStream + */ + @Override + public int tightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs) throws IOException { + WireFormatInfo info = (WireFormatInfo) o; + + info.beforeMarshall(wireFormat); + + int rc = super.tightMarshal1(wireFormat, o, bs); + rc += tightMarshalConstByteArray1(info.getMagic(), bs, 8); + rc += tightMarshalByteSequence1(info.getMarshalledProperties(), 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); + + WireFormatInfo info = (WireFormatInfo) o; + tightMarshalConstByteArray2(info.getMagic(), dataOut, bs, 8); + dataOut.writeInt(info.getVersion()); + tightMarshalByteSequence2(info.getMarshalledProperties(), dataOut, bs); + + info.afterMarshall(wireFormat); + } + + /** + * 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); + + WireFormatInfo info = (WireFormatInfo) o; + + info.beforeUnmarshall(wireFormat); + + info.setMagic(looseUnmarshalConstByteArray(dataIn, 8)); + info.setVersion(dataIn.readInt()); + info.setMarshalledProperties(looseUnmarshalByteSequence(dataIn)); + + info.afterUnmarshall(wireFormat); + } + + /** + * Write the booleans that this object uses to a BooleanStream + */ + @Override + public void looseMarshal(OpenWireFormat wireFormat, Object o, DataOutput dataOut) throws IOException { + WireFormatInfo info = (WireFormatInfo) o; + + info.beforeMarshall(wireFormat); + + super.looseMarshal(wireFormat, o, dataOut); + looseMarshalConstByteArray(wireFormat, info.getMagic(), dataOut, 8); + dataOut.writeInt(info.getVersion()); + looseMarshalByteSequence(wireFormat, info.getMarshalledProperties(), dataOut); + } +} http://git-wip-us.apache.org/repos/asf/activemq-openwire/blob/0c90d2e3/openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v11/XATransactionIdMarshaller.java ---------------------------------------------------------------------- diff --git a/openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v11/XATransactionIdMarshaller.java b/openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v11/XATransactionIdMarshaller.java new file mode 100644 index 0000000..4e0a03c --- /dev/null +++ b/openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v11/XATransactionIdMarshaller.java @@ -0,0 +1,132 @@ +/** + * 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.v11; + +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.DataStructure; +import org.apache.activemq.openwire.commands.XATransactionId; + +public class XATransactionIdMarshaller extends TransactionIdMarshaller { + + /** + * Return the type of Data Structure we marshal + * + * @return short representation of the type data structure + */ + @Override + public byte getDataStructureType() { + return XATransactionId.DATA_STRUCTURE_TYPE; + } + + /** + * @return a new object instance + */ + @Override + public DataStructure createObject() { + return new XATransactionId(); + } + + /** + * 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); + + XATransactionId info = (XATransactionId) o; + info.setFormatId(dataIn.readInt()); + info.setGlobalTransactionId(tightUnmarshalByteArray(dataIn, bs)); + info.setBranchQualifier(tightUnmarshalByteArray(dataIn, bs)); + } + + /** + * Write the booleans that this object uses to a BooleanStream + */ + @Override + public int tightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs) throws IOException { + XATransactionId info = (XATransactionId) o; + + int rc = super.tightMarshal1(wireFormat, o, bs); + rc += tightMarshalByteArray1(info.getGlobalTransactionId(), bs); + rc += tightMarshalByteArray1(info.getBranchQualifier(), 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); + + XATransactionId info = (XATransactionId) o; + dataOut.writeInt(info.getFormatId()); + tightMarshalByteArray2(info.getGlobalTransactionId(), dataOut, bs); + tightMarshalByteArray2(info.getBranchQualifier(), 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); + + XATransactionId info = (XATransactionId) o; + info.setFormatId(dataIn.readInt()); + info.setGlobalTransactionId(looseUnmarshalByteArray(dataIn)); + info.setBranchQualifier(looseUnmarshalByteArray(dataIn)); + } + + /** + * Write the booleans that this object uses to a BooleanStream + */ + @Override + public void looseMarshal(OpenWireFormat wireFormat, Object o, DataOutput dataOut) throws IOException { + XATransactionId info = (XATransactionId) o; + + super.looseMarshal(wireFormat, o, dataOut); + dataOut.writeInt(info.getFormatId()); + looseMarshalByteArray(wireFormat, info.getGlobalTransactionId(), dataOut); + looseMarshalByteArray(wireFormat, info.getBranchQualifier(), dataOut); + } +} http://git-wip-us.apache.org/repos/asf/activemq-openwire/blob/0c90d2e3/openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v9/BaseCommandMarshaller.java ---------------------------------------------------------------------- diff --git a/openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v9/BaseCommandMarshaller.java b/openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v9/BaseCommandMarshaller.java new file mode 100644 index 0000000..4490f90 --- /dev/null +++ b/openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v9/BaseCommandMarshaller.java @@ -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.v9; + +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()); + } +} http://git-wip-us.apache.org/repos/asf/activemq-openwire/blob/0c90d2e3/openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v9/BrokerIdMarshaller.java ---------------------------------------------------------------------- diff --git a/openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v9/BrokerIdMarshaller.java b/openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v9/BrokerIdMarshaller.java new file mode 100644 index 0000000..da5325c --- /dev/null +++ b/openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v9/BrokerIdMarshaller.java @@ -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.v9; + +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); + } +} http://git-wip-us.apache.org/repos/asf/activemq-openwire/blob/0c90d2e3/openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v9/BrokerInfoMarshaller.java ---------------------------------------------------------------------- diff --git a/openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v9/BrokerInfoMarshaller.java b/openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v9/BrokerInfoMarshaller.java new file mode 100644 index 0000000..39c65fe --- /dev/null +++ b/openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v9/BrokerInfoMarshaller.java @@ -0,0 +1,199 @@ +/** + * 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.v9; + +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()); + info.setDuplexConnection(bs.readBoolean()); + info.setNetworkConnection(bs.readBoolean()); + info.setConnectionId(tightUnmarshalLong(wireFormat, dataIn, bs)); + info.setBrokerUploadUrl(tightUnmarshalString(dataIn, bs)); + info.setNetworkProperties(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 { + 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()); + bs.writeBoolean(info.isDuplexConnection()); + bs.writeBoolean(info.isNetworkConnection()); + rc += tightMarshalLong1(wireFormat, info.getConnectionId(), bs); + rc += tightMarshalString1(info.getBrokerUploadUrl(), bs); + rc += tightMarshalString1(info.getNetworkProperties(), 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); + + 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(); + bs.readBoolean(); + bs.readBoolean(); + tightMarshalLong2(wireFormat, info.getConnectionId(), dataOut, bs); + tightMarshalString2(info.getBrokerUploadUrl(), dataOut, bs); + tightMarshalString2(info.getNetworkProperties(), 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); + + 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()); + info.setDuplexConnection(dataIn.readBoolean()); + info.setNetworkConnection(dataIn.readBoolean()); + info.setConnectionId(looseUnmarshalLong(wireFormat, dataIn)); + info.setBrokerUploadUrl(looseUnmarshalString(dataIn)); + info.setNetworkProperties(looseUnmarshalString(dataIn)); + } + + /** + * 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()); + dataOut.writeBoolean(info.isDuplexConnection()); + dataOut.writeBoolean(info.isNetworkConnection()); + looseMarshalLong(wireFormat, info.getConnectionId(), dataOut); + looseMarshalString(info.getBrokerUploadUrl(), dataOut); + looseMarshalString(info.getNetworkProperties(), dataOut); + } +} http://git-wip-us.apache.org/repos/asf/activemq-openwire/blob/0c90d2e3/openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v9/ConnectionControlMarshaller.java ---------------------------------------------------------------------- diff --git a/openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v9/ConnectionControlMarshaller.java b/openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v9/ConnectionControlMarshaller.java new file mode 100644 index 0000000..e1c201d --- /dev/null +++ b/openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v9/ConnectionControlMarshaller.java @@ -0,0 +1,163 @@ +/** + * 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.v9; + +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()); + info.setConnectedBrokers(tightUnmarshalString(dataIn, bs)); + info.setReconnectTo(tightUnmarshalString(dataIn, bs)); + info.setRebalanceConnection(bs.readBoolean()); + info.setToken(tightUnmarshalByteArray(dataIn, bs)); + } + + /** + * 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()); + rc += tightMarshalString1(info.getConnectedBrokers(), bs); + rc += tightMarshalString1(info.getReconnectTo(), bs); + bs.writeBoolean(info.isRebalanceConnection()); + rc += tightMarshalByteArray1(info.getToken(), 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); + + ConnectionControl info = (ConnectionControl) o; + bs.readBoolean(); + bs.readBoolean(); + bs.readBoolean(); + bs.readBoolean(); + bs.readBoolean(); + tightMarshalString2(info.getConnectedBrokers(), dataOut, bs); + tightMarshalString2(info.getReconnectTo(), dataOut, bs); + bs.readBoolean(); + tightMarshalByteArray2(info.getToken(), 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); + + ConnectionControl info = (ConnectionControl) o; + info.setClose(dataIn.readBoolean()); + info.setExit(dataIn.readBoolean()); + info.setFaultTolerant(dataIn.readBoolean()); + info.setResume(dataIn.readBoolean()); + info.setSuspend(dataIn.readBoolean()); + info.setConnectedBrokers(looseUnmarshalString(dataIn)); + info.setReconnectTo(looseUnmarshalString(dataIn)); + info.setRebalanceConnection(dataIn.readBoolean()); + info.setToken(looseUnmarshalByteArray(dataIn)); + } + + /** + * 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()); + looseMarshalString(info.getConnectedBrokers(), dataOut); + looseMarshalString(info.getReconnectTo(), dataOut); + dataOut.writeBoolean(info.isRebalanceConnection()); + looseMarshalByteArray(wireFormat, info.getToken(), dataOut); + } +} http://git-wip-us.apache.org/repos/asf/activemq-openwire/blob/0c90d2e3/openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v9/ConnectionErrorMarshaller.java ---------------------------------------------------------------------- diff --git a/openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v9/ConnectionErrorMarshaller.java b/openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v9/ConnectionErrorMarshaller.java new file mode 100644 index 0000000..1481104 --- /dev/null +++ b/openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v9/ConnectionErrorMarshaller.java @@ -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.v9; + +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); + } +} http://git-wip-us.apache.org/repos/asf/activemq-openwire/blob/0c90d2e3/openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v9/ConnectionIdMarshaller.java ---------------------------------------------------------------------- diff --git a/openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v9/ConnectionIdMarshaller.java b/openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v9/ConnectionIdMarshaller.java new file mode 100644 index 0000000..ccaa125 --- /dev/null +++ b/openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v9/ConnectionIdMarshaller.java @@ -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.v9; + +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); + } +} http://git-wip-us.apache.org/repos/asf/activemq-openwire/blob/0c90d2e3/openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v9/ConnectionInfoMarshaller.java ---------------------------------------------------------------------- diff --git a/openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v9/ConnectionInfoMarshaller.java b/openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v9/ConnectionInfoMarshaller.java new file mode 100644 index 0000000..f108fb5 --- /dev/null +++ b/openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v9/ConnectionInfoMarshaller.java @@ -0,0 +1,195 @@ +/** + * 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.v9; + +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.ConnectionId; +import org.apache.activemq.openwire.commands.ConnectionInfo; +import org.apache.activemq.openwire.commands.DataStructure; + +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((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(); + BrokerId value[] = new BrokerId[size]; + for (int i = 0; i < size; i++) { + value[i] = (BrokerId) tightUnmarsalNestedObject(wireFormat, dataIn, bs); + } + info.setBrokerPath(value); + } else { + info.setBrokerPath(null); + } + info.setBrokerMasterConnector(bs.readBoolean()); + info.setManageable(bs.readBoolean()); + info.setClientMaster(bs.readBoolean()); + info.setFaultTolerant(bs.readBoolean()); + info.setFailoverReconnect(bs.readBoolean()); + info.setClientIp(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 { + 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()); + bs.writeBoolean(info.isClientMaster()); + bs.writeBoolean(info.isFaultTolerant()); + bs.writeBoolean(info.isFailoverReconnect()); + rc += tightMarshalString1(info.getClientIp(), 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); + + 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(); + bs.readBoolean(); + bs.readBoolean(); + bs.readBoolean(); + tightMarshalString2(info.getClientIp(), 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); + + ConnectionInfo info = (ConnectionInfo) o; + info.setConnectionId((ConnectionId) looseUnmarsalCachedObject(wireFormat, dataIn)); + info.setClientId(looseUnmarshalString(dataIn)); + info.setPassword(looseUnmarshalString(dataIn)); + info.setUserName(looseUnmarshalString(dataIn)); + + if (dataIn.readBoolean()) { + short size = dataIn.readShort(); + BrokerId value[] = new BrokerId[size]; + for (int i = 0; i < size; i++) { + value[i] = (BrokerId) looseUnmarsalNestedObject(wireFormat, dataIn); + } + info.setBrokerPath(value); + } else { + info.setBrokerPath(null); + } + info.setBrokerMasterConnector(dataIn.readBoolean()); + info.setManageable(dataIn.readBoolean()); + info.setClientMaster(dataIn.readBoolean()); + info.setFaultTolerant(dataIn.readBoolean()); + info.setFailoverReconnect(dataIn.readBoolean()); + info.setClientIp(looseUnmarshalString(dataIn)); + } + + /** + * 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()); + dataOut.writeBoolean(info.isClientMaster()); + dataOut.writeBoolean(info.isFaultTolerant()); + dataOut.writeBoolean(info.isFailoverReconnect()); + looseMarshalString(info.getClientIp(), dataOut); + } +} http://git-wip-us.apache.org/repos/asf/activemq-openwire/blob/0c90d2e3/openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v9/ConsumerControlMarshaller.java ---------------------------------------------------------------------- diff --git a/openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v9/ConsumerControlMarshaller.java b/openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v9/ConsumerControlMarshaller.java new file mode 100644 index 0000000..9b0b783 --- /dev/null +++ b/openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v9/ConsumerControlMarshaller.java @@ -0,0 +1,154 @@ +/** + * 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.v9; + +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.ConsumerId; +import org.apache.activemq.openwire.commands.DataStructure; +import org.apache.activemq.openwire.commands.OpenWireDestination; + +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.setDestination((OpenWireDestination) tightUnmarsalNestedObject(wireFormat, dataIn, bs)); + info.setClose(bs.readBoolean()); + info.setConsumerId((ConsumerId) tightUnmarsalNestedObject(wireFormat, dataIn, bs)); + info.setPrefetch(dataIn.readInt()); + info.setFlush(bs.readBoolean()); + info.setStart(bs.readBoolean()); + info.setStop(bs.readBoolean()); + } + + /** + * 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); + rc += tightMarshalNestedObject1(wireFormat, info.getDestination(), bs); + bs.writeBoolean(info.isClose()); + rc += tightMarshalNestedObject1(wireFormat, info.getConsumerId(), bs); + bs.writeBoolean(info.isFlush()); + bs.writeBoolean(info.isStart()); + bs.writeBoolean(info.isStop()); + + 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; + tightMarshalNestedObject2(wireFormat, info.getDestination(), dataOut, bs); + bs.readBoolean(); + tightMarshalNestedObject2(wireFormat, info.getConsumerId(), dataOut, bs); + dataOut.writeInt(info.getPrefetch()); + 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); + + ConsumerControl info = (ConsumerControl) o; + info.setDestination((OpenWireDestination) looseUnmarsalNestedObject(wireFormat, dataIn)); + info.setClose(dataIn.readBoolean()); + info.setConsumerId((ConsumerId) looseUnmarsalNestedObject(wireFormat, dataIn)); + info.setPrefetch(dataIn.readInt()); + info.setFlush(dataIn.readBoolean()); + info.setStart(dataIn.readBoolean()); + info.setStop(dataIn.readBoolean()); + } + + /** + * 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); + looseMarshalNestedObject(wireFormat, info.getDestination(), dataOut); + dataOut.writeBoolean(info.isClose()); + looseMarshalNestedObject(wireFormat, info.getConsumerId(), dataOut); + dataOut.writeInt(info.getPrefetch()); + dataOut.writeBoolean(info.isFlush()); + dataOut.writeBoolean(info.isStart()); + dataOut.writeBoolean(info.isStop()); + } +} http://git-wip-us.apache.org/repos/asf/activemq-openwire/blob/0c90d2e3/openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v9/ConsumerIdMarshaller.java ---------------------------------------------------------------------- diff --git a/openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v9/ConsumerIdMarshaller.java b/openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v9/ConsumerIdMarshaller.java new file mode 100644 index 0000000..1d8c55a --- /dev/null +++ b/openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v9/ConsumerIdMarshaller.java @@ -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.v9; + +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); + } +} http://git-wip-us.apache.org/repos/asf/activemq-openwire/blob/0c90d2e3/openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v9/ConsumerInfoMarshaller.java ---------------------------------------------------------------------- diff --git a/openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v9/ConsumerInfoMarshaller.java b/openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v9/ConsumerInfoMarshaller.java new file mode 100644 index 0000000..c534048 --- /dev/null +++ b/openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v9/ConsumerInfoMarshaller.java @@ -0,0 +1,248 @@ +/** + * 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.v9; + +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.ConsumerId; +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((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(); + BrokerId value[] = new BrokerId[size]; + for (int i = 0; i < size; i++) { + value[i] = (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()); + + if (bs.readBoolean()) { + short size = dataIn.readShort(); + ConsumerId value[] = new ConsumerId[size]; + for (int i = 0; i < size; i++) { + value[i] = (ConsumerId) tightUnmarsalNestedObject(wireFormat, dataIn, bs); + } + info.setNetworkConsumerPath(value); + } else { + info.setNetworkConsumerPath(null); + } + } + + /** + * 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()); + rc += tightMarshalObjectArray1(wireFormat, info.getNetworkConsumerPath(), bs); + + 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()); + tightMarshalObjectArray2(wireFormat, info.getBrokerPath(), dataOut, bs); + tightMarshalNestedObject2(wireFormat, (DataStructure) info.getAdditionalPredicate(), dataOut, bs); + bs.readBoolean(); + bs.readBoolean(); + bs.readBoolean(); + tightMarshalObjectArray2(wireFormat, info.getNetworkConsumerPath(), 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); + + ConsumerInfo info = (ConsumerInfo) o; + info.setConsumerId((ConsumerId) looseUnmarsalCachedObject(wireFormat, dataIn)); + info.setBrowser(dataIn.readBoolean()); + info.setDestination((OpenWireDestination) looseUnmarsalCachedObject(wireFormat, dataIn)); + info.setPrefetchSize(dataIn.readInt()); + info.setMaximumPendingMessageLimit(dataIn.readInt()); + info.setDispatchAsync(dataIn.readBoolean()); + info.setSelector(looseUnmarshalString(dataIn)); + info.setSubscriptionName(looseUnmarshalString(dataIn)); + info.setNoLocal(dataIn.readBoolean()); + info.setExclusive(dataIn.readBoolean()); + info.setRetroactive(dataIn.readBoolean()); + info.setPriority(dataIn.readByte()); + + if (dataIn.readBoolean()) { + short size = dataIn.readShort(); + BrokerId value[] = new BrokerId[size]; + for (int i = 0; i < size; i++) { + value[i] = (BrokerId) looseUnmarsalNestedObject(wireFormat, dataIn); + } + info.setBrokerPath(value); + } else { + info.setBrokerPath(null); + } + info.setAdditionalPredicate(looseUnmarsalNestedObject(wireFormat, dataIn)); + info.setNetworkSubscription(dataIn.readBoolean()); + info.setOptimizedAcknowledge(dataIn.readBoolean()); + info.setNoRangeAcks(dataIn.readBoolean()); + + if (dataIn.readBoolean()) { + short size = dataIn.readShort(); + ConsumerId value[] = new ConsumerId[size]; + for (int i = 0; i < size; i++) { + value[i] = (ConsumerId) looseUnmarsalNestedObject(wireFormat, dataIn); + } + info.setNetworkConsumerPath(value); + } else { + info.setNetworkConsumerPath(null); + } + } + + /** + * Write the booleans that this object uses to a BooleanStream + */ + @Override + public void looseMarshal(OpenWireFormat wireFormat, Object o, DataOutput dataOut) throws IOException { + ConsumerInfo info = (ConsumerInfo) o; + + super.looseMarshal(wireFormat, o, dataOut); + looseMarshalCachedObject(wireFormat, info.getConsumerId(), dataOut); + dataOut.writeBoolean(info.isBrowser()); + looseMarshalCachedObject(wireFormat, info.getDestination(), dataOut); + dataOut.writeInt(info.getPrefetchSize()); + dataOut.writeInt(info.getMaximumPendingMessageLimit()); + dataOut.writeBoolean(info.isDispatchAsync()); + looseMarshalString(info.getSelector(), dataOut); + looseMarshalString(info.getSubscriptionName(), dataOut); + dataOut.writeBoolean(info.isNoLocal()); + dataOut.writeBoolean(info.isExclusive()); + dataOut.writeBoolean(info.isRetroactive()); + dataOut.writeByte(info.getPriority()); + looseMarshalObjectArray(wireFormat, info.getBrokerPath(), dataOut); + looseMarshalNestedObject(wireFormat, (DataStructure) info.getAdditionalPredicate(), dataOut); + dataOut.writeBoolean(info.isNetworkSubscription()); + dataOut.writeBoolean(info.isOptimizedAcknowledge()); + dataOut.writeBoolean(info.isNoRangeAcks()); + looseMarshalObjectArray(wireFormat, info.getNetworkConsumerPath(), dataOut); + } +} http://git-wip-us.apache.org/repos/asf/activemq-openwire/blob/0c90d2e3/openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v9/ControlCommandMarshaller.java ---------------------------------------------------------------------- diff --git a/openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v9/ControlCommandMarshaller.java b/openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v9/ControlCommandMarshaller.java new file mode 100644 index 0000000..a06ca69 --- /dev/null +++ b/openwire-legacy/src/main/java/org/apache/activemq/openwire/codec/v9/ControlCommandMarshaller.java @@ -0,0 +1,123 @@ +/** + * 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.v9; + +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.ControlCommand; +import org.apache.activemq.openwire.commands.DataStructure; + +public class ControlCommandMarshaller extends BaseCommandMarshaller { + + /** + * Return the type of Data Structure we marshal + * + * @return short representation of the type data structure + */ + @Override + public byte getDataStructureType() { + return ControlCommand.DATA_STRUCTURE_TYPE; + } + + /** + * @return a new object instance + */ + @Override + public DataStructure createObject() { + return new ControlCommand(); + } + + /** + * 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); + + ControlCommand info = (ControlCommand) o; + info.setCommand(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 { + ControlCommand info = (ControlCommand) o; + + int rc = super.tightMarshal1(wireFormat, o, bs); + rc += tightMarshalString1(info.getCommand(), 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); + + ControlCommand info = (ControlCommand) o; + tightMarshalString2(info.getCommand(), 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); + + ControlCommand info = (ControlCommand) o; + info.setCommand(looseUnmarshalString(dataIn)); + } + + /** + * Write the booleans that this object uses to a BooleanStream + */ + @Override + public void looseMarshal(OpenWireFormat wireFormat, Object o, DataOutput dataOut) throws IOException { + ControlCommand info = (ControlCommand) o; + + super.looseMarshal(wireFormat, o, dataOut); + looseMarshalString(info.getCommand(), dataOut); + } +}
