use of org.craftercms.studio.api.v1.content.pipeline.ContentProcessorPipeline in project studio by craftercms.
the class ProcessContentExecutorImpl method processContent.
@Override
public ResultTO processContent(String id, InputStream input, boolean isXml, Map<String, String> params, String chainName) throws ServiceLayerException {
final ContentProcessorPipeline chain = processorChains.get(chainName);
try {
if (chain != null) {
if (StringUtils.isEmpty(params.get(DmConstants.KEY_USER))) {
String user = securityService.getCurrentUser();
params.put(DmConstants.KEY_USER, user);
}
final ResultTO result = new ResultTO();
try {
final PipelineContent content = new PipelineContentImpl(id, input, isXml, null, StudioConstants.CONTENT_ENCODING, params);
chain.processContent(content, result);
} catch (ContentProcessException e) {
logger.error("Error in chain for write content", e);
throw e;
} catch (RuntimeException e) {
logger.error("Error in chain for write content", e);
throw e;
} finally {
ContentUtils.release(input);
}
return result;
} else {
ContentUtils.release(input);
throw new ServiceLayerException(chainName + " is not defined.");
}
} finally {
String s = params.get(DmConstants.KEY_USER);
// AuthenticationUtil.setFullyAuthenticatedUser(s);
}
}
Aggregations