public class org.apache.activemq.transport.mqtt.MQTTProtocolSupport extends java.lang.Object
{
private static final int TOPIC_NAME_MIN_LENGTH;
private static final int TOPIC_NAME_MAX_LENGTH;
private static final java.lang.String MULTI_LEVEL_WILDCARD;
private static final java.lang.String SINGLE_LEVEL_WILDCARD;
private static final char MULTI_LEVEL_WILDCARD_CHAR;
private static final char SINGLE_LEVEL_WILDCARD_CHAR;
private static final char TOPIC_LEVEL_SEPERATOR_CHAR;
public void <init>()
{
org.apache.activemq.transport.mqtt.MQTTProtocolSupport v;
v := @this: org.apache.activemq.transport.mqtt.MQTTProtocolSupport;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
public static java.lang.String convertMQTTToActiveMQ(java.lang.String)
{
int v, v;
char[] v;
char v;
java.lang.String v, v;
v := @parameter: java.lang.String;
v = virtualinvoke v.<java.lang.String: char[] toCharArray()>();
v = 0;
label:
v = lengthof v;
if v >= v goto label;
v = v[v];
lookupswitch(v)
{
case 35: goto label;
case 42: goto label;
case 43: goto label;
case 46: goto label;
case 47: goto label;
case 62: goto label;
default: goto label;
};
label:
v[v] = 62;
goto label;
label:
v[v] = 35;
goto label;
label:
v[v] = 42;
goto label;
label:
v[v] = 43;
goto label;
label:
v[v] = 46;
goto label;
label:
v[v] = 47;
label:
v = v + 1;
goto label;
label:
v = new java.lang.String;
specialinvoke v.<java.lang.String: void <init>(char[])>(v);
return v;
}
public static java.lang.String convertActiveMQToMQTT(java.lang.String)
{
int v, v;
char[] v;
char v;
java.lang.String v, v;
v := @parameter: java.lang.String;
v = virtualinvoke v.<java.lang.String: char[] toCharArray()>();
v = 0;
label:
v = lengthof v;
if v >= v goto label;
v = v[v];
lookupswitch(v)
{
case 35: goto label;
case 42: goto label;
case 43: goto label;
case 46: goto label;
case 47: goto label;
case 62: goto label;
default: goto label;
};
label:
v[v] = 35;
goto label;
label:
v[v] = 62;
goto label;
label:
v[v] = 43;
goto label;
label:
v[v] = 42;
goto label;
label:
v[v] = 47;
goto label;
label:
v[v] = 46;
label:
v = v + 1;
goto label;
label:
v = new java.lang.String;
specialinvoke v.<java.lang.String: void <init>(char[])>(v);
return v;
}
public static java.lang.String commandType(byte)
{
byte v, v;
v := @parameter: byte;
tableswitch(v)
{
case 1: goto label;
case 2: goto label;
case 3: goto label;
case 4: goto label;
case 5: goto label;
case 6: goto label;
case 7: goto label;
case 8: goto label;
case 9: goto label;
case 10: goto label;
case 11: goto label;
case 12: goto label;
case 13: goto label;
case 14: goto label;
default: goto label;
};
label:
return "PINGREQ";
label:
return "CONNECT";
label:
return "DISCONNECT";
label:
return "SUBSCRIBE";
label:
return "UNSUBSCRIBE";
label:
return "PUBLISH";
label:
return "PUBACK";
label:
return "PUBREC";
label:
return "PUBREL";
label:
return "PUBCOMP";
label:
return "UNKNOWN";
}
public static void validate(java.lang.String) throws org.apache.activemq.transport.mqtt.MQTTProtocolException
{
byte[] v;
boolean v, v, v, v;
java.io.UnsupportedEncodingException v;
org.apache.activemq.transport.mqtt.MQTTProtocolException v, v, v, v, v, v, v;
int v, v, v, v, v, v, v, v, v, v, v, v;
java.lang.String v, v, v, v, v, v, v, v;
char v, v, v, v, v;
v := @parameter: java.lang.String;
label:
v = virtualinvoke v.<java.lang.String: byte[] getBytes(java.lang.String)>("UTF-8");
v = lengthof v;
label:
goto label;
label:
v := @caughtexception;
v = new org.apache.activemq.transport.mqtt.MQTTProtocolException;
specialinvoke v.<org.apache.activemq.transport.mqtt.MQTTProtocolException: void <init>(java.lang.String)>("Topic name contained invalid UTF-8 encoding.");
throw v;
label:
if v < 1 goto label;
v = (int) 65535;
if v <= v goto label;
label:
v = new org.apache.activemq.transport.mqtt.MQTTProtocolException;
specialinvoke v.<org.apache.activemq.transport.mqtt.MQTTProtocolException: void <init>(java.lang.String)>("Topic name given had invliad length.");
throw v;
label:
v = "#";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
v = "+";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
label:
return;
label:
v = 0;
v = 0;
label:
v = virtualinvoke v.<java.lang.String: int length()>();
if v >= v goto label;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
if v != 35 goto label;
v = v + 1;
if v <= 0 goto label;
v = v - 1;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
if v == 47 goto label;
v = new org.apache.activemq.transport.mqtt.MQTTProtocolException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("The multi level wildcard must stand alone: \u0001");
specialinvoke v.<org.apache.activemq.transport.mqtt.MQTTProtocolException: void <init>(java.lang.String)>(v);
throw v;
label:
if v <= 1 goto label;
v = new org.apache.activemq.transport.mqtt.MQTTProtocolException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Topic Filter can only have one multi-level filter: \u0001");
specialinvoke v.<org.apache.activemq.transport.mqtt.MQTTProtocolException: void <init>(java.lang.String)>(v);
throw v;
label:
v = v + 1;
goto label;
label:
v = virtualinvoke v.<java.lang.String: boolean contains(java.lang.CharSequence)>("#");
if v == 0 goto label;
v = virtualinvoke v.<java.lang.String: boolean endsWith(java.lang.String)>("#");
if v != 0 goto label;
v = new org.apache.activemq.transport.mqtt.MQTTProtocolException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("The multi-level filter must be at the end of the Topic name: \u0001");
specialinvoke v.<org.apache.activemq.transport.mqtt.MQTTProtocolException: void <init>(java.lang.String)>(v);
throw v;
label:
v = 0;
label:
v = virtualinvoke v.<java.lang.String: int length()>();
if v >= v goto label;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
if v != 43 goto label;
if v <= 0 goto label;
v = v - 1;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
if v == 47 goto label;
v = new org.apache.activemq.transport.mqtt.MQTTProtocolException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("The single level wildcard must stand alone: \u0001");
specialinvoke v.<org.apache.activemq.transport.mqtt.MQTTProtocolException: void <init>(java.lang.String)>(v);
throw v;
label:
v = virtualinvoke v.<java.lang.String: int length()>();
v = v - 1;
if v >= v goto label;
v = v + 1;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
if v == 47 goto label;
v = new org.apache.activemq.transport.mqtt.MQTTProtocolException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("The single level wildcard must stand alone: \u0001");
specialinvoke v.<org.apache.activemq.transport.mqtt.MQTTProtocolException: void <init>(java.lang.String)>(v);
throw v;
label:
v = v + 1;
goto label;
label:
return;
catch java.io.UnsupportedEncodingException from label to label with label;
}
}