From fc2df08e159e511705cf96fa2ea69ff26d9b70ad Mon Sep 17 00:00:00 2001 From: Bill Burke Date: Sat, 20 Jun 2015 09:07:54 -0400 Subject: [PATCH] ClientSessionModel.getNotes() --- .../java/org/keycloak/models/ClientSessionModel.java | 1 + .../sessions/infinispan/ClientSessionAdapter.java | 8 ++++++++ .../models/sessions/jpa/ClientSessionAdapter.java | 10 ++++++++++ .../models/sessions/mem/ClientSessionAdapter.java | 10 ++++++++++ .../models/sessions/mongo/ClientSessionAdapter.java | 10 ++++++++++ 5 files changed, 39 insertions(+) diff --git a/model/api/src/main/java/org/keycloak/models/ClientSessionModel.java b/model/api/src/main/java/org/keycloak/models/ClientSessionModel.java index 0a9744c8965..8531b5d699b 100755 --- a/model/api/src/main/java/org/keycloak/models/ClientSessionModel.java +++ b/model/api/src/main/java/org/keycloak/models/ClientSessionModel.java @@ -51,6 +51,7 @@ public interface ClientSessionModel { public String getNote(String name); public void setNote(String name, String value); public void removeNote(String name); + public Map getNotes(); /** * These are notes you want applied to the UserSessionModel when the client session is attached to it. diff --git a/model/sessions-infinispan/src/main/java/org/keycloak/models/sessions/infinispan/ClientSessionAdapter.java b/model/sessions-infinispan/src/main/java/org/keycloak/models/sessions/infinispan/ClientSessionAdapter.java index 32a2df6b168..af9f4367d5e 100755 --- a/model/sessions-infinispan/src/main/java/org/keycloak/models/sessions/infinispan/ClientSessionAdapter.java +++ b/model/sessions-infinispan/src/main/java/org/keycloak/models/sessions/infinispan/ClientSessionAdapter.java @@ -165,6 +165,14 @@ public class ClientSessionAdapter implements ClientSessionModel { } } + @Override + public Map getNotes() { + if (entity.getNotes() == null || entity.getNotes().isEmpty()) return Collections.emptyMap(); + Map copy = new HashMap<>(); + copy.putAll(entity.getNotes()); + return copy; + } + @Override public void setUserSessionNote(String name, String value) { if (entity.getUserSessionNotes() == null) { diff --git a/model/sessions-jpa/src/main/java/org/keycloak/models/sessions/jpa/ClientSessionAdapter.java b/model/sessions-jpa/src/main/java/org/keycloak/models/sessions/jpa/ClientSessionAdapter.java index 979e610182c..4c340c5d3fa 100755 --- a/model/sessions-jpa/src/main/java/org/keycloak/models/sessions/jpa/ClientSessionAdapter.java +++ b/model/sessions-jpa/src/main/java/org/keycloak/models/sessions/jpa/ClientSessionAdapter.java @@ -81,6 +81,16 @@ public class ClientSessionAdapter implements ClientSessionModel { return null; } + @Override + public Map getNotes() { + Map copy = new HashMap<>(); + for (ClientSessionNoteEntity attr : entity.getNotes()) { + copy.put(attr.getName(), attr.getValue()); + } + + return copy; + } + @Override public void setUserSessionNote(String name, String value) { for (ClientUserSessionNoteEntity attr : entity.getUserSessionNotes()) { diff --git a/model/sessions-mem/src/main/java/org/keycloak/models/sessions/mem/ClientSessionAdapter.java b/model/sessions-mem/src/main/java/org/keycloak/models/sessions/mem/ClientSessionAdapter.java index 2c344f66956..7fcd35f04ba 100755 --- a/model/sessions-mem/src/main/java/org/keycloak/models/sessions/mem/ClientSessionAdapter.java +++ b/model/sessions-mem/src/main/java/org/keycloak/models/sessions/mem/ClientSessionAdapter.java @@ -9,6 +9,8 @@ import org.keycloak.models.UserSessionModel; import org.keycloak.models.sessions.mem.entities.ClientSessionEntity; import org.keycloak.models.sessions.mem.entities.UserSessionEntity; +import java.util.Collections; +import java.util.HashMap; import java.util.Map; import java.util.Set; @@ -136,6 +138,14 @@ public class ClientSessionAdapter implements ClientSessionModel { } + @Override + public Map getNotes() { + if (entity.getNotes() == null || entity.getNotes().isEmpty()) return Collections.emptyMap(); + Map copy = new HashMap<>(); + copy.putAll(entity.getNotes()); + return copy; + } + @Override public void setUserSessionNote(String name, String value) { entity.getUserSessionNotes().put(name, value); diff --git a/model/sessions-mongo/src/main/java/org/keycloak/models/sessions/mongo/ClientSessionAdapter.java b/model/sessions-mongo/src/main/java/org/keycloak/models/sessions/mongo/ClientSessionAdapter.java index 1313d36a252..2120044ebaa 100755 --- a/model/sessions-mongo/src/main/java/org/keycloak/models/sessions/mongo/ClientSessionAdapter.java +++ b/model/sessions-mongo/src/main/java/org/keycloak/models/sessions/mongo/ClientSessionAdapter.java @@ -10,6 +10,7 @@ import org.keycloak.models.UserSessionModel; import org.keycloak.models.sessions.mongo.entities.MongoClientSessionEntity; import org.keycloak.models.sessions.mongo.entities.MongoUserSessionEntity; +import java.util.Collections; import java.util.HashMap; import java.util.HashSet; import java.util.LinkedList; @@ -157,6 +158,15 @@ public class ClientSessionAdapter extends AbstractMongoAdapter getNotes() { + if (entity.getNotes() == null || entity.getNotes().isEmpty()) return Collections.emptyMap(); + Map copy = new HashMap<>(); + copy.putAll(entity.getNotes()); + return copy; + } + + @Override public void setUserSessionNote(String name, String value) { entity.getUserSessionNotes().put(name, value);