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/29 16:26:32 UTC
svn commit: r542580 [1/3] - in /incubator/yoko/trunk/bindings: ./
src/main/java/org/apache/yoko/bindings/corba/
src/main/java/org/apache/yoko/bindings/corba/interceptors/
src/main/java/org/apache/yoko/bindings/corba/runtime/
src/main/java/org/apache/yo...
Author: bravi
Date: Tue May 29 09:26:24 2007
New Revision: 542580
URL: http://svn.apache.org/viewvc?view=rev&rev=542580
Log:
[YOKO-366] - Merged the perf branch changes to trunk/bindings.
Added:
incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/TypeMapCache.java
- copied unchanged from r542577, incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/TypeMapCache.java
incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/interceptors/CorbaStreamFaultInInterceptor.java
- copied unchanged from r542577, incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/interceptors/CorbaStreamFaultInInterceptor.java
incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/interceptors/CorbaStreamFaultOutInterceptor.java
- copied unchanged from r542577, incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/interceptors/CorbaStreamFaultOutInterceptor.java
incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/interceptors/CorbaStreamInInterceptor.java
- copied unchanged from r542577, incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/interceptors/CorbaStreamInInterceptor.java
incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/interceptors/CorbaStreamOutEndingInterceptor.java
- copied unchanged from r542577, incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/interceptors/CorbaStreamOutEndingInterceptor.java
incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/interceptors/CorbaStreamOutInterceptor.java
- copied unchanged from r542577, incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/interceptors/CorbaStreamOutInterceptor.java
incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/runtime/CorbaFaultStreamWriter.java
- copied unchanged from r542577, incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/runtime/CorbaFaultStreamWriter.java
incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/runtime/CorbaStreamReader.java
- copied unchanged from r542577, incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/runtime/CorbaStreamReader.java
incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/runtime/CorbaStreamWriter.java
- copied unchanged from r542577, incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/runtime/CorbaStreamWriter.java
incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/types/AbstractCorbaTypeListener.java
- copied unchanged from r542577, incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/types/AbstractCorbaTypeListener.java
incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/types/AbstractNoStartEndEventProducer.java
- copied unchanged from r542577, incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/types/AbstractNoStartEndEventProducer.java
incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/types/AbstractStartEndEventProducer.java
- copied unchanged from r542577, incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/types/AbstractStartEndEventProducer.java
incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/types/CorbaAnonStructEventProducer.java
- copied unchanged from r542577, incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/types/CorbaAnonStructEventProducer.java
incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/types/CorbaArrayEventProducer.java
- copied unchanged from r542577, incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/types/CorbaArrayEventProducer.java
incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/types/CorbaArrayListener.java
- copied unchanged from r542577, incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/types/CorbaArrayListener.java
incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/types/CorbaEnumEventProducer.java
- copied unchanged from r542577, incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/types/CorbaEnumEventProducer.java
incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/types/CorbaEnumListener.java
- copied unchanged from r542577, incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/types/CorbaEnumListener.java
incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/types/CorbaExceptionEventProducer.java
- copied unchanged from r542577, incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/types/CorbaExceptionEventProducer.java
incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/types/CorbaExceptionListener.java
- copied unchanged from r542577, incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/types/CorbaExceptionListener.java
incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/types/CorbaFixedEventProducer.java
- copied unchanged from r542577, incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/types/CorbaFixedEventProducer.java
incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/types/CorbaFixedListener.java
- copied unchanged from r542577, incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/types/CorbaFixedListener.java
incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/types/CorbaObjectReferenceEventProducer.java
- copied unchanged from r542577, incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/types/CorbaObjectReferenceEventProducer.java
incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/types/CorbaObjectReferenceListener.java
- copied unchanged from r542577, incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/types/CorbaObjectReferenceListener.java
incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/types/CorbaOctetSequenceEventProducer.java
- copied unchanged from r542577, incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/types/CorbaOctetSequenceEventProducer.java
incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/types/CorbaPrimitiveListener.java
- copied unchanged from r542577, incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/types/CorbaPrimitiveListener.java
incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/types/CorbaPrimitiveSequenceEventProducer.java
- copied unchanged from r542577, incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/types/CorbaPrimitiveSequenceEventProducer.java
incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/types/CorbaPrimitiveTypeEventProducer.java
- copied unchanged from r542577, incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/types/CorbaPrimitiveTypeEventProducer.java
incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/types/CorbaSequenceEventProducer.java
- copied unchanged from r542577, incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/types/CorbaSequenceEventProducer.java
incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/types/CorbaSequenceListener.java
- copied unchanged from r542577, incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/types/CorbaSequenceListener.java
incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/types/CorbaStructEventProducer.java
- copied unchanged from r542577, incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/types/CorbaStructEventProducer.java
incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/types/CorbaStructListener.java
- copied unchanged from r542577, incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/types/CorbaStructListener.java
incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/types/CorbaTypeEventProducer.java
- copied unchanged from r542577, incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/types/CorbaTypeEventProducer.java
incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/types/CorbaTypeListener.java
- copied unchanged from r542577, incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/types/CorbaTypeListener.java
incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/types/CorbaUnionEventProducer.java
- copied unchanged from r542577, incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/types/CorbaUnionEventProducer.java
incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/types/CorbaUnionListener.java
- copied unchanged from r542577, incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/types/CorbaUnionListener.java
incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/types/HandlerIterator.java
- copied unchanged from r542577, incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/types/HandlerIterator.java
incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/types/Messages.properties
- copied unchanged from r542577, incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/types/Messages.properties
incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/types/ParameterEventProducer.java
- copied unchanged from r542577, incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/types/ParameterEventProducer.java
incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/types/SkipStartEndEventProducer.java
- copied unchanged from r542577, incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/types/SkipStartEndEventProducer.java
incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/types/WrappedParameterSequenceEventProducer.java
- copied unchanged from r542577, incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/types/WrappedParameterSequenceEventProducer.java
incubator/yoko/trunk/bindings/src/test/java/org/apache/yoko/bindings/corba/CorbaNestedObjReferenceTest.java
- copied unchanged from r542577, incubator/yoko/branches/perf/src/test/java/org/apache/yoko/bindings/corba/CorbaNestedObjReferenceTest.java
incubator/yoko/trunk/bindings/src/test/resources/wsdl/NestedObjRef.wsdl
- copied unchanged from r542577, incubator/yoko/branches/perf/src/test/resources/wsdl/NestedObjRef.wsdl
Modified:
incubator/yoko/trunk/bindings/pom.xml
incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/CorbaBindingFactory.java
incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/CorbaConduit.java
incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/CorbaDestination.java
incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/CorbaMessage.java
incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/CorbaServerConduit.java
incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/interceptors/CorbaFaultInInterceptor.java
incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/interceptors/CorbaFaultOutInterceptor.java
incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/interceptors/CorbaInInterceptor.java
incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/interceptors/CorbaOutInterceptor.java
incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/runtime/CorbaDSIServant.java
incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/runtime/CorbaObjectReader.java
incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/runtime/CorbaObjectWriter.java
incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/runtime/CorbaStaxObject.java
incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/types/CorbaAnyHandler.java
incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/types/CorbaArrayHandler.java
incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/types/CorbaEnumHandler.java
incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/types/CorbaExceptionHandler.java
incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/types/CorbaFixedHandler.java
incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/types/CorbaHandlerUtils.java
incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/types/CorbaObjectHandler.java
incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/types/CorbaObjectReferenceHandler.java
incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/types/CorbaPrimitiveHandler.java
incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/types/CorbaSequenceHandler.java
incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/types/CorbaStructHandler.java
incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/types/CorbaUnionHandler.java
incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/utils/CorbaUtils.java
incubator/yoko/trunk/bindings/src/test/java/org/apache/yoko/bindings/corba/AbstractIdlToWsdlTypeTestClient.java
incubator/yoko/trunk/bindings/src/test/java/org/apache/yoko/bindings/corba/AbstractTypeTestClient1.java
incubator/yoko/trunk/bindings/src/test/java/org/apache/yoko/bindings/corba/CorbaBindingFactoryTest.java
incubator/yoko/trunk/bindings/src/test/java/org/apache/yoko/bindings/corba/CorbaConduitTest.java
incubator/yoko/trunk/bindings/src/test/java/org/apache/yoko/bindings/corba/CorbaExceptionTest.java
incubator/yoko/trunk/bindings/src/test/java/org/apache/yoko/bindings/corba/CorbaObjectReferenceTest.java
incubator/yoko/trunk/bindings/src/test/java/org/apache/yoko/bindings/corba/CorbaServerConduitTest.java
incubator/yoko/trunk/bindings/src/test/java/org/apache/yoko/bindings/corba/CorbaTypeTest.java
incubator/yoko/trunk/bindings/src/test/java/org/apache/yoko/bindings/corba/IdlToWsdlTypeTest.java
incubator/yoko/trunk/bindings/src/test/java/org/apache/yoko/bindings/corba/interceptors/CorbaInInterceptorTest.java
incubator/yoko/trunk/bindings/src/test/java/org/apache/yoko/bindings/corba/runtime/CorbaStaxObjectTest.java
incubator/yoko/trunk/bindings/src/test/java/org/apache/yoko/bindings/corba/types/CorbaHandlerUtilsTest.java
incubator/yoko/trunk/bindings/src/test/resources/wsdl/exceptions.wsdl
incubator/yoko/trunk/bindings/src/test/resources/wsdl/type_test/type_test.xsd
Modified: incubator/yoko/trunk/bindings/pom.xml
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/bindings/pom.xml?view=diff&rev=542580&r1=542579&r2=542580
==============================================================================
--- incubator/yoko/trunk/bindings/pom.xml (original)
+++ incubator/yoko/trunk/bindings/pom.xml Tue May 29 09:26:24 2007
@@ -355,6 +355,26 @@
</goals>
</execution>
<execution>
+ <id>generate-corba-nested-object-reference-test-java-sources</id>
+ <phase>process-test-resources</phase>
+ <configuration>
+ <testSourceRoot>${basedir}/target/generated/src/test/java</testSourceRoot>
+ <wsdlOptions>
+ <wsdlOption>
+ <wsdl>
+ ${basedir}/src/test/resources/wsdl/NestedObjRef.wsdl
+ </wsdl>
+ <extraargs>
+ <extraarg>-verbose</extraarg>
+ </extraargs>
+ </wsdlOption>
+ </wsdlOptions>
+ </configuration>
+ <goals>
+ <goal>wsdl2java</goal>
+ </goals>
+ </execution>
+ <execution>
<id>generate-corba-exception-test-java-sources</id>
<phase>process-test-resources</phase>
<configuration>
Modified: incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/CorbaBindingFactory.java
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/CorbaBindingFactory.java?view=diff&rev=542580&r1=542579&r2=542580
==============================================================================
--- incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/CorbaBindingFactory.java (original)
+++ incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/CorbaBindingFactory.java Tue May 29 09:26:24 2007
@@ -21,7 +21,6 @@
import java.io.IOException;
import java.util.Collection;
-//import java.util.Collections;
import java.util.List;
import java.util.Set;
@@ -32,7 +31,9 @@
import org.apache.cxf.binding.Binding;
import org.apache.cxf.binding.BindingFactoryManager;
-//import org.apache.cxf.helpers.CastUtils;
+import org.apache.cxf.interceptor.BareInInterceptor;
+import org.apache.cxf.interceptor.BareOutInterceptor;
+
import org.apache.cxf.service.model.BindingInfo;
import org.apache.cxf.service.model.EndpointInfo;
@@ -46,10 +47,10 @@
import org.apache.cxf.ws.addressing.EndpointReferenceType;
-import org.apache.yoko.bindings.corba.interceptors.CorbaFaultInInterceptor;
-import org.apache.yoko.bindings.corba.interceptors.CorbaFaultOutInterceptor;
-import org.apache.yoko.bindings.corba.interceptors.CorbaInInterceptor;
-import org.apache.yoko.bindings.corba.interceptors.CorbaOutInterceptor;
+import org.apache.yoko.bindings.corba.interceptors.CorbaStreamFaultInInterceptor;
+import org.apache.yoko.bindings.corba.interceptors.CorbaStreamFaultOutInterceptor;
+import org.apache.yoko.bindings.corba.interceptors.CorbaStreamInInterceptor;
+import org.apache.yoko.bindings.corba.interceptors.CorbaStreamOutInterceptor;
import org.apache.yoko.bindings.corba.utils.OrbConfig;
@@ -101,10 +102,13 @@
public Binding createBinding(BindingInfo bindingInfo) {
CorbaBinding binding = new CorbaBinding();
- binding.getInInterceptors().add(new CorbaInInterceptor());
- binding.getOutInterceptors().add(new CorbaOutInterceptor());
- binding.getInFaultInterceptors().add(new CorbaFaultInInterceptor());
- binding.getOutFaultInterceptors().add(new CorbaFaultOutInterceptor());
+
+ binding.getInFaultInterceptors().add(new CorbaStreamFaultInInterceptor());
+ binding.getOutFaultInterceptors().add(new CorbaStreamFaultOutInterceptor());
+ binding.getOutInterceptors().add(new BareOutInterceptor());
+ binding.getOutInterceptors().add(new CorbaStreamOutInterceptor());
+ binding.getInInterceptors().add(new BareInInterceptor());
+ binding.getInInterceptors().add(new CorbaStreamInInterceptor());
binding.setBindingInfo(bindingInfo);
return binding;
}
Modified: incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/CorbaConduit.java
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/CorbaConduit.java?view=diff&rev=542580&r1=542579&r2=542580
==============================================================================
--- incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/CorbaConduit.java (original)
+++ incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/CorbaConduit.java Tue May 29 09:26:24 2007
@@ -21,7 +21,6 @@
import java.io.IOException;
import java.io.OutputStream;
-import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -47,7 +46,6 @@
import org.apache.schemas.yoko.bindings.corba.AddressType;
import org.apache.schemas.yoko.bindings.corba.OperationType;
import org.apache.schemas.yoko.bindings.corba.RaisesType;
-import org.apache.schemas.yoko.bindings.corba.TypeMappingType;
import org.apache.yoko.bindings.corba.types.CorbaHandlerUtils;
import org.apache.yoko.bindings.corba.types.CorbaObjectHandler;
import org.apache.yoko.bindings.corba.utils.ContextUtils;
@@ -76,21 +74,14 @@
private MessageObserver incomingObserver;
private ORB orb;
private OrbConfig orbConfig;
- private List<CorbaTypeMap> typeMaps;
+ private CorbaTypeMap typeMap;
public CorbaConduit(EndpointInfo ei, EndpointReferenceType ref, OrbConfig config) {
endpointInfo = ei;
target = getTargetReference(ref);
orbConfig = config;
orb = CorbaBindingHelper.getDefaultORB(config);
- typeMaps = new ArrayList<CorbaTypeMap>();
- if (ei.getService() != null) {
- List<TypeMappingType> corbaTypes =
- ei.getService().getDescription().getExtensors(TypeMappingType.class);
- if (corbaTypes != null) {
- CorbaUtils.createCorbaTypeMap(typeMaps, corbaTypes);
- }
- }
+ typeMap = TypeMapCache.get(ei.getService());
}
public void prepare(Message message) throws IOException {
@@ -116,8 +107,11 @@
message.put(CorbaConstants.CORBA_ENDPOINT_OBJECT, targetObject);
message.setContent(OutputStream.class,
new CorbaOutputStream(message));
+
+ CorbaMessage corbaMessage = (CorbaMessage) message;
+ corbaMessage.setCorbaTypeMap(typeMap);
+
} catch (java.lang.Exception ex) {
- ex.printStackTrace();
LOG.log(Level.SEVERE, "Could not resolve target object");
throw new CorbaBindingException(ex);
}
@@ -131,7 +125,6 @@
buildRequest((CorbaMessage)message, opType);
message.getContent(OutputStream.class).close();
} catch (Exception ex) {
- ex.printStackTrace();
LOG.log(Level.SEVERE, "Could not build the corba request");
throw new CorbaBindingException(ex);
}
@@ -174,8 +167,8 @@
ServiceInfo service = message.getExchange().get(ServiceInfo.class);
NVList nvlist = getArguments(message);
NamedValue ret = getReturn(message);
- Map<TypeCode, RaisesType> exceptions = getOperationExceptions(opType, typeMaps);
- ExceptionList exList = getExceptionList(exceptions, message, opType, typeMaps);
+ Map<TypeCode, RaisesType> exceptions = getOperationExceptions(opType, typeMap);
+ ExceptionList exList = getExceptionList(exceptions, message, opType);
Request request = getRequest(message, opType.getName(), nvlist, ret, exList);
if (request == null) {
throw new CorbaBindingException("Couldn't build the corba request");
@@ -187,7 +180,6 @@
message.setSystemException(ex);
return;
}
-
Exception ex = request.env().exception();
if (ex != null) {
if (ex instanceof UnknownUserException) {
@@ -202,7 +194,7 @@
CorbaHandlerUtils.initializeObjectHandler(orb,
elName,
raises.getException(),
- typeMaps,
+ typeMap,
service);
CorbaStreamable exStreamable = message.createStreamableObject(handler, elName);
@@ -252,8 +244,7 @@
protected ExceptionList getExceptionList(Map<TypeCode, RaisesType> exceptions,
CorbaMessage message,
- OperationType opType,
- List<CorbaTypeMap> map) {
+ OperationType opType) {
// Get the typecodes for the exceptions this operation can throw.
// These are defined in the operation definition from WSDL.
ExceptionList exList = orb.create_exception_list();
@@ -290,7 +281,7 @@
protected Map<TypeCode, RaisesType> getOperationExceptions(
OperationType operation,
- List<CorbaTypeMap> map) {
+ CorbaTypeMap map) {
Map<TypeCode, RaisesType> exceptions = new HashMap<TypeCode, RaisesType>();
List<RaisesType> exList = operation.getRaises();
if (exList != null) {
@@ -353,6 +344,7 @@
inMessage.setExchange(exchange);
CorbaMessage inCorbaMsg = new CorbaMessage(inMessage);
CorbaMessage corbaMsg = (CorbaMessage) message;
+ inCorbaMsg.setCorbaTypeMap(corbaMsg.getCorbaTypeMap());
if (corbaMsg.getStreamableException() != null) {
exchange.setInFaultMessage(corbaMsg);
inCorbaMsg.setStreamableException(corbaMsg.getStreamableException());
Modified: incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/CorbaDestination.java
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/CorbaDestination.java?view=diff&rev=542580&r1=542579&r2=542580
==============================================================================
--- incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/CorbaDestination.java (original)
+++ incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/CorbaDestination.java Tue May 29 09:26:24 2007
@@ -20,8 +20,6 @@
package org.apache.yoko.bindings.corba;
import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
@@ -36,7 +34,6 @@
import org.apache.cxf.ws.addressing.EndpointReferenceType;
import org.apache.schemas.yoko.bindings.corba.AddressType;
-import org.apache.schemas.yoko.bindings.corba.TypeMappingType;
import org.apache.yoko.bindings.corba.runtime.CorbaDSIServant;
import org.apache.yoko.bindings.corba.utils.CorbaBindingHelper;
@@ -59,7 +56,7 @@
private EndpointInfo endpointInfo;
private OrbConfig orbConfig;
private MessageObserver incomingObserver;
- private List<CorbaTypeMap> typeMaps;
+ private CorbaTypeMap typeMap;
private byte[] objectId;
private POA bindingPOA;
@@ -72,12 +69,7 @@
reference.setAddress(addr);
endpointInfo = ei;
orbConfig = config;
- typeMaps = new ArrayList<CorbaTypeMap>();
- List<TypeMappingType> corbaTypes =
- binding.getService().getDescription().getExtensors(TypeMappingType.class);
- if (corbaTypes != null) {
- CorbaUtils.createCorbaTypeMap(typeMaps, corbaTypes);
- }
+ typeMap = TypeMapCache.get(binding.getService());
}
public EndpointReferenceType getAddress() {
@@ -88,7 +80,7 @@
Message partialResponse,
EndpointReferenceType ref)
throws IOException {
- return new CorbaServerConduit(endpointInfo, reference, orbConfig, typeMaps);
+ return new CorbaServerConduit(endpointInfo, reference, orbConfig, typeMap);
}
public BindingInfo getBindingInfo() {
@@ -99,8 +91,8 @@
return endpointInfo;
}
- public List<CorbaTypeMap> getCorbaTypeMap() {
- return typeMaps;
+ public CorbaTypeMap getCorbaTypeMap() {
+ return typeMap;
}
public void shutdown() {
@@ -177,7 +169,7 @@
}
CorbaDSIServant servant = new CorbaDSIServant();
- servant.init(orb, bindingPOA, this, incomingObserver, typeMaps);
+ servant.init(orb, bindingPOA, this, incomingObserver, typeMap);
objectId = bindingPOA.activate_object(servant);
obj = bindingPOA.id_to_reference(objectId);
@@ -253,7 +245,7 @@
// Since we know that http is not valid for a corba address, check for the
// existance of this string at the beginning of our address and remove if
// necessary.
- if (location != null && location.startsWith("http://localhost/")) {
+ if (location.startsWith("http://localhost/")) {
location = location.substring("http://localhost/".length());
}
}
Modified: incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/CorbaMessage.java
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/CorbaMessage.java?view=diff&rev=542580&r1=542579&r2=542580
==============================================================================
--- incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/CorbaMessage.java (original)
+++ incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/CorbaMessage.java Tue May 29 09:26:24 2007
@@ -40,7 +40,7 @@
private CorbaStreamable returnParam;
private CorbaStreamable except;
private SystemException systemExcept;
- private List<CorbaTypeMap> corbaTypeMap;
+ private CorbaTypeMap corbaTypeMap;
private NVList list;
@@ -146,11 +146,11 @@
return new CorbaStreamableImpl(obj, elName);
}
- public List<CorbaTypeMap> getCorbaTypeMap() {
+ public CorbaTypeMap getCorbaTypeMap() {
return corbaTypeMap;
}
- public void setCorbaTypeMap(List<CorbaTypeMap> typeMap) {
+ public void setCorbaTypeMap(CorbaTypeMap typeMap) {
corbaTypeMap = typeMap;
}
}
Modified: incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/CorbaServerConduit.java
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/CorbaServerConduit.java?view=diff&rev=542580&r1=542579&r2=542580
==============================================================================
--- incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/CorbaServerConduit.java (original)
+++ incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/CorbaServerConduit.java Tue May 29 09:26:24 2007
@@ -21,7 +21,6 @@
import java.io.IOException;
import java.io.OutputStream;
-import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
@@ -54,16 +53,16 @@
private EndpointReferenceType target;
private MessageObserver incomingObserver;
private ORB orb;
- private List<CorbaTypeMap> typeMaps;
+ private CorbaTypeMap typeMap;
public CorbaServerConduit(EndpointInfo ei,
EndpointReferenceType ref,
OrbConfig config,
- List<CorbaTypeMap> map) {
+ CorbaTypeMap map) {
endpointInfo = ei;
target = getTargetReference(ref);
orb = CorbaBindingHelper.getDefaultORB(config);
- typeMaps = map;
+ typeMap = map;
}
public void prepare(Message message) throws IOException {
@@ -79,7 +78,7 @@
message.put(CorbaConstants.CORBA_ENDPOINT_OBJECT, targetObject);
message.setContent(OutputStream.class,
new CorbaOutputStream(message));
- ((CorbaMessage) message).setCorbaTypeMap(typeMaps);
+ ((CorbaMessage) message).setCorbaTypeMap(typeMap);
} catch (java.lang.Exception ex) {
LOG.log(Level.SEVERE, "Could not resolve target object");
throw new CorbaBindingException(ex);
Modified: incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/interceptors/CorbaFaultInInterceptor.java
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/interceptors/CorbaFaultInInterceptor.java?view=diff&rev=542580&r1=542579&r2=542580
==============================================================================
--- incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/interceptors/CorbaFaultInInterceptor.java (original)
+++ incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/interceptors/CorbaFaultInInterceptor.java Tue May 29 09:26:24 2007
@@ -24,9 +24,7 @@
import java.lang.reflect.Constructor;
-import java.util.ArrayList;
import java.util.Iterator;
-import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
@@ -48,12 +46,12 @@
import org.apache.cxf.service.model.FaultInfo;
import org.apache.cxf.service.model.OperationInfo;
import org.apache.cxf.service.model.ServiceInfo;
-import org.apache.schemas.yoko.bindings.corba.TypeMappingType;
import org.apache.yoko.bindings.corba.CorbaBindingException;
import org.apache.yoko.bindings.corba.CorbaMessage;
import org.apache.yoko.bindings.corba.CorbaStreamable;
import org.apache.yoko.bindings.corba.CorbaTypeMap;
+import org.apache.yoko.bindings.corba.TypeMapCache;
import org.apache.yoko.bindings.corba.runtime.CorbaStaxObject;
import org.apache.yoko.bindings.corba.utils.ContextUtils;
import org.apache.yoko.wsdl.CorbaConstants;
@@ -92,16 +90,12 @@
BindingOperationInfo bopInfo = message.getExchange().get(BindingOperationInfo.class);
OperationInfo opInfo = bopInfo.getOperationInfo();
-
- List<CorbaTypeMap> typeMaps = new ArrayList<CorbaTypeMap>();
ServiceInfo service = message.getExchange().get(ServiceInfo.class);
- List<TypeMappingType> corbaTypes =
- service.getDescription().getExtensors(TypeMappingType.class);
- if (corbaTypes != null) {
- corbaStaxObject.setTypeMaps(typeMaps);
- corbaStaxObject.setServiceInfo(service);
- }
+ CorbaTypeMap typeMap = TypeMapCache.get(service);
+
+ corbaStaxObject.setTypeMaps(typeMap);
+ corbaStaxObject.setServiceInfo(service);
org.omg.CORBA.ORB orb = (org.omg.CORBA.ORB) message.get(CorbaConstants.ORB);
if (orb == null) {
Modified: incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/interceptors/CorbaFaultOutInterceptor.java
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/interceptors/CorbaFaultOutInterceptor.java?view=diff&rev=542580&r1=542579&r2=542580
==============================================================================
--- incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/interceptors/CorbaFaultOutInterceptor.java (original)
+++ incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/interceptors/CorbaFaultOutInterceptor.java Tue May 29 09:26:24 2007
@@ -23,7 +23,6 @@
import java.io.ByteArrayOutputStream;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
-import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.logging.Level;
@@ -53,15 +52,14 @@
import org.apache.cxf.service.model.ServiceModelUtil;
import org.apache.schemas.yoko.bindings.corba.OperationType;
import org.apache.schemas.yoko.bindings.corba.RaisesType;
-import org.apache.schemas.yoko.bindings.corba.TypeMappingType;
import org.apache.yoko.bindings.corba.CorbaBindingException;
import org.apache.yoko.bindings.corba.CorbaDestination;
import org.apache.yoko.bindings.corba.CorbaMessage;
import org.apache.yoko.bindings.corba.CorbaStreamable;
import org.apache.yoko.bindings.corba.CorbaTypeMap;
+import org.apache.yoko.bindings.corba.TypeMapCache;
import org.apache.yoko.bindings.corba.runtime.CorbaStaxObject;
import org.apache.yoko.bindings.corba.types.CorbaObjectHandler;
-import org.apache.yoko.bindings.corba.utils.CorbaUtils;
import org.apache.yoko.wsdl.CorbaConstants;
import org.omg.CORBA.Any;
@@ -98,15 +96,10 @@
orb = (org.omg.CORBA.ORB) message.getExchange().get(org.omg.CORBA.ORB.class);
}
corbaStaxObject.setOrb(orb);
-
- List<CorbaTypeMap> typeMaps = new ArrayList<CorbaTypeMap>();
- ServiceInfo service = destination.getBindingInfo().getService();
- List<TypeMappingType> corbaTypes = service.getDescription().getExtensors(TypeMappingType.class);
- if (corbaTypes != null) {
- CorbaUtils.createCorbaTypeMap(typeMaps, corbaTypes);
- corbaStaxObject.setTypeMaps(typeMaps);
- corbaStaxObject.setServiceInfo(service);
- }
+ ServiceInfo service = destination.getBindingInfo().getService();
+ CorbaTypeMap typeMap = TypeMapCache.get(service);
+ corbaStaxObject.setTypeMaps(typeMap);
+ corbaStaxObject.setServiceInfo(service);
Throwable ex = message.getContent(Exception.class);
ex = ex.getCause();
Modified: incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/interceptors/CorbaInInterceptor.java
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/interceptors/CorbaInInterceptor.java?view=diff&rev=542580&r1=542579&r2=542580
==============================================================================
--- incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/interceptors/CorbaInInterceptor.java (original)
+++ incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/interceptors/CorbaInInterceptor.java Tue May 29 09:26:24 2007
@@ -56,7 +56,6 @@
import org.apache.schemas.yoko.bindings.corba.ModeType;
import org.apache.schemas.yoko.bindings.corba.OperationType;
import org.apache.schemas.yoko.bindings.corba.ParamType;
-import org.apache.schemas.yoko.bindings.corba.TypeMappingType;
import org.apache.yoko.bindings.corba.CorbaDestination;
import org.apache.yoko.bindings.corba.CorbaMessage;
import org.apache.yoko.bindings.corba.CorbaStreamable;
@@ -65,7 +64,6 @@
import org.apache.yoko.bindings.corba.types.CorbaHandlerUtils;
import org.apache.yoko.bindings.corba.types.CorbaObjectHandler;
import org.apache.yoko.bindings.corba.utils.ContextUtils;
-import org.apache.yoko.bindings.corba.utils.CorbaUtils;
import org.omg.CORBA.Any;
import org.omg.CORBA.NVList;
import org.omg.CORBA.ORB;
@@ -74,7 +72,7 @@
public class CorbaInInterceptor extends AbstractPhaseInterceptor<Message> {
protected static CorbaStaxObject corbaStaxObject;
- private List<CorbaTypeMap> typeMaps;
+ private CorbaTypeMap typeMap;
private XMLOutputFactory xof;
private XMLInputFactory xif;
private ORB orb;
@@ -101,21 +99,13 @@
destination = (CorbaDestination)message.getExchange().getDestination();
}
service = destination.getBindingInfo().getService();
- typeMaps = message.getCorbaTypeMap();
- if (typeMaps == null) {
- typeMaps = new ArrayList<CorbaTypeMap>();
- List<TypeMappingType> corbaTypes =
- service.getDescription().getExtensors(TypeMappingType.class);
- if (corbaTypes != null) {
- CorbaUtils.createCorbaTypeMap(typeMaps, corbaTypes);
- }
- }
+ typeMap = message.getCorbaTypeMap();
+
if (corbaStaxObject == null) {
corbaStaxObject = new CorbaStaxObject();
}
- corbaStaxObject.setTypeMaps(typeMaps);
+ corbaStaxObject.setTypeMaps(typeMap);
corbaStaxObject.setServiceInfo(service);
-
// TODO: where does encoding constant go?
//String encoding = (String)message.get("Encoding");
@@ -381,6 +371,7 @@
evtWriter,
XMLEventFactory.newInstance());
evtWriter.flush();
+ System.out.println("in: " + new String(outStream.toByteArray()));
ByteArrayInputStream inStream = new ByteArrayInputStream(outStream.toByteArray());
XMLEventReader evtReader = inputFactory.createXMLEventReader(inStream);
@@ -426,7 +417,7 @@
List<ParamType> paramTypes = opType.getParam();
CorbaStreamable[] arguments = new CorbaStreamable[paramTypes.size()];
- NVList list = prepareDIIArgsList(corbaMsg, bOpInfo, arguments, paramTypes, typeMaps);
+ NVList list = prepareDIIArgsList(corbaMsg, bOpInfo, arguments, paramTypes, typeMap);
return list;
@@ -436,7 +427,7 @@
BindingOperationInfo boi,
CorbaStreamable[] streamables,
List<ParamType> paramTypes,
- List<CorbaTypeMap> maps)
+ CorbaTypeMap map)
throws Exception {
// Build the list of DII arguments, returns, and exceptions
NVList list = orb.create_list(streamables.length);
@@ -467,7 +458,7 @@
}
CorbaObjectHandler obj =
- CorbaHandlerUtils.initializeObjectHandler(orb, paramName, paramIdlType, maps, service);
+ CorbaHandlerUtils.initializeObjectHandler(orb, paramName, paramIdlType, map, service);
streamables[i] = corbaMsg.createStreamableObject(obj, paramName);
if (paramMode.value().equals("in")) {
Modified: incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/interceptors/CorbaOutInterceptor.java
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/interceptors/CorbaOutInterceptor.java?view=diff&rev=542580&r1=542579&r2=542580
==============================================================================
--- incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/interceptors/CorbaOutInterceptor.java (original)
+++ incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/interceptors/CorbaOutInterceptor.java Tue May 29 09:26:24 2007
@@ -21,7 +21,6 @@
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
-import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.logging.Logger;
@@ -52,7 +51,6 @@
import org.apache.schemas.yoko.bindings.corba.ModeType;
import org.apache.schemas.yoko.bindings.corba.OperationType;
import org.apache.schemas.yoko.bindings.corba.ParamType;
-import org.apache.schemas.yoko.bindings.corba.TypeMappingType;
import org.apache.yoko.bindings.corba.CorbaBindingException;
import org.apache.yoko.bindings.corba.CorbaMessage;
import org.apache.yoko.bindings.corba.CorbaStreamable;
@@ -61,7 +59,6 @@
import org.apache.yoko.bindings.corba.types.CorbaHandlerUtils;
import org.apache.yoko.bindings.corba.types.CorbaObjectHandler;
import org.apache.yoko.bindings.corba.utils.ContextUtils;
-import org.apache.yoko.bindings.corba.utils.CorbaUtils;
import org.apache.yoko.wsdl.CorbaConstants;
import org.omg.CORBA.ORB;
@@ -76,7 +73,7 @@
protected CorbaStaxObject corbaStaxObject;
private ServiceInfo service;
- private List<CorbaTypeMap> typeMaps;
+ private CorbaTypeMap typeMap;
private ORB orb;
private XMLOutputFactory xof;
private XMLInputFactory xif;
@@ -93,21 +90,12 @@
corbaStaxObject = new CorbaStaxObject(orb);
Exchange exchange = message.getExchange();
service = exchange.get(ServiceInfo.class);
- typeMaps = message.getCorbaTypeMap();
- if (typeMaps == null) {
- typeMaps = new ArrayList<CorbaTypeMap>();
- List<TypeMappingType> corbaTypes =
- service.getDescription().getExtensors(TypeMappingType.class);
- if (corbaTypes != null) {
- CorbaUtils.createCorbaTypeMap(typeMaps, corbaTypes);
- }
- }
+ typeMap = message.getCorbaTypeMap();
if (corbaStaxObject == null) {
corbaStaxObject = new CorbaStaxObject();
}
- corbaStaxObject.setTypeMaps(typeMaps);
+ corbaStaxObject.setTypeMaps(typeMap);
corbaStaxObject.setServiceInfo(service);
-
getXMLOutputFactory().setProperty(XMLOutputFactory.IS_REPAIRING_NAMESPACES, Boolean.TRUE);
// TODO: where does encoding constant go?
@@ -145,7 +133,7 @@
QName retIdlType = returnParam.getIdltype();
QName retName = new QName("", returnParam.getName());
CorbaObjectHandler obj = CorbaHandlerUtils
- .initializeObjectHandler(orb, retName, retIdlType, typeMaps, service);
+ .initializeObjectHandler(orb, retName, retIdlType, typeMap, service);
CorbaStreamable streamable = message.createStreamableObject(obj, retName);
message.setStreamableReturn(streamable);
}
@@ -196,10 +184,8 @@
XMLEventReader evtReader = inputFactory.createXMLEventReader(inStream);
- if (params.size() != 0) {
- while (evtReader.peek().getEventType() != XMLStreamConstants.START_ELEMENT) {
- evtReader.nextEvent();
- }
+ while (evtReader.peek().getEventType() != XMLStreamConstants.START_ELEMENT) {
+ evtReader.nextEvent();
}
if (wrap) {
// read the wrapper element from the reader. Since this contains all of the namespaces
@@ -224,7 +210,7 @@
obj = CorbaHandlerUtils.initializeObjectHandler(orb,
paramName,
idlType,
- typeMaps,
+ typeMap,
service);
} else {
obj = corbaStaxObject.readObjectFromStax(evtReader, idlType);
@@ -269,11 +255,8 @@
ByteArrayInputStream inStream = new ByteArrayInputStream(outStream.toByteArray());
XMLEventReader evtReader = inputFactory.createXMLEventReader(inStream);
- // If there were no arguments, then the STAX stream should have no events
- if (args.size() != 0) {
- while (evtReader.peek().getEventType() != XMLStreamConstants.START_ELEMENT) {
- evtReader.nextEvent();
- }
+ while (evtReader.peek().getEventType() != XMLStreamConstants.START_ELEMENT) {
+ evtReader.nextEvent();
}
if (wrap) {
// read the wrapper element from the reader. Since this contains all of the namespaces
@@ -308,7 +291,7 @@
obj = CorbaHandlerUtils.initializeObjectHandler(orb,
paramName,
idlType,
- typeMaps,
+ typeMap,
service);
} else {
obj = corbaStaxObject.readObjectFromStax(evtReader, idlType);
Modified: incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/runtime/CorbaDSIServant.java
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/runtime/CorbaDSIServant.java?view=diff&rev=542580&r1=542579&r2=542580
==============================================================================
--- incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/runtime/CorbaDSIServant.java (original)
+++ incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/runtime/CorbaDSIServant.java Tue May 29 09:26:24 2007
@@ -56,7 +56,7 @@
private MessageObserver incomingObserver;
private CorbaDestination destination;
private Map<String, QName> operationMap;
- private List<CorbaTypeMap> typeMaps;
+ private CorbaTypeMap typeMap;
public CorbaDSIServant() {
//Complete
@@ -73,12 +73,12 @@
POA poa,
CorbaDestination dest,
MessageObserver observer,
- List<CorbaTypeMap> map) {
+ CorbaTypeMap map) {
orb = theOrb;
servantPOA = poa;
destination = dest;
incomingObserver = observer;
- typeMaps = map;
+ typeMap = map;
// Get the list of interfaces that this servant will support
try {
@@ -138,8 +138,8 @@
operationMap = map;
}
- public void setCorbaTypeMap(List<CorbaTypeMap> map) {
- typeMaps = map;
+ public void setCorbaTypeMap(CorbaTypeMap map) {
+ typeMap = map;
}
public void invoke(ServerRequest request) throws CorbaBindingException {
@@ -151,7 +151,7 @@
exg.put(ServerRequest.class, request);
msgImpl.setExchange(exg);
CorbaMessage msg = new CorbaMessage(msgImpl);
- msg.setCorbaTypeMap(typeMaps);
+ msg.setCorbaTypeMap(typeMap);
// invokes the interceptors
getObserver().onMessage(msg);
}
Modified: incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/runtime/CorbaObjectReader.java
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/runtime/CorbaObjectReader.java?view=diff&rev=542580&r1=542579&r2=542580
==============================================================================
--- incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/runtime/CorbaObjectReader.java (original)
+++ incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/runtime/CorbaObjectReader.java Tue May 29 09:26:24 2007
@@ -20,13 +20,12 @@
import java.lang.reflect.Constructor;
import java.math.BigInteger;
+import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
-import javax.xml.namespace.QName;
-
import org.apache.cxf.common.logging.LogUtils;
import org.apache.schemas.yoko.bindings.corba.Anonsequence;
import org.apache.schemas.yoko.bindings.corba.CaseType;
@@ -51,7 +50,6 @@
import org.omg.CORBA.Any;
import org.omg.CORBA.TCKind;
-import org.omg.CORBA.TypeCode;
import org.omg.CORBA.portable.InputStream;
public class CorbaObjectReader {
@@ -395,7 +393,6 @@
public void readSequence(CorbaObjectHandler obj) throws CorbaBindingException {
CorbaSequenceHandler sequenceObj = (CorbaSequenceHandler)obj;
List<CorbaObjectHandler> seqElements = sequenceObj.getElements();
-
int length = stream.read_ulong();
long bound = 0;
if (obj.getType() instanceof Anonsequence) {
@@ -405,17 +402,23 @@
Sequence seqType = (Sequence) obj.getType();
bound = seqType.getBound();
}
- if (bound == 0) {
- seqElements.clear();
+ List<CorbaObjectHandler> elements = new ArrayList<CorbaObjectHandler>(length);
+ if (bound == 0) {
+ sequenceObj.clear();
// No predefined elements means an unbounded sequence. Use the template element
// to construct each object that is in the input stream.
CorbaObjectHandler template = sequenceObj.getTemplateElement();
-
for (int i = 0; i < length; ++i) {
- CorbaObjectHandler seqElement = initializeCorbaObjectHandler(template);
+ CorbaObjectHandler seqElement;
+ if (i < seqElements.size()) {
+ seqElement = seqElements.get(i);
+ } else {
+ seqElement = initializeCorbaObjectHandler(template);
+ }
read(seqElement);
- seqElements.add(seqElement);
+ elements.add(seqElement);
}
+ sequenceObj.setElements(elements);
} else {
// We have a bounded sequence and the object should already be pre-built
for (int i = 0; i < length; ++i) {
@@ -431,25 +434,12 @@
}
private CorbaObjectHandler initializeCorbaObjectHandler(CorbaObjectHandler template) {
- Class<?> templateClass = template.getClass();
- // we know that we are after the 4 parameter version of the constructor
- Class[] paramClasses = new Class[4];
+ Constructor templateConstructor = template.getClass().getDeclaredConstructors()[0];
Object[] params = new Object[4];
- paramClasses[0] = QName.class;
params[0] = template.getName();
- paramClasses[1] = QName.class;
params[1] = template.getIdlType();
- paramClasses[2] = TypeCode.class;
params[2] = template.getTypeCode();
- paramClasses[3] = Object.class;
params[3] = template.getType();
- Constructor templateConstructor = null;
- try {
- templateConstructor = templateClass.getConstructor(paramClasses);
-
- } catch (java.lang.NoSuchMethodException ex) {
- throw new CorbaBindingException("Exception while reading unbounded sequence", ex);
- }
CorbaObjectHandler handler = null;
try {
Modified: incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/runtime/CorbaObjectWriter.java
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/runtime/CorbaObjectWriter.java?view=diff&rev=542580&r1=542579&r2=542580
==============================================================================
--- incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/runtime/CorbaObjectWriter.java (original)
+++ incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/runtime/CorbaObjectWriter.java Tue May 29 09:26:24 2007
@@ -277,7 +277,6 @@
CorbaExceptionHandler exHandler = (CorbaExceptionHandler)obj;
Exception exType = (Exception)exHandler.getType();
List<CorbaObjectHandler> exMembers = exHandler.getMembers();
-
stream.write_string(exType.getRepositoryID());
for (int i = 0; i < exMembers.size(); ++i) {
this.write(exMembers.get(i));
Modified: incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/runtime/CorbaStaxObject.java
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/runtime/CorbaStaxObject.java?view=diff&rev=542580&r1=542579&r2=542580
==============================================================================
--- incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/runtime/CorbaStaxObject.java (original)
+++ incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/runtime/CorbaStaxObject.java Tue May 29 09:26:24 2007
@@ -112,7 +112,7 @@
private static final String WSDLI_NAMESPACE_URI = "http://www.w3.org/2006/01/wsdl-instance";
private ORB orb;
- private List<CorbaTypeMap> typeMaps;
+ private CorbaTypeMap typeMap;
private ServiceInfo serviceInfo;
private XMLEvent rootElement;
@@ -131,12 +131,12 @@
orb = tOrb;
}
- public void setTypeMaps(List<CorbaTypeMap> tMaps) {
- typeMaps = tMaps;
+ public void setTypeMaps(CorbaTypeMap tMap) {
+ typeMap = tMap;
}
- public List<CorbaTypeMap> getTypeMaps() {
- return typeMaps;
+ public CorbaTypeMap getTypeMap() {
+ return typeMap;
}
public void setServiceInfo(ServiceInfo info) {
@@ -168,7 +168,7 @@
} catch (XMLStreamException ex) {
throw new CorbaBindingException("Unable to locate start of object", ex);
}
- CorbaTypeImpl type = CorbaUtils.getCorbaType(idlType, typeMaps);
+ CorbaTypeImpl type = CorbaUtils.getCorbaType(idlType, typeMap);
XmlSchemaType schemaType = null;
if (type != null) {
schemaType = CorbaUtils.getXmlSchemaType(serviceInfo, type.getType());
@@ -181,10 +181,10 @@
XmlSchemaObject schemaType,
boolean isNested)
throws CorbaBindingException {
- TypeCode tc = CorbaUtils.getTypeCode(orb, idlType, typeMaps);
+ TypeCode tc = CorbaUtils.getTypeCode(orb, idlType, typeMap);
try {
while (tc.kind().value() == TCKind._tk_alias) {
- Alias alias = (Alias) CorbaUtils.getCorbaType(idlType, typeMaps);
+ Alias alias = (Alias) CorbaUtils.getCorbaType(idlType, typeMap);
if (alias == null) {
throw new CorbaBindingException("Couldn't find corba alias type: " + idlType);
}
@@ -513,7 +513,7 @@
try {
QName arrayElemType = null;
long arrayBound = 0;
- CorbaTypeImpl type = CorbaUtils.getCorbaType(idlType, typeMaps);
+ CorbaTypeImpl type = CorbaUtils.getCorbaType(idlType, typeMap);
// Arrays and anonymous arrays can be handled by the same method
if (type instanceof Anonarray) {
Anonarray anonArrayType = (Anonarray)type;
@@ -603,7 +603,7 @@
throws CorbaBindingException {
CorbaEnumHandler obj = null;
try {
- Enum enumType = (Enum) CorbaUtils.getCorbaType(idlType, typeMaps);
+ Enum enumType = (Enum) CorbaUtils.getCorbaType(idlType, typeMap);
StartElement enumStartEl = reader.nextEvent().asStartElement();
obj = new CorbaEnumHandler(enumStartEl.getName(), idlType, tc, enumType);
Characters enumCharEl = reader.nextEvent().asCharacters();
@@ -645,7 +645,7 @@
}
CorbaExceptionHandler obj = null;
try {
- Exception exType = (Exception) CorbaUtils.getCorbaType(idlType, typeMaps);
+ Exception exType = (Exception) CorbaUtils.getCorbaType(idlType, typeMap);
StartElement exStartEl = reader.nextEvent().asStartElement();
obj = new CorbaExceptionHandler(exStartEl.getName(), idlType, tc, exType);
XmlSchemaComplexType ctype = (XmlSchemaComplexType) schemaType;
@@ -669,7 +669,7 @@
member = CorbaHandlerUtils.initializeObjectHandler(orb,
new QName(exMembers.get(i).getName()),
exMembers.get(i).getIdltype(),
- typeMaps,
+ typeMap,
serviceInfo);
}
@@ -716,7 +716,7 @@
boolean isTopLevel)
throws CorbaBindingException {
//check if it is a sequence of octets
- CorbaTypeImpl type = CorbaUtils.getCorbaType(idlType, typeMaps);
+ CorbaTypeImpl type = CorbaUtils.getCorbaType(idlType, typeMap);
boolean readOctets = type.getType().equals(W3CConstants.NT_SCHEMA_BASE64)
|| type.getType().equals(W3CConstants.NT_SCHEMA_HBIN);
if ((schemaType == null) && (!readOctets)) {
@@ -801,7 +801,7 @@
CorbaHandlerUtils.initializeObjectHandler(orb,
elementName,
seqElementType,
- typeMaps,
+ typeMap,
serviceInfo);
obj.setTemplateElement(elementObj);
boolean nestedSequence = isNestedSequence(seqElementType);
@@ -934,7 +934,7 @@
}
CorbaStructHandler obj = null;
try {
- Struct structType = (Struct) CorbaUtils.getCorbaType(idlType, typeMaps);
+ Struct structType = (Struct) CorbaUtils.getCorbaType(idlType, typeMap);
XmlSchemaObjectCollection attrs = null;
XmlSchemaObjectCollection members = null;
@@ -1119,7 +1119,7 @@
TypeCode tc,
XmlSchemaObject schemaType)
throws CorbaBindingException {
- Union unionType = (Union) CorbaUtils.getCorbaType(idlType, typeMaps);
+ Union unionType = (Union) CorbaUtils.getCorbaType(idlType, typeMap);
CorbaUnionHandler obj = new CorbaUnionHandler(name, idlType, tc, unionType);
CorbaPrimitiveHandler discObj =
new CorbaPrimitiveHandler(new QName("discriminator"),
@@ -1168,7 +1168,7 @@
CorbaUnionHandler obj = null;
try {
XmlSchemaChoice choiceType = (XmlSchemaChoice) schemaType;
- Union unionType = (Union) CorbaUtils.getCorbaType(idlType, typeMaps);
+ Union unionType = (Union) CorbaUtils.getCorbaType(idlType, typeMap);
QName elName = reader.nextEvent().asStartElement().getName();
obj = new CorbaUnionHandler(elName, idlType, tc, unionType);
// Build the entire union with all branches, etc. Then read info from the XML Event Reader
@@ -1190,8 +1190,7 @@
CorbaHandlerUtils.createTypeHandler(orb,
new QName("discriminator"),
unionType.getDiscriminator(),
- typeMaps,
- serviceInfo);
+ typeMap);
obj.setDiscriminator(discObj);
// Determine the value of the discriminator.
@@ -1219,8 +1218,7 @@
branchObj = CorbaHandlerUtils.createTypeHandler(orb,
qname,
branch.getIdltype(),
- typeMaps,
- serviceInfo);
+ typeMap);
}
obj.addCase(branchObj);
}
@@ -1313,7 +1311,7 @@
throws CorbaBindingException {
CorbaFixedHandler obj = null;
try {
- CorbaTypeImpl type = CorbaUtils.getCorbaType(idlType, typeMaps);
+ CorbaTypeImpl type = CorbaUtils.getCorbaType(idlType, typeMap);
StartElement fixedStartEl = reader.nextEvent().asStartElement();
obj = new CorbaFixedHandler(fixedStartEl.getName(), idlType, tc, type);
Characters fixedCharEl = reader.nextEvent().asCharacters();
@@ -1350,7 +1348,7 @@
XmlSchemaObject schemaType) {
CorbaObjectReferenceHandler obj = null;
try {
- Object objType = (Object)CorbaUtils.getCorbaType(idlType, typeMaps);
+ Object objType = (Object)CorbaUtils.getCorbaType(idlType, typeMap);
StartElement objStartEl = reader.nextEvent().asStartElement();
obj = new CorbaObjectReferenceHandler(objStartEl.getName(), idlType, tc, objType);
@@ -1620,7 +1618,7 @@
}
private boolean isNestedSequence(QName seqElType) {
- TypeCode tc = CorbaUtils.getTypeCode(orb, seqElType, typeMaps);
+ TypeCode tc = CorbaUtils.getTypeCode(orb, seqElType, typeMap);
return isNestedSequence(tc);
}
@@ -1633,7 +1631,7 @@
}
private boolean isNestedArray(QName arrayElType) {
- TypeCode tc = CorbaUtils.getTypeCode(orb, arrayElType, typeMaps);
+ TypeCode tc = CorbaUtils.getTypeCode(orb, arrayElType, typeMap);
return isNestedArray(tc);
}
@@ -1670,7 +1668,7 @@
}
Attribute attr = el.getAttributeByName(name);
if (attr != null) {
- TypeCode tc = CorbaUtils.getTypeCode(orb, idlType, typeMaps);
+ TypeCode tc = CorbaUtils.getTypeCode(orb, idlType, typeMap);
result = new CorbaPrimitiveHandler(new QName("value"), idlType, tc, null);
result.setValueFromData(attr.getValue());
}
Modified: incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/types/CorbaAnyHandler.java
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/types/CorbaAnyHandler.java?view=diff&rev=542580&r1=542579&r2=542580
==============================================================================
--- incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/types/CorbaAnyHandler.java (original)
+++ incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/types/CorbaAnyHandler.java Tue May 29 09:26:24 2007
@@ -50,6 +50,10 @@
public Any getValue() {
return value;
}
+
+ public void clear() {
+ value = null;
+ }
public void setValue(Any v) throws CorbaBindingException {
value = v;
Modified: incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/types/CorbaArrayHandler.java
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/types/CorbaArrayHandler.java?view=diff&rev=542580&r1=542579&r2=542580
==============================================================================
--- incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/types/CorbaArrayHandler.java (original)
+++ incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/types/CorbaArrayHandler.java Tue May 29 09:26:24 2007
@@ -47,5 +47,11 @@
public CorbaObjectHandler getElement(int index) {
return elements.get(index);
- }
+ }
+
+ public void clear() {
+ for (int i = 0; i < elements.size(); i++) {
+ elements.get(i).clear();
+ }
+ }
}
Modified: incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/types/CorbaEnumHandler.java
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/types/CorbaEnumHandler.java?view=diff&rev=542580&r1=542579&r2=542580
==============================================================================
--- incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/types/CorbaEnumHandler.java (original)
+++ incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/types/CorbaEnumHandler.java Tue May 29 09:26:24 2007
@@ -57,4 +57,8 @@
public long getIndex() {
return index;
}
+
+ public void clear() {
+ value = null;
+ }
}
Modified: incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/types/CorbaExceptionHandler.java
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/types/CorbaExceptionHandler.java?view=diff&rev=542580&r1=542579&r2=542580
==============================================================================
--- incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/types/CorbaExceptionHandler.java (original)
+++ incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/types/CorbaExceptionHandler.java Tue May 29 09:26:24 2007
@@ -72,6 +72,12 @@
public void setId(String eid) {
id = eid;
}
+
+ public void clear() {
+ for (int i = 0; i < members.size(); i++) {
+ members.get(i).clear();
+ }
+ }
// TODO: Can we add the features that exist in the main package here?
}
Modified: incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/types/CorbaFixedHandler.java
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/types/CorbaFixedHandler.java?view=diff&rev=542580&r1=542579&r2=542580
==============================================================================
--- incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/types/CorbaFixedHandler.java (original)
+++ incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/types/CorbaFixedHandler.java Tue May 29 09:26:24 2007
@@ -72,4 +72,8 @@
public void setValueFromData(String data) {
value = new BigDecimal(data);
}
+
+ public void clear() {
+ value = null;
+ }
}