gluu
公開メンバ関数 | 非公開メンバ関数 | 非公開変数類 | 静的非公開変数類 | 全メンバ一覧
org.gluu.oxtrust.action.UpdatePersonAction クラス
org.gluu.oxtrust.action.UpdatePersonAction の継承関係図
Inheritance graph
org.gluu.oxtrust.action.UpdatePersonAction 連携図
Collaboration graph

公開メンバ関数

GluuCustomFidoDevice getFidoDevice ()
 
void setFidoDevice (GluuCustomFidoDevice fidoDevice)
 
List< GluuDeviceDataBeangetDeviceDataMap ()
 
void setDeviceDataMap (List< GluuDeviceDataBean > deviceDataMap)
 
DeviceData getDeviceDetail ()
 
void setDeviceDetail (DeviceData deviceDetail)
 
List< String > getExternalAuthCustomAttributes ()
 
void setExternalAuthCustomAttributes (List< String > externalAuthCustomAttributes)
 
GluuStatus getGluuStatus ()
 
void setGluuStatus (GluuStatus gluuStatus)
 
String add ()
 
String update ()
 
String cancel ()
 
String save () throws Exception
 
String delete ()
 
String getGroupName (String dn)
 
String getInum ()
 
void setInum (String inum)
 
GluuCustomPerson getPerson ()
 
boolean isUpdate ()
 
GluuStatus [] getActiveInactiveStatuses ()
 
void validateConfirmPassword (FacesContext context, UIComponent comp, Object value)
 
void removeDevice (GluuDeviceDataBean deleteDeviceData)
 
void fetchFidoRecord (String id)
 
boolean userNameIsUniqAtCreationTime (String uid)
 
boolean userNameIsUniqAtEditionTime (String uid)
 
boolean userEmailIsUniqAtCreationTime (String email)
 
boolean userEmailIsUniqAtEditionTime (String email)
 

非公開メンバ関数

void updateCustomObjectClasses ()
 
void initAttributes (boolean add)
 
DeviceData getDeviceata (String data)
 

非公開変数類

Logger log
 
String inum
 
boolean update
 
GluuCustomPerson person
 
FacesMessages facesMessages
 
ConversationService conversationService
 
OrganizationService organizationService
 
GroupService groupService
 
AttributeService attributeService
 
IPersonService personService
 
CustomAttributeAction customAttributeAction
 
AppConfiguration appConfiguration
 
ExternalUpdateUserService externalUpdateUserService
 
MemberService memberService
 
PersistenceEntryManager ldapEntryManager
 
FidoDeviceService fidoDeviceService
 
Identity identity
 
OxTrustAuditService oxTrustAuditService
 
GluuStatus gluuStatus
 
String password
 
String confirmPassword
 
List< GluuDeviceDataBeandeviceDataMap
 
GluuCustomFidoDevice fidoDevice
 
List< String > externalAuthCustomAttributes
 
DeviceData deviceDetail
 

静的非公開変数類

static final long serialVersionUID = -3242167044333943689L
 

詳解

Action class for updating person's attributes

著者
Yuriy Movchan Date: 10.23.2010

関数詳解

◆ add()

String org.gluu.oxtrust.action.UpdatePersonAction.add ( )
inline

Initializes attributes for adding new person

戻り値
String describing success of the operation
例外
Exception
187  {
189  facesMessages.add(FacesMessage.SEVERITY_ERROR, "Failed to add new person");
190  conversationService.endConversation();
191 
192  return OxTrustConstants.RESULT_FAILURE;
193  }
194 
195  if (this.person != null) {
196  return OxTrustConstants.RESULT_SUCCESS;
197  }
198 
199  this.update = false;
200  this.person = new GluuCustomPerson();
201 
202  initAttributes(true);
203 
204  return OxTrustConstants.RESULT_SUCCESS;
205  }
String update()
Definition: UpdatePersonAction.java:213
FacesMessages facesMessages
Definition: UpdatePersonAction.java:86
ConversationService conversationService
Definition: UpdatePersonAction.java:89
void initAttributes(boolean add)
Definition: UpdatePersonAction.java:525
boolean isAllowPersonModification()
Definition: OrganizationService.java:193
OrganizationService organizationService
Definition: UpdatePersonAction.java:92
GluuCustomPerson person
Definition: UpdatePersonAction.java:83

◆ cancel()

String org.gluu.oxtrust.action.UpdatePersonAction.cancel ( )
inline
328  {
329  if (update) {
330  facesMessages.add(FacesMessage.SEVERITY_INFO,
331  "Person '#{updatePersonAction.person.displayName}' not updated");
332  } else {
333  facesMessages.add(FacesMessage.SEVERITY_INFO, "New person not added");
334  }
335 
336  conversationService.endConversation();
337 
338  return OxTrustConstants.RESULT_SUCCESS;
339  }
String update()
Definition: UpdatePersonAction.java:213
FacesMessages facesMessages
Definition: UpdatePersonAction.java:86
ConversationService conversationService
Definition: UpdatePersonAction.java:89

◆ delete()

String org.gluu.oxtrust.action.UpdatePersonAction.delete ( )
inline

Delete selected person from ldap

戻り値
String describing success of the operation
例外
Exception
487  {
489  facesMessages.add(FacesMessage.SEVERITY_ERROR,
490  "Failed to remove person '#{updatePersonAction.person.displayName}'");
491  return OxTrustConstants.RESULT_FAILURE;
492  }
493 
494  if (update) {
495  // Remove person
496  try {
497  boolean runScript = externalUpdateUserService.isEnabled();
498  if (runScript) {
500  }
502  oxTrustAuditService.audit("USER " + this.person.getInum() + " **"+this.person.getDisplayName()+ "** REMOVED",
503  identity.getUser(),
504  (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest());
505  if (runScript) {
507  }
508 
509  facesMessages.add(FacesMessage.SEVERITY_INFO,
510  "Person '#{updatePersonAction.person.displayName}' removed successfully");
511  conversationService.endConversation();
512 
513  return OxTrustConstants.RESULT_SUCCESS;
514  } catch (BasePersistenceException ex) {
515  log.error("Failed to remove person {}", this.person.getInum(), ex);
516  }
517  }
518 
519  facesMessages.add(FacesMessage.SEVERITY_ERROR,
520  "Failed to remove person '#{updatePersonAction.person.displayName}'");
521 
522  return OxTrustConstants.RESULT_FAILURE;
523  }
Logger log
Definition: UpdatePersonAction.java:78
String update()
Definition: UpdatePersonAction.java:213
FacesMessages facesMessages
Definition: UpdatePersonAction.java:86
boolean executeExternalDeleteUserMethods(GluuCustomPerson user)
Definition: ExternalUpdateUserService.java:190
OxTrustAuditService oxTrustAuditService
Definition: UpdatePersonAction.java:125
void removePerson(GluuCustomPerson person)
Definition: MemberService.java:30
ConversationService conversationService
Definition: UpdatePersonAction.java:89
void audit(String message, GluuCustomPerson user, HttpServletRequest request)
Definition: OxTrustAuditService.java:18
GluuCustomPerson getUser()
Definition: Identity.java:39
ExternalUpdateUserService externalUpdateUserService
Definition: UpdatePersonAction.java:110
Identity identity
Definition: UpdatePersonAction.java:122
String getDisplayName()
Definition: User.java:58
String getInum()
Definition: User.java:42
boolean executeExternalPostDeleteUserMethods(GluuCustomPerson user)
Definition: ExternalUpdateUserService.java:221
MemberService memberService
Definition: UpdatePersonAction.java:113
boolean isAllowPersonModification()
Definition: OrganizationService.java:193
OrganizationService organizationService
Definition: UpdatePersonAction.java:92
GluuCustomPerson person
Definition: UpdatePersonAction.java:83

◆ fetchFidoRecord()

void org.gluu.oxtrust.action.UpdatePersonAction.fetchFidoRecord ( String  id)
inline
716  {
718  if (this.fidoDevice.getDeviceData() != null) {
720  } else {
721  this.deviceDetail = null;
722  }
723 
724  }
GluuCustomFidoDevice fidoDevice
Definition: UpdatePersonAction.java:135
DeviceData getDeviceata(String data)
Definition: UpdatePersonAction.java:696
DeviceData deviceDetail
Definition: UpdatePersonAction.java:155
String getDeviceData()
Definition: GluuCustomFidoDevice.java:108
String getInum()
Definition: User.java:42
FidoDeviceService fidoDeviceService
Definition: UpdatePersonAction.java:119
GluuCustomFidoDevice getGluuCustomFidoDeviceById(String userId, String id)
Definition: FidoDeviceService.java:60
GluuCustomPerson person
Definition: UpdatePersonAction.java:83

◆ getActiveInactiveStatuses()

GluuStatus [] org.gluu.oxtrust.action.UpdatePersonAction.getActiveInactiveStatuses ( )
inline
598  {
599  return new GluuStatus[] { GluuStatus.ACTIVE, GluuStatus.INACTIVE };
600  }

◆ getDeviceata()

DeviceData org.gluu.oxtrust.action.UpdatePersonAction.getDeviceata ( String  data)
inlineprivate
696  {
697  ObjectMapper mapper = new ObjectMapper();
698 
699  // JSON from file to Object
700  DeviceData obj = null;
701  try {
702  obj = mapper.readValue(data, DeviceData.class);
703  } catch (JsonParseException e) {
704  // TODO Auto-generated catch block
705  log.error("Failed to convert device string to object JsonParseException", e);
706  } catch (JsonMappingException e) {
707  // TODO Auto-generated catch block
708  log.error("Failed to convert device string to object JsonMappingException", e);
709  } catch (IOException e) {
710  // TODO Auto-generated catch block
711  log.error("Failed to convert device string to object IOException", e);
712  }
713  return obj;
714  }
Logger log
Definition: UpdatePersonAction.java:78

◆ getDeviceDataMap()

List<GluuDeviceDataBean> org.gluu.oxtrust.action.UpdatePersonAction.getDeviceDataMap ( )
inline
145  {
146  return deviceDataMap;
147  }
List< GluuDeviceDataBean > deviceDataMap
Definition: UpdatePersonAction.java:133

◆ getDeviceDetail()

DeviceData org.gluu.oxtrust.action.UpdatePersonAction.getDeviceDetail ( )
inline
157  {
158  return deviceDetail;
159  }
DeviceData deviceDetail
Definition: UpdatePersonAction.java:155

◆ getExternalAuthCustomAttributes()

List<String> org.gluu.oxtrust.action.UpdatePersonAction.getExternalAuthCustomAttributes ( )
inline
165  {
167  }
List< String > externalAuthCustomAttributes
Definition: UpdatePersonAction.java:153

◆ getFidoDevice()

GluuCustomFidoDevice org.gluu.oxtrust.action.UpdatePersonAction.getFidoDevice ( )
inline
137  {
138  return fidoDevice;
139  }
GluuCustomFidoDevice fidoDevice
Definition: UpdatePersonAction.java:135

◆ getGluuStatus()

GluuStatus org.gluu.oxtrust.action.UpdatePersonAction.getGluuStatus ( )
inline
173  {
174  return gluuStatus;
175  }
GluuStatus gluuStatus
Definition: UpdatePersonAction.java:127

◆ getGroupName()

String org.gluu.oxtrust.action.UpdatePersonAction.getGroupName ( String  dn)
inline
548  {
549  if (dn != null) {
550  GluuGroup group = groupService.getGroupByDn(dn);
551  if (group != null) {
552  String groupName = group.getDisplayName();
553  if (groupName != null && !groupName.isEmpty()) {
554  return groupName;
555  }
556  }
557  }
558  return "invalid group name";
559 
560  }
GroupService groupService
Definition: UpdatePersonAction.java:95
String getDisplayName()
Definition: GluuGroup.java:94
GluuGroup getGroupByDn(String Dn)
Definition: GroupService.java:255

◆ getInum()

String org.gluu.oxtrust.action.UpdatePersonAction.getInum ( )
inline

Returns person's inum

戻り値
inum
567  {
568  return inum;
569  }
String inum
Definition: UpdatePersonAction.java:80

◆ getPerson()

GluuCustomPerson org.gluu.oxtrust.action.UpdatePersonAction.getPerson ( )
inline

Returns person

戻り値
GluuCustomPerson
585  {
586  return person;
587  }
GluuCustomPerson person
Definition: UpdatePersonAction.java:83

◆ initAttributes()

void org.gluu.oxtrust.action.UpdatePersonAction.initAttributes ( boolean  add)
inlineprivate
525  {
526  if (add && externalUpdateUserService.isEnabled()) {
528  }
529 
530  List<GluuAttribute> attributes = attributeService.getAllPersonAttributes(UserRole.ADMIN);
531  List<String> origins = attributeService.getAllAttributeOrigins(attributes);
532 
533  List<GluuCustomAttribute> customAttributes = this.person.getCustomAttributes();
534  boolean newPerson = (customAttributes == null) || customAttributes.isEmpty();
535  if (newPerson) {
536  customAttributes = new ArrayList<GluuCustomAttribute>();
537  this.person.setCustomAttributes(customAttributes);
538  }
539 
540  customAttributeAction.initCustomAttributes(attributes, customAttributes, origins,
541  appConfiguration.getPersonObjectClassTypes(), appConfiguration.getPersonObjectClassDisplayNames());
542 
543  if (newPerson) {
545  }
546  }
boolean executeExternalNewUserMethods(GluuCustomPerson user)
Definition: ExternalUpdateUserService.java:164
void addCustomAttributes(List< GluuCustomAttribute > newCustomAttributes)
Definition: CustomAttributeAction.java:267
void setCustomAttributes(List< GluuCustomAttribute > customAttributes)
Definition: User.java:38
List< GluuCustomAttribute > getCustomAttributes()
Definition: User.java:34
List< String > getAllAttributeOrigins()
Definition: AttributeService.java:175
List< GluuAttribute > getAllPersonAttributes(UserRole gluuUserRole)
Definition: AttributeService.java:74
void initCustomAttributes(List< GluuAttribute > attributes, List< GluuCustomAttribute > customAttributes, List< String > origins, String[] objectClassTypes, String[] objectClassDisplayNames)
Definition: CustomAttributeAction.java:99
AttributeService attributeService
Definition: UpdatePersonAction.java:98
CustomAttributeAction customAttributeAction
Definition: UpdatePersonAction.java:104
ExternalUpdateUserService externalUpdateUserService
Definition: UpdatePersonAction.java:110
String add()
Definition: UpdatePersonAction.java:187
abstract List< GluuCustomAttribute > getMandatoryAtributes()
GluuCustomPerson person
Definition: UpdatePersonAction.java:83
AppConfiguration appConfiguration
Definition: UpdatePersonAction.java:107
IPersonService personService
Definition: UpdatePersonAction.java:101

◆ isUpdate()

boolean org.gluu.oxtrust.action.UpdatePersonAction.isUpdate ( )
inline

Return true if person is being updated, false if adding new person

戻り値
594  {
595  return update;
596  }
String update()
Definition: UpdatePersonAction.java:213

◆ removeDevice()

void org.gluu.oxtrust.action.UpdatePersonAction.removeDevice ( GluuDeviceDataBean  deleteDeviceData)
inline
617  {
618  try {
619  List<GluuCustomFidoDevice> gluuCustomFidoDevices = fidoDeviceService
620  .searchFidoDevices(this.person.getInum(), null);
621  if (gluuCustomFidoDevices != null) {
622  for (GluuCustomFidoDevice gluuCustomFidoDevice : gluuCustomFidoDevices) {
623  if (gluuCustomFidoDevice.getId().equals(deleteDeviceData.getId())) {
624  fidoDeviceService.removeGluuCustomFidoDevice(gluuCustomFidoDevice);
625  this.deviceDataMap.remove(deleteDeviceData);
626  return;
627  }
628  }
629  }
630 
631  List<String> list = new ArrayList<String>(this.person.getOxExternalUid());
632  if (list != null) {
633  for (String external : list) {
634  if (deleteDeviceData.getId().trim().equals(external.trim())) {
635  list.remove(external);
636  this.person.setOxExternalUid(list);
637  this.deviceDataMap.remove(deleteDeviceData);
638  return;
639  }
640  }
641  }
642 
643  OTPDevice oxOTPDevices = this.person.getOxOTPDevices();
644  /*
645  * if (oxOTPDevices != null && !oxOTPDevices.trim().equals("")) { ObjectMapper
646  * mapper = new ObjectMapper(); OTPDevice oTPDevice =
647  * mapper.readValue(oxOTPDevices, OTPDevice.class);
648  */
649  ArrayList<Device> devices = oxOTPDevices.getDevices();
650 
651  if (devices != null && devices.size() > 0) {
652  for (Device device : devices) {
653  if (deleteDeviceData.getId().equals(device.getId())) {
654  deviceDataMap.remove(deleteDeviceData);
655  devices.remove(device);
656  /*
657  * Map<String, ArrayList<Device>> map= new HashMap<String, ArrayList<Device>>();
658  * map.put("devices", devices); String jsonInString =
659  * mapper.writeValueAsString(map);
660  */
661  oxOTPDevices.setDevices(devices);
662  this.person.setOxOTPDevices(oxOTPDevices);
663  return;
664  }
665  }
666  }
667  // }
668 
669  String oxMobileDevices = this.person.getOxMobileDevices();
670  if (oxMobileDevices != null && !oxMobileDevices.trim().equals("")) {
671  ObjectMapper mapper = new ObjectMapper();
672  MobileDevice mobileDevice = mapper.readValue(oxMobileDevices, MobileDevice.class);
673  ArrayList<Phone> phones = mobileDevice.getPhones();
674 
675  if (phones != null && phones.size() > 0) {
676  for (Phone phone : phones) {
677  if (phone.getNumber().equals(deleteDeviceData.getId())) {
678  deviceDataMap.remove(deleteDeviceData);
679  phones.remove(phone);
680  Map<String, ArrayList<Phone>> map = new HashMap<String, ArrayList<Phone>>();
681  map.put("phones", phones);
682  String jsonInString = mapper.writeValueAsString(map);
683  this.person.setOxMobileDevices(jsonInString);
684  return;
685  }
686  }
687  }
688  }
689 
690  } catch (Exception e) {
691  // TODO Auto-generated catch block
692  log.error("Failed to remove device ", e);
693  }
694  }
Logger log
Definition: UpdatePersonAction.java:78
String getOxMobileDevices()
Definition: GluuCustomPerson.java:66
List< String > getOxExternalUid()
Definition: GluuCustomPerson.java:344
void setOxOTPDevices(OTPDevice oxOTPDevices)
Definition: GluuCustomPerson.java:78
List< GluuDeviceDataBean > deviceDataMap
Definition: UpdatePersonAction.java:133
ArrayList< Device > getDevices()
Definition: OTPDevice.java:9
OTPDevice getOxOTPDevices()
Definition: GluuCustomPerson.java:74
String getInum()
Definition: User.java:42
FidoDeviceService fidoDeviceService
Definition: UpdatePersonAction.java:119
void setOxMobileDevices(String oxMobileDevices)
Definition: GluuCustomPerson.java:70
void removeGluuCustomFidoDevice(GluuCustomFidoDevice gluuCustomFidoDevice)
Definition: FidoDeviceService.java:98
List< GluuCustomFidoDevice > searchFidoDevices(String userInum, String ... returnAttributes)
Definition: FidoDeviceService.java:103
GluuCustomPerson person
Definition: UpdatePersonAction.java:83
void setOxExternalUid(List< String > oxExternalUid)
Definition: GluuCustomPerson.java:348

◆ save()

String org.gluu.oxtrust.action.UpdatePersonAction.save ( ) throws Exception
inline

Saves person to ldap

戻り値
String describing success of the operation
346  {
348  return OxTrustConstants.RESULT_FAILURE;
349  }
350  if (!update) {
352  facesMessages.add(FacesMessage.SEVERITY_ERROR, "#{msg['UpdatePersonAction.faileAddUserUidExist']} %s",
353  this.person.getUid());
354  return OxTrustConstants.RESULT_FAILURE;
355  }
357  facesMessages.add(FacesMessage.SEVERITY_ERROR,
358  "#{msg['UpdatePersonAction.faileUpdateUserMailidExist']} %s", this.person.getAttribute("mail"));
359  return OxTrustConstants.RESULT_FAILURE;
360  }
361  } else {
363  facesMessages.add(FacesMessage.SEVERITY_ERROR, "#{msg['UpdatePersonAction.faileAddUserUidExist']} %s",
364  this.person.getUid());
365  return OxTrustConstants.RESULT_FAILURE;
366  }
367  if (!userEmailIsUniqAtEditionTime(this.person.getAttribute("mail"))) {
368  facesMessages.add(FacesMessage.SEVERITY_ERROR,
369  "#{msg['UpdatePersonAction.faileUpdateUserMailidExist']} %s", this.person.getAttribute("mail"));
370  return OxTrustConstants.RESULT_FAILURE;
371  }
372  }
373 
375 
376  List<GluuCustomAttribute> removedAttributes = customAttributeAction.detectRemovedAttributes();
378 
379  List<GluuCustomAttribute> customAttributes = customAttributeAction.getCustomAttributes();
380  for (GluuCustomAttribute customAttribute : customAttributes) {
381  if (customAttribute.getName().equalsIgnoreCase("gluuStatus")) {
382  customAttribute.setValue(gluuStatus.getValue());
383  }
384 
385  }
387  this.person.getCustomAttributes().addAll(removedAttributes);
388 
389  // Sync email, in reverse ("oxTrustEmail" <- "mail")
390  this.person = ServiceUtil.syncEmailReverse(this.person, true);
391 
392  boolean runScript = externalUpdateUserService.isEnabled();
393  if (update) {
394  try {
395  if (runScript) {
397  }
399  oxTrustAuditService.audit("USER " + this.person.getInum() + " **"+this.person.getDisplayName()+"** UPDATED",
400  identity.getUser(),
401  (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest());
402  if (runScript) {
404  }
405  } catch (Exception ex) {
406  log.error("Failed to update person {}", inum, ex);
407  facesMessages.add(FacesMessage.SEVERITY_ERROR,
408  "Failed to update person '#{updatePersonAction.person.displayName}'");
409 
410  return OxTrustConstants.RESULT_FAILURE;
411  }
412 
413  facesMessages.add(FacesMessage.SEVERITY_INFO,
414  "Person '#{updatePersonAction.person.displayName}' updated successfully");
415  } else {
416  if (personService.getPersonByUid(this.person.getUid()) != null) {
417  facesMessages.add(FacesMessage.SEVERITY_ERROR, "Person with the uid '#{updatePersonAction.person.uid}' already exist'");
418  return OxTrustConstants.RESULT_DUPLICATE;
419  }
420 
422  String iname = personService.generateInameForNewPerson(this.person.getUid());
423  String dn = personService.getDnForPerson(this.inum);
424 
425  // Save person
426  this.person.setDn(dn);
427  this.person.setInum(this.inum);
428  this.person.setIname(iname);
429  this.person.setUserPassword(this.password);
430 
431  List<GluuCustomAttribute> personAttributes = this.person.getCustomAttributes();
432  if (!personAttributes.contains(new GluuCustomAttribute("cn", ""))) {
433  List<GluuCustomAttribute> changedAttributes = new ArrayList<GluuCustomAttribute>();
434  changedAttributes.addAll(personAttributes);
435  changedAttributes.add(
436  new GluuCustomAttribute("cn", this.person.getGivenName() + " " + this.person.getDisplayName()));
437  this.person.setCustomAttributes(changedAttributes);
438  } else {
439  this.person.setCommonName(this.person.getCommonName() + " " + this.person.getGivenName());
440  }
441 
442  try {
443  if (runScript) {
445  }
447  oxTrustAuditService.audit("USER " + this.person.getInum() + " **"+this.person.getDisplayName()+ "** ADDED",
448  identity.getUser(),
449  (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest());
450  if (runScript) {
452  }
453  } catch (BasePersistenceException ex) {
454  log.error("Failed to add new person {}", this.person.getInum(), ex);
455  facesMessages.add(FacesMessage.SEVERITY_ERROR, "Failed to add new person'");
456 
457  return OxTrustConstants.RESULT_FAILURE;
458  }
459 
460  facesMessages.add(FacesMessage.SEVERITY_INFO,
461  "New person '#{updatePersonAction.person.displayName}' added successfully");
462  conversationService.endConversation();
463 
464  this.update = true;
465  }
466 
467  return OxTrustConstants.RESULT_SUCCESS;
468  }
boolean userEmailIsUniqAtCreationTime(String email)
Definition: UpdatePersonAction.java:759
boolean userNameIsUniqAtEditionTime(String uid)
Definition: UpdatePersonAction.java:743
Logger log
Definition: UpdatePersonAction.java:78
boolean executeExternalPostAddUserMethods(GluuCustomPerson user)
Definition: ExternalUpdateUserService.java:81
String update()
Definition: UpdatePersonAction.java:213
List< GluuCustomAttribute > detectRemovedAttributes()
Definition: CustomAttributeAction.java:368
FacesMessages facesMessages
Definition: UpdatePersonAction.java:86
void setCustomAttributes(List< GluuCustomAttribute > customAttributes)
Definition: User.java:38
OxTrustAuditService oxTrustAuditService
Definition: UpdatePersonAction.java:125
abstract String getDnForPerson(String inum)
abstract void updatePerson(GluuCustomPerson person)
List< GluuCustomAttribute > getCustomAttributes()
Definition: User.java:34
String getGivenName()
Definition: GluuCustomPerson.java:128
void updateOriginCustomAttributes()
Definition: CustomAttributeAction.java:389
abstract GluuCustomPerson getPersonByUid(String uid)
String getUid()
Definition: User.java:50
void setIname(String value)
Definition: GluuCustomPerson.java:92
void setInum(String value)
Definition: User.java:46
String inum
Definition: UpdatePersonAction.java:80
CustomAttributeAction customAttributeAction
Definition: UpdatePersonAction.java:104
ConversationService conversationService
Definition: UpdatePersonAction.java:89
void audit(String message, GluuCustomPerson user, HttpServletRequest request)
Definition: OxTrustAuditService.java:18
String getCommonName()
Definition: GluuCustomPerson.java:120
boolean userEmailIsUniqAtEditionTime(String email)
Definition: UpdatePersonAction.java:776
GluuCustomPerson getUser()
Definition: Identity.java:39
void updateCustomObjectClasses()
Definition: UpdatePersonAction.java:470
boolean executeExternalUpdateUserMethods(GluuCustomPerson user)
Definition: ExternalUpdateUserService.java:107
boolean userNameIsUniqAtCreationTime(String uid)
Definition: UpdatePersonAction.java:726
ExternalUpdateUserService externalUpdateUserService
Definition: UpdatePersonAction.java:110
void setUserPassword(String value)
Definition: GluuCustomPerson.java:148
void setCommonName(String value)
Definition: GluuCustomPerson.java:124
Identity identity
Definition: UpdatePersonAction.java:122
String getDisplayName()
Definition: User.java:58
abstract void addPerson(GluuCustomPerson person)
String getInum()
Definition: User.java:42
boolean executeExternalPostUpdateUserMethods(GluuCustomPerson user)
Definition: ExternalUpdateUserService.java:138
boolean executeExternalAddUserMethods(GluuCustomPerson user)
Definition: ExternalUpdateUserService.java:50
String password
Definition: UpdatePersonAction.java:129
abstract String generateInameForNewPerson(String uid)
boolean isAllowPersonModification()
Definition: OrganizationService.java:193
OrganizationService organizationService
Definition: UpdatePersonAction.java:92
GluuCustomPerson person
Definition: UpdatePersonAction.java:83
String getAttribute(String attributeName)
Definition: GluuCustomPerson.java:219
List< GluuCustomAttribute > getCustomAttributes()
Definition: CustomAttributeAction.java:418
IPersonService personService
Definition: UpdatePersonAction.java:101
GluuStatus gluuStatus
Definition: UpdatePersonAction.java:127

◆ setDeviceDataMap()

void org.gluu.oxtrust.action.UpdatePersonAction.setDeviceDataMap ( List< GluuDeviceDataBean deviceDataMap)
inline
149  {
151  }
List< GluuDeviceDataBean > deviceDataMap
Definition: UpdatePersonAction.java:133

◆ setDeviceDetail()

void org.gluu.oxtrust.action.UpdatePersonAction.setDeviceDetail ( DeviceData  deviceDetail)
inline
161  {
162  this.deviceDetail = deviceDetail;
163  }
DeviceData deviceDetail
Definition: UpdatePersonAction.java:155

◆ setExternalAuthCustomAttributes()

void org.gluu.oxtrust.action.UpdatePersonAction.setExternalAuthCustomAttributes ( List< String >  externalAuthCustomAttributes)
inline
169  {
171  }
List< String > externalAuthCustomAttributes
Definition: UpdatePersonAction.java:153

◆ setFidoDevice()

void org.gluu.oxtrust.action.UpdatePersonAction.setFidoDevice ( GluuCustomFidoDevice  fidoDevice)
inline
141  {
142  this.fidoDevice = fidoDevice;
143  }
GluuCustomFidoDevice fidoDevice
Definition: UpdatePersonAction.java:135

◆ setGluuStatus()

void org.gluu.oxtrust.action.UpdatePersonAction.setGluuStatus ( GluuStatus  gluuStatus)
inline
177  {
178  this.gluuStatus = gluuStatus;
179  }
GluuStatus gluuStatus
Definition: UpdatePersonAction.java:127

◆ setInum()

void org.gluu.oxtrust.action.UpdatePersonAction.setInum ( String  inum)
inline

Sets person's inum

引数
inum
576  {
577  this.inum = inum;
578  }
String inum
Definition: UpdatePersonAction.java:80

◆ update()

String org.gluu.oxtrust.action.UpdatePersonAction.update ( )
inline

Initializes attributes for updating person

戻り値
String describing success of the operation
例外
Exception
213  {
214  if (this.person != null) {
215  return OxTrustConstants.RESULT_SUCCESS;
216  }
217 
218  this.update = true;
219  try {
221  } catch (BasePersistenceException ex) {
222  log.error("Failed to find person {}", inum, ex);
223 
224  facesMessages.add(FacesMessage.SEVERITY_ERROR, "Failed to find person");
225  conversationService.endConversation();
226 
227  return OxTrustConstants.RESULT_FAILURE;
228  }
229 
230  initAttributes(false);
231  try {
232  this.gluuStatus = this.person.getStatus();
233  List<String> oxexternal = this.person.getOxExternalUid();
234  OTPDevice oxOTPDevices = this.person.getOxOTPDevices();
235  externalAuthCustomAttributes = new ArrayList<String>();
236  String oxMobileDevices = this.person.getOxMobileDevices();
237  if (oxexternal != null && oxexternal.size() > 0) {
238  for (String oxexternalStr : oxexternal) {
239  String[] args = oxexternalStr.split(":");
240  externalAuthCustomAttributes.add(args[0]);
241  }
242  }
243 
244  List<GluuCustomFidoDevice> gluuCustomFidoDevices = fidoDeviceService
245  .searchFidoDevices(this.person.getInum(), null);
246  deviceDataMap = new ArrayList<GluuDeviceDataBean>();
247  if (gluuCustomFidoDevices != null) {
248  for (GluuCustomFidoDevice gluuCustomFidoDevice : gluuCustomFidoDevices) {
249  GluuDeviceDataBean gluuDeviceDataBean = new GluuDeviceDataBean();
250  gluuDeviceDataBean.setCreationDate(ldapEntryManager.decodeTime(gluuCustomFidoDevice.getCreationDate()).toGMTString());
251  gluuDeviceDataBean.setId(gluuCustomFidoDevice.getId());
252  String devicedata = gluuCustomFidoDevice.getDeviceData();
253  String modality = "";
254  String nickName = "";
255  if (devicedata != null) {
256  DeviceData deviceData = getDeviceata(devicedata);
257  // nickName = deviceData.getName();
258  nickName = gluuCustomFidoDevice.getNickname();
259  modality = "Super-Gluu Device";
260  } else {
261  // nickName = "U2F";
262  nickName = gluuCustomFidoDevice.getNickname();
263  modality = "U2F device";
264  }
265  gluuDeviceDataBean.setNickName(nickName);
266  gluuDeviceDataBean.setModality(modality);
267  deviceDataMap.add(gluuDeviceDataBean);
268  }
269  }
270 
271  /*
272  * if (oxOTPDevices != null && !oxOTPDevices.trim().equals("")) { ObjectMapper
273  * mapper = new ObjectMapper(); OTPDevice oTPDevice =
274  * mapper.readValue(oxOTPDevices, OTPDevice.class);
275  */
276  ArrayList<Device> devices = oxOTPDevices.getDevices();
277 
278  if (devices != null && devices.size() > 0) {
279  for (Device device : devices) {
280  GluuDeviceDataBean gluuDeviceDataBean = new GluuDeviceDataBean();
281  gluuDeviceDataBean.setNickName(device.getNickName());
282  gluuDeviceDataBean.setModality("OTP Device");
283  gluuDeviceDataBean.setId(device.getId());
284  Timestamp stamp = new Timestamp(Long.valueOf(device.getAddedOn()).longValue());
285  gluuDeviceDataBean.setCreationDate(stamp.toGMTString());
286  deviceDataMap.add(gluuDeviceDataBean);
287  }
288  }
289  // }
290 
291  if (oxMobileDevices != null && !oxMobileDevices.trim().equals("")) {
292  ObjectMapper mapper = new ObjectMapper();
293  MobileDevice mobileDevice = mapper.readValue(oxMobileDevices, MobileDevice.class);
294  ArrayList<Phone> phones = mobileDevice.getPhones();
295 
296  if (phones != null && phones.size() > 0) {
297  for (Phone phone : phones) {
298  GluuDeviceDataBean gluuDeviceDataBean = new GluuDeviceDataBean();
299  gluuDeviceDataBean.setNickName(phone.getNickName());
300  gluuDeviceDataBean.setModality("Mobile Device");
301  gluuDeviceDataBean.setId(phone.getNumber());
302 
303  Timestamp stamp = new Timestamp(Long.valueOf(phone.getAddedOn()).longValue());
304  gluuDeviceDataBean.setCreationDate(stamp.toGMTString());
305  deviceDataMap.add(gluuDeviceDataBean);
306  }
307  }
308  }
309  if (oxexternal != null && oxexternal.size() > 0) {
310  for (String oxexternalStr : oxexternal) {
311  String[] args = oxexternalStr.split(":");
312  GluuDeviceDataBean gluuDeviceDataBean = new GluuDeviceDataBean();
313  gluuDeviceDataBean.setNickName(args[0]);
314  gluuDeviceDataBean.setModality("Passport");
315  gluuDeviceDataBean.setId("-");
316  gluuDeviceDataBean.setCreationDate("-");
317  deviceDataMap.add(gluuDeviceDataBean);
318 
319  }
320  }
321  } catch (Exception e) {
322  // TODO Auto-generated catch block
323  e.printStackTrace();
324  }
325  return OxTrustConstants.RESULT_SUCCESS;
326  }
DeviceData getDeviceata(String data)
Definition: UpdatePersonAction.java:696
Logger log
Definition: UpdatePersonAction.java:78
String update()
Definition: UpdatePersonAction.java:213
FacesMessages facesMessages
Definition: UpdatePersonAction.java:86
String getOxMobileDevices()
Definition: GluuCustomPerson.java:66
List< String > getOxExternalUid()
Definition: GluuCustomPerson.java:344
List< GluuDeviceDataBean > deviceDataMap
Definition: UpdatePersonAction.java:133
String inum
Definition: UpdatePersonAction.java:80
PersistenceEntryManager ldapEntryManager
Definition: UpdatePersonAction.java:116
ConversationService conversationService
Definition: UpdatePersonAction.java:89
void initAttributes(boolean add)
Definition: UpdatePersonAction.java:525
OTPDevice getOxOTPDevices()
Definition: GluuCustomPerson.java:74
GluuStatus getStatus()
Definition: GluuCustomPerson.java:136
abstract GluuCustomPerson getPersonByInum(String inum)
String getInum()
Definition: User.java:42
FidoDeviceService fidoDeviceService
Definition: UpdatePersonAction.java:119
List< String > externalAuthCustomAttributes
Definition: UpdatePersonAction.java:153
List< GluuCustomFidoDevice > searchFidoDevices(String userInum, String ... returnAttributes)
Definition: FidoDeviceService.java:103
GluuCustomPerson person
Definition: UpdatePersonAction.java:83
IPersonService personService
Definition: UpdatePersonAction.java:101
GluuStatus gluuStatus
Definition: UpdatePersonAction.java:127

◆ updateCustomObjectClasses()

void org.gluu.oxtrust.action.UpdatePersonAction.updateCustomObjectClasses ( )
inlineprivate
470  {
472 
473  // Update objectClasses
474  String[] allObjectClasses = ArrayHelper.arrayMerge(appConfiguration.getPersonObjectClassTypes(),
476  String[] resultObjectClasses = new HashSet<String>(Arrays.asList(allObjectClasses)).toArray(new String[0]);
477 
478  this.person.setCustomObjectClasses(resultObjectClasses);
479  }
abstract void addCustomObjectClass(GluuCustomPerson person)
void setCustomObjectClasses(String[] customObjectClasses)
Definition: CustomEntry.java:37
String [] getCustomObjectClasses()
Definition: CustomEntry.java:33
GluuCustomPerson person
Definition: UpdatePersonAction.java:83
AppConfiguration appConfiguration
Definition: UpdatePersonAction.java:107
IPersonService personService
Definition: UpdatePersonAction.java:101

◆ userEmailIsUniqAtCreationTime()

boolean org.gluu.oxtrust.action.UpdatePersonAction.userEmailIsUniqAtCreationTime ( String  email)
inline
759  {
760  if(email == null) {
761  return true;
762  }
763  boolean emailIsUniq = true;
764  List<GluuCustomPerson> gluuCustomPersons = personService.getPersonsByEmail(email);
765  if (gluuCustomPersons != null && gluuCustomPersons.size() > 0) {
766  for (GluuCustomPerson gluuCustomPerson : gluuCustomPersons) {
767  if (gluuCustomPerson.getAttribute("mail").equalsIgnoreCase(email)) {
768  emailIsUniq = false;
769  break;
770  }
771  }
772  }
773  return emailIsUniq;
774  }
List< GluuCustomPerson > getPersonsByEmail(String email)
IPersonService personService
Definition: UpdatePersonAction.java:101

◆ userEmailIsUniqAtEditionTime()

boolean org.gluu.oxtrust.action.UpdatePersonAction.userEmailIsUniqAtEditionTime ( String  email)
inline
776  {
777  boolean emailIsUniq = false;
778  if(email == null) {
779  return true;
780  }
781  List<GluuCustomPerson> gluuCustomPersons = personService.getPersonsByEmail(email);
782  if (gluuCustomPersons == null || gluuCustomPersons.isEmpty()) {
783  emailIsUniq = true;
784  }
785  if (gluuCustomPersons.size() == 1 && gluuCustomPersons.get(0).getAttribute("mail").equalsIgnoreCase(email)
786  && gluuCustomPersons.get(0).getInum().equalsIgnoreCase(this.person.getInum())) {
787  emailIsUniq = true;
788  }
789 
790  return emailIsUniq;
791  }
List< GluuCustomPerson > getPersonsByEmail(String email)
String getInum()
Definition: User.java:42
GluuCustomPerson person
Definition: UpdatePersonAction.java:83
IPersonService personService
Definition: UpdatePersonAction.java:101

◆ userNameIsUniqAtCreationTime()

boolean org.gluu.oxtrust.action.UpdatePersonAction.userNameIsUniqAtCreationTime ( String  uid)
inline
726  {
727  boolean userNameIsUniq = true;
728  if(uid == null) {
729  return userNameIsUniq;
730  }
731  List<GluuCustomPerson> gluuCustomPersons = personService.getPersonsByUid(uid);
732  if (gluuCustomPersons != null && gluuCustomPersons.size() > 0) {
733  for (GluuCustomPerson gluuCustomPerson : gluuCustomPersons) {
734  if (gluuCustomPerson.getUid().equalsIgnoreCase(uid)) {
735  userNameIsUniq = false;
736  break;
737  }
738  }
739  }
740  return userNameIsUniq;
741  }
List< GluuCustomPerson > getPersonsByUid(String uid)
IPersonService personService
Definition: UpdatePersonAction.java:101

◆ userNameIsUniqAtEditionTime()

boolean org.gluu.oxtrust.action.UpdatePersonAction.userNameIsUniqAtEditionTime ( String  uid)
inline
743  {
744  if(uid == null) {
745  return true;
746  }
747  boolean userNameIsUniq = false;
748  List<GluuCustomPerson> gluuCustomPersons = personService.getPersonsByUid(uid);
749  if (gluuCustomPersons == null || gluuCustomPersons.isEmpty()) {
750  userNameIsUniq = true;
751  }
752  if (gluuCustomPersons.size() == 1 && gluuCustomPersons.get(0).getUid().equalsIgnoreCase(uid)
753  && gluuCustomPersons.get(0).getInum().equalsIgnoreCase(this.person.getInum())) {
754  userNameIsUniq = true;
755  }
756  return userNameIsUniq;
757  }
List< GluuCustomPerson > getPersonsByUid(String uid)
String getInum()
Definition: User.java:42
GluuCustomPerson person
Definition: UpdatePersonAction.java:83
IPersonService personService
Definition: UpdatePersonAction.java:101

◆ validateConfirmPassword()

void org.gluu.oxtrust.action.UpdatePersonAction.validateConfirmPassword ( FacesContext  context,
UIComponent  comp,
Object  value 
)
inline
602  {
603  if (comp.getClientId().endsWith("custpasswordId")) {
604  this.password = (String) value;
605  } else if (comp.getClientId().endsWith("custconfirmpasswordId")) {
606  this.confirmPassword = (String) value;
607  }
608 
609  if (!StringHelper.equalsIgnoreCase(password, confirmPassword)) {
610  ((UIInput) comp).setValid(false);
611  FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR,
612  "Password and Confirm Password should be same!", "Password and Confirm Password should be same!");
613  context.addMessage(comp.getClientId(context), message);
614  }
615  }
String confirmPassword
Definition: UpdatePersonAction.java:131
String password
Definition: UpdatePersonAction.java:129

メンバ詳解

◆ appConfiguration

AppConfiguration org.gluu.oxtrust.action.UpdatePersonAction.appConfiguration
private

◆ attributeService

AttributeService org.gluu.oxtrust.action.UpdatePersonAction.attributeService
private

◆ confirmPassword

String org.gluu.oxtrust.action.UpdatePersonAction.confirmPassword
private

◆ conversationService

ConversationService org.gluu.oxtrust.action.UpdatePersonAction.conversationService
private

◆ customAttributeAction

CustomAttributeAction org.gluu.oxtrust.action.UpdatePersonAction.customAttributeAction
private

◆ deviceDataMap

List<GluuDeviceDataBean> org.gluu.oxtrust.action.UpdatePersonAction.deviceDataMap
private

◆ deviceDetail

DeviceData org.gluu.oxtrust.action.UpdatePersonAction.deviceDetail
private

◆ externalAuthCustomAttributes

List<String> org.gluu.oxtrust.action.UpdatePersonAction.externalAuthCustomAttributes
private

◆ externalUpdateUserService

ExternalUpdateUserService org.gluu.oxtrust.action.UpdatePersonAction.externalUpdateUserService
private

◆ facesMessages

FacesMessages org.gluu.oxtrust.action.UpdatePersonAction.facesMessages
private

◆ fidoDevice

GluuCustomFidoDevice org.gluu.oxtrust.action.UpdatePersonAction.fidoDevice
private

◆ fidoDeviceService

FidoDeviceService org.gluu.oxtrust.action.UpdatePersonAction.fidoDeviceService
private

◆ gluuStatus

GluuStatus org.gluu.oxtrust.action.UpdatePersonAction.gluuStatus
private

◆ groupService

GroupService org.gluu.oxtrust.action.UpdatePersonAction.groupService
private

◆ identity

Identity org.gluu.oxtrust.action.UpdatePersonAction.identity
private

◆ inum

String org.gluu.oxtrust.action.UpdatePersonAction.inum
private

◆ ldapEntryManager

PersistenceEntryManager org.gluu.oxtrust.action.UpdatePersonAction.ldapEntryManager
private

◆ log

Logger org.gluu.oxtrust.action.UpdatePersonAction.log
private

◆ memberService

MemberService org.gluu.oxtrust.action.UpdatePersonAction.memberService
private

◆ organizationService

OrganizationService org.gluu.oxtrust.action.UpdatePersonAction.organizationService
private

◆ oxTrustAuditService

OxTrustAuditService org.gluu.oxtrust.action.UpdatePersonAction.oxTrustAuditService
private

◆ password

String org.gluu.oxtrust.action.UpdatePersonAction.password
private

◆ person

GluuCustomPerson org.gluu.oxtrust.action.UpdatePersonAction.person
private

◆ personService

IPersonService org.gluu.oxtrust.action.UpdatePersonAction.personService
private

◆ serialVersionUID

final long org.gluu.oxtrust.action.UpdatePersonAction.serialVersionUID = -3242167044333943689L
staticprivate

◆ update

boolean org.gluu.oxtrust.action.UpdatePersonAction.update
private

このクラス詳解は次のファイルから抽出されました: