/** * Has this updater at least one field to update (directly or in its personal / professional contact data)? * * @return true if there is at least one field to update */ public boolean hasFields() { return !getFields().isEmpty() || getPersoContactUpdater() != null && getPersoContactUpdater().hasFields() || getProContactUpdater() != null && getProContactUpdater().hasFields(); }
@Override public User updateUser(final long userId, final UserUpdater updater) throws UserNotFoundException, UpdateException { if (updater == null || !updater.hasFields()) { throw new UpdateException("The update descriptor does not contain field updates"); } final TenantServiceAccessor tenantAccessor = getTenantAccessor(); final IdentityService identityService = tenantAccessor.getIdentityService(); // User change final EntityUpdateDescriptor userUpdateDescriptor = getUserUpdateDescriptor(updater, tenantAccessor.getTechnicalLoggerService()); // Personal data change final EntityUpdateDescriptor personalDataUpdateDescriptor = getUserContactInfoUpdateDescriptor(updater.getPersoContactUpdater()); // Professional data change final EntityUpdateDescriptor professionalDataUpdateDescriptor = getUserContactInfoUpdateDescriptor(updater.getProContactUpdater()); final EntityUpdateDescriptor iconUpdater = getIconUpdater(updater); try { SUser sUser = identityService.updateUser(userId, userUpdateDescriptor, personalDataUpdateDescriptor, professionalDataUpdateDescriptor, iconUpdater); return ModelConvertor.toUser(sUser); } catch (final SUserNotFoundException e) { throw new UserNotFoundException(e); } catch (final SBonitaException e) { throw new UpdateException(e); } }
private EntityUpdateDescriptor getIconUpdater(UserUpdater updater) { EntityUpdateDescriptor entityUpdateDescriptor = new EntityUpdateDescriptor(); if (updater.getFields().containsKey(UserField.ICON_CONTENT)) { entityUpdateDescriptor.addField("filename", updater.getFields().get(UserField.ICON_FILENAME)); entityUpdateDescriptor.addField("content", updater.getFields().get(UserField.ICON_CONTENT)); } return entityUpdateDescriptor; }
@Override public User updateUser(final long userId, final UserUpdater updater) throws UserNotFoundException, UpdateException { if (updater == null || !updater.hasFields()) { throw new UpdateException("The update descriptor does not contain field updates"); } final TenantServiceAccessor tenantAccessor = getTenantAccessor(); final IdentityService identityService = tenantAccessor.getIdentityService(); // User change final EntityUpdateDescriptor userUpdateDescriptor = getUserUpdateDescriptor(updater, tenantAccessor.getTechnicalLoggerService()); // Personal data change final EntityUpdateDescriptor personalDataUpdateDescriptor = getUserContactInfoUpdateDescriptor(updater.getPersoContactUpdater()); // Professional data change final EntityUpdateDescriptor professionalDataUpdateDescriptor = getUserContactInfoUpdateDescriptor(updater.getProContactUpdater()); final EntityUpdateDescriptor iconUpdater = getIconUpdater(updater); try { SUser sUser = identityService.updateUser(userId, userUpdateDescriptor, personalDataUpdateDescriptor, professionalDataUpdateDescriptor, iconUpdater); return ModelConvertor.toUser(sUser); } catch (final SUserNotFoundException e) { throw new UserNotFoundException(e); } catch (final SBonitaException e) { throw new UpdateException(e); } }
private EntityUpdateDescriptor getIconUpdater(UserUpdater updater) { EntityUpdateDescriptor entityUpdateDescriptor = new EntityUpdateDescriptor(); if (updater.getFields().containsKey(UserField.ICON_CONTENT)) { entityUpdateDescriptor.addField("filename", updater.getFields().get(UserField.ICON_FILENAME)); entityUpdateDescriptor.addField("content", updater.getFields().get(UserField.ICON_CONTENT)); } return entityUpdateDescriptor; }
/** * Has this updater at least one field to update (directly or in its personal / professional contact data)? * * @return true if there is at least one field to update */ public boolean hasFields() { return !getFields().isEmpty() || getPersoContactUpdater() != null && getPersoContactUpdater().hasFields() || getProContactUpdater() != null && getProContactUpdater().hasFields(); }
private EntityUpdateDescriptor getUserUpdateDescriptor(final UserUpdater updateDescriptor, TechnicalLoggerService technicalLoggerService) { final SUserUpdateBuilder userUpdateBuilder = BuilderFactory.get(SUserUpdateBuilderFactory.class).createNewInstance(); if (updateDescriptor != null) { final Map<UserField, Serializable> fields = updateDescriptor.getFields(); for (final Entry<UserField, Serializable> field : fields.entrySet()) { switch (field.getKey()) {
private EntityUpdateDescriptor getUserUpdateDescriptor(final UserUpdater updateDescriptor, TechnicalLoggerService technicalLoggerService) { final SUserUpdateBuilder userUpdateBuilder = BuilderFactory.get(SUserUpdateBuilderFactory.class).createNewInstance(); if (updateDescriptor != null) { final Map<UserField, Serializable> fields = updateDescriptor.getFields(); for (final Entry<UserField, Serializable> field : fields.entrySet()) { switch (field.getKey()) {