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

クラス

class  FileDataToImport
 
class  ImportAttribute
 

公開メンバ関数

String init ()
 
String importPersons () throws Exception
 
String validateFileToImport ()
 
String cancel ()
 
void destroy ()
 
UploadedFile getUploadedFile ()
 
FileDataToImport getFileDataToImport ()
 
void removeFileDataToImport ()
 
void uploadFile (FileUploadEvent event)
 
void removeFileToImport ()
 
String save ()
 
String initializePerson ()
 

静的公開変数類

static final String PERSON_PASSWORD_ATTRIBUTE = "userPassword"
 

限定公開メンバ関数

List< GluuCustomPersonconvertTableToPersons (Table table, List< ImportAttribute > importAttributes) throws Exception
 

非公開メンバ関数

boolean prepareAndValidateImportData (Table table, List< ImportAttribute > importAttributes) throws Exception
 
List< ImportAttributegetMandatoryImportAttributes (List< ImportAttribute > importAttributes)
 
List< GluuAttribute > getMandatoryAttributes (List< GluuAttribute > attributes)
 
boolean setDefaultPersonAttributes (List< GluuCustomPerson > persons, List< ImportAttribute > importAttributes) throws Exception
 
boolean validatePersons (List< GluuCustomPerson > persons) throws Exception
 
String getTypedValue (GluuAttribute attribute, String value)
 
String getAttributesString (List< GluuAttribute > attributes)
 
List< ImportAttributegetAttributesForImport (Table table)
 
Map< String, GluuAttribute > getAttributesDisplayNameMap (List< GluuAttribute > attributes)
 
void initAttributes ()
 

非公開変数類

Logger log
 
OrganizationService organizationService
 
IPersonService personService
 
AttributeService attributeService
 
AppConfiguration appConfiguration
 
ExternalUpdateUserService externalUpdateUserService
 
ExcelService excelService
 
FacesMessages facesMessages
 
ConversationService conversationService
 
transient ImportPersonConfiguration importPersonConfiguration
 
CustomAttributeAction customAttributeAction
 
Identity identity
 
OxTrustAuditService oxTrustAuditService
 
UploadedFile uploadedFile
 
FileDataToImport fileDataToImport
 
List< GluuAttribute > attributes
 
Map< String, GluuAttribute > attributesDisplayNameMap
 
byte [] fileData
 
boolean isInitialized
 
GluuCustomPerson person
 
String inum
 

静的非公開変数類

static final long serialVersionUID = -1270460481895022468L
 
static final String [] PERSON_IMPORT_PERSON_LOCKUP_RETURN_ATTRIBUTES = { "uid", "displayName", "mail" }
 

詳解

Action class for load persons from Excel file

著者
Yuriy Movchan Date: 02.14.2011

関数詳解

◆ cancel()

String org.gluu.oxtrust.action.PersonImportAction.cancel ( )
inline
224  {
225  boolean cancel = this.uploadedFile != null;
226  destroy();
227 
228  if (cancel) {
229  return OxTrustConstants.RESULT_CLEAR;
230  }
231 
232  conversationService.endConversation();
233 
234  return OxTrustConstants.RESULT_SUCCESS;
235  }
UploadedFile uploadedFile
Definition: PersonImportAction.java:114
void destroy()
Definition: PersonImportAction.java:238
ConversationService conversationService
Definition: PersonImportAction.java:100
String cancel()
Definition: PersonImportAction.java:224

◆ convertTableToPersons()

List<GluuCustomPerson> org.gluu.oxtrust.action.PersonImportAction.convertTableToPersons ( Table  table,
List< ImportAttribute importAttributes 
) throws Exception
inlineprotected
411  {
412  // Prepare for conversion to list of GluuCustomPerson and check data
413  // type
414  Map<String, List<AttributeData>> entriesAttributes = new HashMap<String, List<AttributeData>>();
415  int rows = table.getCountRows();
416  boolean validTable = true;
417  for (int i = 1; i <= rows; i++) {
418  List<AttributeData> attributeDataList = new ArrayList<AttributeData>();
419  for (ImportAttribute importAttribute : importAttributes) {
420  if (importAttribute.getCol() == -1) {
421  continue;
422  }
423 
424  GluuAttribute attribute = importAttribute.getAttribute();
425  String cellValue = table.getCellValue(importAttribute.getCol(), i);
426  if (StringHelper.isEmpty(cellValue)) {
427  if (attribute.isRequred()) {
428  facesMessages.add(FacesMessage.SEVERITY_ERROR, "Import failed. Empty '%s' not allowed",
429  attribute.getDisplayName());
430  validTable = false;
431  }
432  continue;
433  }
434 
435  String ldapValue = getTypedValue(attribute, cellValue);
436  if (StringHelper.isEmpty(ldapValue)) {
437  facesMessages.add(FacesMessage.SEVERITY_ERROR,
438  "Invalid value '%s' in column '%s' at row %s were specified", cellValue,
439  attribute.getDisplayName(), i + 1);
440  validTable = false;
441  continue;
442  }
443 
444  AttributeData attributeData = new AttributeData(attribute.getName(), ldapValue);
445  attributeDataList.add(attributeData);
446  }
447  entriesAttributes.put(Integer.toString(i), attributeDataList);
448  }
449 
450  if (!validTable) {
451  return null;
452  }
453 
454  // Convert to GluuCustomPerson and set right DN
455  List<GluuCustomPerson> persons = personService.createEntities(entriesAttributes);
456  log.info("Found {} persons in input Excel file", persons.size());
457 
458  for (GluuCustomPerson person : persons) {
459  for (String key : entriesAttributes.keySet()) {
460  boolean flag = false;
461  for (AttributeData AttributeData : entriesAttributes.get(key)) {
462  if (AttributeData.getName().equalsIgnoreCase("uid")) {
463  if (person.getUid().equalsIgnoreCase(AttributeData.getValue())) {
464  for (AttributeData AttributeData1 : entriesAttributes.get(key)) {
465  if (AttributeData1.getName().equalsIgnoreCase("userPassword")) {
466  person.setUserPassword(AttributeData1.getValue());
467  flag = true;
468  break;
469  } else if (AttributeData1.getName().equalsIgnoreCase("gluuStatus")) {
470 
471  person.setStatus(GluuStatus.getByValue(AttributeData1.getValue()));
472  flag = true;
473  break;
474  }
475  }
476  }
477  } else {
478  if (flag)
479  break;
480  }
481  }
482  if (flag)
483  break;
484  }
485 
486  }
487 
488  return persons;
489  }
IPersonService personService
Definition: PersonImportAction.java:82
FacesMessages facesMessages
Definition: PersonImportAction.java:97
Logger log
Definition: PersonImportAction.java:76
String getTypedValue(GluuAttribute attribute, String value)
Definition: PersonImportAction.java:491
String getUid()
Definition: User.java:50
abstract List< GluuCustomPerson > createEntities(Map< String, List< AttributeData >> entriesAttributes)
void setStatus(GluuStatus value)
Definition: GluuCustomPerson.java:140
void setUserPassword(String value)
Definition: GluuCustomPerson.java:148
GluuCustomPerson person
Definition: PersonImportAction.java:122

◆ destroy()

void org.gluu.oxtrust.action.PersonImportAction.destroy ( )
inline
238  {
241  }
void removeFileToImport()
Definition: PersonImportAction.java:262
void removeFileDataToImport()
Definition: PersonImportAction.java:251

◆ getAttributesDisplayNameMap()

Map<String, GluuAttribute> org.gluu.oxtrust.action.PersonImportAction.getAttributesDisplayNameMap ( List< GluuAttribute >  attributes)
inlineprivate
555  {
556  Map<String, GluuAttribute> result = new HashMap<String, GluuAttribute>();
557  for (GluuAttribute attribute : attributes) {
558  result.put(attribute.getDisplayName().toLowerCase(), attribute);
559  }
560 
561  return result;
562  }
List< GluuAttribute > attributes
Definition: PersonImportAction.java:116

◆ getAttributesForImport()

List<ImportAttribute> org.gluu.oxtrust.action.PersonImportAction.getAttributesForImport ( Table  table)
inlineprivate
522  {
523  List<ImportAttribute> importAttributes = new ArrayList<ImportAttribute>();
524  if ((table == null) || (table.getCountCols() < 1) || (table.getCountRows() < 1)) {
525  return importAttributes;
526  }
527 
528  int cols = table.getCountCols();
529  List<String> addedAttributes = new ArrayList<String>(this.attributes.size());
530  for (int i = 0; i <= cols; i++) {
531  String cellValue = table.getCellValue(i, 0);
532  if (StringHelper.isEmpty(cellValue)) {
533  continue;
534  }
535 
536  String attributeName = cellValue.toLowerCase();
537  GluuAttribute attribute = attributesDisplayNameMap.get(attributeName);
538  if (attribute != null) {
539  addedAttributes.add(attributeName);
540  ImportAttribute importAttribute = new ImportAttribute(i, attribute);
541  importAttributes.add(importAttribute);
542  }
543  }
544 
545  for (GluuAttribute attribute : this.attributes) {
546  if (!addedAttributes.contains(attribute.getName())) {
547  ImportAttribute importAttribute = new ImportAttribute(-1, attribute);
548  importAttributes.add(importAttribute);
549  }
550  }
551 
552  return importAttributes;
553  }
List< GluuAttribute > attributes
Definition: PersonImportAction.java:116
Map< String, GluuAttribute > attributesDisplayNameMap
Definition: PersonImportAction.java:117

◆ getAttributesString()

String org.gluu.oxtrust.action.PersonImportAction.getAttributesString ( List< GluuAttribute >  attributes)
inlineprivate
504  {
505  StringBuilder sb = new StringBuilder();
506 
507  for (Iterator<GluuAttribute> iterator = attributes.iterator(); iterator.hasNext();) {
508  GluuAttribute attribute = iterator.next();
509  sb.append('\'').append(attribute.getDisplayName()).append('\'');
510  if (!attribute.isRequred()) {
511  sb.append(" (non mandatory)");
512  }
513  if (iterator.hasNext()) {
514  sb.append(", ");
515  }
516 
517  }
518 
519  return sb.toString();
520  }
List< GluuAttribute > attributes
Definition: PersonImportAction.java:116

◆ getFileDataToImport()

FileDataToImport org.gluu.oxtrust.action.PersonImportAction.getFileDataToImport ( )
inline
247  {
248  return this.fileDataToImport;
249  }
FileDataToImport fileDataToImport
Definition: PersonImportAction.java:115

◆ getMandatoryAttributes()

List<GluuAttribute> org.gluu.oxtrust.action.PersonImportAction.getMandatoryAttributes ( List< GluuAttribute >  attributes)
inlineprivate
328  {
329  List<GluuAttribute> result = new ArrayList<GluuAttribute>();
330  for (GluuAttribute attribute : attributes) {
331  if (attribute.isRequred()) {
332  result.add(attribute);
333  }
334  }
335 
336  return result;
337  }
List< GluuAttribute > attributes
Definition: PersonImportAction.java:116

◆ getMandatoryImportAttributes()

List<ImportAttribute> org.gluu.oxtrust.action.PersonImportAction.getMandatoryImportAttributes ( List< ImportAttribute importAttributes)
inlineprivate
317  {
318  List<ImportAttribute> result = new ArrayList<ImportAttribute>();
319  for (ImportAttribute importAttribute : importAttributes) {
320  if ((importAttribute.getCol() != -1) && importAttribute.getAttribute().isRequred()) {
321  result.add(importAttribute);
322  }
323  }
324 
325  return result;
326  }

◆ getTypedValue()

String org.gluu.oxtrust.action.PersonImportAction.getTypedValue ( GluuAttribute  attribute,
String  value 
)
inlineprivate
491  {
492  if (AttributeDataType.STRING.equals(attribute.getDataType())) {
493  return value;
494  } else if (AttributeDataType.BOOLEAN.equals(attribute.getDataType())) {
495  GluuBoolean gluuBoolean = GluuBoolean.getByValue(value);
496  if (gluuBoolean != null) {
497  return GluuBoolean.getByValue(value).toString();
498  }
499  }
500 
501  return null;
502  }

◆ getUploadedFile()

UploadedFile org.gluu.oxtrust.action.PersonImportAction.getUploadedFile ( )
inline
243  {
244  return uploadedFile;
245  }
UploadedFile uploadedFile
Definition: PersonImportAction.java:114

◆ importPersons()

String org.gluu.oxtrust.action.PersonImportAction.importPersons ( ) throws Exception
inline
141  {
142  if (!fileDataToImport.isReady()) {
143  facesMessages.add(FacesMessage.SEVERITY_ERROR, "File to import is invalid");
144  return OxTrustConstants.RESULT_FAILURE;
145  }
146 
147  log.info("Attempting to add {} persons", fileDataToImport.getPersons().size());
148  try {
149  for (GluuCustomPerson person : fileDataToImport.getPersons()) {
150 
151  this.person = person;
152  String result = initializePerson();
153  if (result.equals(OxTrustConstants.RESULT_SUCCESS)) {
154  result = save();
155  }
156  if (result.equals(OxTrustConstants.RESULT_SUCCESS)) {
157  log.debug("Added new person: {}", person.getUid());
158  } else {
159  log.debug("Failed to add new person: {}", person.getUid());
160  facesMessages.add(FacesMessage.SEVERITY_ERROR, "Failed to add new person: '%s'", person.getUid());
161  }
162  }
163  } catch (EntryPersistenceException ex) {
164  log.error("Failed to add new person", ex);
165  facesMessages.add(FacesMessage.SEVERITY_ERROR, "Failed to import users");
166 
167  return OxTrustConstants.RESULT_FAILURE;
168  }
169 
170  log.info("All {} persons added successfully", fileDataToImport.getPersons().size());
171  oxTrustAuditService.audit(fileDataToImport.getPersons().size()+ " USERS IMPORTED ",
172  identity.getUser(),
173  (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest());
174  facesMessages.add(FacesMessage.SEVERITY_INFO, "Users successfully imported");
175 
177 
178  return OxTrustConstants.RESULT_SUCCESS;
179  }
FacesMessages facesMessages
Definition: PersonImportAction.java:97
void removeFileToImport()
Definition: PersonImportAction.java:262
String initializePerson()
Definition: PersonImportAction.java:633
boolean isReady()
Definition: PersonImportAction.java:697
List< GluuCustomPerson > getPersons()
Definition: PersonImportAction.java:689
Logger log
Definition: PersonImportAction.java:76
Identity identity
Definition: PersonImportAction.java:109
String getUid()
Definition: User.java:50
OxTrustAuditService oxTrustAuditService
Definition: PersonImportAction.java:112
void audit(String message, GluuCustomPerson user, HttpServletRequest request)
Definition: OxTrustAuditService.java:18
GluuCustomPerson getUser()
Definition: Identity.java:39
String save()
Definition: PersonImportAction.java:583
FileDataToImport fileDataToImport
Definition: PersonImportAction.java:115
GluuCustomPerson person
Definition: PersonImportAction.java:122

◆ init()

String org.gluu.oxtrust.action.PersonImportAction.init ( )
inline
126  {
127  if (this.isInitialized) {
128  return OxTrustConstants.RESULT_SUCCESS;
129  }
130 
133 
134  this.fileDataToImport = new FileDataToImport();
135 
136  this.isInitialized = true;
137 
138  return OxTrustConstants.RESULT_SUCCESS;
139  }
List< GluuAttribute > attributes
Definition: PersonImportAction.java:116
Map< String, GluuAttribute > getAttributesDisplayNameMap(List< GluuAttribute > attributes)
Definition: PersonImportAction.java:555
boolean isInitialized
Definition: PersonImportAction.java:120
transient ImportPersonConfiguration importPersonConfiguration
Definition: PersonImportAction.java:103
Map< String, GluuAttribute > attributesDisplayNameMap
Definition: PersonImportAction.java:117
List< GluuAttribute > getAttributes()
Definition: ImportPersonConfiguration.java:144
FileDataToImport fileDataToImport
Definition: PersonImportAction.java:115

◆ initAttributes()

void org.gluu.oxtrust.action.PersonImportAction.initAttributes ( )
inlineprivate
564  {
565  List<GluuAttribute> attributes = attributeService.getAllPersonAttributes(UserRole.ADMIN);
566  List<String> origins = attributeService.getAllAttributeOrigins(attributes);
567 
568  List<GluuCustomAttribute> customAttributes = this.person.getCustomAttributes();
569  boolean newPerson = (customAttributes == null) || customAttributes.isEmpty();
570  if (newPerson) {
571  customAttributes = new ArrayList<GluuCustomAttribute>();
572  this.person.setCustomAttributes(customAttributes);
573  }
574 
575  customAttributeAction.initCustomAttributes(attributes, customAttributes, origins,
576  appConfiguration.getPersonObjectClassTypes(), appConfiguration.getPersonObjectClassDisplayNames());
577 
578  if (newPerson) {
580  }
581  }
List< GluuAttribute > attributes
Definition: PersonImportAction.java:116
IPersonService personService
Definition: PersonImportAction.java:82
AppConfiguration appConfiguration
Definition: PersonImportAction.java:88
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: PersonImportAction.java:85
abstract List< GluuCustomAttribute > getMandatoryAtributes()
CustomAttributeAction customAttributeAction
Definition: PersonImportAction.java:106
GluuCustomPerson person
Definition: PersonImportAction.java:122

◆ initializePerson()

String org.gluu.oxtrust.action.PersonImportAction.initializePerson ( )
inline
633  {
635  return OxTrustConstants.RESULT_FAILURE;
636  }
637 
638  if (this.person != null) {
639  return OxTrustConstants.RESULT_SUCCESS;
640  }
641  this.person = new GluuCustomPerson();
642 
643  initAttributes();
644 
645  return OxTrustConstants.RESULT_SUCCESS;
646  }
void initAttributes()
Definition: PersonImportAction.java:564
OrganizationService organizationService
Definition: PersonImportAction.java:79
boolean isAllowPersonModification()
Definition: OrganizationService.java:193
GluuCustomPerson person
Definition: PersonImportAction.java:122

◆ prepareAndValidateImportData()

boolean org.gluu.oxtrust.action.PersonImportAction.prepareAndValidateImportData ( Table  table,
List< ImportAttribute importAttributes 
) throws Exception
inlineprivate
275  {
276  String attributesString = getAttributesString(this.attributes);
277  if ((table == null) || (importAttributes == null)) {
278  facesMessages.add(FacesMessage.SEVERITY_ERROR, "Import failed. Missing columns: %s", attributesString);
279  return false;
280  }
281 
282  List<GluuAttribute> mandatoryAttributes = getMandatoryAttributes(this.attributes);
283  List<ImportAttribute> mandatoryImportAttributes = getMandatoryImportAttributes(importAttributes);
284  if (mandatoryAttributes.size() != mandatoryImportAttributes.size()) {
285  facesMessages.add(FacesMessage.SEVERITY_ERROR, "Import failed. Required columns: %s", attributesString);
286  return false;
287  }
288 
289  if (table.getCountRows() < 1) {
290  facesMessages.add(FacesMessage.SEVERITY_ERROR, "Import failed. No data found");
291  return false;
292  }
293 
294  // Convert Excel table to GluuCustomPersons
295  List<GluuCustomPerson> persons = convertTableToPersons(table, importAttributes);
296  if (persons == null) {
297  return false;
298  }
299 
300  // Check if person already exist
301  if (!validatePersons(persons)) {
302  return false;
303  }
304 
305  // Fill persons with default values
306  if (!setDefaultPersonAttributes(persons, importAttributes)) {
307  return false;
308  }
309 
310  // Store persons
311  log.info("Prepared {} persons for creation", persons.size());
312  this.fileDataToImport.setPersons(persons);
313 
314  return true;
315  }
List< GluuAttribute > attributes
Definition: PersonImportAction.java:116
void setPersons(List< GluuCustomPerson > persons)
Definition: PersonImportAction.java:693
String getAttributesString(List< GluuAttribute > attributes)
Definition: PersonImportAction.java:504
FacesMessages facesMessages
Definition: PersonImportAction.java:97
Logger log
Definition: PersonImportAction.java:76
List< GluuAttribute > getMandatoryAttributes(List< GluuAttribute > attributes)
Definition: PersonImportAction.java:328
List< ImportAttribute > getMandatoryImportAttributes(List< ImportAttribute > importAttributes)
Definition: PersonImportAction.java:317
boolean setDefaultPersonAttributes(List< GluuCustomPerson > persons, List< ImportAttribute > importAttributes)
Definition: PersonImportAction.java:339
List< GluuCustomPerson > convertTableToPersons(Table table, List< ImportAttribute > importAttributes)
Definition: PersonImportAction.java:410
FileDataToImport fileDataToImport
Definition: PersonImportAction.java:115
boolean validatePersons(List< GluuCustomPerson > persons)
Definition: PersonImportAction.java:370

◆ removeFileDataToImport()

void org.gluu.oxtrust.action.PersonImportAction.removeFileDataToImport ( )
inline
251  {
252  this.fileDataToImport.reset();
253  }
FileDataToImport fileDataToImport
Definition: PersonImportAction.java:115
void reset()
Definition: PersonImportAction.java:705

◆ removeFileToImport()

void org.gluu.oxtrust.action.PersonImportAction.removeFileToImport ( )
inline
262  {
263  if (uploadedFile != null) {
264  try {
265  uploadedFile.delete();
266  } catch (IOException ex) {
267  log.error("Failed to remove temporary file", ex);
268  }
269 
270  this.uploadedFile = null;
271  }
273  }
Logger log
Definition: PersonImportAction.java:76
UploadedFile uploadedFile
Definition: PersonImportAction.java:114
void removeFileDataToImport()
Definition: PersonImportAction.java:251

◆ save()

String org.gluu.oxtrust.action.PersonImportAction.save ( )
inline
583  {
585  return OxTrustConstants.RESULT_FAILURE;
586  }
587 
589 
590  if (personService.getPersonByUid(this.person.getUid()) != null) {
591  return OxTrustConstants.RESULT_DUPLICATE;
592  }
593 
595  String iname = personService.generateInameForNewPerson(this.person.getUid());
596  String dn = personService.getDnForPerson(this.inum);
597 
598  // Save person
599  this.person.setDn(dn);
600  this.person.setInum(this.inum);
601  this.person.setIname(iname);
602 
603  List<GluuCustomAttribute> personAttributes = this.person.getCustomAttributes();
604  if (!personAttributes.contains(new GluuCustomAttribute("cn", ""))) {
605  List<GluuCustomAttribute> changedAttributes = new ArrayList<GluuCustomAttribute>();
606  changedAttributes.addAll(personAttributes);
607  changedAttributes.add(
608  new GluuCustomAttribute("cn", this.person.getGivenName() + " " + this.person.getDisplayName()));
609  this.person.setCustomAttributes(changedAttributes);
610  } else {
611  this.person.setCommonName(this.person.getCommonName() + " " + this.person.getGivenName());
612  }
613 
614  try {
615  boolean runScript = externalUpdateUserService.isEnabled();
616  if (runScript) {
618  }
619 
621 
622  if (runScript) {
624  }
625  } catch (Exception ex) {
626  log.error("Failed to add new person {}", this.person.getInum(), ex);
627 
628  return OxTrustConstants.RESULT_FAILURE;
629  }
630  return OxTrustConstants.RESULT_SUCCESS;
631  }
IPersonService personService
Definition: PersonImportAction.java:82
boolean executeExternalPostAddUserMethods(GluuCustomPerson user)
Definition: ExternalUpdateUserService.java:81
Logger log
Definition: PersonImportAction.java:76
void setCustomAttributes(List< GluuCustomAttribute > customAttributes)
Definition: User.java:38
abstract String getDnForPerson(String inum)
List< GluuCustomAttribute > getCustomAttributes()
Definition: User.java:34
abstract void addCustomObjectClass(GluuCustomPerson person)
String getGivenName()
Definition: GluuCustomPerson.java:128
abstract GluuCustomPerson getPersonByUid(String uid)
String getUid()
Definition: User.java:50
void setIname(String value)
Definition: GluuCustomPerson.java:92
ExternalUpdateUserService externalUpdateUserService
Definition: PersonImportAction.java:91
void setInum(String value)
Definition: User.java:46
String getCommonName()
Definition: GluuCustomPerson.java:120
void setCommonName(String value)
Definition: GluuCustomPerson.java:124
String getDisplayName()
Definition: User.java:58
abstract void addPerson(GluuCustomPerson person)
String getInum()
Definition: User.java:42
OrganizationService organizationService
Definition: PersonImportAction.java:79
boolean executeExternalAddUserMethods(GluuCustomPerson user)
Definition: ExternalUpdateUserService.java:50
abstract String generateInameForNewPerson(String uid)
String inum
Definition: PersonImportAction.java:124
boolean isAllowPersonModification()
Definition: OrganizationService.java:193
GluuCustomPerson person
Definition: PersonImportAction.java:122

◆ setDefaultPersonAttributes()

boolean org.gluu.oxtrust.action.PersonImportAction.setDefaultPersonAttributes ( List< GluuCustomPerson persons,
List< ImportAttribute importAttributes 
) throws Exception
inlineprivate
340  {
341  boolean isGeneratePassword = false;
342  for (ImportAttribute importAttribute : importAttributes) {
343  if (importAttribute.getAttribute().getName().equalsIgnoreCase(PERSON_PASSWORD_ATTRIBUTE)
344  && !importAttribute.getAttribute().isRequred()) {
345  isGeneratePassword = true;
346  break;
347  }
348  }
349 
350  for (GluuCustomPerson person : persons) {
351  if (StringHelper.isEmpty(person.getCommonName())) {
353  } else {
355  }
357 
359  person.setIname(iname);
360 
361  if (isGeneratePassword && StringHelper.isEmpty(person.getUserPassword())) {
362  person.setUserPassword(RandomStringUtils.randomAlphanumeric(16));
363  }
364 
365  }
366 
367  return true;
368  }
IPersonService personService
Definition: PersonImportAction.java:82
String getSurname()
Definition: GluuCustomPerson.java:183
void setDisplayName(String value)
Definition: User.java:62
String getGivenName()
Definition: GluuCustomPerson.java:128
String getUid()
Definition: User.java:50
void setIname(String value)
Definition: GluuCustomPerson.java:92
String getCommonName()
Definition: GluuCustomPerson.java:120
static final String PERSON_PASSWORD_ATTRIBUTE
Definition: PersonImportAction.java:73
void setUserPassword(String value)
Definition: GluuCustomPerson.java:148
void setCommonName(String value)
Definition: GluuCustomPerson.java:124
abstract String generateInameForNewPerson(String uid)
GluuCustomPerson person
Definition: PersonImportAction.java:122
String getUserPassword()
Definition: GluuCustomPerson.java:144

◆ uploadFile()

void org.gluu.oxtrust.action.PersonImportAction.uploadFile ( FileUploadEvent  event)
inline
255  {
257 
258  this.uploadedFile = event.getUploadedFile();
259  this.fileData = this.uploadedFile.getData();
260  }
void removeFileToImport()
Definition: PersonImportAction.java:262
UploadedFile uploadedFile
Definition: PersonImportAction.java:114
byte [] fileData
Definition: PersonImportAction.java:118

◆ validateFileToImport()

String org.gluu.oxtrust.action.PersonImportAction.validateFileToImport ( )
inline
181  {
182  try {
184 
185  if (uploadedFile == null) {
186  return OxTrustConstants.RESULT_FAILURE;
187  }
188 
189  Table table;
190  InputStream is = new ByteArrayInputStream(this.fileData);
191  try {
192  table = excelService.read(is);
193  } finally {
194  IOUtils.closeQuietly(is);
195  }
196 
197  this.fileDataToImport.setTable(table);
198 
199  if (table != null) {
200  this.fileDataToImport.setFileName(FilenameUtils.getName(uploadedFile.getName()));
202  this.fileDataToImport.setReady(true);
203  }
204 
205  if (this.fileDataToImport.isReady()) {
208  this.fileDataToImport.setReady(valid);
209 
210  if (!valid) {
212  }
213  }
214  return OxTrustConstants.RESULT_SUCCESS;
215  }catch (Exception e) {
216  facesMessages.add(FacesMessage.SEVERITY_ERROR, "Invalid file content");
217 
218  log.error(e.getMessage());
219  return OxTrustConstants.RESULT_FAILURE;
220  }
221 
222  }
FacesMessages facesMessages
Definition: PersonImportAction.java:97
void setTable(Table table)
Definition: PersonImportAction.java:677
boolean isReady()
Definition: PersonImportAction.java:697
boolean prepareAndValidateImportData(Table table, List< ImportAttribute > importAttributes)
Definition: PersonImportAction.java:275
Logger log
Definition: PersonImportAction.java:76
UploadedFile uploadedFile
Definition: PersonImportAction.java:114
Table getTable()
Definition: PersonImportAction.java:673
List< ImportAttribute > getAttributesForImport(Table table)
Definition: PersonImportAction.java:522
List< ImportAttribute > getImportAttributes()
Definition: PersonImportAction.java:665
Table read(InputStream is)
Definition: ExcelService.java:40
void removeFileDataToImport()
Definition: PersonImportAction.java:251
FileDataToImport fileDataToImport
Definition: PersonImportAction.java:115
byte [] fileData
Definition: PersonImportAction.java:118
ExcelService excelService
Definition: PersonImportAction.java:94
void setReady(boolean ready)
Definition: PersonImportAction.java:701
void setFileName(String fileName)
Definition: PersonImportAction.java:685
void setImportAttributes(List< ImportAttribute > importAttributes)
Definition: PersonImportAction.java:669

◆ validatePersons()

boolean org.gluu.oxtrust.action.PersonImportAction.validatePersons ( List< GluuCustomPerson persons) throws Exception
inlineprivate
370  {
371  Set<String> uids = new HashSet<String>();
372  Set<String> mails = new HashSet<String>();
373  for (GluuCustomPerson person : persons) {
374  uids.add(person.getUid());
375  mails.add(person.getMail());
376  }
377 
378  if (uids.size() != persons.size()) {
379  facesMessages.add(FacesMessage.SEVERITY_ERROR,
380  "Import failed. There are persons with simular uid(s) in input file");
381  return false;
382  }
383 
384  if (mails.size() != persons.size()) {
385  facesMessages.add(FacesMessage.SEVERITY_ERROR,
386  "Import failed. There are persons with simular mail(s) in input file");
387  return false;
388  }
389 
390  List<GluuCustomPerson> existPersons = personService.findPersonsByUids(new ArrayList<String>(uids),
392  if (existPersons.size() > 0) {
393  facesMessages.add(FacesMessage.SEVERITY_ERROR, "Import failed. There are persons with existing uid(s): %s",
394  personService.getPersonUids(existPersons));
395  return false;
396  }
397 
398  List<GluuCustomPerson> existEmailPersons = personService.findPersonsByMailids(new ArrayList<String>(mails),
400  if (existEmailPersons.size() > 0) {
401  facesMessages.add(FacesMessage.SEVERITY_ERROR,
402  "Import failed. There are persons with existing mailid(s): %s",
403  personService.getPersonMailids(existEmailPersons));
404  return false;
405  }
406 
407  return true;
408  }
IPersonService personService
Definition: PersonImportAction.java:82
abstract List< GluuCustomPerson > findPersonsByUids(List< String > uids, String[] returnAttributes)
FacesMessages facesMessages
Definition: PersonImportAction.java:97
static final String [] PERSON_IMPORT_PERSON_LOCKUP_RETURN_ATTRIBUTES
Definition: PersonImportAction.java:72
String getUid()
Definition: User.java:50
String getPersonMailids(List< GluuCustomPerson > persons)
List< GluuCustomPerson > findPersonsByMailids(List< String > mailids, String[] returnAttributes)
String getMail()
Definition: GluuCustomPerson.java:96
String getPersonUids(List< GluuCustomPerson > persons)
GluuCustomPerson person
Definition: PersonImportAction.java:122

メンバ詳解

◆ appConfiguration

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

◆ attributes

List<GluuAttribute> org.gluu.oxtrust.action.PersonImportAction.attributes
private

◆ attributesDisplayNameMap

Map<String, GluuAttribute> org.gluu.oxtrust.action.PersonImportAction.attributesDisplayNameMap
private

◆ attributeService

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

◆ conversationService

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

◆ customAttributeAction

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

◆ excelService

ExcelService org.gluu.oxtrust.action.PersonImportAction.excelService
private

◆ externalUpdateUserService

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

◆ facesMessages

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

◆ fileData

byte [] org.gluu.oxtrust.action.PersonImportAction.fileData
private

◆ fileDataToImport

FileDataToImport org.gluu.oxtrust.action.PersonImportAction.fileDataToImport
private

◆ identity

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

◆ importPersonConfiguration

transient ImportPersonConfiguration org.gluu.oxtrust.action.PersonImportAction.importPersonConfiguration
private

◆ inum

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

◆ isInitialized

boolean org.gluu.oxtrust.action.PersonImportAction.isInitialized
private

◆ log

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

◆ organizationService

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

◆ oxTrustAuditService

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

◆ person

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

◆ PERSON_IMPORT_PERSON_LOCKUP_RETURN_ATTRIBUTES

final String [] org.gluu.oxtrust.action.PersonImportAction.PERSON_IMPORT_PERSON_LOCKUP_RETURN_ATTRIBUTES = { "uid", "displayName", "mail" }
staticprivate

◆ PERSON_PASSWORD_ATTRIBUTE

final String org.gluu.oxtrust.action.PersonImportAction.PERSON_PASSWORD_ATTRIBUTE = "userPassword"
static

◆ personService

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

◆ serialVersionUID

final long org.gluu.oxtrust.action.PersonImportAction.serialVersionUID = -1270460481895022468L
staticprivate

◆ uploadedFile

UploadedFile org.gluu.oxtrust.action.PersonImportAction.uploadedFile
private

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