Search in sources :

Example 1 with ProfileUpdater

use of org.craftercms.profile.utils.db.ProfileUpdater 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);
}
Also used : UpdateHelper(org.craftercms.commons.mongo.UpdateHelper) ProfileUpdater(org.craftercms.profile.utils.db.ProfileUpdater) I10nProfileException(org.craftercms.profile.api.exceptions.I10nProfileException) MongoDataException(org.craftercms.commons.mongo.MongoDataException) Profile(org.craftercms.profile.api.Profile) Date(java.util.Date)

Aggregations

Date (java.util.Date)1 MongoDataException (org.craftercms.commons.mongo.MongoDataException)1 UpdateHelper (org.craftercms.commons.mongo.UpdateHelper)1 Profile (org.craftercms.profile.api.Profile)1 I10nProfileException (org.craftercms.profile.api.exceptions.I10nProfileException)1 ProfileUpdater (org.craftercms.profile.utils.db.ProfileUpdater)1