public static void addExport(ApplicationContext appContext, Export export) { Exports exports = getExports(appContext); exports.addExport(export); }
public Result[] createResults() { Set<Result> results = new HashSet<Result>(); for (Class<?> resultTypeClass : exportsMap.keySet()) { results.add(createResultInstance(resultTypeClass)); } return results.toArray(new Result[] {}); }
public Exports(final String resultType) { AssertArgument.isNotNull(resultType, "resultType"); addExport(new Export(getClassForType(resultType))); }
public Exports(final Set<Export> exportTypes) { for (Export export : exportTypes) { addExport(export); } }
public Collection<Export> getProducts() { return getExports(); }
setupSmooksReporting(executionContext); final Exports exports = Exports.getExports(smooks.getApplicationContext()); if (exports.hasExports()) final Result[] results = exports.createResults(); smooks.filterSource(executionContext, getSource(exchange), results); setResultOnBody(exports, results, exchange);
@Initialize public void setExportsInAppContext() { Exports.setExportsInApplicationContext(applicationContext, this); }
/** * Unmarshals the fromStream to an Object. * </p> * The Camel framework will call this method from {@link UnMarshalProcessor#process(Exchange)} * and it will take care of setting the returned Object on the Out Message's body. * * @param exchange The Camel {@link Exchange}. * @param fromStream The InputStream that will be unmarshalled into an Object instance. */ public Object unmarshal(final Exchange exchange, final InputStream fromStream) throws Exception { final ExecutionContext execContext = smooks.createExecutionContext(); final Exports exports = Exports.getExports(smooks.getApplicationContext()); final Result[] results = exports.createResults(); smooks.filterSource(execContext, new StreamSource(fromStream), results); return getResult(exports, results, exchange); }
public static List<Object> extractResults(final Result[] results, final Exports exports) { final List<Object> objects = new ArrayList<Object>(); for (Result result : results) { if (result instanceof ResultExtractor) { @SuppressWarnings("unchecked") final ResultExtractor<Result> e = (ResultExtractor<Result>) result; objects.add(e.extractFromResult(result, exports.getExport(result.getClass()))); } else { objects.add(result); } } return objects; }
UNEdifactInterchange41 edi = new UNEdifactInterchange41(); UNB41 header = new UNB41(); header.setSender(null); Party sender = new Party(); sender.setInternalId("TEST"); header.setSender(sender); edi.setInterchangeHeader(header); Smooks smooks = new Smooks("edi-output-smooks-config.xml"); ExecutionContext executionContext = smooks.createExecutionContext(); Exports exports = Exports.getExports(smooks.getApplicationContext()); Result[] results = exports.createResults(); smooks.filterSource(executionContext, new JavaSource(edi), results); List<Object> objects = Exports.extractResults(results, exports); JavaResult.ResultMap map = (JavaResult.ResultMap) objects.get(0); D98AInterchangeFactory factory = D98AInterchangeFactory.getInstance(); UNEdifactInterchange41 u = (UNEdifactInterchange41) map.get("unEdifactInterchange"); // Should output EDI message as String, but StringWriter is empty StringWriter ediOutStream1 = new StringWriter(); factory.toUNEdifact(u, ediOutStream1);
public Exports(final String resultType) { AssertArgument.isNotNull(resultType, "resultType"); addExport(new Export(getClassForType(resultType))); }
public Exports(final Set<Export> exportTypes) { for (Export export : exportTypes) { addExport(export); } }
public Collection<Export> getProducts() { return getExports(); }
@Initialize public void setExportsInAppContext() { Exports.setExportsInApplicationContext(applicationContext, this); }
objects.add(e.extractFromResult(result, exports.getExport(result.getClass())));
public static void addExport(ApplicationContext appContext, Export export) { Exports exports = getExports(appContext); exports.addExport(export); }
public Exports(final String resultType) { AssertArgument.isNotNull(resultType, "resultType"); addExport(new Export(getClassForType(resultType))); }
public Exports(final Set<Export> exportTypes) { for (Export export : exportTypes) { addExport(export); } }
public Collection<Export> getProducts() { return getExports(); }
@Initialize public void setExportsInAppContext() { Exports.setExportsInApplicationContext(applicationContext, this); }