You are viewing a plain text version of this content. The canonical link for it is here.
Posted to yoko-commits@incubator.apache.org by br...@apache.org on 2007/05/11 11:06:10 UTC

svn commit: r537160 - in /incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba: CorbaBindingFactory.java interceptors/CorbaStreamOutEndingInterceptor.java interceptors/CorbaStreamOutInterceptor.java runtime/CorbaStreamWriter.java

Author: bravi
Date: Fri May 11 04:06:09 2007
New Revision: 537160

URL: http://svn.apache.org/viewvc?view=rev&rev=537160
Log:
[YOKO-366] - Created a branch to work on refactoring the cxf based interceptors to be performant.

Added:
    incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/interceptors/CorbaStreamOutEndingInterceptor.java   (with props)
    incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/interceptors/CorbaStreamOutInterceptor.java   (with props)
    incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/runtime/CorbaStreamWriter.java   (with props)
Modified:
    incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/CorbaBindingFactory.java

Modified: incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/CorbaBindingFactory.java
URL: http://svn.apache.org/viewvc/incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/CorbaBindingFactory.java?view=diff&rev=537160&r1=537159&r2=537160
==============================================================================
--- incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/CorbaBindingFactory.java (original)
+++ incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/CorbaBindingFactory.java Fri May 11 04:06:09 2007
@@ -31,6 +31,8 @@
 import org.apache.cxf.binding.Binding;
 import org.apache.cxf.binding.BindingFactoryManager;
 
+import org.apache.cxf.interceptor.BareOutInterceptor;
+
 import org.apache.cxf.service.model.BindingInfo;
 import org.apache.cxf.service.model.EndpointInfo;
 
@@ -103,6 +105,7 @@
         binding.getOutInterceptors().add(new CorbaStreamOutInterceptor());
         binding.getInFaultInterceptors().add(new CorbaFaultInInterceptor());
         binding.getOutFaultInterceptors().add(new CorbaFaultOutInterceptor());
+        binding.getOutInterceptors().add(new BareOutInterceptor());
         binding.setBindingInfo(bindingInfo);
         return binding;
     }

Added: incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/interceptors/CorbaStreamOutEndingInterceptor.java
URL: http://svn.apache.org/viewvc/incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/interceptors/CorbaStreamOutEndingInterceptor.java?view=auto&rev=537160
==============================================================================
--- incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/interceptors/CorbaStreamOutEndingInterceptor.java (added)
+++ incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/interceptors/CorbaStreamOutEndingInterceptor.java Fri May 11 04:06:09 2007
@@ -0,0 +1,50 @@
+/**
+ * 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.yoko.bindings.corba.interceptors;
+
+import java.util.logging.Logger;
+
+import javax.xml.stream.XMLStreamWriter;
+
+import org.apache.cxf.common.logging.LogUtils;
+import org.apache.cxf.message.Message;
+
+import org.apache.cxf.phase.AbstractPhaseInterceptor;
+import org.apache.cxf.phase.Phase;
+
+import org.apache.yoko.bindings.corba.CorbaMessage;
+import org.apache.yoko.bindings.corba.runtime.CorbaStreamWriter;
+
+public class CorbaStreamOutEndingInterceptor extends AbstractPhaseInterceptor<Message> {
+
+    private static final Logger LOG = LogUtils.getL7dLogger(CorbaStreamOutEndingInterceptor.class);
+    
+    public CorbaStreamOutEndingInterceptor() {
+        super();
+        setPhase(Phase.USER_STREAM);
+    }
+
+    public void handleMessage(Message msg) {
+        System.out.println("CorbaStreamOutEndingInterceptor... handle message...");
+        CorbaMessage message = (CorbaMessage) msg;
+        CorbaStreamWriter writer = (CorbaStreamWriter) message.getContent(XMLStreamWriter.class);   
+    }
+
+}

Propchange: incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/interceptors/CorbaStreamOutEndingInterceptor.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/interceptors/CorbaStreamOutEndingInterceptor.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/interceptors/CorbaStreamOutInterceptor.java
URL: http://svn.apache.org/viewvc/incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/interceptors/CorbaStreamOutInterceptor.java?view=auto&rev=537160
==============================================================================
--- incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/interceptors/CorbaStreamOutInterceptor.java (added)
+++ incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/interceptors/CorbaStreamOutInterceptor.java Fri May 11 04:06:09 2007
@@ -0,0 +1,53 @@
+/**
+ * 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.yoko.bindings.corba.interceptors;
+
+import java.util.logging.Logger;
+
+import javax.xml.stream.XMLStreamWriter;
+
+import org.apache.cxf.common.logging.LogUtils;
+import org.apache.cxf.message.Message;
+import org.apache.cxf.phase.AbstractPhaseInterceptor;
+import org.apache.cxf.phase.Phase;
+
+import org.apache.yoko.bindings.corba.CorbaMessage;
+import org.apache.yoko.bindings.corba.runtime.CorbaStreamWriter;
+
+public class CorbaStreamOutInterceptor extends AbstractPhaseInterceptor<Message> {
+
+    private static final Logger LOG = LogUtils.getL7dLogger(CorbaStreamOutInterceptor.class);
+    
+    public CorbaStreamOutInterceptor() {
+        super();
+        setPhase(Phase.SETUP);
+    }
+
+    public void handleMessage(Message msg) {
+        System.out.println("CorbaStreamOutInterceptor... handleMessage...");
+        CorbaMessage message = (CorbaMessage) msg;
+        
+        CorbaStreamWriter writer = new CorbaStreamWriter();
+        message.setContent(XMLStreamWriter.class, writer);
+
+        message.getInterceptorChain().add(new CorbaStreamOutEndingInterceptor());
+    }
+
+}

Propchange: incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/interceptors/CorbaStreamOutInterceptor.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/interceptors/CorbaStreamOutInterceptor.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/runtime/CorbaStreamWriter.java
URL: http://svn.apache.org/viewvc/incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/runtime/CorbaStreamWriter.java?view=auto&rev=537160
==============================================================================
--- incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/runtime/CorbaStreamWriter.java (added)
+++ incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/runtime/CorbaStreamWriter.java Fri May 11 04:06:09 2007
@@ -0,0 +1,213 @@
+/**
+ * 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.yoko.bindings.corba.runtime;
+
+import javax.xml.namespace.NamespaceContext;
+import javax.xml.namespace.QName;
+
+
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamWriter;
+
+public class CorbaStreamWriter implements XMLStreamWriter {
+
+    QName currentElement;
+    String defaultNS = "";
+    String currentChars;
+
+    public CorbaStreamWriter() {
+        //ctx = new NamespaceContextImpl();
+    }
+
+    public void writeStartElement(String namespaceURI, String localName)
+        throws XMLStreamException {
+        currentElement = new QName(namespaceURI, localName);
+        System.out.println("Start : " + currentElement);
+    }
+
+    public void writeEndElement() throws XMLStreamException {
+        System.out.println("End: " + currentElement);
+        currentElement = null;
+    }
+
+    public void writeStartElement(java.lang.String localName)
+        throws XMLStreamException {
+        currentElement = new QName(defaultNS, localName);
+        System.out.println("Check the start Element: " + currentElement);
+    }
+
+    public void writeStartElement(java.lang.String prefix,
+                                  java.lang.String localName,
+                                  java.lang.String namespaceURI)
+        throws XMLStreamException {     
+        setPrefix(prefix, namespaceURI);
+        currentElement = new QName(namespaceURI, localName, prefix);
+        System.out.println("Check the start Element: " + currentElement);
+    }
+
+    public void writeEmptyElement(java.lang.String namespaceURI,
+                                  java.lang.String localName)
+        throws XMLStreamException {
+        writeStartElement(namespaceURI, localName);
+        writeEndElement();
+    }
+
+    public void writeEmptyElement(java.lang.String prefix,
+                                  java.lang.String localName,
+                                  java.lang.String namespaceURI)
+        throws XMLStreamException {
+        writeStartElement(namespaceURI, localName, prefix);
+        writeEndElement();
+    }
+
+    public void writeEmptyElement(java.lang.String localName)
+        throws XMLStreamException {
+        writeStartElement(localName);
+        writeEndElement();
+    }
+    
+    public void writeEndDocument()
+        throws XMLStreamException {
+    }
+
+    public void close()
+        throws XMLStreamException {
+    }
+
+    public void flush()
+        throws XMLStreamException {
+    }
+
+    public void writeAttribute(java.lang.String localName,
+                               java.lang.String value)
+        throws XMLStreamException {
+        System.out.println("attr: " + localName + "-" + value);
+    }
+
+    public void writeAttribute(java.lang.String prefix,
+                               java.lang.String namespaceURI,
+                               java.lang.String localName,
+                               java.lang.String value)
+        throws XMLStreamException {
+        System.out.println("attr: " + prefix + "-" + namespaceURI + "-" + localName + "-" + value);
+    }
+
+    public void writeAttribute(java.lang.String namespaceURI,
+                               java.lang.String localName,
+                               java.lang.String value)
+        throws XMLStreamException {
+        System.out.println("attr: " + namespaceURI + "-" + localName + "-" + value);
+    }
+
+    public void writeNamespace(java.lang.String prefix,
+                               java.lang.String namespaceURI)
+        throws XMLStreamException {
+        setPrefix(prefix, namespaceURI);
+    }
+
+    public void writeDefaultNamespace(java.lang.String namespaceURI)
+        throws XMLStreamException {
+        defaultNS = namespaceURI;
+    }
+
+    public void writeComment(java.lang.String data)
+        throws XMLStreamException {
+    }
+
+    public void writeProcessingInstruction(java.lang.String target)
+        throws XMLStreamException {
+    }
+
+    public void writeProcessingInstruction(java.lang.String target,
+                                           java.lang.String data)
+        throws XMLStreamException {
+    }
+
+    public void writeCData(java.lang.String data)
+        throws XMLStreamException {
+    }
+
+    public void writeDTD(java.lang.String dtd)
+        throws XMLStreamException {
+    }
+
+    public void writeEntityRef(java.lang.String name)
+        throws XMLStreamException {
+    }
+
+    public void writeStartDocument()
+        throws XMLStreamException {
+    }
+
+    public void writeStartDocument(java.lang.String encoding,
+                                   java.lang.String version)
+        throws XMLStreamException {
+    }
+
+    public void writeStartDocument(java.lang.String version)
+        throws XMLStreamException {
+    }
+
+    public void writeCharacters(java.lang.String text)
+        throws XMLStreamException {
+        currentChars = text;
+        System.out.println("current chars: " + currentChars);
+    }
+
+    public void writeCharacters(char[] text,
+                                int start,
+                                int len)
+        throws XMLStreamException {
+        throw new XMLStreamException("Not yet implemented");
+    }
+
+    public java.lang.String getPrefix(java.lang.String uri)
+        throws XMLStreamException {
+        //return ctx.getPrefix(uri);
+        return null;
+    }
+
+    public void setPrefix(java.lang.String prefix,
+                          java.lang.String uri)
+        throws XMLStreamException {
+        //ctx.setPrefix(prefix, uri);
+    }
+
+    public void setDefaultNamespace(java.lang.String uri)
+        throws XMLStreamException {
+        defaultNS = uri;
+    }
+
+    public void setNamespaceContext(NamespaceContext context)
+        throws XMLStreamException {
+        throw new XMLStreamException("Not yet implemented");
+    }
+
+    public NamespaceContext getNamespaceContext() {
+        //return ctx;
+        return null;
+    }
+
+    public java.lang.Object getProperty(java.lang.String name)
+        throws java.lang.IllegalArgumentException {
+        return null;
+    }
+    
+}

Propchange: incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/runtime/CorbaStreamWriter.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/runtime/CorbaStreamWriter.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date