From a562e103c637d278f0a69866a527c3b9bb089b8f Mon Sep 17 00:00:00 2001 From: Justin Richer Date: Tue, 13 May 2014 16:40:19 -0400 Subject: [PATCH] added importer for system scopes --- .../service/impl/MITREidDataService_1_0.java | 41 ++++++++++++++++++- 1 file changed, 39 insertions(+), 2 deletions(-) diff --git a/openid-connect-server/src/main/java/org/mitre/openid/connect/service/impl/MITREidDataService_1_0.java b/openid-connect-server/src/main/java/org/mitre/openid/connect/service/impl/MITREidDataService_1_0.java index 536ace305..9e44aa029 100644 --- a/openid-connect-server/src/main/java/org/mitre/openid/connect/service/impl/MITREidDataService_1_0.java +++ b/openid-connect-server/src/main/java/org/mitre/openid/connect/service/impl/MITREidDataService_1_0.java @@ -652,11 +652,48 @@ public class MITREidDataService_1_0 implements MITREidDataService { } /** + * Read the list of system scopes from the reader and insert them + * into the scope repository. * @param reader * @throws IOException */ private void readSystemScopes(JsonReader reader) throws IOException { - // TODO Auto-generated method stub - reader.skipValue(); + reader.beginArray(); + while (reader.hasNext()) { + SystemScope scope = new SystemScope(); + reader.beginObject(); + while (reader.hasNext()) { + switch (reader.peek()) { + case END_OBJECT: + continue; + case NAME: + String name = reader.nextName(); + if (name.equals("value")) { + scope.setValue(reader.nextString()); + } else if (name.equals("description")) { + scope.setDescription(reader.nextString()); + } else if (name.equals("allowDynReg")) { + scope.setAllowDynReg(reader.nextBoolean()); + } else if (name.equals("defaultScope")) { + scope.setDefaultScope(reader.nextBoolean()); + } else if (name.equals("icon")) { + scope.setIcon(reader.nextString()); + } else { + logger.debug("found unexpected entry"); + reader.skipValue(); + } + break; + default: + logger.debug("Found unexpected entry"); + reader.skipValue(); + continue; + } + } + reader.endObject(); + + sysScopeRepository.save(scope); + } + reader.endArray(); + logger.info("Done reading system scopes."); } }