List of usage examples for org.springframework.dao IncorrectResultSizeDataAccessException IncorrectResultSizeDataAccessException
public IncorrectResultSizeDataAccessException(int expectedSize)
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; }