use of org.craftercms.commons.mongo.UpdateHelper in project profile by craftercms.
the class TenantServiceImpl method updateTenant.
protected Tenant updateTenant(String tenantName, UpdateCallback callback) throws ProfileException {
Tenant tenant = getTenant(tenantName);
if (tenant != null) {
checkIfTenantActionIsAllowed(tenantName, TenantAction.UPDATE_TENANT);
UpdateHelper updateHelper = new UpdateHelper();
TenantUpdater tenantUpdater = new TenantUpdater(tenant, updateHelper, tenantRepository);
callback.doWithTenant(tenantUpdater);
try {
tenantUpdater.update();
} catch (MongoDataException e) {
throw new I10nProfileException(ERROR_KEY_UPDATE_TENANT_ERROR, e, tenant.getName());
}
} else {
throw new NoSuchTenantException(tenantName);
}
return tenant;
}
use of org.craftercms.commons.mongo.UpdateHelper in project profile by craftercms.
the class ProfileServiceImpl method updateProfile.
protected Profile updateProfile(String profileId, UpdateCallback callback, String... attributesToReturn) throws ProfileException {
// We need to filter the attributes after save, if not, the attributes to return will replace all the
// attributes
Profile profile = getNonNullProfile(profileId);
UpdateHelper updateHelper = new UpdateHelper();
ProfileUpdater profileUpdater = new ProfileUpdater(profile, updateHelper, profileRepository);
callback.doWithProfile(profileUpdater);
profileUpdater.setLastModified(new Date());
try {
profileUpdater.update();
} catch (MongoDataException e) {
throw new I10nProfileException(ERROR_KEY_UPDATE_PROFILE_ERROR, e, profileId);
}
return filterAttributes(profile, attributesToReturn);
}
Aggregations