use of com.liferay.imex.core.service.exporter.model.RawExporterProcessIdentifierGeneratorWrapper in project liferay-imex by jpdacunha.
the class ImexExportServiceImpl method executeRawExport.
private void executeRawExport(ExporterProcessIdentifierGenerator rootIdentifier, boolean debug) throws ImexException, IOException {
ImexProperties config = new ImexProperties();
configurationService.loadCoreConfiguration(config);
Properties coreConfigAsProperties = config.getProperties();
boolean rawExportEnabled = GetterUtil.getBoolean(coreConfigAsProperties.get(ImExCorePropsKeys.RAW_CONTENT_EXPORTER_ENABLED));
if (rawExportEnabled) {
ProcessIdentifierGenerator identifier = new RawExporterProcessIdentifierGeneratorWrapper(rootIdentifier);
String randomAlphanumeric = RandomStringUtils.randomAlphanumeric(4);
File tempDir = Files.createTempDirectory(randomAlphanumeric).toFile();
if (!tempDir.exists()) {
throw new ImexException("Failed to create directory " + tempDir);
}
File exportDir = initializeRawExportDirectory();
reportService.getStartMessage(_log, "Raw export process (human readable format)", 1);
// Since this a synchronized list
synchronized (rawExportContentList) {
for (ExporterRawContent content : rawExportContentList) {
writeRawContentInDir(tempDir, content, debug);
}
}
imexArchiverService.archiveAndClean(coreConfigAsProperties, tempDir, exportDir, identifier);
FileUtil.deltree(tempDir);
rawExportContentList.clear();
reportService.getEndMessage(_log, "Raw export process", 1);
} else {
if (rawExportContentList.size() > 0) {
reportService.getDisabled(_log, "raw content export");
reportService.getMessage(_log, "See [" + ImExCorePropsKeys.RAW_CONTENT_EXPORTER_ENABLED + "] to enable this feature", 4);
}
}
}
Aggregations