Skip to content
This repository has been archived by the owner on Jan 26, 2022. It is now read-only.

Fixed problem with parsing objects that contain potentially incorrect URLs as property names. #91

Merged
merged 1 commit into from
Jun 12, 2020
Merged

Fixed problem with parsing objects that contain potentially incorrect URLs as property names. #91

merged 1 commit into from
Jun 12, 2020

Conversation

silh
Copy link

@silh silh commented Jun 9, 2020

Fixed problem with parsing objects that contain potentially incorrect URLs as property names. That lead to IllegalArgumentException being thrown in particular when used inside of Spring Boot jar.

java.lang.IllegalArgumentException: name
	at jdk.internal.loader.URLClassPath$Loader.getResource(Unknown Source) ~[?:?]
	at jdk.internal.loader.URLClassPath.getResource(Unknown Source) ~[?:?]
	at java.net.URLClassLoader$1.run(Unknown Source) ~[?:?]
	at java.net.URLClassLoader$1.run(Unknown Source) ~[?:?]
	at java.security.AccessController.doPrivileged(Native Method) ~[?:?]
	at java.net.URLClassLoader.findClass(Unknown Source) ~[?:?]
	at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:?]
	at org.springframework.boot.loader.LaunchedURLClassLoader.loadClass(LaunchedURLClassLoader.java:93) ~[app.jar:1.22.12-SNAPSHOT]
	at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:?]
	at java.lang.Class.forName0(Native Method) ~[?:?]
	at java.lang.Class.forName(Unknown Source) ~[?:?]
	at com.telekom.m2m.cot.restsdk.util.ExtensibleObjectSerializer.deserialize(ExtensibleObjectSerializer.java:88) ~[java-rest-client-1.1.0.jar!/:?]
	at com.telekom.m2m.cot.restsdk.util.ExtensibleObjectSerializer.deserialize(ExtensibleObjectSerializer.java:29) ~[java-rest-client-1.1.0.jar!/:?]
	at com.google.gson.internal.bind.TreeTypeAdapter.read(TreeTypeAdapter.java:69) ~[gson-2.8.5.jar!/:?]
	at com.google.gson.Gson.fromJson(Gson.java:927) ~[gson-2.8.5.jar!/:?]
	at com.google.gson.Gson.fromJson(Gson.java:994) ~[gson-2.8.5.jar!/:?]
	at com.google.gson.internal.bind.TreeTypeAdapter$GsonContextImpl.deserialize(TreeTypeAdapter.java:162) ~[gson-2.8.5.jar!/:?]
	at com.telekom.m2m.cot.restsdk.util.ExtensibleObjectSerializer.deserialize(ExtensibleObjectSerializer.java:142) ~[java-rest-client-1.1.0.jar!/:?]
	at com.telekom.m2m.cot.restsdk.util.ExtensibleObjectSerializer.deserialize(ExtensibleObjectSerializer.java:29) ~[java-rest-client-1.1.0.jar!/:?]
	at com.google.gson.internal.bind.TreeTypeAdapter.read(TreeTypeAdapter.java:69) ~[gson-2.8.5.jar!/:?]
	at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.read(TypeAdapterRuntimeTypeWrapper.java:41) ~[gson-2.8.5.jar!/:?]
	at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:82) ~[gson-2.8.5.jar!/:?]
	at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:61) ~[gson-2.8.5.jar!/:?]
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.read(ReflectiveTypeAdapterFactory.java:131) ~[gson-2.8.5.jar!/:?]
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:222) ~[gson-2.8.5.jar!/:?]
	at com.google.gson.Gson.fromJson(Gson.java:927) ~[gson-2.8.5.jar!/:?]
	at com.google.gson.Gson.fromJson(Gson.java:892) ~[gson-2.8.5.jar!/:?]
	at com.google.gson.Gson.fromJson(Gson.java:841) ~[gson-2.8.5.jar!/:?]
	at com.google.gson.Gson.fromJson(Gson.java:813) ~[gson-2.8.5.jar!/:?]
	at com.telekom.m2m.cot.restsdk.measurement.MeasurementApi.createMeasurements(MeasurementApi.java:88) ~[java-rest-client-1.1.0.jar!/:?]
...

The problem was found when parsing a com.telekom.m2m.cot.restsdk.library.sensor.ThreePhaseElectricityMeasurement which contains field looking like "A+:1"

… URLs as property names. That lead to IllegalArgumentException being thrown in particular when used inside of Spring Boot.
@Andyck
Copy link
Collaborator

Andyck commented Jun 12, 2020

Thanks for a good catch!
Well done!

@Andyck Andyck merged commit 5a646d4 into cloud-of-things:develop Jun 12, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants