/** * Copyright (c) 2005-2010, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. * * WSO2 Inc. licenses this file to you under the Apache License, * Version 2.0 (the "License"); you may not use this file except * in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. */ package org.apache.synapse.commons.json; import org.apache.axiom.om.OMDataSource; import org.apache.axiom.om.util.AXIOMUtil; import org.apache.axiom.soap.SOAPEnvelope; import org.apache.axiom.soap.SOAPFactory; import org.apache.axiom.soap.impl.llom.soap11.SOAP11Factory; import org.apache.axis2.AxisFault; import org.apache.axis2.builder.Builder; import org.apache.axis2.context.MessageContext; import org.apache.axis2.transport.MessageFormatter; import org.springframework.core.io.ClassPathResource; import javax.xml.stream.XMLStreamException; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; public class Util { private static final String[] files = { "json/dataSource_0.json", "json/twitter_huge.json" }; private static final SOAPFactory factory = new SOAP11Factory(); public static InputStream getJson(int file) throws FileNotFoundException { String path = null; try { path = new ClassPathResource(files[file]).getFile().getAbsolutePath(); } catch (IOException e) { return null; } FileInputStream fileInputStream = new FileInputStream(path); return fileInputStream; } public static InputStream getXml(int file) throws FileNotFoundException { FileInputStream fileInputStream = new FileInputStream(files[file]); return fileInputStream; } public static SOAPEnvelope newEnvelop() { return null; } public static MessageContext newMessageContext() throws AxisFault { MessageContext messageContext = new MessageContext(); SOAPEnvelope envelope = factory.createSOAPEnvelope(); factory.createSOAPBody(envelope); messageContext.setEnvelope(envelope); return messageContext; } public static MessageContext newMessageContext(String xmlpayload) throws AxisFault, XMLStreamException { MessageContext messageContext = new MessageContext(); SOAPEnvelope envelope = factory.createSOAPEnvelope(); factory.createSOAPBody(envelope); envelope.getBody().addChild(AXIOMUtil.stringToOM(xmlpayload)); messageContext.setEnvelope(envelope); return messageContext; } public static InputStream newInputStream(byte[] input) { return new ByteArrayInputStream(input); } public static OutputStream newOutputStream() { return new ByteArrayOutputStream(); } public static void setAsChild(MessageContext messageContext, String xmlInput) throws XMLStreamException { messageContext.getEnvelope().getBody().addChild(AXIOMUtil.stringToOM(xmlInput)); } public static MessageFormatter newJsonFormatter() { return new JsonFormatter(); } public static MessageFormatter newJsonStreamFormatter() { return new JsonStreamFormatter(); } public static Builder newJsonBuilder() { return new JsonBuilder(); } public static Builder newJsonStreamBuilder() { return new JsonStreamBuilder(); } public static OMDataSource newJsonDataSource(InputStream inputStream) { return new JsonDataSourceImpl(inputStream); } }