diff --git a/leshan-integration-tests/src/test/java/org/eclipse/leshan/integration/tests/util/cf/LockstepEndpoint.java b/leshan-integration-tests/src/test/java/org/eclipse/leshan/integration/tests/util/cf/LockstepEndpoint.java index e62434ec77..86e82f9698 100644 --- a/leshan-integration-tests/src/test/java/org/eclipse/leshan/integration/tests/util/cf/LockstepEndpoint.java +++ b/leshan-integration-tests/src/test/java/org/eclipse/leshan/integration/tests/util/cf/LockstepEndpoint.java @@ -51,10 +51,11 @@ import org.eclipse.californium.core.coap.EmptyMessage; import org.eclipse.californium.core.coap.Message; import org.eclipse.californium.core.coap.Option; -import org.eclipse.californium.core.coap.OptionNumberRegistry; import org.eclipse.californium.core.coap.Request; import org.eclipse.californium.core.coap.Response; import org.eclipse.californium.core.coap.Token; +import org.eclipse.californium.core.coap.option.OptionDefinition; +import org.eclipse.californium.core.coap.option.StandardOptionRegistry; import org.eclipse.californium.core.network.serialization.DataParser; import org.eclipse.californium.core.network.serialization.DataSerializer; import org.eclipse.californium.core.network.serialization.UdpDataParser; @@ -718,13 +719,23 @@ public String toString() { final int end = numbers.length - 1; int index = 0; for (; index < end; ++index) { - result.append(OptionNumberRegistry.toString(numbers[index])).append(","); + result.append(getOption(numbers[index])).append(","); } - result.append(OptionNumberRegistry.toString(numbers[index])); + result.append(getOption(numbers[index])); } result.append(']'); return result.toString(); } + + private String getOption(int optionNumber) { + OptionDefinition definition = StandardOptionRegistry.getDefaultOptionRegistry() + .getDefinitionByNumber(optionNumber); + if (definition != null) { + return definition.toString(); + } else { + return String.format("Unknown (%d)", optionNumber); + } + } }); return this; } diff --git a/leshan-server-demo/src/main/java/org/eclipse/leshan/server/demo/servlet/log/CoapMessage.java b/leshan-server-demo/src/main/java/org/eclipse/leshan/server/demo/servlet/log/CoapMessage.java index d69791a6bf..cfefadf336 100644 --- a/leshan-server-demo/src/main/java/org/eclipse/leshan/server/demo/servlet/log/CoapMessage.java +++ b/leshan-server-demo/src/main/java/org/eclipse/leshan/server/demo/servlet/log/CoapMessage.java @@ -26,10 +26,11 @@ import org.eclipse.californium.core.coap.CoAP.Type; import org.eclipse.californium.core.coap.EmptyMessage; import org.eclipse.californium.core.coap.Option; -import org.eclipse.californium.core.coap.OptionNumberRegistry; import org.eclipse.californium.core.coap.OptionSet; import org.eclipse.californium.core.coap.Request; import org.eclipse.californium.core.coap.Response; +import org.eclipse.californium.core.coap.option.OptionDefinition; +import org.eclipse.californium.core.coap.option.StandardOptionRegistry; import org.eclipse.leshan.core.util.Hex; public class CoapMessage { @@ -82,7 +83,7 @@ private CoapMessage(boolean incoming, Type type, int mId, String token, OptionSe if (!opts.isEmpty()) { Map> optMap = new HashMap<>(); for (Option opt : opts) { - String strOption = OptionNumberRegistry.toString(opt.getNumber()); + String strOption = getOption(opt.getNumber()); List values = optMap.get(strOption); if (values == null) { values = new ArrayList<>(); @@ -111,4 +112,14 @@ private CoapMessage(boolean incoming, Type type, int mId, String token, OptionSe } } } + + private String getOption(int optionNumber) { + OptionDefinition definition = StandardOptionRegistry.getDefaultOptionRegistry() + .getDefinitionByNumber(optionNumber); + if (definition != null) { + return definition.toString(); + } else { + return String.format("Unknown (%d)", optionNumber); + } + } }