You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by na...@apache.org on 2008/10/24 13:15:11 UTC

svn commit: r707601 - in /webservices/axis2/trunk/java/modules/json/test/org/apache/axis2/json: JSONOMBuilderTest.java JSONTestConstants.java

Author: nandana
Date: Fri Oct 24 04:15:11 2008
New Revision: 707601

URL: http://svn.apache.org/viewvc?rev=707601&view=rev
Log:
AXIS2-4098 Test case to demonstrate the problematic scenario 

Added:
    webservices/axis2/trunk/java/modules/json/test/org/apache/axis2/json/JSONOMBuilderTest.java
Modified:
    webservices/axis2/trunk/java/modules/json/test/org/apache/axis2/json/JSONTestConstants.java

Added: webservices/axis2/trunk/java/modules/json/test/org/apache/axis2/json/JSONOMBuilderTest.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/json/test/org/apache/axis2/json/JSONOMBuilderTest.java?rev=707601&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/json/test/org/apache/axis2/json/JSONOMBuilderTest.java (added)
+++ webservices/axis2/trunk/java/modules/json/test/org/apache/axis2/json/JSONOMBuilderTest.java Fri Oct 24 04:15:11 2008
@@ -0,0 +1,94 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF 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.axis2.json;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+
+import javax.xml.parsers.ParserConfigurationException;
+import javax.xml.stream.XMLStreamException;
+
+import junit.framework.TestCase;
+
+import org.apache.axiom.om.OMElement;
+import org.apache.axiom.om.OMOutputFormat;
+import org.apache.axiom.soap.SOAPEnvelope;
+import org.apache.axis2.context.MessageContext;
+import org.apache.axis2.transport.TransportUtils;
+import org.apache.axis2.transport.http.SOAPMessageFormatter;
+import org.codehaus.jettison.json.JSONException;
+import org.xml.sax.SAXException;
+
+public class JSONOMBuilderTest extends TestCase {
+
+    public void testBadgerfishOMSerialization1() throws IOException {
+
+        String jsonString = getBadgerfishJSONString();
+        ByteArrayInputStream inStream = new ByteArrayInputStream(jsonString.getBytes());
+
+        JSONOMBuilder omBuilder = new JSONBadgerfishOMBuilder();
+        OMElement elem = omBuilder.processDocument(inStream,
+                JSONTestConstants.CONTENT_TYPE_BADGERFISH, null);
+
+        elem.toString();
+
+        SOAPEnvelope envelope = TransportUtils.createSOAPEnvelope(elem);
+
+        MessageContext msgCtx = new MessageContext();
+        msgCtx.setEnvelope(envelope);
+
+        OMOutputFormat outputFormat = new OMOutputFormat();
+        outputFormat.setCharSetEncoding(MessageContext.DEFAULT_CHAR_SET_ENCODING);
+
+        ByteArrayOutputStream outStream = new ByteArrayOutputStream();
+
+        SOAPMessageFormatter formatter = new SOAPMessageFormatter();
+        formatter.writeTo(msgCtx, outputFormat, outStream, true);
+
+        outStream.flush();
+        outStream.close();
+    }
+
+    public void testBadgerfishOMSerialization2() throws XMLStreamException, JSONException,
+            IOException, ParserConfigurationException, SAXException {
+        String jsonString = getBadgerfishJSONString();
+        ByteArrayInputStream inStream = new ByteArrayInputStream(jsonString.getBytes());
+
+        JSONOMBuilder omBuilder = new JSONBadgerfishOMBuilder();
+        OMElement elem = omBuilder.processDocument(inStream,
+                JSONTestConstants.CONTENT_TYPE_BADGERFISH, null);
+
+        elem.toString();
+
+        ByteArrayOutputStream outStream = new ByteArrayOutputStream();
+        elem.serialize(outStream);
+        outStream.flush();
+        outStream.close();
+
+    }
+
+    private String getBadgerfishJSONString() {
+        return "{\"p\":{\"@xmlns\":{\"bb\":\"http://other.nsb\",\"aa\":\"http://other.ns\",\"$\":\"http://def.ns\"},\"sam\":{\"$\":\"555\", \"@att\":\"lets\"}}}";
+    }
+
+}
+*/
\ No newline at end of file

Modified: webservices/axis2/trunk/java/modules/json/test/org/apache/axis2/json/JSONTestConstants.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/json/test/org/apache/axis2/json/JSONTestConstants.java?rev=707601&r1=707600&r2=707601&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/json/test/org/apache/axis2/json/JSONTestConstants.java (original)
+++ webservices/axis2/trunk/java/modules/json/test/org/apache/axis2/json/JSONTestConstants.java Fri Oct 24 04:15:11 2008
@@ -28,4 +28,11 @@
     public static final QName operationName = new QName("echoOM");
 
     public static final QName swaServiceName = new QName("EchoSwAService");
+    
+    public static final String CONTENT_TYPE_BADGERFISH = "application/json/badgerfish";
+    
+    public static final String CONTENT_TYPE_MAPPED = "application/json";
+    
+    
+    
 }