@Override
public Configuration deactivateOldConfiguration(String schemaId,
String groupId,
String username) {
LOG.debug("Deactivating old configurations by configuration schema id [{}] and"
+ " endpoint group id [{}] ",
schemaId, groupId);
Configuration configuration = null;
if (isNotBlank(schemaId) && isNotBlank(groupId)) {
Criteria criteria = getCriteria();
criteria.createAlias(CONFIGURATION_SCHEMA_PROPERTY, CONFIGURATION_SCHEMA_ALIAS);
criteria.createAlias(ENDPOINT_GROUP_PROPERTY, ENDPOINT_GROUP_ALIAS);
Criterion criterion = Restrictions.and(
Restrictions.eq(ENDPOINT_GROUP_REFERENCE, Long.valueOf(groupId)),
Restrictions.eq(CONFIGURATION_SCHEMA_REFERENCE, Long.valueOf(schemaId)),
Restrictions.eq(STATUS_PROPERTY, UpdateStatus.ACTIVE));
criteria.add(criterion);
configuration = findOneByCriteria(criteria);
if (configuration != null) {
configuration.setDeactivatedUsername(username);
configuration.setDeactivatedTime(System.currentTimeMillis());
configuration.setStatus(UpdateStatus.DEPRECATED);
save(configuration);
}
}
LOG.debug("[{},{},{}] Configuration deactivated.", schemaId, groupId, username);
return configuration;
}