Permission Bug allowing me to add relations

HI @Andriy_Konoz

Apologies for not coming back sooner, I refreshed the libraries and the binaries and unfortunately still same result.
I’ve uploaded the lib and binaries im using below. I’ve removed the runner properties for obvious reasons.

Hopefully this will help you spot something, if not I will make a dummy project for you guys.

Could it be anything to do with the JDK version I build the code with?

Thanks,
Reece

To add to the above, I’ve made a sample project so you can replicate the issue. I’ve removed the app key and api key from the runner properties.

Hi @Reece_Smith!

Thank you for your help. I will notify you about results.

Regards, Andriy

@Reece_Smith,

Your problem was caused by fact that you used “undocummented feature” of SDK.
According to our documentation (https://backendless.com/docs/android/data_data_object.html) classes for data models should folow Java Been specification.
According to this specification names of “properties” must start from lower-case letter.

Internal SDK serializer relies on this specification.

In your case, value for “Compliant” property was sent to the Backendless server under “compliant” name. Since you disabled dynamic schema for your app this property was silently ignored because there was no “compliant” column.

For fixing your problem I recommend you to change case to lower-case for first letter in all field names for data model classes and add MapToProperty annotation to your getters or setters. This annotation will allow you to bind your property to specific column in table. This annotation receives column name as value for its attribute.

Regards, Andriy

@Andriy_Konoz thanks I’ll go through it. Interesting that it used to work. Wondering if its worth stopping users for using upper case letters in the data schema to avoid this issue happening for future users?

@Reece_Smith, Sorry for inconvenience. We will make our documentation more specific about this case.

About stopping users from using upper case letters. I think that there is no reason for doing so because cause of this problem is misuse of functional that was caused by poor documentation on this topic. Such cases is rare and after improving documentation they will occur even more rarely. I will raise this topic for discussion with our team.

Regards, Andriy