Example usage for org.springframework.dao IncorrectResultSizeDataAccessException IncorrectResultSizeDataAccessException

List of usage examples for org.springframework.dao IncorrectResultSizeDataAccessException IncorrectResultSizeDataAccessException

Introduction

In this page you can find the example usage for org.springframework.dao IncorrectResultSizeDataAccessException IncorrectResultSizeDataAccessException.

Prototype

public IncorrectResultSizeDataAccessException(int expectedSize) 

Source Link

Document

Constructor for IncorrectResultSizeDataAccessException.

Usage

From source file:org.cloudfoundry.identity.uaa.scim.jdbc.JdbcScimUserProvisioning.java

@Override
public ScimUser update(final String id, final ScimUser user) throws InvalidScimResourceException {
    validate(user);/* ww  w .  ja v  a2  s .  com*/
    logger.debug("Updating user " + user.getUserName());
    final String origin = hasText(user.getOrigin()) ? user.getOrigin() : OriginKeys.UAA;
    final String zoneId = IdentityZoneHolder.get().getId();
    int updated = jdbcTemplate.update(UPDATE_USER_SQL, new PreparedStatementSetter() {
        @Override
        public void setValues(PreparedStatement ps) throws SQLException {
            int pos = 1;
            Timestamp t = new Timestamp(new Date().getTime());
            ps.setInt(pos++, user.getVersion() + 1);
            ps.setTimestamp(pos++, t);
            ps.setString(pos++, user.getUserName());
            ps.setString(pos++, user.getPrimaryEmail());
            ps.setString(pos++, user.getName().getGivenName());
            ps.setString(pos++, user.getName().getFamilyName());
            ps.setBoolean(pos++, user.isActive());
            ps.setString(pos++, extractPhoneNumber(user));
            ps.setBoolean(pos++, user.isVerified());
            ps.setString(pos++, origin);
            ps.setString(pos++, hasText(user.getExternalId()) ? user.getExternalId() : null);
            ps.setString(pos++, user.getSalt());
            ps.setString(pos++, id);
            ps.setInt(pos++, user.getVersion());
            ps.setString(pos++, zoneId);
        }
    });
    ScimUser result = retrieve(id);
    if (updated == 0) {
        throw new OptimisticLockingFailureException(
                String.format("Attempt to update a user (%s) with wrong version: expected=%d but found=%d", id,
                        result.getVersion(), user.getVersion()));
    }
    if (updated > 1) {
        throw new IncorrectResultSizeDataAccessException(1);
    }
    return result;
}

From source file:org.cloudfoundry.identity.uaa.scim.jdbc.JdbcScimUserProvisioning.java

private ScimUser deactivateUser(ScimUser user, int version) {
    logger.debug("Deactivating user: " + user.getId());
    int updated;/*ww  w.  j a  v a2s .  c o m*/
    if (version < 0) {
        // Ignore
        updated = jdbcTemplate.update(DEACTIVATE_USER_SQL, false, user.getId(),
                IdentityZoneHolder.get().getId());
    } else {
        updated = jdbcTemplate.update(DEACTIVATE_USER_SQL + " and version=?", false, user.getId(),
                IdentityZoneHolder.get().getId(), version);
    }
    if (updated == 0) {
        throw new OptimisticLockingFailureException(
                String.format("Attempt to update a user (%s) with wrong version: expected=%d but found=%d",
                        user.getId(), user.getVersion(), version));
    }
    if (updated > 1) {
        throw new IncorrectResultSizeDataAccessException(1);
    }
    user.setActive(false);
    return user;
}

From source file:org.cloudfoundry.identity.uaa.scim.jdbc.JdbcScimUserProvisioning.java

@Override
public ScimUser verifyUser(String id, int version)
        throws ScimResourceNotFoundException, InvalidScimResourceException {
    logger.debug("Verifying user: " + id);
    int updated;/*w w  w.ja  v  a2s . c  o  m*/
    if (version < 0) {
        // Ignore
        updated = jdbcTemplate.update(VERIFY_USER_SQL, true, id, IdentityZoneHolder.get().getId());
    } else {
        updated = jdbcTemplate.update(VERIFY_USER_SQL + " and version=?", true, id,
                IdentityZoneHolder.get().getId(), version);
    }
    ScimUser user = retrieve(id);
    if (updated == 0) {
        throw new OptimisticLockingFailureException(
                String.format("Attempt to update a user (%s) with wrong version: expected=%d but found=%d",
                        user.getId(), user.getVersion(), version));
    }
    if (updated > 1) {
        throw new IncorrectResultSizeDataAccessException(1);
    }
    return user;
}

From source file:org.cloudfoundry.identity.uaa.scim.JdbcScimUserProvisioning.java

@Override
public ScimUser updateUser(final String id, final ScimUser user) throws InvalidUserException {
    validate(user);//w  w w.  j ava  2s  .  co m
    logger.info("Updating user " + user.getUserName());

    int updated = jdbcTemplate.update(UPDATE_USER_SQL, new PreparedStatementSetter() {
        public void setValues(PreparedStatement ps) throws SQLException {
            ps.setInt(1, user.getVersion() + 1);
            ps.setTimestamp(2, new Timestamp(new Date().getTime()));
            ps.setString(3, user.getPrimaryEmail());
            ps.setString(4, user.getName().getGivenName());
            ps.setString(5, user.getName().getFamilyName());
            ps.setBoolean(6, user.isActive());
            ps.setLong(7, UaaAuthority.fromUserType(user.getUserType()).value());
            ps.setString(8, extractPhoneNumber(user));
            ps.setString(9, id);
            ps.setInt(10, user.getVersion());
        }
    });
    ScimUser result = retrieveUser(id);
    if (updated == 0) {
        throw new OptimisticLockingFailureException(
                String.format("Attempt to update a user (%s) with wrong version: expected=%d but found=%d", id,
                        result.getVersion(), user.getVersion()));
    }
    if (updated > 1) {
        throw new IncorrectResultSizeDataAccessException(1);
    }
    return result;
}

From source file:org.cloudfoundry.identity.uaa.scim.JdbcScimUserProvisioning.java

@Override
public boolean changePassword(final String id, String oldPassword, final String newPassword)
        throws UserNotFoundException {
    if (oldPassword != null) {
        checkPasswordMatches(id, oldPassword);
    }/* w ww. jav a 2  s .com*/

    int updated = jdbcTemplate.update(CHANGE_PASSWORD_SQL, new PreparedStatementSetter() {
        public void setValues(PreparedStatement ps) throws SQLException {
            ps.setTimestamp(1, new Timestamp(new Date().getTime()));
            ps.setString(2, passwordEncoder.encode(newPassword));
            ps.setString(3, id);
        }
    });
    if (updated == 0) {
        throw new UserNotFoundException("User " + id + " does not exist");
    }
    if (updated != 1) {
        throw new IncorrectResultSizeDataAccessException(1);
    }
    return true;
}

From source file:org.cloudfoundry.identity.uaa.scim.JdbcScimUserProvisioning.java

@Override
public ScimUser removeUser(String id, int version) {
    logger.info("Removing user: " + id);

    ScimUser user = retrieveUser(id);/*  ww w  . j av a  2  s.  co m*/
    int updated;

    if (version < 0) {
        // Ignore
        updated = jdbcTemplate.update(DELETE_USER_SQL, id);
    } else {
        updated = jdbcTemplate.update(DELETE_USER_SQL + " and version=?", id, version);
    }
    if (updated == 0) {
        throw new OptimisticLockingFailureException(
                String.format("Attempt to update a user (%s) with wrong version: expected=%d but found=%d", id,
                        user.getVersion(), version));
    }
    if (updated > 1) {
        throw new IncorrectResultSizeDataAccessException(1);
    }
    user.setActive(false);
    return user;
}