Author: tross
Date: Thu Dec 10 18:19:38 2009
New Revision: 889354
URL: http://svn.apache.org/viewvc?rev=889354&view=rev
Log:
QPID-2245 patch (applied to qmfv2 branch).
Modified:
qpid/branches/qmfv2/qpid/cpp/include/qpid/framing/FieldTable.h
qpid/branches/qmfv2/qpid/cpp/managementgen/qmfgen/management-types.xml
qpid/branches/qmfv2/qpid/cpp/managementgen/qmfgen/templates/Class.cpp
qpid/branches/qmfv2/qpid/cpp/src/qmf/engine/Protocol.cpp
qpid/branches/qmfv2/qpid/cpp/src/qmf/engine/SchemaImpl.cpp
qpid/branches/qmfv2/qpid/cpp/src/qmf/engine/ValueImpl.cpp
qpid/branches/qmfv2/qpid/cpp/src/qpid/agent/ManagementAgentImpl.cpp
qpid/branches/qmfv2/qpid/cpp/src/qpid/console/Broker.cpp
qpid/branches/qmfv2/qpid/cpp/src/qpid/console/Schema.cpp
qpid/branches/qmfv2/qpid/cpp/src/qpid/console/Value.cpp
qpid/branches/qmfv2/qpid/cpp/src/qpid/framing/FieldTable.cpp
qpid/branches/qmfv2/qpid/cpp/src/qpid/management/ManagementAgent.cpp
qpid/branches/qmfv2/qpid/dotnet/client-010/management/console/Broker.cs
qpid/branches/qmfv2/qpid/dotnet/client-010/management/console/SchemaClass.cs
qpid/branches/qmfv2/qpid/dotnet/client-010/management/console/Session.cs
qpid/branches/qmfv2/qpid/java/management/agent/src/main/java/org/apache/qpid/agent/Agent.java
qpid/branches/qmfv2/qpid/java/management/agent/src/main/java/org/apache/qpid/agent/binding/ClassBinding.java
qpid/branches/qmfv2/qpid/java/management/agent/src/main/java/org/apache/qpid/agent/binding/MapBinding.java
qpid/branches/qmfv2/qpid/java/management/client/src/main/java/org/apache/qpid/management/Protocol.java
qpid/branches/qmfv2/qpid/java/management/client/src/main/java/org/apache/qpid/management/domain/handler/impl/SchemaResponseMessageHandler.java
qpid/branches/qmfv2/qpid/java/management/console/src/main/java/org/apache/qpid/console/Broker.java
qpid/branches/qmfv2/qpid/java/management/console/src/main/java/org/apache/qpid/console/SchemaClass.java
qpid/branches/qmfv2/qpid/java/management/console/src/main/java/org/apache/qpid/console/Session.java
qpid/branches/qmfv2/qpid/python/qmf/console.py
qpid/branches/qmfv2/qpid/python/qpid/management.py
qpid/branches/qmfv2/qpid/ruby/lib/qpid/qmf.rb
Modified: qpid/branches/qmfv2/qpid/cpp/include/qpid/framing/FieldTable.h
URL:
http://svn.apache.org/viewvc/qpid/branches/qmfv2/qpid/cpp/include/qpid/framing/FieldTable.h?rev=889354&r1=889353&r2=889354&view=diff
==============================================================================
--- qpid/branches/qmfv2/qpid/cpp/include/qpid/framing/FieldTable.h (original)
+++ qpid/branches/qmfv2/qpid/cpp/include/qpid/framing/FieldTable.h Thu Dec 10
18:19:38 2009
@@ -63,10 +63,6 @@
QPID_COMMON_EXTERN void encode(Buffer& buffer) const;
QPID_COMMON_EXTERN void decode(Buffer& buffer);
- QPID_COMMON_EXTERN uint32_t qmfEncodedSize() const;
- QPID_COMMON_EXTERN void qmfEncode(Buffer& buffer) const;
- QPID_COMMON_EXTERN void qmfDecode(Buffer& buffer);
-
QPID_COMMON_EXTERN int count() const;
QPID_COMMON_EXTERN void set(const std::string& name, const ValuePtr&
value);
QPID_COMMON_EXTERN ValuePtr get(const std::string& name) const;
Modified: qpid/branches/qmfv2/qpid/cpp/managementgen/qmfgen/management-types.xml
URL:
http://svn.apache.org/viewvc/qpid/branches/qmfv2/qpid/cpp/managementgen/qmfgen/management-types.xml?rev=889354&r1=889353&r2=889354&view=diff
==============================================================================
--- qpid/branches/qmfv2/qpid/cpp/managementgen/qmfgen/management-types.xml
(original)
+++ qpid/branches/qmfv2/qpid/cpp/managementgen/qmfgen/management-types.xml Thu
Dec 10 18:19:38 2009
@@ -36,7 +36,7 @@
<type name="float" base="FLOAT" cpp="float"
encode="@.putFloat(#)" decode="# = @.getFloat()" accessor="direct"
init="0."/>
<type name="double" base="DOUBLE" cpp="double"
encode="@.putDouble(#)" decode="# = @.getDouble()" accessor="direct"
init="0."/>
<type name="uuid" base="UUID" cpp="::qpid::framing::Uuid"
encode="#.encode(@)" decode="#.decode(@)" accessor="direct"
init="::qpid::framing::Uuid()" byRef="y"/>
-<type name="map" base="FTABLE" cpp="::qpid::framing::FieldTable"
encode="#.qmfEncode(@)" decode="#.decode(@)" accessor="direct"
init="::qpid::framing::FieldTable()" byRef="y"/>
+<type name="map" base="FTABLE" cpp="::qpid::framing::FieldTable"
encode="#.encode(@)" decode="#.decode(@)" accessor="direct"
init="::qpid::framing::FieldTable()" byRef="y"/>
<type name="hilo8" base="U8" cpp="uint8_t" encode="@.putOctet(#)"
decode="# = @.getOctet()" style="wm" accessor="counter" init="0"/>
<type name="hilo16" base="U16" cpp="uint16_t" encode="@.putShort(#)"
decode="# = @.getShort()" style="wm" accessor="counter" init="0"/>
Modified: qpid/branches/qmfv2/qpid/cpp/managementgen/qmfgen/templates/Class.cpp
URL:
http://svn.apache.org/viewvc/qpid/branches/qmfv2/qpid/cpp/managementgen/qmfgen/templates/Class.cpp?rev=889354&r1=889353&r2=889354&view=diff
==============================================================================
--- qpid/branches/qmfv2/qpid/cpp/managementgen/qmfgen/templates/Class.cpp
(original)
+++ qpid/branches/qmfv2/qpid/cpp/managementgen/qmfgen/templates/Class.cpp Thu
Dec 10 18:19:38 2009
@@ -98,7 +98,6 @@
buf.putShortString (packageName); // Package Name
buf.putShortString (className); // Class Name
buf.putBin128 (md5Sum); // Schema Hash
- buf.putOctet (0); // No Superclass
buf.putShort (/*MGEN:Class.ConfigCount*/); // Config Element Count
buf.putShort (/*MGEN:Class.InstCount*/); // Inst Element Count
buf.putShort (/*MGEN:Class.MethodCount*/); // Method Count
Modified: qpid/branches/qmfv2/qpid/cpp/src/qmf/engine/Protocol.cpp
URL:
http://svn.apache.org/viewvc/qpid/branches/qmfv2/qpid/cpp/src/qmf/engine/Protocol.cpp?rev=889354&r1=889353&r2=889354&view=diff
==============================================================================
--- qpid/branches/qmfv2/qpid/cpp/src/qmf/engine/Protocol.cpp (original)
+++ qpid/branches/qmfv2/qpid/cpp/src/qmf/engine/Protocol.cpp Thu Dec 10
18:19:38 2009
@@ -37,14 +37,14 @@
*opcode = buf.getOctet();
*seq = buf.getLong();
- return h1 == 'A' && h2 == 'M' && h3 == '3';
+ return h1 == 'A' && h2 == 'M' && h3 == '2';
}
void Protocol::encodeHeader(qpid::framing::Buffer& buf, uint8_t opcode,
uint32_t seq)
{
buf.putOctet('A');
buf.putOctet('M');
- buf.putOctet('3');
+ buf.putOctet('2');
buf.putOctet(opcode);
buf.putLong (seq);
}
Modified: qpid/branches/qmfv2/qpid/cpp/src/qmf/engine/SchemaImpl.cpp
URL:
http://svn.apache.org/viewvc/qpid/branches/qmfv2/qpid/cpp/src/qmf/engine/SchemaImpl.cpp?rev=889354&r1=889353&r2=889354&view=diff
==============================================================================
--- qpid/branches/qmfv2/qpid/cpp/src/qmf/engine/SchemaImpl.cpp (original)
+++ qpid/branches/qmfv2/qpid/cpp/src/qmf/engine/SchemaImpl.cpp Thu Dec 10
18:19:38 2009
@@ -341,7 +341,6 @@
buffer.getShortString(name);
hash.decode(buffer);
- /*uint8_t hasParentClass =*/ buffer.getOctet(); // TODO: Parse
parent-class indicator
uint16_t propCount = buffer.getShort();
uint16_t statCount = buffer.getShort();
uint16_t methodCount = buffer.getShort();
@@ -374,7 +373,7 @@
buffer.putShortString(package);
buffer.putShortString(name);
hash.encode(buffer);
- buffer.putOctet(0); // No parent class
+ //buffer.putOctet(0); // No parent class
buffer.putShort((uint16_t) properties.size());
buffer.putShort((uint16_t) statistics.size());
buffer.putShort((uint16_t) methods.size());
Modified: qpid/branches/qmfv2/qpid/cpp/src/qmf/engine/ValueImpl.cpp
URL:
http://svn.apache.org/viewvc/qpid/branches/qmfv2/qpid/cpp/src/qmf/engine/ValueImpl.cpp?rev=889354&r1=889353&r2=889354&view=diff
==============================================================================
--- qpid/branches/qmfv2/qpid/cpp/src/qmf/engine/ValueImpl.cpp (original)
+++ qpid/branches/qmfv2/qpid/cpp/src/qmf/engine/ValueImpl.cpp Thu Dec 10
18:19:38 2009
@@ -55,8 +55,6 @@
case TYPE_MAP:
ft.decode(buf);
- // TODO: either update to recursively use QMF types or reduce to
int/string/...
- // (maybe use another ctor with a FieldValue argument)
break;
case TYPE_LIST:
Modified: qpid/branches/qmfv2/qpid/cpp/src/qpid/agent/ManagementAgentImpl.cpp
URL:
http://svn.apache.org/viewvc/qpid/branches/qmfv2/qpid/cpp/src/qpid/agent/ManagementAgentImpl.cpp?rev=889354&r1=889353&r2=889354&view=diff
==============================================================================
--- qpid/branches/qmfv2/qpid/cpp/src/qpid/agent/ManagementAgentImpl.cpp
(original)
+++ qpid/branches/qmfv2/qpid/cpp/src/qpid/agent/ManagementAgentImpl.cpp Thu Dec
10 18:19:38 2009
@@ -564,7 +564,7 @@
{
buf.putOctet('A');
buf.putOctet('M');
- buf.putOctet('3');
+ buf.putOctet('2');
buf.putOctet(opcode);
buf.putLong (seq);
}
@@ -581,7 +581,7 @@
*opcode = buf.getOctet();
*seq = buf.getLong();
- return h1 == 'A' && h2 == 'M' && h3 == '3';
+ return h1 == 'A' && h2 == 'M' && h3 == '2';
}
ManagementAgentImpl::PackageMap::iterator
ManagementAgentImpl::findOrAddPackage(const string& name)
Modified: qpid/branches/qmfv2/qpid/cpp/src/qpid/console/Broker.cpp
URL:
http://svn.apache.org/viewvc/qpid/branches/qmfv2/qpid/cpp/src/qpid/console/Broker.cpp?rev=889354&r1=889353&r2=889354&view=diff
==============================================================================
--- qpid/branches/qmfv2/qpid/cpp/src/qpid/console/Broker.cpp (original)
+++ qpid/branches/qmfv2/qpid/cpp/src/qpid/console/Broker.cpp Thu Dec 10
18:19:38 2009
@@ -72,7 +72,7 @@
{
buf.putOctet('A');
buf.putOctet('M');
- buf.putOctet('3');
+ buf.putOctet('2');
buf.putOctet(opcode);
buf.putLong (seq);
}
@@ -89,7 +89,7 @@
*opcode = buf.getOctet();
*seq = buf.getLong();
- return h1 == 'A' && h2 == 'M' && h3 == '3';
+ return h1 == 'A' && h2 == 'M' && h3 == '2';
}
void Broker::received(qpid::client::Message& msg)
Modified: qpid/branches/qmfv2/qpid/cpp/src/qpid/console/Schema.cpp
URL:
http://svn.apache.org/viewvc/qpid/branches/qmfv2/qpid/cpp/src/qpid/console/Schema.cpp?rev=889354&r1=889353&r2=889354&view=diff
==============================================================================
--- qpid/branches/qmfv2/qpid/cpp/src/qpid/console/Schema.cpp (original)
+++ qpid/branches/qmfv2/qpid/cpp/src/qpid/console/Schema.cpp Thu Dec 10
18:19:38 2009
@@ -119,7 +119,7 @@
kind(_kind), key(_key)
{
if (kind == KIND_TABLE) {
- uint8_t hasSupertype = buffer.getOctet();
+ uint8_t hasSupertype = 0; //buffer.getOctet();
uint16_t propCount = buffer.getShort();
uint16_t statCount = buffer.getShort();
uint16_t methodCount = buffer.getShort();
Modified: qpid/branches/qmfv2/qpid/cpp/src/qpid/console/Value.cpp
URL:
http://svn.apache.org/viewvc/qpid/branches/qmfv2/qpid/cpp/src/qpid/console/Value.cpp?rev=889354&r1=889353&r2=889354&view=diff
==============================================================================
--- qpid/branches/qmfv2/qpid/cpp/src/qpid/console/Value.cpp (original)
+++ qpid/branches/qmfv2/qpid/cpp/src/qpid/console/Value.cpp Thu Dec 10 18:19:38
2009
@@ -114,7 +114,7 @@
MapValue::MapValue(framing::Buffer& buffer)
{
- value.qmfDecode(buffer);
+ value.decode(buffer);
}
Modified: qpid/branches/qmfv2/qpid/cpp/src/qpid/framing/FieldTable.cpp
URL:
http://svn.apache.org/viewvc/qpid/branches/qmfv2/qpid/cpp/src/qpid/framing/FieldTable.cpp?rev=889354&r1=889353&r2=889354&view=diff
==============================================================================
--- qpid/branches/qmfv2/qpid/cpp/src/qpid/framing/FieldTable.cpp (original)
+++ qpid/branches/qmfv2/qpid/cpp/src/qpid/framing/FieldTable.cpp Thu Dec 10
18:19:38 2009
@@ -53,23 +53,6 @@
return len;
}
-uint32_t FieldTable::qmfEncodedSize() const {
- uint32_t len(4/*size field*/ + 4/*count field*/);
- for(ValueMap::const_iterator i = values.begin(); i != values.end(); ++i) {
- // shortstr_len_byte + key size + typecode
- len += 1 + (i->first).size() + 1;
- ValuePtr value(i->second);
- if (value->convertsTo<int>()) {
- len += 4;
- } else if (value->convertsTo<uint64_t>()) {
- len += 8;
- } else if (value->convertsTo<string>()) {
- len += 2 + value->get<string>().size();
- }
- }
- return len;
-}
-
int FieldTable::count() const {
return values.size();
}
@@ -232,123 +215,6 @@
}
}
-#define QMF_TYPE_U8 1
-#define QMF_TYPE_U16 2
-#define QMF_TYPE_U32 3
-#define QMF_TYPE_U64 4
-#define QMF_TYPE_SSTR 6
-#define QMF_TYPE_LSTR 7
-#define QMF_TYPE_ABSTIME 8
-#define QMF_TYPE_DELTATIME 9
-#define QMF_TYPE_REF 10
-#define QMF_TYPE_BOOL 11
-#define QMF_TYPE_FLOAT 12
-#define QMF_TYPE_DOUBLE 13
-#define QMF_TYPE_UUID 14
-#define QMF_TYPE_S8 16
-#define QMF_TYPE_S16 17
-#define QMF_TYPE_S32 18
-#define QMF_TYPE_S64 19
-#define QMF_TYPE_OBJECT 20
-#define QMF_TYPE_MAP 15
-#define QMF_TYPE_LIST 21
-#define QMF_TYPE_ARRAY 22
-
-void FieldTable::qmfEncode(Buffer& buffer) const {
- buffer.putLong(qmfEncodedSize() - 4);
- buffer.putLong(values.size());
- for (ValueMap::const_iterator i = values.begin(); i!=values.end(); ++i) {
- ValuePtr value(i->second);
- buffer.putShortString(i->first);
- if (value->convertsTo<int>()) {
- buffer.putOctet(QMF_TYPE_S32);
- buffer.putLong(value->get<int>());
- } else if (value->convertsTo<uint64_t>()) {
- buffer.putOctet(QMF_TYPE_U64);
- buffer.putLongLong(value->get<uint64_t>());
- } else if (value->convertsTo<string>()) {
- buffer.putOctet(QMF_TYPE_LSTR);
- buffer.putMediumString(value->get<string>());
- }
- }
-}
-
-void FieldTable::qmfDecode(Buffer& buffer) {
- clear();
- uint32_t len = buffer.getLong();
- if (len) {
- uint32_t available = buffer.available();
- if (available < len)
- throw IllegalArgumentException(QPID_MSG("Not enough data for
field table."));
- uint32_t count = buffer.getLong();
- uint32_t leftover = available - len;
- while(buffer.available() > leftover && count--) {
- std::string name;
- std::string sstr;
- std::string lstr;
- buffer.getShortString(name);
- uint8_t typecode = buffer.getOctet();
- switch (typecode) {
- case QMF_TYPE_U8:
- values[name] = ValuePtr(new IntegerValue(buffer.getOctet()));
- break;
- case QMF_TYPE_U16:
- values[name] = ValuePtr(new IntegerValue(buffer.getShort()));
- break;
- case QMF_TYPE_U32:
- values[name] = ValuePtr(new IntegerValue(buffer.getLong()));
- break;
- case QMF_TYPE_U64:
- values[name] = ValuePtr(new
Unsigned64Value(buffer.getLongLong()));
- break;
- case QMF_TYPE_SSTR:
- buffer.getShortString(sstr);
- values[name] = ValuePtr(new Str16Value(sstr));
- break;
- case QMF_TYPE_LSTR:
- buffer.getMediumString(lstr);
- values[name] = ValuePtr(new Str16Value(lstr));
- break;
- case QMF_TYPE_ABSTIME:
- values[name] = ValuePtr(new
Unsigned64Value(buffer.getLongLong()));
- break;
- case QMF_TYPE_DELTATIME:
- values[name] = ValuePtr(new
Unsigned64Value(buffer.getLongLong()));
- break;
- case QMF_TYPE_BOOL:
- values[name] = ValuePtr(new IntegerValue(buffer.getOctet()));
- break;
- case QMF_TYPE_FLOAT:
- values[name] = ValuePtr(new FloatValue(buffer.getFloat()));
- break;
- case QMF_TYPE_DOUBLE:
- values[name] = ValuePtr(new DoubleValue(buffer.getDouble()));
- break;
- case QMF_TYPE_S8:
- values[name] = ValuePtr(new IntegerValue(buffer.getOctet()));
- break;
- case QMF_TYPE_S16:
- values[name] = ValuePtr(new IntegerValue(buffer.getShort()));
- break;
- case QMF_TYPE_S32:
- values[name] = ValuePtr(new IntegerValue(buffer.getLong()));
- break;
- case QMF_TYPE_S64:
- values[name] = ValuePtr(new
Unsigned64Value(buffer.getLongLong()));
- break;
- case QMF_TYPE_REF:
- case QMF_TYPE_UUID:
- case QMF_TYPE_OBJECT:
- case QMF_TYPE_MAP:
- case QMF_TYPE_LIST:
- case QMF_TYPE_ARRAY:
- break;
- }
- }
- }
-}
-
-
bool FieldTable::operator==(const FieldTable& x) const {
if (values.size() != x.values.size()) return false;
for (ValueMap::const_iterator i = values.begin(); i != values.end(); ++i)
{
Modified: qpid/branches/qmfv2/qpid/cpp/src/qpid/management/ManagementAgent.cpp
URL:
http://svn.apache.org/viewvc/qpid/branches/qmfv2/qpid/cpp/src/qpid/management/ManagementAgent.cpp?rev=889354&r1=889353&r2=889354&view=diff
==============================================================================
--- qpid/branches/qmfv2/qpid/cpp/src/qpid/management/ManagementAgent.cpp
(original)
+++ qpid/branches/qmfv2/qpid/cpp/src/qpid/management/ManagementAgent.cpp Thu
Dec 10 18:19:38 2009
@@ -267,7 +267,7 @@
{
buf.putOctet ('A');
buf.putOctet ('M');
- buf.putOctet ('3');
+ buf.putOctet ('2');
buf.putOctet (opcode);
buf.putLong (seq);
}
@@ -281,7 +281,7 @@
*opcode = buf.getOctet();
*seq = buf.getLong();
- return h1 == 'A' && h2 == 'M' && h3 == '3';
+ return h1 == 'A' && h2 == 'M' && h3 == '2';
}
void ManagementAgent::sendBuffer(Buffer& buf,
@@ -1201,7 +1201,7 @@
inBuffer.getShortString(text);
inBuffer.getBin128(hash);
- uint8_t superType = inBuffer.getOctet();
+ uint8_t superType = 0; //inBuffer.getOctet();
uint16_t propCount = inBuffer.getShort();
uint16_t statCount = inBuffer.getShort();
Modified:
qpid/branches/qmfv2/qpid/dotnet/client-010/management/console/Broker.cs
URL:
http://svn.apache.org/viewvc/qpid/branches/qmfv2/qpid/dotnet/client-010/management/console/Broker.cs?rev=889354&r1=889353&r2=889354&view=diff
==============================================================================
--- qpid/branches/qmfv2/qpid/dotnet/client-010/management/console/Broker.cs
(original)
+++ qpid/branches/qmfv2/qpid/dotnet/client-010/management/console/Broker.cs Thu
Dec 10 18:19:38 2009
@@ -165,7 +165,7 @@
public IEncoder SetHeader(IEncoder enc, char opcode, long
sequence) {
enc.WriteUint8((short)'A') ;
enc.WriteUint8((short)'M') ;
- enc.WriteUint8((short)'3') ;
+ enc.WriteUint8((short)'2') ;
enc.WriteUint8((short)opcode) ;
enc.WriteUint32(sequence) ;
return enc ;
@@ -219,7 +219,7 @@
return returnValue ;
}
character = (char) decoder.ReadUint8() ;
- if (character != '3') {
+ if (character != '2') {
return returnValue ;
}
returnValue = true ;
Modified:
qpid/branches/qmfv2/qpid/dotnet/client-010/management/console/SchemaClass.cs
URL:
http://svn.apache.org/viewvc/qpid/branches/qmfv2/qpid/dotnet/client-010/management/console/SchemaClass.cs?rev=889354&r1=889353&r2=889354&view=diff
==============================================================================
---
qpid/branches/qmfv2/qpid/dotnet/client-010/management/console/SchemaClass.cs
(original)
+++
qpid/branches/qmfv2/qpid/dotnet/client-010/management/console/SchemaClass.cs
Thu Dec 10 18:19:38 2009
@@ -60,7 +60,7 @@
Kind = kind ;
Session = session ;
this.Key = key ;
- bool hasSupertype = !(dec.ReadUint8().Equals(0)) ;
+ bool hasSupertype = false ;
if (kind == CLASS_KIND_TABLE) {
int propCount = dec.ReadUint16() ;
Modified:
qpid/branches/qmfv2/qpid/dotnet/client-010/management/console/Session.cs
URL:
http://svn.apache.org/viewvc/qpid/branches/qmfv2/qpid/dotnet/client-010/management/console/Session.cs?rev=889354&r1=889353&r2=889354&view=diff
==============================================================================
--- qpid/branches/qmfv2/qpid/dotnet/client-010/management/console/Session.cs
(original)
+++ qpid/branches/qmfv2/qpid/dotnet/client-010/management/console/Session.cs
Thu Dec 10 18:19:38 2009
@@ -616,21 +616,7 @@
case 12: return dec.ReadFloat() ; //
float
case 13: return dec.ReadDouble() ; //
double
case 14: return dec.ReadUuid() ; //
UUID
- case 15: //
Ftable
- Dictionary<string, object> ftable = new
Dictionary<string, object>() ;
- MSDecoder sc = new MSDecoder() ;
- sc.Init(new
MemoryStream(dec.ReadVbin32())) ;
- if (sc.HasRemaining()) {
- long count = sc.ReadUint32() ;
- while (count > 0) {
- string key =
sc.ReadStr8() ;
- short code =
sc.ReadUint8() ;
- object newValue =
this.DecodeValue(sc, code) ;
- ftable.Add(key,
newValue) ;
- count -= 1 ;
- }
- }
- return ftable ;
+ case 15: return dec.ReadMap() ; //
Ftable
case 16: return dec.ReadInt8() ; // int8
case 17: return dec.ReadInt16() ; //
int16
case 18: return dec.ReadInt32() ; // int32
@@ -709,21 +695,7 @@
case 12: enc.WriteFloat((float) val);
break; // FLOAT
case 13: enc.WriteDouble((double) val);
break; // DOUBLE
case 14: enc.WriteUuid((UUID) val) ;
break ; // UUID
- case 15:
// Ftable
- Dictionary<string, object>
ftable = (Dictionary<string, object>) val ;
- MSEncoder sc = new MSEncoder(1)
;
- sc.Init() ;
- sc.WriteUint32(ftable.Count) ;
- foreach (String key in
ftable.Keys) {
- object obj =
ftable[key] ;
- short innerType =
Util.QMFType(obj) ;
- sc.WriteStr8(key) ;
-
sc.WriteUint8(innerType) ;
-
this.EncodeValue(sc,innerType,obj) ;
- }
- byte[] bytes =
sc.Segment().ToArray() ;
- enc.WriteVbin32(bytes) ;
- break ;
+ case 15:
enc.WriteMap((Dictionary<string, object>) val) ; break ; // Ftable
case 16: enc.WriteInt8((short) val) ;
break; // int8
case 17: enc.WriteInt16((int) val) ;
break; // int16
case 18: enc.WriteInt32(long.Parse(""+
val)) ; break; // int32
Modified:
qpid/branches/qmfv2/qpid/java/management/agent/src/main/java/org/apache/qpid/agent/Agent.java
URL:
http://svn.apache.org/viewvc/qpid/branches/qmfv2/qpid/java/management/agent/src/main/java/org/apache/qpid/agent/Agent.java?rev=889354&r1=889353&r2=889354&view=diff
==============================================================================
---
qpid/branches/qmfv2/qpid/java/management/agent/src/main/java/org/apache/qpid/agent/Agent.java
(original)
+++
qpid/branches/qmfv2/qpid/java/management/agent/src/main/java/org/apache/qpid/agent/Agent.java
Thu Dec 10 18:19:38 2009
@@ -239,7 +239,7 @@
throw new AgentException(e);
}
byte[] magic = dec.readBytes(3);
- if (magic[0] != 'A' || magic[1] != 'M' || magic[2] != '3')
+ if (magic[0] != 'A' || magic[1] != 'M' || magic[2] != '2')
{
throw new AgentException("bad magic: " + new String(magic));
}
@@ -475,7 +475,7 @@
enc.init();
enc.writeUint8((short) 'A');
enc.writeUint8((short) 'M');
- enc.writeUint8((short) '3');
+ enc.writeUint8((short) '2');
enc.writeUint8((short) opcode);
enc.writeUint32(sequence);
return enc;
Modified:
qpid/branches/qmfv2/qpid/java/management/agent/src/main/java/org/apache/qpid/agent/binding/ClassBinding.java
URL:
http://svn.apache.org/viewvc/qpid/branches/qmfv2/qpid/java/management/agent/src/main/java/org/apache/qpid/agent/binding/ClassBinding.java?rev=889354&r1=889353&r2=889354&view=diff
==============================================================================
---
qpid/branches/qmfv2/qpid/java/management/agent/src/main/java/org/apache/qpid/agent/binding/ClassBinding.java
(original)
+++
qpid/branches/qmfv2/qpid/java/management/agent/src/main/java/org/apache/qpid/agent/binding/ClassBinding.java
Thu Dec 10 18:19:38 2009
@@ -356,13 +356,13 @@
enc.writeStr8(name);
enc.writeBin128(this.getSchemaHash()); // schema hash
// Send true (1) if we have a super-type
- if (superType == null)
- {
- enc.writeUint8((short) 0);
- } else
- {
- enc.writeUint8((short) 1);
- }
+ //if (superType == null)
+ //{
+ // enc.writeUint8((short) 0);
+ //} else
+ //{
+ // enc.writeUint8((short) 1);
+ //}
enc.writeUint16(properties.size());
// Events do not have the method size sent
if (kind == 1)
@@ -371,12 +371,12 @@
enc.writeUint16(methods.size());
}
// Add the super type information if we have it
- if (superType != null)
- {
- enc.writeStr8(superType.pkg);
- enc.writeStr8(superType.name);
- enc.writeBin128(superType.getSchemaHash()); // schema hash
- }
+ //if (superType != null)
+ //{
+ // enc.writeStr8(superType.pkg);
+ // enc.writeStr8(superType.name);
+ // enc.writeBin128(superType.getSchemaHash()); // schema hash
+ //}
for (PropertyBinding p : properties)
{
log.trace("encoding property " + p.getName());
Modified:
qpid/branches/qmfv2/qpid/java/management/agent/src/main/java/org/apache/qpid/agent/binding/MapBinding.java
URL:
http://svn.apache.org/viewvc/qpid/branches/qmfv2/qpid/java/management/agent/src/main/java/org/apache/qpid/agent/binding/MapBinding.java?rev=889354&r1=889353&r2=889354&view=diff
==============================================================================
---
qpid/branches/qmfv2/qpid/java/management/agent/src/main/java/org/apache/qpid/agent/binding/MapBinding.java
(original)
+++
qpid/branches/qmfv2/qpid/java/management/agent/src/main/java/org/apache/qpid/agent/binding/MapBinding.java
Thu Dec 10 18:19:38 2009
@@ -49,53 +49,12 @@
public void encode(Encoder enc, Object value)
{
Map map = (Map) value;
- BBEncoder newEncoder = new BBEncoder(10);
- newEncoder.writeUint32(map.size());
- for (Object key : map.keySet())
- {
- String keyString = key.toString();
- Object mapValue = map.get(key);
- TypeBinding binding = bctx.getTypeBinding(mapValue.getClass());
- newEncoder.writeStr8(keyString);
- newEncoder.writeUint8(binding.getCode());
- binding.encode(newEncoder, mapValue);
- }
- enc.writeVbin32(newEncoder.buffer().array());
+ enc.writeMap(map);
}
public Object decode(Decoder dec)
{
- Map map = null;
- try
- {
- if (javaClass.isInterface())
- {
- map = new HashMap();
- } else
- {
- map = (Map) javaClass.newInstance();
- }
- } catch (Exception e)
- {
- throw new BindingException(
- "Could not create a Map implementation for "
- + javaClass.getName(), e);
- }
- BBDecoder newDecoder = new BBDecoder();
- newDecoder.init(ByteBuffer.wrap(dec.readVbin32()));
- long count = newDecoder.readUint32();
- while (count > 0)
- {
- String key = newDecoder.readStr8();
- short typeCode = newDecoder.readUint8();
- TypeBinding type = QMFTypeBinding.getType(typeCode);
- if (type == null)
- {
- type = bctx.getTypeBinding(Object.class);
- }
- map.put(key, type.decode(newDecoder));
- count -= 1;
- }
+ Map map = dec.readMap();
return map;
}
Modified:
qpid/branches/qmfv2/qpid/java/management/client/src/main/java/org/apache/qpid/management/Protocol.java
URL:
http://svn.apache.org/viewvc/qpid/branches/qmfv2/qpid/java/management/client/src/main/java/org/apache/qpid/management/Protocol.java?rev=889354&r1=889353&r2=889354&view=diff
==============================================================================
---
qpid/branches/qmfv2/qpid/java/management/client/src/main/java/org/apache/qpid/management/Protocol.java
(original)
+++
qpid/branches/qmfv2/qpid/java/management/client/src/main/java/org/apache/qpid/management/Protocol.java
Thu Dec 10 18:19:38 2009
@@ -27,7 +27,7 @@
*/
public interface Protocol
{
- String MAGIC_NUMBER = "AM3";
+ String MAGIC_NUMBER = "AM2";
char SCHEMA_REQUEST_OPCODE = 'S';
char SCHEMA_RESPONSE_OPCODE = Character.toLowerCase(SCHEMA_REQUEST_OPCODE);
Modified:
qpid/branches/qmfv2/qpid/java/management/client/src/main/java/org/apache/qpid/management/domain/handler/impl/SchemaResponseMessageHandler.java
URL:
http://svn.apache.org/viewvc/qpid/branches/qmfv2/qpid/java/management/client/src/main/java/org/apache/qpid/management/domain/handler/impl/SchemaResponseMessageHandler.java?rev=889354&r1=889353&r2=889354&view=diff
==============================================================================
---
qpid/branches/qmfv2/qpid/java/management/client/src/main/java/org/apache/qpid/management/domain/handler/impl/SchemaResponseMessageHandler.java
(original)
+++
qpid/branches/qmfv2/qpid/java/management/client/src/main/java/org/apache/qpid/management/domain/handler/impl/SchemaResponseMessageHandler.java
Thu Dec 10 18:19:38 2009
@@ -69,17 +69,10 @@
Binary schemaHash = new Binary(decoder.readBin128());
- int hasSuperclass = decoder.readUint8();
int howManyProperties = decoder.readUint16();
int howManyStatistics = decoder.readUint16();
int howManyMethods = decoder.readUint16();
- if (hasSuperclass != 0) {
- String parentPackageName = decoder.readStr8();
- String parentClassName = decoder.readStr8();
- Binary parentHash = new Binary(decoder.readBin128());
- }
-
_domainModel.addSchema(
packageName,
className,
Modified:
qpid/branches/qmfv2/qpid/java/management/console/src/main/java/org/apache/qpid/console/Broker.java
URL:
http://svn.apache.org/viewvc/qpid/branches/qmfv2/qpid/java/management/console/src/main/java/org/apache/qpid/console/Broker.java?rev=889354&r1=889353&r2=889354&view=diff
==============================================================================
---
qpid/branches/qmfv2/qpid/java/management/console/src/main/java/org/apache/qpid/console/Broker.java
(original)
+++
qpid/branches/qmfv2/qpid/java/management/console/src/main/java/org/apache/qpid/console/Broker.java
Thu Dec 10 18:19:38 2009
@@ -111,7 +111,7 @@
return returnValue;
}
character = (char) decoder.readUint8();
- if (character != '3')
+ if (character != '2')
{
return returnValue;
}
@@ -349,7 +349,7 @@
{
enc.writeUint8((short) 'A');
enc.writeUint8((short) 'M');
- enc.writeUint8((short) '3');
+ enc.writeUint8((short) '2');
enc.writeUint8((short) opcode);
enc.writeUint32(sequence);
return enc;
@@ -502,4 +502,4 @@
}
}
}
-}
\ No newline at end of file
+}
Modified:
qpid/branches/qmfv2/qpid/java/management/console/src/main/java/org/apache/qpid/console/SchemaClass.java
URL:
http://svn.apache.org/viewvc/qpid/branches/qmfv2/qpid/java/management/console/src/main/java/org/apache/qpid/console/SchemaClass.java?rev=889354&r1=889353&r2=889354&view=diff
==============================================================================
---
qpid/branches/qmfv2/qpid/java/management/console/src/main/java/org/apache/qpid/console/SchemaClass.java
(original)
+++
qpid/branches/qmfv2/qpid/java/management/console/src/main/java/org/apache/qpid/console/SchemaClass.java
Thu Dec 10 18:19:38 2009
@@ -43,7 +43,7 @@
setKind(kind);
setSession(session);
this.setKey(key);
- boolean hasSupertype = dec.readUint8() != 0;
+ boolean hasSupertype = false; //dec.readUint8() != 0;
if (kind == CLASS_KIND_TABLE)
{
int propCount = dec.readUint16();
@@ -248,4 +248,4 @@
{
this.classKey = classKey;
}
-}
\ No newline at end of file
+}
Modified:
qpid/branches/qmfv2/qpid/java/management/console/src/main/java/org/apache/qpid/console/Session.java
URL:
http://svn.apache.org/viewvc/qpid/branches/qmfv2/qpid/java/management/console/src/main/java/org/apache/qpid/console/Session.java?rev=889354&r1=889353&r2=889354&view=diff
==============================================================================
---
qpid/branches/qmfv2/qpid/java/management/console/src/main/java/org/apache/qpid/console/Session.java
(original)
+++
qpid/branches/qmfv2/qpid/java/management/console/src/main/java/org/apache/qpid/console/Session.java
Thu Dec 10 18:19:38 2009
@@ -189,22 +189,7 @@
case 14: // UUID
return dec.readUuid();
case 15: // Ftable
- java.util.HashMap<String, Object> ftable = new
java.util.HashMap<String, Object>();
- BBDecoder sc = new BBDecoder();
- sc.init(ByteBuffer.wrap(dec.readVbin32()));
- if (sc.hasRemaining())
- {
- long count = sc.readUint32();
- while (count > 0)
- {
- String key = sc.readStr8();
- short code = sc.readUint8();
- Object newValue = this.decodeValue(sc, code);
- ftable.put(key, newValue);
- count -= 1;
- }
- }
- return ftable;
+ return dec.readMap();
case 16: // int8
return dec.readInt8();
case 17: // int16
@@ -317,20 +302,7 @@
enc.writeUuid((UUID) val);
break;
case 15: // Ftable
- Map<String, Object> ftable = (Map<String, Object>) val;
- BBEncoder sc = new BBEncoder(1);
- sc.init();
- sc.writeUint32(ftable.size());
- for (String key : ftable.keySet())
- {
- Object obj = ftable.get(key);
- short innerType = Util.qmfType(obj);
- sc.writeStr8(key);
- sc.writeUint8(innerType);
- this.encodeValue(sc, innerType, obj);
- }
- byte[] bytes = sc.segment().array();
- enc.writeVbin32(bytes);
+ enc.writeMap((HashMap) val);
break;
case 16: // int8
enc.writeInt8((Byte) val);
@@ -1005,4 +977,4 @@
broker.waitForStable();
}
}
-}
\ No newline at end of file
+}
Modified: qpid/branches/qmfv2/qpid/python/qmf/console.py
URL:
http://svn.apache.org/viewvc/qpid/branches/qmfv2/qpid/python/qmf/console.py?rev=889354&r1=889353&r2=889354&view=diff
==============================================================================
--- qpid/branches/qmfv2/qpid/python/qmf/console.py (original)
+++ qpid/branches/qmfv2/qpid/python/qmf/console.py Thu Dec 10 18:19:38 2009
@@ -958,17 +958,7 @@
elif typecode == 17: data = codec.read_int16() # S16
elif typecode == 18: data = codec.read_int32() # S32
elif typecode == 19: data = codec.read_int64() # S63
- elif typecode == 15: # FTABLE
- data = {}
- sc = Codec(codec.read_vbin32())
- if sc.encoded:
- count = sc.read_uint32()
- while count > 0:
- k = sc.read_str8()
- code = sc.read_uint8()
- v = self._decodeValue(sc, code, broker)
- data[k] = v
- count -= 1
+ elif typecode == 15: data = codec.read_map() # FTABLE
elif typecode == 20: # OBJECT
# Peek at the type, and if it is still 20 pull it decode. If
# Not, call back into self.
@@ -1031,18 +1021,7 @@
elif typecode == 18: codec.write_int32 (int(value)) # S32
elif typecode == 19: codec.write_int64 (int(value)) # S64
elif typecode == 20: value._encodeUnmanaged(codec) # OBJECT
- elif typecode == 15: # FTABLE
- sc = Codec()
- if value is not None:
- sc.write_uint32(len(value))
- for k, v in value.items():
- mtype = self.encoding(v)
- sc.write_str8(k)
- sc.write_uint8(mtype)
- self._encodeValue(sc, v, mtype)
- else:
- sc.write_uint32(0)
- codec.write_vbin32(sc.encoded)
+ elif typecode == 15: codec.write_map (value) # FTABLE
elif typecode == 21: # List
sc = Codec()
self._encodeValue(sc, len(value), 3)
@@ -1254,7 +1233,7 @@
self.arguments = []
self.session = session
- hasSupertype = codec.read_uint8()
+ hasSupertype = 0 #codec.read_uint8()
if self.kind == self.CLASS_KIND_TABLE:
propCount = codec.read_uint16()
statCount = codec.read_uint16()
@@ -1729,7 +1708,7 @@
""" Compose the header of a management message. """
codec.write_uint8(ord('A'))
codec.write_uint8(ord('M'))
- codec.write_uint8(ord('3'))
+ codec.write_uint8(ord('2'))
codec.write_uint8(ord(opcode))
codec.write_uint32(seq)
@@ -1743,7 +1722,7 @@
if octet != 'M':
return None, None
octet = chr(codec.read_uint8())
- if octet != '3':
+ if octet != '2':
return None, None
opcode = chr(codec.read_uint8())
seq = codec.read_uint32()
Modified: qpid/branches/qmfv2/qpid/python/qpid/management.py
URL:
http://svn.apache.org/viewvc/qpid/branches/qmfv2/qpid/python/qpid/management.py?rev=889354&r1=889353&r2=889354&view=diff
==============================================================================
--- qpid/branches/qmfv2/qpid/python/qpid/management.py (original)
+++ qpid/branches/qmfv2/qpid/python/qpid/management.py Thu Dec 10 18:19:38 2009
@@ -400,7 +400,7 @@
""" Compose the header of a management message. """
codec.write_uint8 (ord ('A'))
codec.write_uint8 (ord ('M'))
- codec.write_uint8 (ord ('3'))
+ codec.write_uint8 (ord ('2'))
codec.write_uint8 (opcode)
codec.write_uint32 (seq)
@@ -414,7 +414,7 @@
if octet != 'M':
return None
octet = chr (codec.read_uint8 ())
- if octet != '3':
+ if octet != '2':
return None
opcode = chr (codec.read_uint8 ())
seq = codec.read_uint32 ()
@@ -496,16 +496,7 @@
elif typecode == 14: # UUID
data = codec.read_uuid ()
elif typecode == 15: # FTABLE
- data = {}
- sc = Codec(codec.read_vbin32())
- if sc.encoded:
- count = sc.read_uint32()
- while count > 0:
- k = sc.read_str8()
- code = sc.read_uint8()
- v = self.decodeValue(sc, code)
- data[k] = v
- count -= 1
+ data = codec.read_map ()
elif typecode == 16:
data = codec.read_int8 ()
elif typecode == 17:
@@ -680,7 +671,7 @@
packageName = codec.read_str8 ()
className = codec.read_str8 ()
hash = codec.read_bin128 ()
- hasSupertype = codec.read_uint8()
+ hasSupertype = 0 #codec.read_uint8()
configCount = codec.read_uint16 ()
instCount = codec.read_uint16 ()
methodCount = codec.read_uint16 ()
Modified: qpid/branches/qmfv2/qpid/ruby/lib/qpid/qmf.rb
URL:
http://svn.apache.org/viewvc/qpid/branches/qmfv2/qpid/ruby/lib/qpid/qmf.rb?rev=889354&r1=889353&r2=889354&view=diff
==============================================================================
--- qpid/branches/qmfv2/qpid/ruby/lib/qpid/qmf.rb (original)
+++ qpid/branches/qmfv2/qpid/ruby/lib/qpid/qmf.rb Thu Dec 10 18:19:38 2009
@@ -640,25 +640,12 @@
when 12: data = codec.read_float # FLOAT
when 13: data = codec.read_double # DOUBLE
when 14: data = codec.read_uuid # UUID
- #when 15: data = codec.read_map # FTABLE
+ when 15: data = codec.read_map # FTABLE
when 16: data = codec.read_int8 # S8
when 17: data = codec.read_int16 # S16
when 18: data = codec.read_int32 # S32
when 19: data = codec.read_int64 # S64
- when 15: # Ftable
- data = {}
- rec_codec = Qpid::StringCodec.new(codec.spec, codec.read_vbin32())
- if rec_codec.encoded:
- count = rec_codec.read_uint32()
- while count > 0 do
- k = rec_codec.read_str8()
- code = rec_codec.read_uint8()
- v = decode_value(rec_codec, code)
- data[k] = v
- count -= 1
- end
- end
- when 20: # Object
+ when 20: # Object
inner_type_code = codec.read_uint8()
if (inner_type_code == 20)
classKey = ClassKey.new(codec)
@@ -731,26 +718,12 @@
when 12: codec.write_float(value) # FLOAT
when 13: codec.write_double(value) # DOUBLE
when 14: codec.write_uuid(value) # UUID
- #when 15: codec.write_map(value) # FTABLE
+ when 15: codec.write_map(value) # FTABLE
when 16: codec.write_int8(value) # S8
when 17: codec.write_int16(value) # S16
when 18: codec.write_int32(value) # S32
when 19: codec.write_int64(value) # S64
when 20: value.encode(codec)
- when 15: # FTABLE
- send_codec = Qpid::StringCodec.new(codec.spec)
- if !value.nil?
- send_codec.write_uint32(value.size())
- value.each do |k,v|
- mtype = encoding(v)
- send_codec.write_str8(k.to_s)
- send_codec.write_uint8(mtype)
- encode_value(send_codec, v, mtype)
- end
- else
- send_codec.write_uint32(0)
- codec.write_vbin32(send_codec.encoded)
- end
when 21: # List
send_codec = Qpid::StringCodec.new(codec.spec)
encode_value(send_codec, value.size, 3)
@@ -896,7 +869,7 @@
@methods = []
@arguments = []
- has_supertype = codec.read_uint8
+ has_supertype = 0 #codec.read_uint8
if @kind == CLASS_KIND_TABLE
prop_count = codec.read_uint16
stat_count = codec.read_uint16
@@ -1542,7 +1515,7 @@
def set_header(codec, opcode, seq=0)
codec.write_uint8(?A)
codec.write_uint8(?M)
- codec.write_uint8(?3)
+ codec.write_uint8(?2)
codec.write_uint8(opcode)
codec.write_uint32(seq)
end
@@ -1707,7 +1680,7 @@
begin
return [nil, nil] unless codec.read_uint8 == ?A
return [nil, nil] unless codec.read_uint8 == ?M
- return [nil, nil] unless codec.read_uint8 == ?3
+ return [nil, nil] unless codec.read_uint8 == ?2
opcode = codec.read_uint8
seq = codec.read_uint32
return [opcode, seq]
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:[email protected]