@SuppressWarnings("deprecation") @Override public OutputStream append() throws ResourceException { return getRepositoryFile().writeFile(true); }
@SuppressWarnings("deprecation") @Override public OutputStream write() throws ResourceException { return getRepositoryFile().writeFile(false); }
@Override public RepositoryFile createFile(final String name, final Action<OutputStream> writeCallback) { if (name.indexOf('/') != -1 || name.indexOf('\\') != -1) { throw new IllegalArgumentException("File name cannot contain slashes"); } final File file = new File(_file, name); if (file.exists()) { throw new IllegalArgumentException("A file with the name '" + name + "' already exists"); } final RepositoryFile repositoryFile = (RepositoryFile) getChildCache().getUnchecked(file); repositoryFile.writeFile(writeCallback); return repositoryFile; }
@Override public void flushLog() { _execution.setLogOutput(_log.toString()); _logFile.writeFile(new Action<OutputStream>() { @Override public void run(OutputStream out) throws Exception { // synchronize while writing synchronized (_log) { _executionLogWriter.write(_execution, out); } } }); }
private void writeConfiguration(TenantContext tenantContext, Document configurationFileDocument) { final Transformer transformer = getTransformer(); final Source source = new DOMSource(configurationFileDocument); tenantContext.getConfigurationFile().writeFile(out -> { final Result outputTarget = new StreamResult(out); transformer.transform(source, outputTarget); out.flush(); }); tenantContext.onConfigurationChanged(); }
private RepositoryFile createOrUpdateFile(final RepositoryFolder folder, final String filename, final Action<OutputStream> writeAction) { RepositoryFile file = folder.getFile(filename); if (file == null) { file = folder.createFile(filename, writeAction); } else { file.writeFile(writeAction); } return file; } }
folder.createFile(filename, writeCallback); } else { existingFile.writeFile(writeCallback);
configurationFile.writeFile(writeAction); } finally { FileHelper.safeClose(inputStream);
private void processUploadedFile(String tenantId, InputStream inStream) throws IOException, JAXBException { try { final TenantContext context = _contextFactory.getContext(tenantId); final RepositoryFile configurationFile = context.getConfigurationFile(); final WriteUpdatedConfigurationFileAction writeAction = new WriteUpdatedConfigurationFileAction(inStream, configurationFile, true); configurationFile.writeFile(writeAction); } finally { FileHelper.safeClose(inStream); } } }
confFile.writeFile(new Action<OutputStream>() { @Override public void run(OutputStream out) throws Exception {
public void removeReferenceData(final TenantContext tenantContext, final ReferenceData referenceData) throws IllegalArgumentException { if (referenceData == null) { throw new IllegalArgumentException("Reference data can not be null"); } final JaxbConfigurationReader jaxbConfigurationAdaptor = new JaxbConfigurationReader(); final RepositoryFile configurationFile = tenantContext.getConfigurationFile(); final Configuration configuration = configurationFile.readFile(in -> { return jaxbConfigurationAdaptor.unmarshall(in); }); boolean found = false; final List<Object> referenceDataList = getReferenceDataListByType(configuration, referenceData); for (Iterator<Object> it = referenceDataList.iterator(); it.hasNext(); ) { final String candidateName = WriteUpdatedConfigurationFileAction.getComparableName(it.next()); if (referenceData.getName().equals(candidateName)) { it.remove(); found = true; break; } } if (!found) { throw new IllegalArgumentException("Could not find reference data with name '" + referenceData + "'"); } configurationFile.writeFile(out -> { jaxbConfigurationAdaptor.marshall(configuration, out); }); }
private void renameSchedule(final RepositoryFile oldScheduleFile, final String nameInput, final RepositoryFolder jobFolder) { final String newScheduleFilename = nameInput + SchedulingServiceImpl.EXTENSION_SCHEDULE_XML; final Action<OutputStream> writeScheduleAction = new Action<OutputStream>() { @Override public void run(final OutputStream out) throws Exception { oldScheduleFile.readFile(new Action<InputStream>() { @Override public void run(final InputStream in) throws Exception { FileHelper.copy(in, out); } }); } }; final RepositoryFile newScheduleFile = jobFolder.getFile(newScheduleFilename); if (newScheduleFile == null) { jobFolder.createFile(newScheduleFilename, writeScheduleAction); } else { newScheduleFile.writeFile(writeScheduleAction); } oldScheduleFile.delete(); } }
jobFile = existingJob.getJobFile(); logger.info("Overwriting job from uploaded file: {}", jobFile.getName()); jobFile.writeFile(writeCallback);
final Source source = new DOMSource(configurationFileDocument); confFile.writeFile(new Action<OutputStream>() { @Override public void run(OutputStream out) throws Exception {
@Override public TimelineIdentifier updateTimeline(TimelineIdentifier identifier, TimelineDefinition definition) { final RepositoryFile file = (RepositoryFile) _repository.getRepositoryNode(identifier.getPath()); file.writeFile(new WriteTimelineAction(definition)); logger.info("Updated timeline definition in file: {}", file); return new TimelineIdentifier(identifier.getName(), file.getQualifiedPath(), identifier.getGroup()); }
newFile.writeFile(writeAction); } else { httpServletResponse.setStatus(HttpServletResponse.SC_CONFLICT);
newFile = resultFolder.createFile(newFilename, writeAction); } else { newFile.writeFile(writeAction);
@Override public ScheduleDefinition updateSchedule(final TenantIdentifier tenant, final ScheduleDefinition scheduleDefinition) { initializeSchedule(scheduleDefinition); final String jobName = scheduleDefinition.getJob().getName(); final TenantContext context = _tenantContextFactory.getContext(tenant); final RepositoryFolder jobsFolder = context.getJobFolder(); final String filename = jobName + EXTENSION_SCHEDULE_XML; final RepositoryFile file = jobsFolder.getFile(filename); final Action<OutputStream> writeAction = new Action<OutputStream>() { @Override public void run(OutputStream out) throws Exception { JaxbScheduleWriter writer = new JaxbScheduleWriter(); writer.write(scheduleDefinition, out); } }; if (file == null) { jobsFolder.createFile(filename, writeAction); } else { file.writeFile(writeAction); } return scheduleDefinition; }
resultFolder.createFile(newFilename, writeAction); } else { newFile.writeFile(writeAction);