private void outputRecordRow( final Configuration config, final Locale locale, final UserCacheRecord userCacheRecord, final CSVPrinter csvPrinter) throws IOException { final String trueField = Display.getLocalizedMessage(locale, Display.Value_True, config); final String falseField = Display.getLocalizedMessage(locale, Display.Value_False, config); final String naField = Display.getLocalizedMessage(locale, Display.Value_NotApplicable, config); final List<String> csvRow = new ArrayList<>(); csvRow.add(userCacheRecord.getUserDN()); csvRow.add(userCacheRecord.getLdapProfile()); csvRow.add(userCacheRecord.getUsername()); csvRow.add(userCacheRecord.getEmail()); csvRow.add(userCacheRecord.getUserGUID()); csvRow.add( userCacheRecord.getLastLoginTime() == null ? naField : PwmConstants.DEFAULT_DATETIME_FORMAT.format(userCacheRecord.getLastLoginTime())); csvRow.add( userCacheRecord.getPasswordExpirationTime() == null ? naField : PwmConstants.DEFAULT_DATETIME_FORMAT.format( userCacheRecord.getPasswordExpirationTime())); csvRow.add( userCacheRecord.getPasswordChangeTime() == null ? naField : PwmConstants.DEFAULT_DATETIME_FORMAT.format(userCacheRecord.getPasswordChangeTime())); csvRow.add( userCacheRecord.getResponseSetTime() == null ? naField : PwmConstants.DEFAULT_DATETIME_FORMAT.format(userCacheRecord.getResponseSetTime())); csvRow.add(userCacheRecord.isHasResponses() ? trueField : falseField); csvRow.add(userCacheRecord.isHasHelpdeskResponses() ? trueField : falseField); csvRow.add( userCacheRecord.getResponseStorageMethod() == null ? naField : userCacheRecord.getResponseStorageMethod().toString()); csvRow.add(userCacheRecord.getPasswordStatus().isExpired() ? trueField : falseField); csvRow.add(userCacheRecord.getPasswordStatus().isPreExpired() ? trueField : falseField); csvRow.add(userCacheRecord.getPasswordStatus().isViolatesPolicy() ? trueField : falseField); csvRow.add(userCacheRecord.getPasswordStatus().isWarnPeriod() ? trueField : falseField); csvRow.add(userCacheRecord.isRequiresPasswordUpdate() ? trueField : falseField); csvRow.add(userCacheRecord.isRequiresResponseUpdate() ? trueField : falseField); csvRow.add(userCacheRecord.isRequiresProfileUpdate() ? trueField : falseField); csvRow.add( userCacheRecord.getCacheTimestamp() == null ? naField : PwmConstants.DEFAULT_DATETIME_FORMAT.format(userCacheRecord.getCacheTimestamp())); csvPrinter.printRecord(csvRow); }