/** * Read all files from repository * * @return */ @Override public List<ComponentStoreHolder> getList() { readLock.lock(); final List<ComponentStoreHolder> holderList = new ArrayList<>(); try { List<RepositoryFile> files = componentsFolder.getFiles(); for (RepositoryFile file : files) { file.readFile(new Action<InputStream>() { @Override public void run(InputStream arg) throws Exception { String theString = IOUtils.toString(arg); holderList.add(objectMapper.readValue(theString, ComponentStoreHolder.class)); } }); } } finally { readLock.unlock(); } return holderList; } }
private void addTimelines(List<TimelineIdentifier> result, DashboardGroup group, RepositoryFolder repositoryFolder) { final String extension = FileFilters.ANALYSIS_TIMELINE_XML.getExtension(); final List<RepositoryFile> files = repositoryFolder.getFiles(null, extension); for (RepositoryFile file : files) { final String timelineName = file.getName().substring(0, file.getName().length() - extension.length()); final TimelineIdentifier timelineIdentifier = new TimelineIdentifier(timelineName, file.getQualifiedPath(), group); result.add(timelineIdentifier); } }
@RolesAllowed(SecurityRoles.VIEWER) @RequestMapping(method = RequestMethod.GET, produces = "application/json") @ResponseBody public List<Map<String, String>> resultsFolderJson(@PathVariable("tenant") String tenant) { final TenantContext context = _tenantContextFactory.getContext(tenant); final RepositoryFolder resultsFolder = context.getResultFolder(); final List<Map<String, String>> result = new ArrayList<Map<String, String>>(); { final List<RepositoryFile> files = resultsFolder.getFiles(null, FileFilters.ANALYSIS_RESULT_SER.getExtension()); for (RepositoryFile file : files) { Map<String, String> map = new HashMap<String, String>(); map.put("filename", file.getName()); map.put("repository_path", file.getQualifiedPath()); result.add(map); } } return result; } }
protected static List<RepositoryFile> getResultsForJob(String jobName, RepositoryFolder resultsFolder) { final String extension = FileFilters.ANALYSIS_RESULT_SER.getExtension(); final String prefix = jobName + "-"; final List<RepositoryFile> candidatesByFilename = resultsFolder.getFiles(prefix, extension); final List<RepositoryFile> files = CollectionUtils.filter(candidatesByFilename, new Predicate<RepositoryFile>() { @Override public Boolean eval(RepositoryFile file) { // check that the remainding part of the file is ONLY a // timestamp - or else it might be a name conflict // between similarly named jobs. String timestampPart = file.getName(); timestampPart = timestampPart.substring(prefix.length()); timestampPart = timestampPart.substring(0, timestampPart.length() - extension.length()); try { Long.parseLong(timestampPart); return true; } catch (NumberFormatException e) { return false; } } }); return files; }
int itemsCount = 0; final List<RepositoryFile> files = folder.getFiles(); for (RepositoryFile file : files) { logger.info("File: " + path + file.getName());
@Override public List<TimelineIdentifier> getTimelines(final TenantIdentifier tenant, final DashboardGroup group) { final RepositoryFolder timelinesFolder = _tenantContextFactory.getContext(tenant).getTimelineFolder(); final List<RepositoryFile> files; final String groupName = (group == null ? null : group.getName()); if (group == null || groupName == null || "".equals(groupName)) { files = timelinesFolder.getFiles(); } else { RepositoryFolder groupFolder = timelinesFolder.getFolder(groupName); files = groupFolder.getFiles(); } final List<TimelineIdentifier> result = new ArrayList<TimelineIdentifier>(); for (RepositoryFile file : files) { if (file.getType() == Type.TIMELINE_SPEC) { String timelineName = file.getName().substring(0, file.getName().length() - FileFilters.ANALYSIS_TIMELINE_XML.getExtension().length()); TimelineIdentifier timeline = new TimelineIdentifier(timelineName, file.getQualifiedPath(), group); result.add(timeline); } } return result; }
private void deleteChildren(RepositoryFolder folder) { List<RepositoryFile> files = folder.getFiles(); for (RepositoryFile file : files) { file.delete(); } List<RepositoryFolder> folders = folder.getFolders(); for (RepositoryFolder subFolder : folders) { deleteChildren(subFolder); subFolder.delete(); } }
@Override public final List<JobIdentifier> getJobs(TenantContext tenantContext) { final RepositoryFolder jobsFolder = tenantContext.getJobFolder(); final List<RepositoryFile> files = jobsFolder.getFiles(null, _fileExtension); final List<String> filenames = CollectionUtils.map(files, new HasNameMapper()); final List<JobIdentifier> jobs = CollectionUtils.map(filenames, new Func<String, JobIdentifier>() { @Override public JobIdentifier eval(String filename) { String jobName = filename.substring(0, filename.length() - _fileExtension.length()); return new JobIdentifier(jobName, getJobType()); } }); return jobs; }
public static void main(final String[] args) { final DCModuleImpl module = new DCModuleImpl(DataCleanerHome.get()); final DataCleanerConfiguration configuration = Guice.createInjector(module).getInstance(DataCleanerConfiguration.class); final ComponentReferenceDocumentationBuilder docBuilder = new ComponentReferenceDocumentationBuilder(configuration.getEnvironment().getDescriptorProvider()); final RepositoryFolder folder = configuration.getHomeFolder().toRepositoryFolder().getOrCreateFolder("documentation"); // clean up the directory final List<RepositoryFile> htmlFiles = folder.getFiles(null, ".html"); for (final RepositoryFile file : htmlFiles) { file.delete(); } docBuilder.writeDocumentationToRepositoryFolder(folder); System.out.println("Documentation written to: " + folder.getQualifiedPath()); } }
@Override public List<ExecutionIdentifier> getAllExecutions(TenantIdentifier tenant, JobIdentifier job) throws IllegalStateException { final TenantContext tenantContext = _tenantContextFactory.getContext(tenant); final RepositoryFolder resultFolder = tenantContext.getResultFolder(); final List<RepositoryFile> files = resultFolder.getFiles(job.getName(), FileFilters.ANALYSIS_EXECUTION_LOG_XML .getExtension()); final List<ExecutionIdentifier> executionIdentifiers = CollectionUtils.map(files, new Func<RepositoryFile, ExecutionIdentifier>() { @Override public ExecutionIdentifier eval(final RepositoryFile file) { try { final ExecutionIdentifier result = file.readFile( new Func<InputStream, ExecutionIdentifier>() { @Override public ExecutionIdentifier eval(InputStream in) { return SaxExecutionIdentifierReader.read(in, file.getQualifiedPath()); } }); return result; } catch (Exception e) { logger.warn("The file " + file.getQualifiedPath() + " could not be read or parsed correctly " + e); return new ExecutionIdentifier("Execution failed for " + FilenameUtils.getBaseName(file .getQualifiedPath())); } } }); Collections.sort(executionIdentifiers); return executionIdentifiers; }