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/21 17:03:35 UTC
svn commit: r540203 [1/2] - in
/incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba:
./ interceptors/ runtime/ types/ utils/
Author: bravi
Date: Mon May 21 10:03:31 2007
New Revision: 540203
URL: http://svn.apache.org/viewvc?view=rev&rev=540203
Log:
[YOKO-366] - Updates to the perf branch (more types support).
Modified:
incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/CorbaConduit.java
incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/CorbaDestination.java
incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/CorbaMessage.java
incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/CorbaServerConduit.java
incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/TypeMapCache.java
incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/interceptors/CorbaFaultInInterceptor.java
incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/interceptors/CorbaFaultOutInterceptor.java
incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/interceptors/CorbaInInterceptor.java
incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/interceptors/CorbaOutInterceptor.java
incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/interceptors/CorbaStreamInInterceptor.java
incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/interceptors/CorbaStreamOutEndingInterceptor.java
incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/interceptors/CorbaStreamOutInterceptor.java
incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/runtime/CorbaDSIServant.java
incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/runtime/CorbaObjectReader.java
incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/runtime/CorbaStaxObject.java
incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/runtime/CorbaStreamReader.java
incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/runtime/CorbaStreamWriter.java
incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/types/AbstractStartEndEventProducer.java
incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/types/CorbaEnumEventProducer.java
incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/types/CorbaHandlerUtils.java
incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/types/CorbaPrimitiveTypeEventProducer.java
incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/types/CorbaSequenceEventProducer.java
incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/types/CorbaSequenceListener.java
incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/types/CorbaStructEventProducer.java
incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/types/CorbaStructListener.java
incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/types/ParameterSequenceEventProducer.java
incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/utils/CorbaUtils.java
Modified: incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/CorbaConduit.java
URL: http://svn.apache.org/viewvc/incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/CorbaConduit.java?view=diff&rev=540203&r1=540202&r2=540203
==============================================================================
--- incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/CorbaConduit.java (original)
+++ incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/CorbaConduit.java Mon May 21 10:03:31 2007
@@ -74,14 +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 = TypeMapCache.get(ei.getService());
+ typeMap = TypeMapCache.get(ei.getService());
}
public void prepare(Message message) throws IOException {
@@ -109,7 +109,7 @@
new CorbaOutputStream(message));
CorbaMessage corbaMessage = (CorbaMessage) message;
- corbaMessage.setCorbaTypeMap(typeMaps);
+ corbaMessage.setCorbaTypeMap(typeMap);
} catch (java.lang.Exception ex) {
ex.printStackTrace();
@@ -169,8 +169,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");
@@ -197,7 +197,7 @@
CorbaHandlerUtils.initializeObjectHandler(orb,
elName,
raises.getException(),
- typeMaps,
+ typeMap,
service);
CorbaStreamable exStreamable = message.createStreamableObject(handler, elName);
@@ -247,8 +247,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();
@@ -285,7 +284,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) {
Modified: incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/CorbaDestination.java
URL: http://svn.apache.org/viewvc/incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/CorbaDestination.java?view=diff&rev=540203&r1=540202&r2=540203
==============================================================================
--- incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/CorbaDestination.java (original)
+++ incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/CorbaDestination.java Mon May 21 10:03:31 2007
@@ -20,7 +20,6 @@
package org.apache.yoko.bindings.corba;
import java.io.IOException;
-import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
@@ -57,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;
@@ -70,7 +69,7 @@
reference.setAddress(addr);
endpointInfo = ei;
orbConfig = config;
- typeMaps = TypeMapCache.get(binding.getService());
+ typeMap = TypeMapCache.get(binding.getService());
}
public EndpointReferenceType getAddress() {
@@ -81,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() {
@@ -92,8 +91,8 @@
return endpointInfo;
}
- public List<CorbaTypeMap> getCorbaTypeMap() {
- return typeMaps;
+ public CorbaTypeMap getCorbaTypeMap() {
+ return typeMap;
}
public void shutdown() {
@@ -170,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);
Modified: incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/CorbaMessage.java
URL: http://svn.apache.org/viewvc/incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/CorbaMessage.java?view=diff&rev=540203&r1=540202&r2=540203
==============================================================================
--- incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/CorbaMessage.java (original)
+++ incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/CorbaMessage.java Mon May 21 10:03:31 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/branches/perf/src/main/java/org/apache/yoko/bindings/corba/CorbaServerConduit.java
URL: http://svn.apache.org/viewvc/incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/CorbaServerConduit.java?view=diff&rev=540203&r1=540202&r2=540203
==============================================================================
--- incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/CorbaServerConduit.java (original)
+++ incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/CorbaServerConduit.java Mon May 21 10:03:31 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/branches/perf/src/main/java/org/apache/yoko/bindings/corba/TypeMapCache.java
URL: http://svn.apache.org/viewvc/incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/TypeMapCache.java?view=diff&rev=540203&r1=540202&r2=540203
==============================================================================
--- incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/TypeMapCache.java (original)
+++ incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/TypeMapCache.java Mon May 21 10:03:31 2007
@@ -18,7 +18,6 @@
*/
package org.apache.yoko.bindings.corba;
-import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -29,19 +28,17 @@
public class TypeMapCache {
- private static Map<ServiceInfo, List<CorbaTypeMap>> cache =
- new HashMap<ServiceInfo, List<CorbaTypeMap>>();
+ private static Map<ServiceInfo, CorbaTypeMap> cache =
+ new HashMap<ServiceInfo, CorbaTypeMap>();
- public static List<CorbaTypeMap> get(ServiceInfo service) {
+ public static CorbaTypeMap get(ServiceInfo service) {
synchronized (cache) {
if (!cache.containsKey(service)) {
- List<CorbaTypeMap> tm = new ArrayList<CorbaTypeMap>();
List<TypeMappingType> corbaTypes = service.getDescription()
.getExtensors(TypeMappingType.class);
- if (corbaTypes != null) {
- CorbaUtils.createCorbaTypeMap(tm, corbaTypes);
+ if (corbaTypes != null) {
+ cache.put(service, CorbaUtils.createCorbaTypeMap(corbaTypes));
}
- cache.put(service, tm);
}
}
return cache.get(service);
Modified: incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/interceptors/CorbaFaultInInterceptor.java
URL: http://svn.apache.org/viewvc/incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/interceptors/CorbaFaultInInterceptor.java?view=diff&rev=540203&r1=540202&r2=540203
==============================================================================
--- incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/interceptors/CorbaFaultInInterceptor.java (original)
+++ incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/interceptors/CorbaFaultInInterceptor.java Mon May 21 10:03:31 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/branches/perf/src/main/java/org/apache/yoko/bindings/corba/interceptors/CorbaFaultOutInterceptor.java
URL: http://svn.apache.org/viewvc/incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/interceptors/CorbaFaultOutInterceptor.java?view=diff&rev=540203&r1=540202&r2=540203
==============================================================================
--- incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/interceptors/CorbaFaultOutInterceptor.java (original)
+++ incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/interceptors/CorbaFaultOutInterceptor.java Mon May 21 10:03:31 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/branches/perf/src/main/java/org/apache/yoko/bindings/corba/interceptors/CorbaInInterceptor.java
URL: http://svn.apache.org/viewvc/incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/interceptors/CorbaInInterceptor.java?view=diff&rev=540203&r1=540202&r2=540203
==============================================================================
--- incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/interceptors/CorbaInInterceptor.java (original)
+++ incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/interceptors/CorbaInInterceptor.java Mon May 21 10:03:31 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/branches/perf/src/main/java/org/apache/yoko/bindings/corba/interceptors/CorbaOutInterceptor.java
URL: http://svn.apache.org/viewvc/incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/interceptors/CorbaOutInterceptor.java?view=diff&rev=540203&r1=540202&r2=540203
==============================================================================
--- incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/interceptors/CorbaOutInterceptor.java (original)
+++ incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/interceptors/CorbaOutInterceptor.java Mon May 21 10:03:31 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);
}
@@ -222,7 +210,7 @@
obj = CorbaHandlerUtils.initializeObjectHandler(orb,
paramName,
idlType,
- typeMaps,
+ typeMap,
service);
} else {
obj = corbaStaxObject.readObjectFromStax(evtReader, idlType);
@@ -303,7 +291,7 @@
obj = CorbaHandlerUtils.initializeObjectHandler(orb,
paramName,
idlType,
- typeMaps,
+ typeMap,
service);
} else {
obj = corbaStaxObject.readObjectFromStax(evtReader, idlType);
Modified: incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/interceptors/CorbaStreamInInterceptor.java
URL: http://svn.apache.org/viewvc/incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/interceptors/CorbaStreamInInterceptor.java?view=diff&rev=540203&r1=540202&r2=540203
==============================================================================
--- incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/interceptors/CorbaStreamInInterceptor.java (original)
+++ incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/interceptors/CorbaStreamInInterceptor.java Mon May 21 10:03:31 2007
@@ -63,7 +63,7 @@
private ORB orb;
private ServiceInfo service;
- private List<CorbaTypeMap> typeMaps;
+ private CorbaTypeMap typeMap;
public CorbaStreamInInterceptor() {
super();
@@ -99,11 +99,11 @@
}
}
*/
-
+ orb = (ORB)message.getExchange().get(ORB.class);
HandlerIterator paramIterator = new HandlerIterator(outMessage, false);
CorbaTypeEventProducer eventProducer = null;
- typeMaps = outMessage.getCorbaTypeMap();
+ typeMap = outMessage.getCorbaTypeMap();
Exchange exchange = message.getExchange();
BindingOperationInfo bindingOpInfo = exchange.get(BindingOperationInfo.class);
BindingMessageInfo msgInfo = bindingOpInfo.getOutput();
@@ -113,7 +113,9 @@
QName wrapperElementQName = msgInfo.getMessageInfo().getName();
eventProducer = new ParameterSequenceEventProducer(wrapperElementQName,
paramIterator,
- typeMaps);
+ typeMap,
+ service,
+ orb);
} else {
throw new RuntimeException("non wrapped parts not implemented");
}
@@ -134,7 +136,7 @@
service = destination.getBindingInfo().getService();
Exchange exchange = message.getExchange();
- typeMaps = message.getCorbaTypeMap();
+ typeMap = message.getCorbaTypeMap();
BindingInfo bInfo = destination.getBindingInfo();
InterfaceInfo info = bInfo.getInterface();
@@ -173,7 +175,9 @@
QName wrapperElementQName = msgInfo.getMessageInfo().getName();
eventProducer = new ParameterSequenceEventProducer(wrapperElementQName,
paramIterator,
- typeMaps);
+ typeMap,
+ service,
+ orb);
} else {
throw new RuntimeException("non wrapped parts not implemented");
}
@@ -206,7 +210,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;
@@ -216,7 +220,7 @@
BindingOperationInfo boi,
CorbaStreamable[] streamables,
List<ParamType> paramTypes,
- List<CorbaTypeMap> maps) {
+ CorbaTypeMap map) {
try {
// Build the list of DII arguments, returns, and exceptions
NVList list = orb.create_list(streamables.length);
@@ -244,7 +248,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")) {
streamables[i].setMode(org.omg.CORBA.ARG_IN.value);
Modified: 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=diff&rev=540203&r1=540202&r2=540203
==============================================================================
--- incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/interceptors/CorbaStreamOutEndingInterceptor.java (original)
+++ incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/interceptors/CorbaStreamOutEndingInterceptor.java Mon May 21 10:03:31 2007
@@ -56,7 +56,7 @@
private static final Logger LOG = LogUtils.getL7dLogger(CorbaStreamOutEndingInterceptor.class);
private org.omg.CORBA.ORB orb;
- private List<CorbaTypeMap> typeMaps;
+ private CorbaTypeMap typeMap;
private ServiceInfo service;
public CorbaStreamOutEndingInterceptor() {
@@ -70,7 +70,7 @@
Exchange exchange = message.getExchange();
BindingOperationInfo boi = exchange.get(BindingOperationInfo.class);
service = exchange.get(ServiceInfo.class);
- typeMaps = message.getCorbaTypeMap();
+ typeMap = message.getCorbaTypeMap();
if (ContextUtils.isRequestor(message)) {
handleOutBoundMessage(message, boi);
@@ -108,7 +108,7 @@
obj = CorbaHandlerUtils.initializeObjectHandler(orb,
paramName,
idlType,
- typeMaps,
+ typeMap,
service);
} else {
obj = objs[count++];
@@ -128,7 +128,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);
}
@@ -169,7 +169,7 @@
obj = CorbaHandlerUtils.initializeObjectHandler(orb,
paramName,
idlType,
- typeMaps,
+ typeMap,
service);
} else {
obj = objs[count++];
Modified: 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=diff&rev=540203&r1=540202&r2=540203
==============================================================================
--- incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/interceptors/CorbaStreamOutInterceptor.java (original)
+++ incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/interceptors/CorbaStreamOutInterceptor.java Mon May 21 10:03:31 2007
@@ -51,7 +51,7 @@
private static final Logger LOG = LogUtils.getL7dLogger(CorbaStreamOutInterceptor.class);
private org.omg.CORBA.ORB orb;
- private List<CorbaTypeMap> typeMaps;
+ private CorbaTypeMap typeMap;
private ServiceInfo service;
public CorbaStreamOutInterceptor() {
@@ -64,7 +64,7 @@
orb = (org.omg.CORBA.ORB) message.get(CorbaConstants.ORB);
Exchange exchange = message.getExchange();
service = exchange.get(ServiceInfo.class);
- typeMaps = message.getCorbaTypeMap();
+ typeMap = message.getCorbaTypeMap();
BindingOperationInfo boi = exchange.get(BindingOperationInfo.class);
if (ContextUtils.isRequestor(message)) {
handleOutBoundMessage(message, boi);
@@ -88,7 +88,7 @@
params.add((ArgType)param);
}
}
- CorbaStreamWriter writer = new CorbaStreamWriter(orb, params, typeMaps, service, wrap);
+ CorbaStreamWriter writer = new CorbaStreamWriter(orb, params, typeMap, service, wrap);
message.setContent(XMLStreamWriter.class, writer);
}
@@ -111,7 +111,7 @@
params.add((ArgType)param);
}
}
- CorbaStreamWriter writer = new CorbaStreamWriter(orb, params, typeMaps, service, wrap);
+ CorbaStreamWriter writer = new CorbaStreamWriter(orb, params, typeMap, service, wrap);
message.setContent(XMLStreamWriter.class, writer);
}
Modified: incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/runtime/CorbaDSIServant.java
URL: http://svn.apache.org/viewvc/incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/runtime/CorbaDSIServant.java?view=diff&rev=540203&r1=540202&r2=540203
==============================================================================
--- incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/runtime/CorbaDSIServant.java (original)
+++ incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/runtime/CorbaDSIServant.java Mon May 21 10:03:31 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/branches/perf/src/main/java/org/apache/yoko/bindings/corba/runtime/CorbaObjectReader.java
URL: http://svn.apache.org/viewvc/incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/runtime/CorbaObjectReader.java?view=diff&rev=540203&r1=540202&r2=540203
==============================================================================
--- incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/runtime/CorbaObjectReader.java (original)
+++ incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/runtime/CorbaObjectReader.java Mon May 21 10:03:31 2007
@@ -25,8 +25,6 @@
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 +49,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 {
@@ -431,25 +428,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/branches/perf/src/main/java/org/apache/yoko/bindings/corba/runtime/CorbaStaxObject.java
URL: http://svn.apache.org/viewvc/incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/runtime/CorbaStaxObject.java?view=diff&rev=540203&r1=540202&r2=540203
==============================================================================
--- incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/runtime/CorbaStaxObject.java (original)
+++ incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/runtime/CorbaStaxObject.java Mon May 21 10:03:31 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,7 +1190,7 @@
CorbaHandlerUtils.createTypeHandler(orb,
new QName("discriminator"),
unionType.getDiscriminator(),
- typeMaps,
+ typeMap,
serviceInfo);
obj.setDiscriminator(discObj);
@@ -1219,7 +1219,7 @@
branchObj = CorbaHandlerUtils.createTypeHandler(orb,
qname,
branch.getIdltype(),
- typeMaps,
+ typeMap,
serviceInfo);
}
obj.addCase(branchObj);
@@ -1313,7 +1313,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 +1350,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 +1620,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 +1633,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 +1670,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/branches/perf/src/main/java/org/apache/yoko/bindings/corba/runtime/CorbaStreamReader.java
URL: http://svn.apache.org/viewvc/incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/runtime/CorbaStreamReader.java?view=diff&rev=540203&r1=540202&r2=540203
==============================================================================
--- incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/runtime/CorbaStreamReader.java (original)
+++ incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/runtime/CorbaStreamReader.java Mon May 21 10:03:31 2007
@@ -57,13 +57,7 @@
}
public String getNamespaceURI() {
- String current = getName().getNamespaceURI();
- if (current == null || current.equals("")) {
- current = defaultNameSpace;
- } else {
- defaultNameSpace = current;
- }
- return current;
+ return getName().getNamespaceURI();
}
public boolean hasNext() throws XMLStreamException {
@@ -151,17 +145,17 @@
public int getCharacterOffset() {
// TODO Auto-generated method stub
- return 0;
+ return -1;
}
public int getColumnNumber() {
// TODO Auto-generated method stub
- return 0;
+ return -1;
}
public int getLineNumber() {
// TODO Auto-generated method stub
- return 0;
+ return -1;
}
public String getPublicId() {
Modified: 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=diff&rev=540203&r1=540202&r2=540203
==============================================================================
--- incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/runtime/CorbaStreamWriter.java (original)
+++ incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/runtime/CorbaStreamWriter.java Mon May 21 10:03:31 2007
@@ -48,7 +48,7 @@
private String defaultNS = "";
private boolean skipWrap;
private ServiceInfo serviceInfo;
- private List<CorbaTypeMap> typeMaps;
+ private CorbaTypeMap typeMap;
private List<ArgType> params;
private int paramCounter;
private ORB orb;
@@ -61,12 +61,12 @@
public CorbaStreamWriter(ORB orbRef,
List<ArgType> paramTypes,
- List<CorbaTypeMap> maps,
+ CorbaTypeMap map,
ServiceInfo sinfo,
boolean wrap) {
orb = orbRef;
params = paramTypes;
- typeMaps = maps;
+ typeMap = map;
serviceInfo = sinfo;
skipWrap = wrap;
listeners = new CorbaTypeListener[paramTypes.size()];
@@ -120,7 +120,7 @@
ArgType param = params.get(paramCounter);
QName idlType = param.getIdltype();
if (localName.equals(param.getName())) {
- currentTypeListener = CorbaHandlerUtils.getTypeListener(name, idlType, typeMaps, orb);
+ currentTypeListener = CorbaHandlerUtils.getTypeListener(name, idlType, typeMap, orb);
listeners[paramCounter] = currentTypeListener;
paramCounter++;
} else {
Modified: incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/types/AbstractStartEndEventProducer.java
URL: http://svn.apache.org/viewvc/incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/types/AbstractStartEndEventProducer.java?view=diff&rev=540203&r1=540202&r2=540203
==============================================================================
--- incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/types/AbstractStartEndEventProducer.java (original)
+++ incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/types/AbstractStartEndEventProducer.java Mon May 21 10:03:31 2007
@@ -19,12 +19,14 @@
package org.apache.yoko.bindings.corba.types;
import java.util.Iterator;
-import java.util.List;
import javax.xml.namespace.QName;
import javax.xml.stream.XMLStreamReader;
+import org.apache.cxf.service.model.ServiceInfo;
+
import org.apache.yoko.bindings.corba.CorbaTypeMap;
+import org.omg.CORBA.ORB;
public abstract class AbstractStartEndEventProducer implements
CorbaTypeEventProducer {
@@ -33,9 +35,11 @@
protected final int[] states = {XMLStreamReader.START_ELEMENT, 0, XMLStreamReader.END_ELEMENT};
protected CorbaTypeEventProducer currentEventProducer;
- protected List<CorbaTypeMap> typeMaps;
+ protected CorbaTypeMap typeMap;
protected QName name;
protected Iterator<CorbaObjectHandler> iterator;
+ protected ServiceInfo serviceInfo;
+ protected ORB orb;
public String getLocalName() {
return getName().getLocalPart();
@@ -65,7 +69,7 @@
event = currentEventProducer.next();
} else if (iterator.hasNext()) {
CorbaObjectHandler obj = iterator.next();
- currentEventProducer = CorbaHandlerUtils.getTypeEventProducer(obj, typeMaps);
+ currentEventProducer = CorbaHandlerUtils.getTypeEventProducer(obj, typeMap, serviceInfo, orb);
event = currentEventProducer.next();
} else {
// all done with content, move past state 0
Modified: incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/types/CorbaEnumEventProducer.java
URL: http://svn.apache.org/viewvc/incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/types/CorbaEnumEventProducer.java?view=diff&rev=540203&r1=540202&r2=540203
==============================================================================
--- incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/types/CorbaEnumEventProducer.java (original)
+++ incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/types/CorbaEnumEventProducer.java Mon May 21 10:03:31 2007
@@ -21,14 +21,19 @@
import javax.xml.namespace.QName;
import javax.xml.stream.XMLStreamReader;
+import org.apache.cxf.service.model.ServiceInfo;
+import org.apache.yoko.bindings.corba.utils.CorbaUtils;
+
public class CorbaEnumEventProducer implements CorbaTypeEventProducer {
int state;
int[] states = {XMLStreamReader.START_ELEMENT, XMLStreamReader.CHARACTERS, XMLStreamReader.END_ELEMENT};
final CorbaEnumHandler handler;
+ final QName name;
- public CorbaEnumEventProducer(CorbaObjectHandler h) {
+ public CorbaEnumEventProducer(CorbaObjectHandler h, ServiceInfo service) {
handler = (CorbaEnumHandler) h;
+ name = CorbaUtils.processQName(handler.getName(), service);
}
public String getLocalName() {
@@ -44,7 +49,7 @@
}
public QName getName() {
- return handler.getName();
+ return name;
}
public boolean hasNext() {
Modified: incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/types/CorbaHandlerUtils.java
URL: http://svn.apache.org/viewvc/incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/types/CorbaHandlerUtils.java?view=diff&rev=540203&r1=540202&r2=540203
==============================================================================
--- incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/types/CorbaHandlerUtils.java (original)
+++ incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/types/CorbaHandlerUtils.java Mon May 21 10:03:31 2007
@@ -66,13 +66,13 @@
public static CorbaObjectHandler createTypeHandler(ORB orb,
QName name,
QName idlType,
- List<CorbaTypeMap> typeMaps,
+ CorbaTypeMap typeMap,
ServiceInfo serviceInfo) {
CorbaObjectHandler handler = null;
- 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);
}
@@ -90,7 +90,7 @@
handler = new CorbaPrimitiveHandler(name, idlType, tc, null);
}
} else {
- CorbaTypeImpl type = CorbaUtils.getCorbaType(idlType, typeMaps);
+ CorbaTypeImpl type = CorbaUtils.getCorbaType(idlType, typeMap);
switch (tc.kind().value()) {
case TCKind._tk_array:
handler = new CorbaArrayHandler(name, idlType, tc, type);
@@ -132,12 +132,12 @@
public static CorbaObjectHandler initializeObjectHandler(ORB orb,
QName name,
QName idlType,
- List<CorbaTypeMap> typeMaps,
+ CorbaTypeMap typeMap,
ServiceInfo serviceInfo) {
- 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);
}
@@ -147,21 +147,21 @@
} catch (Throwable ex) {
throw new CorbaBindingException(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());
}
- return initializeObjectHandler(orb, name, idlType, schemaType, typeMaps, serviceInfo);
+ return initializeObjectHandler(orb, name, idlType, schemaType, typeMap, serviceInfo);
}
public static CorbaObjectHandler initializeObjectHandler(ORB orb,
QName name,
QName idlType,
XmlSchemaObject schemaType,
- List<CorbaTypeMap> typeMaps,
+ CorbaTypeMap typeMap,
ServiceInfo serviceInfo) {
- CorbaObjectHandler obj = createTypeHandler(orb, name, idlType, typeMaps, serviceInfo);
+ CorbaObjectHandler obj = createTypeHandler(orb, name, idlType, typeMap, serviceInfo);
if (obj.getType() != null) {
String nsUri = getNamespaceURI(serviceInfo, obj.getType().getType());
name = new QName(nsUri, obj.getName().getLocalPart());
@@ -171,19 +171,19 @@
if (!CorbaUtils.isPrimitiveIdlType(idlType)) {
switch (obj.getTypeCode().kind().value()) {
case TCKind._tk_array:
- initializeArrayHandler(orb, obj, name, schemaType, typeMaps, serviceInfo);
+ initializeArrayHandler(orb, obj, name, schemaType, typeMap, serviceInfo);
break;
case TCKind._tk_except:
- initializeExceptionHandler(orb, obj, name, schemaType, typeMaps, serviceInfo);
+ initializeExceptionHandler(orb, obj, name, schemaType, typeMap, serviceInfo);
break;
case TCKind._tk_sequence:
- initializeSequenceHandler(orb, obj, name, schemaType, typeMaps, serviceInfo);
+ initializeSequenceHandler(orb, obj, name, schemaType, typeMap, serviceInfo);
break;
case TCKind._tk_struct:
- initializeStructHandler(orb, obj, name, schemaType, typeMaps, serviceInfo);
+ initializeStructHandler(orb, obj, name, schemaType, typeMap, serviceInfo);
break;
case TCKind._tk_union:
- initializeUnionHandler(orb, obj, name, schemaType, typeMaps, serviceInfo);
+ initializeUnionHandler(orb, obj, name, schemaType, typeMap, serviceInfo);
break;
default:
@@ -197,7 +197,7 @@
CorbaObjectHandler obj,
QName name,
XmlSchemaObject schemaType,
- List<CorbaTypeMap> typeMaps,
+ CorbaTypeMap typeMap,
ServiceInfo serviceInfo) {
QName arrayElementType = null;
long arrayBound = 0;
@@ -218,7 +218,7 @@
}
for (int i = 0; i < arrayBound; ++i) {
CorbaObjectHandler elementObj =
- initializeObjectHandler(orb, elementName, arrayElementType, el, typeMaps, serviceInfo);
+ initializeObjectHandler(orb, elementName, arrayElementType, el, typeMap, serviceInfo);
((CorbaArrayHandler)obj).addElement(elementObj);
}
}
@@ -227,7 +227,7 @@
CorbaObjectHandler obj,
QName name,
XmlSchemaObject schemaType,
- List<CorbaTypeMap> typeMaps,
+ CorbaTypeMap typeMap,
ServiceInfo serviceInfo) {
Exception exceptType = (Exception)obj.getType();
List<MemberType> exceptMembers = exceptType.getMember();
@@ -246,7 +246,7 @@
memberName,
memberType,
group.getItems().getItem(i),
- typeMaps,
+ typeMap,
serviceInfo);
((CorbaExceptionHandler)obj).addMember(memberObj);
}
@@ -256,7 +256,7 @@
CorbaObjectHandler obj,
QName name,
XmlSchemaObject schemaType,
- List<CorbaTypeMap> typeMaps,
+ CorbaTypeMap typeMap,
ServiceInfo serviceInfo) {
QName seqElementType = null;
long seqBound = 0;
@@ -285,12 +285,12 @@
// This is an unbounded sequence. Store a 'template' object that we can use to create
// new objects as needed
CorbaObjectHandler elementObj =
- initializeObjectHandler(orb, elementName, seqElementType, el, typeMaps, serviceInfo);
+ initializeObjectHandler(orb, elementName, seqElementType, el, typeMap, serviceInfo);
((CorbaSequenceHandler)obj).setTemplateElement(elementObj);
}
for (int i = 0; i < seqBound; ++i) {
CorbaObjectHandler elementObj =
- initializeObjectHandler(orb, elementName, seqElementType, el, typeMaps, serviceInfo);
+ initializeObjectHandler(orb, elementName, seqElementType, el, typeMap, serviceInfo);
((CorbaSequenceHandler)obj).addElement(elementObj);
}
}
@@ -299,7 +299,7 @@
CorbaObjectHandler obj,
QName name,
XmlSchemaObject schemaType,
- List<CorbaTypeMap> typeMaps,
+ CorbaTypeMap typeMap,
ServiceInfo serviceInfo) {
Struct structType = (Struct)obj.getType();
List<MemberType> structMembers = structType.getMember();
@@ -348,7 +348,7 @@
memberName,
memberType,
schemaObj,
- typeMaps,
+ typeMap,
serviceInfo);
((CorbaStructHandler)obj).addMember(memberObj);
}
@@ -358,7 +358,7 @@
CorbaObjectHandler obj,
QName name,
XmlSchemaObject schemaType,
- List<CorbaTypeMap> typeMaps,
+ CorbaTypeMap typeMap,
ServiceInfo serviceInfo) {
Union unionType = (Union)obj.getType();
// First handle the discriminator
@@ -366,7 +366,7 @@
new QName("discriminator"),
unionType.getDiscriminator(),
null,
- typeMaps,
+ typeMap,
serviceInfo);
((CorbaUnionHandler)obj).setDiscriminator(discObj);
boolean isAttr = false;
@@ -401,7 +401,7 @@
QName branchName = new QName(nsURI, branch.getName());
QName branchIdlType = branch.getIdltype();
CorbaObjectHandler branchObj =
- initializeObjectHandler(orb, branchName, branchIdlType, stype, typeMaps, serviceInfo);
+ initializeObjectHandler(orb, branchName, branchIdlType, stype, typeMap, serviceInfo);
((CorbaUnionHandler)obj).addCase(branchObj);
}
}
@@ -440,13 +440,13 @@
public static CorbaTypeListener getTypeListener(QName name,
QName idlType,
- List<CorbaTypeMap> typeMaps,
+ CorbaTypeMap typeMap,
ORB orb)
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);
}
@@ -461,7 +461,7 @@
LOG.log(Level.INFO, "Reading primitive type from XML reader");
result = new CorbaPrimitiveListener(name, idlType, tc, null);
} else {
- CorbaTypeImpl type = CorbaUtils.getCorbaType(idlType, typeMaps);
+ CorbaTypeImpl type = CorbaUtils.getCorbaType(idlType, typeMap);
switch (tc.kind().value()) {
case TCKind._tk_any:
LOG.log(Level.INFO, "Reading any type from XML reader");
@@ -481,7 +481,7 @@
break;
case TCKind._tk_sequence:
LOG.log(Level.INFO, "Reading sequence type from XML reader");
- result = new CorbaSequenceListener(name, idlType, tc, type, typeMaps, orb);
+ result = new CorbaSequenceListener(name, idlType, tc, type, typeMap, orb);
break;
case TCKind._tk_string:
case TCKind._tk_wstring:
@@ -490,7 +490,7 @@
break;
case TCKind._tk_struct:
LOG.log(Level.INFO, "Reading struct type from XML reader");
- result = new CorbaStructListener(name, idlType, tc, type, typeMaps, orb);
+ result = new CorbaStructListener(name, idlType, tc, type, typeMap, orb);
break;
case TCKind._tk_union:
LOG.log(Level.INFO, "Reading union type from XML reader");
@@ -507,15 +507,17 @@
}
public static CorbaTypeEventProducer getTypeEventProducer(CorbaObjectHandler handler,
- List<CorbaTypeMap> typeMaps)
+ CorbaTypeMap typeMap,
+ ServiceInfo serviceInfo,
+ ORB orb)
throws CorbaBindingException {
QName idlType = handler.getIdlType();
TypeCode tc = handler.getTypeCode();
CorbaTypeEventProducer result = null;
if (CorbaUtils.isPrimitiveIdlType(idlType)) {
- result = new CorbaPrimitiveTypeEventProducer(handler);
+ result = new CorbaPrimitiveTypeEventProducer(handler, serviceInfo);
} else {
- //CorbaTypeImpl type = CorbaUtils.getCorbaType(idlType, typeMaps);
+ //CorbaTypeImpl type = CorbaUtils.getCorbaType(idlType, typeMap);
switch (tc.kind().value()) {
case TCKind._tk_any:
LOG.log(Level.INFO, "Reading any type from XML reader");
@@ -525,7 +527,7 @@
break;
case TCKind._tk_enum:
LOG.log(Level.INFO, "Reading enumeration type from XML reader");
- result = new CorbaEnumEventProducer(handler);
+ result = new CorbaEnumEventProducer(handler, serviceInfo);
break;
case TCKind._tk_except:
LOG.log(Level.INFO, "Reading exception type from XML reader");
@@ -535,7 +537,7 @@
break;
case TCKind._tk_sequence:
LOG.log(Level.INFO, "Reading sequence type from XML reader");
- result = new CorbaSequenceEventProducer(handler, typeMaps);
+ result = new CorbaSequenceEventProducer(handler, typeMap, serviceInfo, orb);
break;
case TCKind._tk_string:
case TCKind._tk_wstring:
@@ -544,15 +546,14 @@
break;
case TCKind._tk_struct:
LOG.log(Level.INFO, "Reading struct type from XML reader");
- result = new CorbaStructEventProducer(handler, typeMaps);
+ result = new CorbaStructEventProducer(handler, typeMap, serviceInfo, orb);
break;
case TCKind._tk_union:
LOG.log(Level.INFO, "Reading union type from XML reader");
break;
case TCKind._tk_objref:
LOG.log(Level.INFO, "Reading object reference from XML reader");
- //result = new CorbaObjectReferenceListener(name, idlType, tc,
- // type, orb);
+ result = new CorbaObjectReferenceEventProducer(handler, serviceInfo, orb);
break;
default:
throw new CorbaBindingException("Unsupported complex type "
Modified: incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/types/CorbaPrimitiveTypeEventProducer.java
URL: http://svn.apache.org/viewvc/incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/types/CorbaPrimitiveTypeEventProducer.java?view=diff&rev=540203&r1=540202&r2=540203
==============================================================================
--- incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/types/CorbaPrimitiveTypeEventProducer.java (original)
+++ incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/types/CorbaPrimitiveTypeEventProducer.java Mon May 21 10:03:31 2007
@@ -21,13 +21,19 @@
import javax.xml.namespace.QName;
import javax.xml.stream.XMLStreamReader;
+import org.apache.cxf.service.model.ServiceInfo;
+import org.apache.yoko.bindings.corba.utils.CorbaUtils;
+
public class CorbaPrimitiveTypeEventProducer implements CorbaTypeEventProducer {
int state;
int[] states = {XMLStreamReader.START_ELEMENT, XMLStreamReader.CHARACTERS, XMLStreamReader.END_ELEMENT};
final CorbaPrimitiveHandler handler;
- public CorbaPrimitiveTypeEventProducer(CorbaObjectHandler h) {
+ final QName name;
+
+ public CorbaPrimitiveTypeEventProducer(CorbaObjectHandler h, ServiceInfo service) {
handler = (CorbaPrimitiveHandler) h;
+ name = CorbaUtils.processQName(handler.getName(), service);
}
public String getLocalName() {
@@ -43,11 +49,10 @@
}
public QName getName() {
- return handler.getName();
+ return name;
}
public boolean hasNext() {
return state < states.length;
}
-
}
Modified: incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/types/CorbaSequenceEventProducer.java
URL: http://svn.apache.org/viewvc/incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/types/CorbaSequenceEventProducer.java?view=diff&rev=540203&r1=540202&r2=540203
==============================================================================
--- incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/types/CorbaSequenceEventProducer.java (original)
+++ incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/types/CorbaSequenceEventProducer.java Mon May 21 10:03:31 2007
@@ -18,9 +18,9 @@
*/
package org.apache.yoko.bindings.corba.types;
-import java.util.List;
import javax.xml.namespace.QName;
+import org.apache.cxf.service.model.ServiceInfo;
import org.apache.schemas.yoko.bindings.corba.Anonsequence;
import org.apache.schemas.yoko.bindings.corba.Sequence;
@@ -29,16 +29,22 @@
import org.apache.yoko.bindings.corba.utils.CorbaUtils;
import org.apache.yoko.wsdl.CorbaTypeImpl;
+import org.omg.CORBA.ORB;
+
public class CorbaSequenceEventProducer extends AbstractStartEndEventProducer {
boolean isPrimitiveIdlType;
- public CorbaSequenceEventProducer(CorbaObjectHandler h, List<CorbaTypeMap> tm) {
+ public CorbaSequenceEventProducer(CorbaObjectHandler h,
+ CorbaTypeMap tm,
+ ServiceInfo service,
+ ORB orbRef) {
CorbaSequenceHandler handler = (CorbaSequenceHandler) h;
- name = handler.getName();
+ name = CorbaUtils.processQName(handler.getName(), service);
iterator = handler.getElements().iterator();
- typeMaps = tm;
-
+ typeMap = tm;
+ serviceInfo = service;
+ orb = orbRef;
CorbaTypeImpl seqType = handler.getType();
QName seqElementType;
if (seqType instanceof Anonsequence) {
@@ -67,7 +73,10 @@
if (currentEventProducer != null && currentEventProducer.hasNext()) {
event = currentEventProducer.next();
} else if (iterator.hasNext()) {
- currentEventProducer = CorbaHandlerUtils.getTypeEventProducer(iterator.next(), typeMaps);
+ currentEventProducer = CorbaHandlerUtils.getTypeEventProducer(iterator.next(),
+ typeMap,
+ serviceInfo,
+ orb);
event = currentEventProducer.next();
}
} else {
Modified: incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/types/CorbaSequenceListener.java
URL: http://svn.apache.org/viewvc/incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/types/CorbaSequenceListener.java?view=diff&rev=540203&r1=540202&r2=540203
==============================================================================
--- incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/types/CorbaSequenceListener.java (original)
+++ incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/types/CorbaSequenceListener.java Mon May 21 10:03:31 2007
@@ -18,7 +18,6 @@
*/
package org.apache.yoko.bindings.corba.types;
-import java.util.List;
import javax.xml.namespace.QName;
import org.apache.schemas.yoko.bindings.corba.Anonsequence;
@@ -36,17 +35,17 @@
private QName currentElName;
private CorbaTypeListener currentTypeListener;
private ORB orb;
- private List<CorbaTypeMap> typeMaps;
+ private CorbaTypeMap typeMap;
public CorbaSequenceListener(QName seqName,
QName seqIdlType,
TypeCode seqTC,
Object seqType,
- List<CorbaTypeMap> maps,
+ CorbaTypeMap map,
ORB orbRef) {
value = new CorbaSequenceHandler(seqName, seqIdlType, seqTC, seqType);
orb = orbRef;
- typeMaps = maps;
+ typeMap = map;
if (seqType instanceof Anonsequence) {
Anonsequence anonSeqType = (Anonsequence) seqType;
seqElementType = anonSeqType.getElemtype();
@@ -66,7 +65,7 @@
currentTypeListener =
CorbaHandlerUtils.getTypeListener(name,
seqElementType,
- typeMaps,
+ typeMap,
orb);
value.addElement(currentTypeListener.getCorbaObject());
} else {
@@ -89,7 +88,7 @@
CorbaTypeListener primitiveListener =
CorbaHandlerUtils.getTypeListener(value.getName(),
seqElementType,
- typeMaps,
+ typeMap,
orb);
value.addElement(primitiveListener.getCorbaObject());
primitiveListener.processCharacters(text);
Modified: incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/types/CorbaStructEventProducer.java
URL: http://svn.apache.org/viewvc/incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/types/CorbaStructEventProducer.java?view=diff&rev=540203&r1=540202&r2=540203
==============================================================================
--- incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/types/CorbaStructEventProducer.java (original)
+++ incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/types/CorbaStructEventProducer.java Mon May 21 10:03:31 2007
@@ -18,17 +18,23 @@
*/
package org.apache.yoko.bindings.corba.types;
-import java.util.List;
-
+import org.apache.cxf.service.model.ServiceInfo;
import org.apache.yoko.bindings.corba.CorbaTypeMap;
+import org.apache.yoko.bindings.corba.utils.CorbaUtils;
+
+import org.omg.CORBA.ORB;
public class CorbaStructEventProducer extends AbstractStartEndEventProducer {
public CorbaStructEventProducer(CorbaObjectHandler h,
- List<CorbaTypeMap> tm) {
+ CorbaTypeMap tm,
+ ServiceInfo service,
+ ORB orbRef) {
CorbaStructHandler handler = (CorbaStructHandler) h;
- name = handler.getName();
+ name = CorbaUtils.processQName(handler.getName(), service);
iterator = handler.members.iterator();
- typeMaps = tm;
+ typeMap = tm;
+ serviceInfo = service;
+ orb = orbRef;
}
}
Modified: incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/types/CorbaStructListener.java
URL: http://svn.apache.org/viewvc/incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/types/CorbaStructListener.java?view=diff&rev=540203&r1=540202&r2=540203
==============================================================================
--- incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/types/CorbaStructListener.java (original)
+++ incubator/yoko/branches/perf/src/main/java/org/apache/yoko/bindings/corba/types/CorbaStructListener.java Mon May 21 10:03:31 2007
@@ -36,18 +36,18 @@
private List<MemberType> structMembers;
private CorbaTypeListener currentTypeListener;
private QName memberElement;
- private List<CorbaTypeMap> typeMaps;
+ private CorbaTypeMap typeMap;
private ORB orb;
public CorbaStructListener(QName structName,
QName structIdlType,
TypeCode structTC,
Object structType,
- List<CorbaTypeMap> maps,
+ CorbaTypeMap map,
ORB orbRef) {
value = new CorbaStructHandler(structName, structIdlType, structTC, structType);
orb = orbRef;
- typeMaps = maps;
+ typeMap = map;
structMembers = ((Struct) structType).getMember();
}
@@ -58,7 +58,7 @@
currentTypeListener =
CorbaHandlerUtils.getTypeListener(name,
structMembers.get(memberCount).getIdltype(),
- typeMaps,
+ typeMap,
orb);
value.addMember(currentTypeListener.getCorbaObject());
memberCount++;