List of usage examples for org.apache.commons.csv CSVPrinter flush
@Override public void flush() throws IOException
From source file:org.easybatch.extensions.apache.common.csv.ApacheCommonCsvRecordMarshaller.java
@Override public StringRecord processRecord(final GenericRecord record) throws RecordMarshallingException { try {/* ww w . j ava 2s . c o m*/ StringWriter stringWriter = new StringWriter(); CSVPrinter csvPrinter = new CSVPrinter(stringWriter, csvFormat); Iterable<Object> iterable = fieldExtractor.extractFields(record.getPayload()); csvPrinter.printRecord(iterable); csvPrinter.flush(); return new StringRecord(record.getHeader(), stringWriter.toString()); } catch (Exception e) { throw new RecordMarshallingException(e); } }
From source file:org.eclipse.sw360.portal.portlets.admin.UserPortlet.java
public void backUpUsers(ResourceRequest request, ResourceResponse response) throws PortletException, IOException, SystemException, PortalException { List<User> liferayUsers; try {// ww w .j a v a2 s . c o m liferayUsers = UserLocalServiceUtil.getUsers(QueryUtil.ALL_POS, QueryUtil.ALL_POS); } catch (SystemException e) { log.error("Could not get user List from liferay", e); liferayUsers = Collections.emptyList(); } final ByteArrayOutputStream outB = new ByteArrayOutputStream(); Writer out = new BufferedWriter(new OutputStreamWriter(outB)); CSVPrinter csvPrinter = new CSVPrinter(out, CommonUtils.sw360CsvFormat); csvPrinter.printRecord("GivenName", "Lastname", "Email", "Department", "UserGroup", "GID", "isMale", "PasswdHash", "wantsMailNotification"); for (User liferayUser : liferayUsers) { String firstName = liferayUser.getFirstName(); String lastName = liferayUser.getLastName(); String emailAddress = liferayUser.getEmailAddress(); List<Organization> organizations = liferayUser.getOrganizations(); String department = ""; if (organizations != null && organizations.size() > 0) { department = organizations.get(0).getName(); } String gid = liferayUser.getOpenId(); boolean isMale = liferayUser.isMale(); String passwordHash = liferayUser.getPassword(); if (isNullOrEmpty(emailAddress) || isNullOrEmpty(department)) { continue; } org.eclipse.sw360.datahandler.thrift.users.User sw360user = UserCacheHolder .getUserFromEmail(emailAddress); boolean wantsMailNotification = sw360user.isSetWantsMailNotification() ? sw360user.wantsMailNotification : true; String userGroup = sw360user.getUserGroup().toString(); csvPrinter.printRecord(firstName, lastName, emailAddress, department, userGroup, gid, isMale, passwordHash, wantsMailNotification); } csvPrinter.flush(); csvPrinter.close(); ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(outB.toByteArray()); PortletResponseUtil.sendFile(request, response, "Users.csv", byteArrayInputStream, "text/csv"); }
From source file:org.zanata.client.commands.stats.CsvStatisticsOutput.java
@Override @SuppressFBWarnings("DM_DEFAULT_ENCODING") public void write(ContainerTranslationStatistics statistics) { try {//w w w . j a v a2s. c o m OutputStreamWriter streamWriter = new OutputStreamWriter(System.out); try { CSVPrinter csvPrinter = new CSVPrinter(streamWriter, CSVFormat.DEFAULT.withRecordSeparator(NEW_LINE_SEPARATOR)); try { writeToCsv(statistics, csvPrinter); csvPrinter.flush(); } finally { csvPrinter.close(); } } finally { streamWriter.close(); } } catch (IOException e) { throw new RuntimeException(e); } }
From source file:org.zanata.client.commands.stats.CsvStatisticsOutput.java
private void writeToCsv(ContainerTranslationStatistics statistics, CSVPrinter writer) throws IOException { writer.printRecord(Lists.newArrayList()); // Display headers Link sourceRef = statistics.getRefs().findLinkByRel("statSource"); if (sourceRef.getType().equals("PROJ_ITER")) { writer.printRecord(Lists.newArrayList("Project Version: ", statistics.getId())); } else if (sourceRef.getType().equals("DOC")) { writer.printRecord(Lists.newArrayList("Document: ", statistics.getId())); }// w w w. java 2 s . c o m // Write headers writer.printRecord(Lists.newArrayList("Locale", "Unit", "Total", "Translated", "Need Review", "Untranslated", "Last Translated")); // Write stats if (statistics.getStats() != null) { for (TranslationStatistics transStats : statistics.getStats()) { writer.printRecord(Lists.newArrayList(transStats.getLocale(), transStats.getUnit().toString(), Long.toString(transStats.getTotal()), Long.toString(transStats.getTranslatedAndApproved()), Long.toString(transStats.getDraft()), Long.toString(transStats.getUntranslated()), transStats.getLastTranslated())); } } writer.printRecord(Lists.newArrayList()); try { writer.flush(); } catch (IOException e) { throw new RuntimeException(e); } // Detailed stats if (statistics.getDetailedStats() != null) { for (ContainerTranslationStatistics detailedStats : statistics.getDetailedStats()) { writeToCsv(detailedStats, writer); } } }
From source file:password.pwm.event.AuditManager.java
public int outputVaultToCsv(OutputStream outputStream, final Locale locale, final boolean includeHeader) throws IOException { final Configuration config = null; final CSVPrinter csvPrinter = Helper.makeCsvPrinter(outputStream); csvPrinter.printComment(" " + PwmConstants.PWM_APP_NAME + " audit record output "); csvPrinter.printComment(" " + PwmConstants.DEFAULT_DATETIME_FORMAT.format(new Date())); if (includeHeader) { final List<String> headers = new ArrayList<>(); headers.add("Type"); headers.add(LocaleHelper.getLocalizedMessage(locale, "Field_Audit_EventCode", config, password.pwm.i18n.Admin.class)); headers.add(LocaleHelper.getLocalizedMessage(locale, "Field_Audit_Timestamp", config, password.pwm.i18n.Admin.class)); headers.add(LocaleHelper.getLocalizedMessage(locale, "Field_Audit_GUID", config, password.pwm.i18n.Admin.class)); headers.add(LocaleHelper.getLocalizedMessage(locale, "Field_Audit_Message", config, password.pwm.i18n.Admin.class)); headers.add(LocaleHelper.getLocalizedMessage(locale, "Field_Audit_Instance", config, password.pwm.i18n.Admin.class)); headers.add(LocaleHelper.getLocalizedMessage(locale, "Field_Audit_PerpetratorID", config, password.pwm.i18n.Admin.class)); headers.add(LocaleHelper.getLocalizedMessage(locale, "Field_Audit_PerpetratorDN", config, password.pwm.i18n.Admin.class)); headers.add(LocaleHelper.getLocalizedMessage(locale, "Field_Audit_TargetID", config, password.pwm.i18n.Admin.class)); headers.add(LocaleHelper.getLocalizedMessage(locale, "Field_Audit_TargetDN", config, password.pwm.i18n.Admin.class)); headers.add(LocaleHelper.getLocalizedMessage(locale, "Field_Audit_SourceAddress", config, password.pwm.i18n.Admin.class)); headers.add(LocaleHelper.getLocalizedMessage(locale, "Field_Audit_SourceHost", config, password.pwm.i18n.Admin.class)); csvPrinter.printRecord(headers); }/*from w w w . ja va2 s.c o m*/ int counter = 0; for (final Iterator<AuditRecord> recordIterator = readVault(); recordIterator.hasNext();) { final AuditRecord loopRecord = recordIterator.next(); counter++; final List<String> lineOutput = new ArrayList<>(); lineOutput.add(loopRecord.getEventCode().getType().toString()); lineOutput.add(loopRecord.getEventCode().toString()); lineOutput.add(PwmConstants.DEFAULT_DATETIME_FORMAT.format(loopRecord.getTimestamp())); lineOutput.add(loopRecord.getGuid()); lineOutput.add(loopRecord.getMessage() == null ? "" : loopRecord.getMessage()); if (loopRecord instanceof SystemAuditRecord) { lineOutput.add(((SystemAuditRecord) loopRecord).getInstance()); } if (loopRecord instanceof UserAuditRecord) { lineOutput.add(((UserAuditRecord) loopRecord).getPerpetratorID()); lineOutput.add(((UserAuditRecord) loopRecord).getPerpetratorDN()); lineOutput.add(""); lineOutput.add(""); lineOutput.add(((UserAuditRecord) loopRecord).getSourceAddress()); lineOutput.add(((UserAuditRecord) loopRecord).getSourceHost()); } if (loopRecord instanceof HelpdeskAuditRecord) { lineOutput.add(((HelpdeskAuditRecord) loopRecord).getPerpetratorID()); lineOutput.add(((HelpdeskAuditRecord) loopRecord).getPerpetratorDN()); lineOutput.add(((HelpdeskAuditRecord) loopRecord).getTargetID()); lineOutput.add(((HelpdeskAuditRecord) loopRecord).getTargetDN()); lineOutput.add(((HelpdeskAuditRecord) loopRecord).getSourceAddress()); lineOutput.add(((HelpdeskAuditRecord) loopRecord).getSourceHost()); } csvPrinter.printRecord(lineOutput); } csvPrinter.flush(); return counter; }
From source file:password.pwm.http.servlet.configmanager.DebugItemGenerator.java
static void outputZipDebugFile(final PwmRequest pwmRequest, final ZipOutputStream zipOutput, final String pathPrefix) throws IOException, PwmUnrecoverableException { final PwmApplication pwmApplication = pwmRequest.getPwmApplication(); final String DEBUG_FILENAME = "zipDebugGeneration.csv"; final ByteArrayOutputStream debugGeneratorLogBaos = new ByteArrayOutputStream(); final CSVPrinter debugGeneratorLogFile = JavaHelper.makeCsvPrinter(debugGeneratorLogBaos); for (final Class<? extends DebugItemGenerator.Generator> serviceClass : DEBUG_ZIP_ITEM_GENERATORS) { try {/*from w w w . j a va 2 s .co m*/ final Instant startTime = Instant.now(); LOGGER.trace(pwmRequest, "beginning output of item " + serviceClass.getSimpleName()); final Object newInstance = serviceClass.newInstance(); final DebugItemGenerator.Generator newGeneratorItem = (DebugItemGenerator.Generator) newInstance; zipOutput.putNextEntry(new ZipEntry(pathPrefix + newGeneratorItem.getFilename())); newGeneratorItem.outputItem(pwmApplication, pwmRequest, zipOutput); zipOutput.closeEntry(); zipOutput.flush(); final String finishMsg = "completed output of " + newGeneratorItem.getFilename() + " in " + TimeDuration.fromCurrent(startTime).asCompactString(); LOGGER.trace(pwmRequest, finishMsg); debugGeneratorLogFile.printRecord(JavaHelper.toIsoDate(new Date()), finishMsg); } catch (Throwable e) { final String errorMsg = "unexpected error executing debug item output class '" + serviceClass.getName() + "', error: " + e.toString(); LOGGER.error(pwmRequest, errorMsg); debugGeneratorLogFile.printRecord(JavaHelper.toIsoDate(new Date()), errorMsg); final Writer stackTraceOutput = new StringWriter(); e.printStackTrace(new PrintWriter(stackTraceOutput)); debugGeneratorLogFile.printRecord(stackTraceOutput); } } try { zipOutput.putNextEntry(new ZipEntry(pathPrefix + DEBUG_FILENAME)); debugGeneratorLogFile.flush(); zipOutput.write(debugGeneratorLogBaos.toByteArray()); zipOutput.closeEntry(); } catch (Exception e) { LOGGER.error("error generating " + DEBUG_FILENAME + ": " + e.getMessage()); } zipOutput.flush(); }
From source file:password.pwm.svc.event.AuditService.java
public int outputVaultToCsv(final OutputStream outputStream, final Locale locale, final boolean includeHeader) throws IOException { final Configuration config = null; final CSVPrinter csvPrinter = JavaHelper.makeCsvPrinter(outputStream); csvPrinter.printComment(" " + PwmConstants.PWM_APP_NAME + " audit record output "); csvPrinter.printComment(" " + JavaHelper.toIsoDate(Instant.now())); if (includeHeader) { final List<String> headers = new ArrayList<>(); headers.add("Type"); headers.add(LocaleHelper.getLocalizedMessage(locale, "Field_Audit_EventCode", config, password.pwm.i18n.Admin.class)); headers.add(LocaleHelper.getLocalizedMessage(locale, "Field_Audit_Timestamp", config, password.pwm.i18n.Admin.class)); headers.add(LocaleHelper.getLocalizedMessage(locale, "Field_Audit_GUID", config, password.pwm.i18n.Admin.class)); headers.add(LocaleHelper.getLocalizedMessage(locale, "Field_Audit_Message", config, password.pwm.i18n.Admin.class)); headers.add(LocaleHelper.getLocalizedMessage(locale, "Field_Audit_Instance", config, password.pwm.i18n.Admin.class)); headers.add(LocaleHelper.getLocalizedMessage(locale, "Field_Audit_PerpetratorID", config, password.pwm.i18n.Admin.class)); headers.add(LocaleHelper.getLocalizedMessage(locale, "Field_Audit_PerpetratorDN", config, password.pwm.i18n.Admin.class)); headers.add(LocaleHelper.getLocalizedMessage(locale, "Field_Audit_TargetID", config, password.pwm.i18n.Admin.class)); headers.add(LocaleHelper.getLocalizedMessage(locale, "Field_Audit_TargetDN", config, password.pwm.i18n.Admin.class)); headers.add(LocaleHelper.getLocalizedMessage(locale, "Field_Audit_SourceAddress", config, password.pwm.i18n.Admin.class)); headers.add(LocaleHelper.getLocalizedMessage(locale, "Field_Audit_SourceHost", config, password.pwm.i18n.Admin.class)); csvPrinter.printRecord(headers); }/* w w w . j a v a 2 s . c o m*/ int counter = 0; for (final Iterator<AuditRecord> recordIterator = readVault(); recordIterator.hasNext();) { final AuditRecord loopRecord = recordIterator.next(); counter++; final List<String> lineOutput = new ArrayList<>(); lineOutput.add(loopRecord.getEventCode().getType().toString()); lineOutput.add(loopRecord.getEventCode().toString()); lineOutput.add(JavaHelper.toIsoDate(loopRecord.getTimestamp())); lineOutput.add(loopRecord.getGuid()); lineOutput.add(loopRecord.getMessage() == null ? "" : loopRecord.getMessage()); if (loopRecord instanceof SystemAuditRecord) { lineOutput.add(((SystemAuditRecord) loopRecord).getInstance()); } if (loopRecord instanceof UserAuditRecord) { lineOutput.add(((UserAuditRecord) loopRecord).getPerpetratorID()); lineOutput.add(((UserAuditRecord) loopRecord).getPerpetratorDN()); lineOutput.add(""); lineOutput.add(""); lineOutput.add(((UserAuditRecord) loopRecord).getSourceAddress()); lineOutput.add(((UserAuditRecord) loopRecord).getSourceHost()); } if (loopRecord instanceof HelpdeskAuditRecord) { lineOutput.add(((HelpdeskAuditRecord) loopRecord).getPerpetratorID()); lineOutput.add(((HelpdeskAuditRecord) loopRecord).getPerpetratorDN()); lineOutput.add(((HelpdeskAuditRecord) loopRecord).getTargetID()); lineOutput.add(((HelpdeskAuditRecord) loopRecord).getTargetDN()); lineOutput.add(((HelpdeskAuditRecord) loopRecord).getSourceAddress()); lineOutput.add(((HelpdeskAuditRecord) loopRecord).getSourceHost()); } csvPrinter.printRecord(lineOutput); } csvPrinter.flush(); return counter; }
From source file:password.pwm.svc.report.ReportCsvUtility.java
public void outputToCsv(final OutputStream outputStream, final boolean includeHeader, final Locale locale, final Configuration config, final ReportColumnFilter columnFilter) throws IOException, ChaiUnavailableException, ChaiOperationException, PwmUnrecoverableException, PwmOperationalException { final CSVPrinter csvPrinter = JavaHelper.makeCsvPrinter(outputStream); final Class localeClass = password.pwm.i18n.Admin.class; if (includeHeader) { final List<String> headerRow = new ArrayList<>(); if (columnFilter.isUsernameVisible()) { headerRow.add(/* www . j a v a2 s . c o m*/ LocaleHelper.getLocalizedMessage(locale, "Field_Report_Username", config, localeClass)); } if (columnFilter.isUserDnVisible()) { headerRow.add(LocaleHelper.getLocalizedMessage(locale, "Field_Report_UserDN", config, localeClass)); } if (columnFilter.isLdapProfileVisible()) { headerRow.add( LocaleHelper.getLocalizedMessage(locale, "Field_Report_LDAP_Profile", config, localeClass)); } if (columnFilter.isEmailVisible()) { headerRow.add(LocaleHelper.getLocalizedMessage(locale, "Field_Report_Email", config, localeClass)); } if (columnFilter.isUserGuidVisible()) { headerRow.add( LocaleHelper.getLocalizedMessage(locale, "Field_Report_UserGuid", config, localeClass)); } if (columnFilter.isAccountExpirationTimeVisible()) { headerRow.add(LocaleHelper.getLocalizedMessage(locale, "Field_Report_AccountExpireTime", config, localeClass)); } if (columnFilter.isPasswordExpirationTimeVisible()) { headerRow.add(LocaleHelper.getLocalizedMessage(locale, "Field_Report_PwdExpireTime", config, localeClass)); } if (columnFilter.isPasswordChangeTimeVisible()) { headerRow.add(LocaleHelper.getLocalizedMessage(locale, "Field_Report_PwdChangeTime", config, localeClass)); } if (columnFilter.isResponseSetTimeVisible()) { headerRow.add(LocaleHelper.getLocalizedMessage(locale, "Field_Report_ResponseSaveTime", config, localeClass)); } if (columnFilter.isLastLoginTimeVisible()) { headerRow.add( LocaleHelper.getLocalizedMessage(locale, "Field_Report_LastLogin", config, localeClass)); } if (columnFilter.isHasResponsesVisible()) { headerRow.add( LocaleHelper.getLocalizedMessage(locale, "Field_Report_HasResponses", config, localeClass)); } if (columnFilter.isHasHelpdeskResponsesVisible()) { headerRow.add(LocaleHelper.getLocalizedMessage(locale, "Field_Report_HasHelpdeskResponses", config, localeClass)); } if (columnFilter.isResponseStorageMethodVisible()) { headerRow.add(LocaleHelper.getLocalizedMessage(locale, "Field_Report_ResponseStorageMethod", config, localeClass)); } if (columnFilter.isResponseFormatTypeVisible()) { headerRow.add(LocaleHelper.getLocalizedMessage(locale, "Field_Report_ResponseFormatType", config, localeClass)); } if (columnFilter.isPasswordStatusExpiredVisible()) { headerRow.add( LocaleHelper.getLocalizedMessage(locale, "Field_Report_PwdExpired", config, localeClass)); } if (columnFilter.isPasswordStatusPreExpiredVisible()) { headerRow.add(LocaleHelper.getLocalizedMessage(locale, "Field_Report_PwdPreExpired", config, localeClass)); } if (columnFilter.isPasswordStatusViolatesPolicyVisible()) { headerRow.add(LocaleHelper.getLocalizedMessage(locale, "Field_Report_PwdViolatesPolicy", config, localeClass)); } if (columnFilter.isPasswordStatusWarnPeriodVisible()) { headerRow.add(LocaleHelper.getLocalizedMessage(locale, "Field_Report_PwdWarnPeriod", config, localeClass)); } if (columnFilter.isRequiresPasswordUpdateVisible()) { headerRow.add(LocaleHelper.getLocalizedMessage(locale, "Field_Report_RequiresPasswordUpdate", config, localeClass)); } if (columnFilter.isRequiresResponseUpdateVisible()) { headerRow.add(LocaleHelper.getLocalizedMessage(locale, "Field_Report_RequiresResponseUpdate", config, localeClass)); } if (columnFilter.isRequiresProfileUpdateVisible()) { headerRow.add(LocaleHelper.getLocalizedMessage(locale, "Field_Report_RequiresProfileUpdate", config, localeClass)); } if (columnFilter.isCacheTimestampVisible()) { headerRow.add(LocaleHelper.getLocalizedMessage(locale, "Field_Report_RecordCacheTime", config, localeClass)); } csvPrinter.printRecord(headerRow); } ClosableIterator<UserCacheRecord> cacheBeanIterator = null; try { cacheBeanIterator = iterator(); while (cacheBeanIterator.hasNext()) { final UserCacheRecord userCacheRecord = cacheBeanIterator.next(); outputRecordRow(config, locale, userCacheRecord, csvPrinter, columnFilter); } } finally { if (cacheBeanIterator != null) { cacheBeanIterator.close(); } } csvPrinter.flush(); }
From source file:password.pwm.svc.report.ReportService.java
public void outputToCsv(final OutputStream outputStream, final boolean includeHeader, final Locale locale, final Configuration config, final ReportColumnFilter columnFilter) throws IOException, ChaiUnavailableException, ChaiOperationException, PwmUnrecoverableException, PwmOperationalException { final CSVPrinter csvPrinter = Helper.makeCsvPrinter(outputStream); final Class localeClass = password.pwm.i18n.Admin.class; if (includeHeader) { final List<String> headerRow = new ArrayList<>(); if (columnFilter.isUsernameVisible()) headerRow.add(/* w w w . ja va 2s . c o m*/ LocaleHelper.getLocalizedMessage(locale, "Field_Report_Username", config, localeClass)); if (columnFilter.isUserDnVisible()) headerRow.add(LocaleHelper.getLocalizedMessage(locale, "Field_Report_UserDN", config, localeClass)); if (columnFilter.isLdapProfileVisible()) headerRow.add( LocaleHelper.getLocalizedMessage(locale, "Field_Report_LDAP_Profile", config, localeClass)); if (columnFilter.isEmailVisible()) headerRow.add(LocaleHelper.getLocalizedMessage(locale, "Field_Report_Email", config, localeClass)); if (columnFilter.isUserGuidVisible()) headerRow.add( LocaleHelper.getLocalizedMessage(locale, "Field_Report_UserGuid", config, localeClass)); if (columnFilter.isAccountExpirationTimeVisible()) headerRow.add(LocaleHelper.getLocalizedMessage(locale, "Field_Report_AccountExpireTime", config, localeClass)); if (columnFilter.isPasswordExpirationTimeVisible()) headerRow.add(LocaleHelper.getLocalizedMessage(locale, "Field_Report_PwdExpireTime", config, localeClass)); if (columnFilter.isPasswordChangeTimeVisible()) headerRow.add(LocaleHelper.getLocalizedMessage(locale, "Field_Report_PwdChangeTime", config, localeClass)); if (columnFilter.isResponseSetTimeVisible()) headerRow.add(LocaleHelper.getLocalizedMessage(locale, "Field_Report_ResponseSaveTime", config, localeClass)); if (columnFilter.isLastLoginTimeVisible()) headerRow.add( LocaleHelper.getLocalizedMessage(locale, "Field_Report_LastLogin", config, localeClass)); if (columnFilter.isHasResponsesVisible()) headerRow.add( LocaleHelper.getLocalizedMessage(locale, "Field_Report_HasResponses", config, localeClass)); if (columnFilter.isHasHelpdeskResponsesVisible()) headerRow.add(LocaleHelper.getLocalizedMessage(locale, "Field_Report_HasHelpdeskResponses", config, localeClass)); if (columnFilter.isResponseStorageMethodVisible()) headerRow.add(LocaleHelper.getLocalizedMessage(locale, "Field_Report_ResponseStorageMethod", config, localeClass)); if (columnFilter.isResponseFormatTypeVisible()) headerRow.add(LocaleHelper.getLocalizedMessage(locale, "Field_Report_ResponseFormatType", config, localeClass)); if (columnFilter.isPasswordStatusExpiredVisible()) headerRow.add( LocaleHelper.getLocalizedMessage(locale, "Field_Report_PwdExpired", config, localeClass)); if (columnFilter.isPasswordStatusPreExpiredVisible()) headerRow.add(LocaleHelper.getLocalizedMessage(locale, "Field_Report_PwdPreExpired", config, localeClass)); if (columnFilter.isPasswordStatusViolatesPolicyVisible()) headerRow.add(LocaleHelper.getLocalizedMessage(locale, "Field_Report_PwdViolatesPolicy", config, localeClass)); if (columnFilter.isPasswordStatusWarnPeriodVisible()) headerRow.add(LocaleHelper.getLocalizedMessage(locale, "Field_Report_PwdWarnPeriod", config, localeClass)); if (columnFilter.isRequiresPasswordUpdateVisible()) headerRow.add(LocaleHelper.getLocalizedMessage(locale, "Field_Report_RequiresPasswordUpdate", config, localeClass)); if (columnFilter.isRequiresResponseUpdateVisible()) headerRow.add(LocaleHelper.getLocalizedMessage(locale, "Field_Report_RequiresResponseUpdate", config, localeClass)); if (columnFilter.isRequiresProfileUpdateVisible()) headerRow.add(LocaleHelper.getLocalizedMessage(locale, "Field_Report_RequiresProfileUpdate", config, localeClass)); if (columnFilter.isCacheTimestampVisible()) headerRow.add(LocaleHelper.getLocalizedMessage(locale, "Field_Report_RecordCacheTime", config, localeClass)); csvPrinter.printRecord(headerRow); } ClosableIterator<UserCacheRecord> cacheBeanIterator = null; try { cacheBeanIterator = this.iterator(); while (cacheBeanIterator.hasNext()) { final UserCacheRecord userCacheRecord = cacheBeanIterator.next(); outputRecordRow(config, locale, userCacheRecord, csvPrinter, columnFilter); } } finally { if (cacheBeanIterator != null) { cacheBeanIterator.close(); } } csvPrinter.flush(); }
From source file:password.pwm.svc.stats.StatisticsManager.java
public int outputStatsToCsv(final OutputStream outputStream, final Locale locale, final boolean includeHeader) throws IOException { LOGGER.trace("beginning output stats to csv process"); final Instant startTime = Instant.now(); final StatisticsManager statsManger = pwmApplication.getStatisticsManager(); final CSVPrinter csvPrinter = JavaHelper.makeCsvPrinter(outputStream); if (includeHeader) { final List<String> headers = new ArrayList<>(); headers.add("KEY"); headers.add("YEAR"); headers.add("DAY"); for (final Statistic stat : Statistic.values()) { headers.add(stat.getLabel(locale)); }//ww w. j a v a 2s . c om csvPrinter.printRecord(headers); } int counter = 0; final Map<StatisticsManager.DailyKey, String> keys = statsManger .getAvailableKeys(PwmConstants.DEFAULT_LOCALE); for (final StatisticsManager.DailyKey loopKey : keys.keySet()) { counter++; final StatisticsBundle bundle = statsManger.getStatBundleForKey(loopKey.toString()); final List<String> lineOutput = new ArrayList<>(); lineOutput.add(loopKey.toString()); lineOutput.add(String.valueOf(loopKey.year)); lineOutput.add(String.valueOf(loopKey.day)); for (final Statistic stat : Statistic.values()) { lineOutput.add(bundle.getStatistic(stat)); } csvPrinter.printRecord(lineOutput); } csvPrinter.flush(); LOGGER.trace("completed output stats to csv process; output " + counter + " records in " + TimeDuration.fromCurrent(startTime).asCompactString()); return counter; }