Example usage for org.springframework.jdbc.core PreparedStatementSetter PreparedStatementSetter

List of usage examples for org.springframework.jdbc.core PreparedStatementSetter PreparedStatementSetter

Introduction

In this page you can find the example usage for org.springframework.jdbc.core PreparedStatementSetter PreparedStatementSetter.

Prototype

PreparedStatementSetter

Source Link

Usage

From source file:org.cloudfoundry.identity.uaa.scim.dao.standard.JdbcScimGroupExternalMembershipManager.java

@Override
public List<ScimGroupExternalMemberInterface> getExternalGroupMapsByGroupId(final String groupId)
        throws ScimResourceNotFoundException {
    return jdbcTemplate.query(GET_EXTERNAL_GROUP_MAPPINGS_SQL, new PreparedStatementSetter() {
        @Override/*  w w  w . ja  va2  s  .com*/
        public void setValues(PreparedStatement ps) throws SQLException {
            ps.setString(1, groupId);
        }
    }, rowMapper);
}

From source file:org.cloudfoundry.identity.uaa.scim.dao.standard.JdbcScimGroupExternalMembershipManager.java

@Override
public List<ScimGroupExternalMemberInterface> getExternalGroupMapsByGroupName(final String groupName)
        throws ScimResourceNotFoundException {
    final List<ScimGroupInterface> groups = scimGroupProvisioning
            .query(String.format("displayName eq '%s'", groupName));

    if (null != groups && groups.size() > 0) {
        return jdbcTemplate.query(GET_EXTERNAL_GROUP_MAPPINGS_SQL, new PreparedStatementSetter() {
            @Override//w  w w  .j  ava 2  s  .  c o m
            public void setValues(PreparedStatement ps) throws SQLException {
                ps.setString(1, groups.get(0).getId());
            }
        }, rowMapper);
    } else {
        return null;
    }
}

From source file:org.cloudfoundry.identity.uaa.scim.dao.standard.JdbcScimGroupExternalMembershipManager.java

@Override
public List<ScimGroupExternalMemberInterface> getExternalGroupMapsByExternalGroup(final String externalGroup)
        throws ScimResourceNotFoundException {
    return jdbcTemplate.query(GET_GROUPS_BY_EXTERNAL_GROUP_MAPPING_SQL, new PreparedStatementSetter() {
        @Override/*  w w  w  .j a  va  2 s . c  o  m*/
        public void setValues(PreparedStatement ps) throws SQLException {
            ps.setString(1, externalGroup);
        }
    }, rowMapper);
}

From source file:org.cloudfoundry.identity.uaa.scim.dao.standard.JdbcScimGroupMembershipManager.java

@Override
public ScimGroupMemberInterface addMember(final String groupId, final ScimGroupMemberInterface member)
        throws ScimResourceNotFoundException, MemberAlreadyExistsException {
    // first validate the supplied groupId, memberId
    validateRequest(groupId, member);//from   ww w. j  a v a2s . com
    final String authorities = getGroupAuthorities(member);
    final String type = (member.getType() == null ? ScimGroupMemberInterface.Type.USER : member.getType())
            .toString();
    try {
        jdbcTemplate.update(ADD_MEMBER_SQL, new PreparedStatementSetter() {
            @Override
            public void setValues(PreparedStatement ps) throws SQLException {
                ps.setString(1, groupId);
                ps.setString(2, member.getMemberId());
                ps.setString(3, type);
                ps.setString(4, authorities);
                ps.setTimestamp(5, new Timestamp(new Date().getTime()));
            }
        });
    } catch (DuplicateKeyException e) {
        throw new MemberAlreadyExistsException(
                member.getMemberId() + " is already part of the group: " + groupId);
    }
    return getMemberById(groupId, member.getMemberId());
}

From source file:org.cloudfoundry.identity.uaa.scim.dao.standard.JdbcScimGroupMembershipManager.java

@Override
public List<ScimGroupMemberInterface> getMembers(final String groupId) throws ScimResourceNotFoundException {
    return jdbcTemplate.query(GET_MEMBERS_SQL, new PreparedStatementSetter() {
        @Override//  w w  w .ja v a  2 s  .c o m
        public void setValues(PreparedStatement ps) throws SQLException {
            ps.setString(1, groupId);
        }
    }, rowMapper);
}

From source file:org.cloudfoundry.identity.uaa.scim.dao.standard.JdbcScimGroupMembershipManager.java

private void getGroupsWithMember(List<ScimGroupInterface> results, final String memberId, boolean transitive) {
    if (results == null) {
        return;/*from  ww  w .  jav a2s .com*/
    }
    List<String> groupIds;
    try {
        groupIds = jdbcTemplate.query(GET_GROUPS_BY_MEMBER_SQL, new PreparedStatementSetter() {
            @Override
            public void setValues(PreparedStatement ps) throws SQLException {
                ps.setString(1, memberId);
            }
        }, new SingleColumnRowMapper<String>(String.class));
    } catch (EmptyResultDataAccessException ex) {
        groupIds = Collections.<String>emptyList();
    }

    for (String groupId : groupIds) {
        ScimGroupInterface group;
        try {
            group = groupProvisioning.retrieve(groupId);
        } catch (ScimResourceNotFoundException ex) {
            continue;
        }
        if (!results.contains(group)) { // to ensure we don't go into
                                        // infinite recursion caused by
                                        // nested group cycles
            results.add(group);
            if (transitive) {
                getGroupsWithMember(results, groupId, transitive);
            }
        }
    }

}

From source file:org.cloudfoundry.identity.uaa.scim.dao.standard.JdbcScimGroupMembershipManager.java

@Override
public List<ScimGroupMemberInterface> getMembers(final String groupId,
        final ScimGroupMemberInterface.Role permission) throws ScimResourceNotFoundException {
    logger.debug("getting members of type: " + permission + " from group: " + groupId);
    List<ScimGroupMemberInterface> members = new ArrayList<ScimGroupMemberInterface>();
    members.addAll(jdbcTemplate.query(GET_MEMBERS_WITH_AUTHORITY_SQL, new PreparedStatementSetter() {
        @Override//from w w w .ja  va2 s  . c  om
        public void setValues(PreparedStatement ps) throws SQLException {
            ps.setString(1, groupId);
            ps.setString(2, "%" + permission.toString().toLowerCase() + "%");
        }
    }, rowMapper));
    return members;
}

From source file:org.cloudfoundry.identity.uaa.scim.dao.standard.JdbcScimGroupMembershipManager.java

@Override
public ScimGroupMemberInterface updateMember(final String groupId, final ScimGroupMemberInterface member)
        throws ScimResourceNotFoundException, MemberNotFoundException {
    validateRequest(groupId, member);/* w ww.j  ava2s  .c om*/
    final String authorities = getGroupAuthorities(member);
    int updated = jdbcTemplate.update(UPDATE_MEMBER_SQL, new PreparedStatementSetter() {
        @Override
        public void setValues(PreparedStatement ps) throws SQLException {
            ps.setString(1, authorities);
            ps.setString(2, groupId);
            ps.setString(3, member.getMemberId());
        }
    });

    if (updated != 1) {
        throw new IncorrectResultSizeDataAccessException("unexpected number of members updated", 1, updated);
    }

    return getMemberById(groupId, member.getMemberId());
}

From source file:org.cloudfoundry.identity.uaa.scim.dao.standard.JdbcScimGroupMembershipManager.java

@Override
public ScimGroupMemberInterface removeMemberById(final String groupId, final String memberId)
        throws ScimResourceNotFoundException, MemberNotFoundException {
    ScimGroupMemberInterface member = getMemberById(groupId, memberId);
    int deleted = jdbcTemplate.update(DELETE_MEMBER_SQL, new PreparedStatementSetter() {
        @Override//  www.  java 2  s .  c o m
        public void setValues(PreparedStatement ps) throws SQLException {
            ps.setString(1, groupId);
            ps.setString(2, memberId);
        }
    });

    if (deleted != 1) {
        throw new IncorrectResultSizeDataAccessException("unexpected number of members removed", 1, deleted);
    }
    return member;
}

From source file:org.cloudfoundry.identity.uaa.scim.dao.standard.JdbcScimGroupMembershipManager.java

@Override
public List<ScimGroupMemberInterface> removeMembersByGroupId(final String groupId)
        throws ScimResourceNotFoundException {
    List<ScimGroupMemberInterface> members = getMembers(groupId);
    logger.debug("removing " + members + " members from group: " + groupId);

    int deleted = jdbcTemplate.update(DELETE_MEMBERS_IN_GROUP_SQL, new PreparedStatementSetter() {
        @Override//  w  ww  . ja v  a2  s. co  m
        public void setValues(PreparedStatement ps) throws SQLException {
            ps.setString(1, groupId);
        }
    });
    if (deleted != members.size()) {
        throw new IncorrectResultSizeDataAccessException("unexpected number of members removed", members.size(),
                deleted);
    }

    return members;
}