use of java.io.ByteArrayInputStream in project camel by apache.
the class BlobServiceProducer method getInputStreamFromExchange.
private InputStream getInputStreamFromExchange(Exchange exchange) throws Exception {
Object blobObject = exchange.getIn().getMandatoryBody();
InputStream inputStream = null;
if (blobObject instanceof String) {
String charset = getCharsetName(exchange);
inputStream = new ByteArrayInputStream(((String) blobObject).getBytes(charset));
} else if (blobObject instanceof InputStream) {
inputStream = (InputStream) blobObject;
} else if (blobObject instanceof File) {
inputStream = new FileInputStream((File) blobObject);
} else {
throw new IllegalArgumentException("Unsupported blob type:" + blobObject.getClass().getName());
}
return inputStream;
}
use of java.io.ByteArrayInputStream in project camel by apache.
the class BlobServiceProducerSpringTest method testUpdatePageBlob.
@Test
@Ignore
public void testUpdatePageBlob() throws Exception {
result.expectedMessageCount(1);
final byte[] data = new byte[512];
Arrays.fill(data, (byte) 1);
template.send("direct:updatePageBlob", ExchangePattern.InOnly, new Processor() {
public void process(Exchange exchange) throws Exception {
exchange.getIn().setBody(new ByteArrayInputStream(data));
}
});
assertMockEndpointsSatisfied();
assertResultExchange(result.getExchanges().get(0));
}
use of java.io.ByteArrayInputStream in project camel by apache.
the class RestContextRefDefinitionHelper method cloneRestDefinition.
private static RestDefinition cloneRestDefinition(JAXBContext jaxbContext, RestDefinition def) throws JAXBException {
Marshaller marshal = jaxbContext.createMarshaller();
ByteArrayOutputStream bos = new ByteArrayOutputStream();
marshal.marshal(def, bos);
ByteArrayInputStream bis = new ByteArrayInputStream(bos.toByteArray());
Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();
Object clone = unmarshaller.unmarshal(bis);
if (clone != null && clone instanceof RestDefinition) {
RestDefinition def2 = (RestDefinition) clone;
Iterator<VerbDefinition> verbit1 = def.getVerbs().iterator();
Iterator<VerbDefinition> verbit2 = def2.getVerbs().iterator();
while (verbit1.hasNext() && verbit2.hasNext()) {
VerbDefinition verb1 = verbit1.next();
VerbDefinition verb2 = verbit2.next();
if (verb1.getToOrRoute() instanceof RouteDefinition && verb2.getToOrRoute() instanceof RouteDefinition) {
RouteDefinition route1 = (RouteDefinition) verb1.getToOrRoute();
RouteDefinition route2 = (RouteDefinition) verb2.getToOrRoute();
// need to clone the namespaces also as they are not JAXB marshalled (as they are transient)
Iterator<ExpressionNode> it = ProcessorDefinitionHelper.filterTypeInOutputs(route1.getOutputs(), ExpressionNode.class);
Iterator<ExpressionNode> it2 = ProcessorDefinitionHelper.filterTypeInOutputs(route2.getOutputs(), ExpressionNode.class);
while (it.hasNext() && it2.hasNext()) {
ExpressionNode node = it.next();
ExpressionNode node2 = it2.next();
NamespaceAwareExpression name = null;
NamespaceAwareExpression name2 = null;
if (node.getExpression() instanceof NamespaceAwareExpression) {
name = (NamespaceAwareExpression) node.getExpression();
}
if (node2.getExpression() instanceof NamespaceAwareExpression) {
name2 = (NamespaceAwareExpression) node2.getExpression();
}
if (name != null && name2 != null && name.getNamespaces() != null && !name.getNamespaces().isEmpty()) {
Map<String, String> map = new HashMap<String, String>();
map.putAll(name.getNamespaces());
name2.setNamespaces(map);
}
}
}
}
return def2;
}
return null;
}
use of java.io.ByteArrayInputStream in project camel by apache.
the class FileDataSetProducerTest method createFileDatasetWithSystemEndOfLine.
private File createFileDatasetWithSystemEndOfLine() throws IOException {
tempFolder.create();
File fileDataset = tempFolder.newFile("file-dataset-test.txt");
Files.copy(new ByteArrayInputStream(testPayload.getBytes()), fileDataset.toPath(), StandardCopyOption.REPLACE_EXISTING);
return fileDataset;
}
use of java.io.ByteArrayInputStream in project camel by apache.
the class ValidatorDtdAccessOnTest method testInvalidMessageWithExternalDTDStreamSource.
/** Tests that external DTD call is executed for StreamSourceby expecting an UnkonwHostException. */
public void testInvalidMessageWithExternalDTDStreamSource() throws Exception {
unknownHostExceptionEndpoint.expectedMessageCount(1);
finallyEndpoint.expectedMessageCount(1);
InputStream is = new ByteArrayInputStream(ssrfPayloud.getBytes(StandardCharsets.UTF_8));
template.sendBody("direct:start", is);
MockEndpoint.assertIsSatisfied(validEndpoint, unknownHostExceptionEndpoint, finallyEndpoint);
}
Aggregations