コード例 #1
0
ファイル: UserAdapter.java プロジェクト: hh201020/keycloak
  @Override
  public void setSingleAttribute(String name, String value) {
    boolean found = false;
    List<UserAttributeEntity> toRemove = new ArrayList<>();
    for (UserAttributeEntity attr : user.getAttributes()) {
      if (attr.getName().equals(name)) {
        if (!found) {
          attr.setValue(value);
          found = true;
        } else {
          toRemove.add(attr);
        }
      }
    }

    for (UserAttributeEntity attr : toRemove) {
      em.remove(attr);
      user.getAttributes().remove(attr);
    }

    if (found) {
      return;
    }

    persistAttributeValue(name, value);
  }
コード例 #2
0
ファイル: UserAdapter.java プロジェクト: appcube/keycloak
 @Override
 public Map<String, String> getAttributes() {
   Map<String, String> result = new HashMap<String, String>();
   for (UserAttributeEntity attr : user.getAttributes()) {
     result.put(attr.getName(), attr.getValue());
   }
   return result;
 }
コード例 #3
0
ファイル: UserAdapter.java プロジェクト: hh201020/keycloak
 @Override
 public Map<String, List<String>> getAttributes() {
   MultivaluedHashMap<String, String> result = new MultivaluedHashMap<>();
   for (UserAttributeEntity attr : user.getAttributes()) {
     result.add(attr.getName(), attr.getValue());
   }
   return result;
 }
コード例 #4
0
ファイル: UserAdapter.java プロジェクト: appcube/keycloak
 @Override
 public String getAttribute(String name) {
   for (UserAttributeEntity attr : user.getAttributes()) {
     if (attr.getName().equals(name)) {
       return attr.getValue();
     }
   }
   return null;
 }
コード例 #5
0
ファイル: UserAdapter.java プロジェクト: hh201020/keycloak
 private void persistAttributeValue(String name, String value) {
   UserAttributeEntity attr = new UserAttributeEntity();
   attr.setId(KeycloakModelUtils.generateId());
   attr.setName(name);
   attr.setValue(value);
   attr.setUser(user);
   em.persist(attr);
   user.getAttributes().add(attr);
 }
コード例 #6
0
ファイル: UserAdapter.java プロジェクト: hh201020/keycloak
 @Override
 public List<String> getAttribute(String name) {
   List<String> result = new ArrayList<>();
   for (UserAttributeEntity attr : user.getAttributes()) {
     if (attr.getName().equals(name)) {
       result.add(attr.getValue());
     }
   }
   return result;
 }
コード例 #7
0
ファイル: UserAdapter.java プロジェクト: appcube/keycloak
 @Override
 public void removeAttribute(String name) {
   Iterator<UserAttributeEntity> it = user.getAttributes().iterator();
   while (it.hasNext()) {
     UserAttributeEntity attr = it.next();
     if (attr.getName().equals(name)) {
       it.remove();
       em.remove(attr);
     }
   }
 }
コード例 #8
0
  @Override
  public boolean equals(Object o) {
    if (this == o) return true;
    if (o == null) return false;
    if (!(o instanceof UserAttributeEntity)) return false;

    UserAttributeEntity that = (UserAttributeEntity) o;

    if (!id.equals(that.getId())) return false;

    return true;
  }
コード例 #9
0
ファイル: UserAdapter.java プロジェクト: appcube/keycloak
 @Override
 public void setAttribute(String name, String value) {
   for (UserAttributeEntity attr : user.getAttributes()) {
     if (attr.getName().equals(name)) {
       attr.setValue(value);
       return;
     }
   }
   UserAttributeEntity attr = new UserAttributeEntity();
   attr.setName(name);
   attr.setValue(value);
   attr.setUser(user);
   em.persist(attr);
   user.getAttributes().add(attr);
 }