cxf-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From dand...@apache.org
Subject svn commit: r462543 - /incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/wsdl11/SchemaSerializer.java
Date Tue, 10 Oct 2006 20:26:15 GMT
Author: dandiep
Date: Tue Oct 10 13:26:14 2006
New Revision: 462543

URL: http://svn.apache.org/viewvc?view=rev&rev=462543
Log:
Add missing file

Added:
    incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/wsdl11/SchemaSerializer.java
  (with props)

Added: incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/wsdl11/SchemaSerializer.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/wsdl11/SchemaSerializer.java?view=auto&rev=462543
==============================================================================
--- incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/wsdl11/SchemaSerializer.java
(added)
+++ incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/wsdl11/SchemaSerializer.java
Tue Oct 10 13:26:14 2006
@@ -0,0 +1,62 @@
+/**
+ * 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.cxf.wsdl11;
+
+import java.io.PrintWriter;
+
+import javax.wsdl.Definition;
+import javax.wsdl.WSDLException;
+import javax.wsdl.extensions.ExtensibilityElement;
+import javax.wsdl.extensions.ExtensionRegistry;
+import javax.wsdl.extensions.ExtensionSerializer;
+import javax.wsdl.extensions.schema.Schema;
+import javax.xml.namespace.QName;
+import javax.xml.transform.OutputKeys;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerException;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.dom.DOMSource;
+import javax.xml.transform.stream.StreamResult;
+
+import org.w3c.dom.Node;
+
+/**
+ * A custom Schema serializer because WSDL4J's is buggy.
+ */
+public class SchemaSerializer implements ExtensionSerializer {
+
+    public void marshall(Class parentType, QName elementType, ExtensibilityElement extension,
PrintWriter pw,
+                         Definition def, ExtensionRegistry extReg) throws WSDLException {
+        try {
+            writeXml(((Schema)extension).getElement(), pw);
+        } catch (TransformerException e) {
+            throw new WSDLException("", "Could not write schema.", e);
+        }
+    }
+
+    private void writeXml(Node n, PrintWriter pw) throws TransformerException {
+        TransformerFactory tf = TransformerFactory.newInstance();
+
+        Transformer t = tf.newTransformer();
+        t.setOutputProperty(OutputKeys.INDENT, "yes");
+        t.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
+        t.transform(new DOMSource(n), new StreamResult(pw));
+    }
+}

Propchange: incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/wsdl11/SchemaSerializer.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/wsdl11/SchemaSerializer.java
------------------------------------------------------------------------------
    svn:executable = *

Propchange: incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/wsdl11/SchemaSerializer.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date



Mime
View raw message