From 2b3268d5a1ef1cd8c3aca062ba3a9027e9ea7e95 Mon Sep 17 00:00:00 2001 From: William Enright <william.enright@savoirfairelinux.com> Date: Fri, 4 Sep 2020 11:37:52 -0400 Subject: [PATCH] Fixed null policy error when attempting to register device Change-Id: Iabb5239e216afe7d48ccc758563acd6d8b96e4cc --- .../core/workflows/RegisterDeviceFlow.java | 20 ++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/jams-server/src/main/java/net/jami/jams/server/core/workflows/RegisterDeviceFlow.java b/jams-server/src/main/java/net/jami/jams/server/core/workflows/RegisterDeviceFlow.java index b1f4a5e2..b9e0e5ee 100644 --- a/jams-server/src/main/java/net/jami/jams/server/core/workflows/RegisterDeviceFlow.java +++ b/jams-server/src/main/java/net/jami/jams/server/core/workflows/RegisterDeviceFlow.java @@ -70,13 +70,19 @@ public class RegisterDeviceFlow { dataStore.getDeviceDao().storeObject(device); //Now we build this response out. DeviceRegistrationResponse response = new DeviceRegistrationResponse(); - userProfile.getGroupMemberships().forEach(e -> { - StatementElement st = new StatementElement("name", "=", e, ""); - StatementList statementList1 = new StatementList(); - statementList1.addStatement(st); - Policy policy = dataStore.getPolicyDao().getObjects(statementList1).get(0); - response.setPolicyData(policy.getPolicyData()); - }); + if(userProfile.getGroupMemberships() != null) { + userProfile.getGroupMemberships().forEach(e -> { + StatementElement st = new StatementElement("name", "=", e, ""); + StatementList statementList1 = new StatementList(); + statementList1.addStatement(st); + try { + Policy policy = dataStore.getPolicyDao().getObjects(statementList1).get(0); + response.setPolicyData(policy.getPolicyData()); + } catch (Exception e1) { + log.warn("No policy available for user - not adding a policy component to response"); + } + }); + } //We need to set the device receipt.... String[] devReceipt = DeviceReceiptGenerator.generateReceipt(user.getPrivateKey(), user.getCertificate().getPublicKey(), device.getCertificate().getPublicKey(), user.getEthAddress()); -- GitLab