From 70fb56e34830bb67f4d668f65cccf3187b7a12b2 Mon Sep 17 00:00:00 2001 From: Simon Bernard Date: Fri, 10 Jan 2025 15:14:32 +0100 Subject: [PATCH] GH-1666: Correctly handle object id in test Category. --- .../core/model/DefaultObjectModelValidator.java | 9 +-------- .../main/java/org/eclipse/leshan/core/model/URN.java | 11 ++++------- 2 files changed, 5 insertions(+), 15 deletions(-) diff --git a/leshan-lwm2m-core/src/main/java/org/eclipse/leshan/core/model/DefaultObjectModelValidator.java b/leshan-lwm2m-core/src/main/java/org/eclipse/leshan/core/model/DefaultObjectModelValidator.java index 4518973782..fea0e12b13 100644 --- a/leshan-lwm2m-core/src/main/java/org/eclipse/leshan/core/model/DefaultObjectModelValidator.java +++ b/leshan-lwm2m-core/src/main/java/org/eclipse/leshan/core/model/DefaultObjectModelValidator.java @@ -141,13 +141,6 @@ public void validate(ResourceModel resource, String modelName, String lwm2mVersi } protected void validateURN(String urn, ObjectModel object, String modelName) throws InvalidModelException { - String urnCategory = URN.getUrnKind(object.id); - if (urnCategory == URN.TEST_LABEL) { - // skip validation for Test category. - // See : https://github.com/OpenMobileAlliance/lwm2m-registry/issues/737 - return; - } - // Validate URN for other category if (!urn.startsWith("urn:oma:lwm2m:")) { throw new InvalidModelException( @@ -167,7 +160,7 @@ protected void validateURN(String urn, ObjectModel object, String modelName) thr object.name, object.id, modelName, urn); } String kind = urnParts[3]; - String expectedKind = urnCategory; + String expectedKind = URN.getUrnKind(object.id); if (!expectedKind.equals(kind)) { throw new InvalidModelException( "Model for Object %s(%d) in %s is invalid : URN (%s) kind MUST be %s instead of %s", object.name, diff --git a/leshan-lwm2m-core/src/main/java/org/eclipse/leshan/core/model/URN.java b/leshan-lwm2m-core/src/main/java/org/eclipse/leshan/core/model/URN.java index f40fec8a2e..98a838dc40 100644 --- a/leshan-lwm2m-core/src/main/java/org/eclipse/leshan/core/model/URN.java +++ b/leshan-lwm2m-core/src/main/java/org/eclipse/leshan/core/model/URN.java @@ -24,7 +24,6 @@ public class URN { public static final String OMA_LABEL = "oma"; public static final String EXT_LABEL = "ext"; public static final String X_LABEL = "x"; - public static final String TEST_LABEL = "test"; public static final String INVALID_LABEL = "invalid"; public static final String RESERVED_LABEL = "reserved"; @@ -43,10 +42,10 @@ public static String generateURN(int objectId, String objectVersion) { /** * Return URN "kind" from object id. * - * @return {@link #OMA_LABEL}, {@link #EXT_LABEL} or {@link #X_LABEL} or {@link #TEST_LABEL} for valid object id. - * {@link #INVALID_LABEL} is returned for invalid id and {@link #RESERVED_LABEL} for reserved range. + * @return {@link #OMA_LABEL}, {@link #EXT_LABEL} or {@link #X_LABEL} for valid object id. {@link #INVALID_LABEL} is + * returned for invalid id and {@link #RESERVED_LABEL} for reserved range. * - * @see OMA LightweightM2M (LwM2M) + * @see OMA LightweightM2M (LwM2M) * Object and Resource Registry */ public static String getUrnKind(int objectId) { @@ -56,10 +55,8 @@ public static String getUrnKind(int objectId) { return RESERVED_LABEL; if (2048 <= objectId && objectId <= 10240) return EXT_LABEL; - if (10241 <= objectId && objectId <= 42768) + if (10241 <= objectId && objectId <= 42800) return X_LABEL; - if (42769 <= objectId && objectId <= 42800) - return TEST_LABEL; if (42801 <= objectId && objectId <= 65534) return RESERVED_LABEL; return INVALID_LABEL;