summaryrefslogtreecommitdiffstats
path: root/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany
diff options
context:
space:
mode:
authorlresende <lresende@13f79535-47bb-0310-9956-ffa450edef68>2009-11-11 23:13:23 +0000
committerlresende <lresende@13f79535-47bb-0310-9956-ffa450edef68>2009-11-11 23:13:23 +0000
commit6d0e93c68d3aeaeb4bb6d96ac0460eec40ef786e (patch)
treea956ed510e14a5509b8ef49fae42cfd439629825 /branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany
parent3ac2d800d840f03618fc364090d786effde84b1f (diff)
Moving 1.x branches
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@835143 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany')
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/BusService.java35
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/BusServiceImpl.java77
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/CeltixBindingBuilder.java104
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/CeltixInvoker.java245
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/CeltixReference.java66
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/CeltixService.java270
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/CeltixServiceInitException.java43
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/InvokerCreationException.java43
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/TuscanyWSDLManager.java89
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/WebServiceBinding.java90
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/WebServiceBindingLoader.java195
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/io/NodeDataReader.java205
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/io/NodeDataWriter.java322
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/io/RawByteArrayOutputStream.java30
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/io/SCADataBindingCallback.java83
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/io/SCAServerDataBindingCallback.java69
16 files changed, 0 insertions, 1966 deletions
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/BusService.java b/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/BusService.java
deleted file mode 100644
index 238fbe97b0..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/BusService.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.binding.celtix;
-
-import org.objectweb.celtix.Bus;
-
-/**
- * A system service that returns the active Celtix <code>Bus</code> for the runtime
- *
- * @version $Rev$ $Date$
- */
-public interface BusService {
-
- /**
- * Returns the active bus
- */
- Bus getBus();
-
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/BusServiceImpl.java b/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/BusServiceImpl.java
deleted file mode 100644
index 3a1c95c95e..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/BusServiceImpl.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.binding.celtix;
-
-import java.util.Map;
-import java.util.WeakHashMap;
-
-import org.apache.tuscany.idl.wsdl.WSDLDefinitionRegistry;
-
-import org.objectweb.celtix.Bus;
-import org.objectweb.celtix.BusException;
-import org.osoa.sca.annotations.Destroy;
-import org.osoa.sca.annotations.Init;
-import org.osoa.sca.annotations.Property;
-import org.osoa.sca.annotations.Scope;
-
-/**
- * The default implementation of the Celtix Bus system service
- *
- * @version $Rev$ $Date$
- */
-@Scope("MODULE")
-public class BusServiceImpl implements BusService {
-
- protected WSDLDefinitionRegistry wsdlRegistry;
- private Bus bus;
-
- public Bus getBus() {
- return bus;
- }
-
- /**
- * FIXME the annotation processing framework must inject this
- * @param wsdlReg
- */
- @Property (override = "must")
- public void setWsdlRegistry(WSDLDefinitionRegistry wsdlReg) {
- wsdlRegistry = wsdlReg;
- }
-
- /**
- * Initializes the bus, set to be called when the runtime initializes the Celtix system composite
- * @throws BusException
- */
- @Init(eager = true)
- public void init() throws BusException {
- Map<String, Object> properties = new WeakHashMap<String, Object>();
- properties.put("celtix.WSDLManager", new TuscanyWSDLManager(wsdlRegistry));
- bus = Bus.init(new String[0], properties);
- }
-
- /**
- * Shuts down the bus, called when the runtime stops the Celtix system composite
- * @throws BusException
- */
- @Destroy
- public void stop() throws BusException {
- bus.shutdown(true);
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/CeltixBindingBuilder.java b/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/CeltixBindingBuilder.java
deleted file mode 100644
index ec1a71b19d..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/CeltixBindingBuilder.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.binding.celtix;
-
-import java.util.Map;
-import java.util.WeakHashMap;
-
-import org.apache.tuscany.idl.wsdl.WSDLDefinitionRegistry;
-import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.component.Reference;
-import org.apache.tuscany.spi.component.Service;
-import org.apache.tuscany.spi.deployer.DeploymentContext;
-import org.apache.tuscany.spi.extension.BindingBuilderExtension;
-import org.apache.tuscany.spi.model.BoundReferenceDefinition;
-import org.apache.tuscany.spi.model.BoundServiceDefinition;
-import org.objectweb.celtix.Bus;
-
-import commonj.sdo.helper.TypeHelper;
-
-/**
- * Builds a {@link org.apache.tuscany.spi.component.Service} or {@link org.apache.tuscany.spi.component.Reference}
- * configured with the Celtix binding
- *
- * @version $Rev$ $Date$
- */
-public class CeltixBindingBuilder extends BindingBuilderExtension<WebServiceBinding> {
-
- private Bus bus;
-
- public Service build(CompositeComponent parent,
- BoundServiceDefinition<WebServiceBinding> boundServiceDefinition,
- DeploymentContext deploymentContext) {
- WebServiceBinding wsBinding = boundServiceDefinition.getBinding();
- TypeHelper typeHelper = (TypeHelper) deploymentContext.getExtension(TypeHelper.class.getName());
- if (typeHelper == null) {
- typeHelper = TypeHelper.INSTANCE;
- }
- if (bus == null) {
- bus = getBus(wsBinding.getWSDLDefinitionRegistry());
- }
- return new CeltixService(
- boundServiceDefinition.getName(),
- boundServiceDefinition.getServiceContract().getInterfaceClass(),
- parent,
- wireService,
- wsBinding,
- bus,
- typeHelper);
- }
-
- public Reference build(CompositeComponent parent,
- BoundReferenceDefinition<WebServiceBinding> boundReferenceDefinition,
- DeploymentContext deploymentContext) {
- WebServiceBinding wsBinding = boundReferenceDefinition.getBinding();
- TypeHelper typeHelper = (TypeHelper) deploymentContext.getExtension(TypeHelper.class.getName());
- if (typeHelper == null) {
- typeHelper = TypeHelper.INSTANCE;
- }
- if (bus == null) {
- bus = getBus(wsBinding.getWSDLDefinitionRegistry());
- }
- return new CeltixReference(
- boundReferenceDefinition.getName(),
- boundReferenceDefinition.getServiceContract().getInterfaceClass(),
- parent,
- wireService,
- wsBinding,
- bus,
- typeHelper);
- }
-
- protected Class<WebServiceBinding> getBindingType() {
- return WebServiceBinding.class;
- }
-
- private Bus getBus(WSDLDefinitionRegistry wsdlDefinitionRegistry) {
- Bus celtixBus = null;
- try {
- Map<String, Object> properties = new WeakHashMap<String, Object>();
- properties.put("celtix.WSDLManager", new TuscanyWSDLManager(wsdlDefinitionRegistry));
- celtixBus = Bus.init(new String[0], properties);
- } catch (Exception e) {
- e.printStackTrace();
- }
- return celtixBus;
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/CeltixInvoker.java b/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/CeltixInvoker.java
deleted file mode 100644
index aba5fd5984..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/CeltixInvoker.java
+++ /dev/null
@@ -1,245 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.binding.celtix;
-
-import java.io.IOException;
-import java.lang.reflect.Array;
-import java.lang.reflect.InvocationTargetException;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.List;
-import javax.jws.WebParam;
-import javax.wsdl.Binding;
-import javax.wsdl.Definition;
-import javax.wsdl.Port;
-import javax.wsdl.Service;
-import javax.wsdl.WSDLException;
-import javax.wsdl.extensions.ExtensibilityElement;
-import javax.wsdl.extensions.soap.SOAPAddress;
-import javax.xml.namespace.QName;
-import javax.xml.ws.Holder;
-
-import org.apache.tuscany.spi.builder.BuilderException;
-import org.apache.tuscany.spi.wire.Interceptor;
-import org.apache.tuscany.spi.wire.Message;
-import org.apache.tuscany.spi.wire.TargetInvoker;
-
-import commonj.sdo.helper.TypeHelper;
-import org.apache.tuscany.binding.celtix.io.SCADataBindingCallback;
-import org.objectweb.celtix.Bus;
-import org.objectweb.celtix.BusException;
-import org.objectweb.celtix.bindings.ClientBinding;
-import org.objectweb.celtix.bindings.DataBindingCallback;
-import org.objectweb.celtix.bus.bindings.WSDLMetaDataCache;
-import org.objectweb.celtix.bus.bindings.WSDLOperationInfo;
-import org.objectweb.celtix.context.ObjectMessageContext;
-import org.objectweb.celtix.ws.addressing.EndpointReferenceType;
-import org.objectweb.celtix.wsdl.EndpointReferenceUtils;
-import org.xmlsoap.schemas.wsdl.http.AddressType;
-
-
-/**
- * Responsible for dispatching a service operation invocation on a reference to the active Celtix <code>Bus</code>
- *
- * @version $Rev$ $Date$
- */
-public class CeltixInvoker implements TargetInvoker {
-
- private WSDLMetaDataCache wsdlCache;
-
- private ClientBinding clientBinding;
-
- private String operationName;
-
- private TypeHelper typeHelper;
-
- public CeltixInvoker(String operationName,
- Bus bus,
- Port port,
- Service wsdlService,
- Definition wsdlDef,
- TypeHelper theTypeHelper) throws BuilderException {
- this.wsdlCache = new WSDLMetaDataCache(wsdlDef, port);
- this.operationName = operationName;
- this.typeHelper = theTypeHelper;
- // Definition wsdlDef = wsBinding.getWSDLDefinition();
- // wsdlCache = new WSDLMetaDataCache(wsdlDef, wsBinding.getWSDLPort());
-
- try {
- String key = wsdlDef.getDocumentBaseURI();
- URL url = new URL(key);
-
- QName qName = wsdlService.getQName();
- EndpointReferenceType reference = EndpointReferenceUtils.getEndpointReference(url, qName, port.getName());
-
- String bindingId = null;
- Binding binding = port.getBinding();
- if (null != binding) {
- List list = binding.getExtensibilityElements();
- if (!list.isEmpty()) {
- bindingId = ((ExtensibilityElement) list.get(0)).getElementType().getNamespaceURI();
- }
- }
- if (bindingId == null) {
- List<?> list = port.getExtensibilityElements();
- for (Object ep : list) {
- ExtensibilityElement ext = (ExtensibilityElement) ep;
- if (ext instanceof SOAPAddress) {
- bindingId = ((SOAPAddress) ext).getLocationURI();
- }
- if (ext instanceof AddressType) {
- bindingId = ((AddressType) ext).getLocation();
- }
- }
-
- }
- clientBinding = bus.getBindingManager().getBindingFactory(bindingId).createClientBinding(reference);
- } catch (MalformedURLException e) {
- throw new InvokerCreationException(e);
- } catch (BusException e) {
- throw new InvokerCreationException(e);
- } catch (WSDLException e) {
- throw new InvokerCreationException(e);
- } catch (IOException e) {
- throw new InvokerCreationException(e);
- }
- }
-
- /**
- * Invoke an operation on the external Web service.
- *
- * @param args the Java object arguments to the WS operation
- * @return the response from the WS as a Java object
- */
- public Object invokeTarget(final Object args) throws InvocationTargetException {
- WSDLOperationInfo opInfo = wsdlCache.getOperationInfo(operationName);
- if (opInfo == null) {
- // REVISIT - really map the operation name to a WSDL operation
- for (String opName : wsdlCache.getAllOperationInfo().keySet()) {
- if (operationName.equalsIgnoreCase(opName)) {
- opInfo = wsdlCache.getOperationInfo(opName);
- break;
- }
- }
- }
-
- ObjectMessageContext objMsgContext = clientBinding.createObjectContext();
-
- boolean hasInOut = false;
- int inOutCount = 0;
- Object realArgs[];
- Object argsArray[];
- if (args.getClass().isArray()) {
- argsArray = (Object[]) args;
- realArgs = new Object[Array.getLength(args)];
- } else {
- argsArray = new Object[0];
- realArgs = new Object[0];
- }
-
- if (opInfo.getParamsLength() == 0) {
- // REVISIT - opInfo doesn't return the needed info for the wrapped doc/lit case.
- // Bug in Celtix
- realArgs = argsArray;
- } else {
- for (int x = 0; x < argsArray.length; x++) {
- if (opInfo.getWebParam(x).mode() == WebParam.Mode.IN) {
- realArgs[x] = argsArray[x];
- } else {
- realArgs[x] = new Holder<Object>(argsArray[x]);
- inOutCount++;
- hasInOut = true;
- }
- }
- }
- objMsgContext.setMessageObjects(realArgs);
- boolean isOneway = opInfo.isOneWay();
- DataBindingCallback callback = new SCADataBindingCallback(opInfo, hasInOut, typeHelper);
- try {
- if (isOneway) {
- clientBinding.invokeOneWay(objMsgContext, callback);
- } else {
- objMsgContext = clientBinding.invoke(objMsgContext, callback);
- }
- } catch (IOException e) {
- throw new InvocationTargetException(e);
- }
-
- if (objMsgContext.getException() != null) {
- // REVISIT - Exceptions
- /*
- * if (isValidException(objMsgContext)) { throw
- * (Exception)objMsgContext.getException(); } else { throw new
- * ProtocolException(objMsgContext.getException()); }
- */
- throw new InvocationTargetException(objMsgContext.getException());
- }
-
- if (hasInOut) {
- Object ret[] = new Object[inOutCount + 1];
- ret[0] = objMsgContext.getReturn();
- inOutCount = 1;
- for (int x = 0; x < argsArray.length; x++) {
- if (opInfo.getWebParam(x).mode() != WebParam.Mode.IN) {
- Holder<?> holder = (Holder<?>) realArgs[x];
- ret[inOutCount] = holder.value;
- inOutCount++;
- }
- }
- return ret;
- }
- return objMsgContext.getReturn();
- }
-
- public Message invoke(Message msg) {
- try {
- Object resp = invokeTarget(msg.getBody());
- msg.setBody(resp);
- } catch (Throwable e) {
- msg.setBodyWithFault(e);
- }
- return msg;
- }
-
- public void setNext(Interceptor next) {
- throw new UnsupportedOperationException();
- }
-
- public CeltixInvoker clone() throws CloneNotSupportedException {
- try {
- return (CeltixInvoker) super.clone();
- } catch (CloneNotSupportedException e) {
- // will not happen
- return null;
- }
- }
-
- public boolean isCacheable() {
- return true;
- }
-
- public void setCacheable(boolean cacheable) {
-
- }
-
- public boolean isOptimizable() {
- return false;
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/CeltixReference.java b/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/CeltixReference.java
deleted file mode 100644
index c32f332d4b..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/CeltixReference.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.binding.celtix;
-
-import javax.wsdl.Definition;
-import javax.wsdl.Port;
-import javax.wsdl.Service;
-
-import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.extension.ReferenceExtension;
-import org.apache.tuscany.spi.model.Operation;
-import org.apache.tuscany.spi.model.ServiceContract;
-import org.apache.tuscany.spi.wire.TargetInvoker;
-import org.apache.tuscany.spi.wire.WireService;
-
-import commonj.sdo.helper.TypeHelper;
-import org.objectweb.celtix.Bus;
-
-/**
- * The implementation of a {@link org.apache.tuscany.spi.component.Reference} configured with the Celtix binding
- *
- * @version $Rev$ $Date$
- */
-public class CeltixReference<T> extends ReferenceExtension {
-
- private Bus bus;
- private Port port;
- private Definition wsdlDef;
- private Service wsdlService;
- private TypeHelper typeHelper;
-
- public CeltixReference(String name,
- Class<T> interfaze,
- CompositeComponent parent,
- WireService wireService,
- WebServiceBinding binding,
- Bus theBus,
- TypeHelper theTypeHelper) {
- super(name, interfaze, parent, wireService);
- this.wsdlDef = binding.getWSDLDefinition();
- this.port = binding.getWSDLPort();
- this.wsdlService = binding.getWSDLService();
- this.bus = theBus;
- this.typeHelper = theTypeHelper;
- }
-
- public TargetInvoker createTargetInvoker(ServiceContract contract, Operation operation) {
- return new CeltixInvoker(operation.getName(), bus, port, wsdlService, wsdlDef, typeHelper);
- }
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/CeltixService.java b/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/CeltixService.java
deleted file mode 100644
index 097f0ac050..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/CeltixService.java
+++ /dev/null
@@ -1,270 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.binding.celtix;
-
-import java.lang.reflect.Method;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.Executor;
-import javax.jws.soap.SOAPBinding;
-import javax.wsdl.Binding;
-import javax.wsdl.BindingInput;
-import javax.wsdl.BindingOperation;
-import javax.wsdl.Definition;
-import javax.wsdl.Port;
-import javax.wsdl.Service;
-import javax.wsdl.extensions.ExtensibilityElement;
-import javax.wsdl.extensions.soap.SOAPAddress;
-import javax.wsdl.extensions.soap.SOAPBody;
-import javax.xml.namespace.QName;
-import javax.xml.ws.WebServiceProvider;
-
-import org.osoa.sca.annotations.Destroy;
-
-import org.apache.tuscany.spi.CoreRuntimeException;
-import org.apache.tuscany.spi.builder.BuilderConfigException;
-import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.extension.ServiceExtension;
-import org.apache.tuscany.spi.wire.WireService;
-
-import commonj.sdo.helper.TypeHelper;
-import org.apache.tuscany.binding.celtix.io.SCAServerDataBindingCallback;
-import org.objectweb.celtix.Bus;
-import org.objectweb.celtix.bindings.BindingFactory;
-import org.objectweb.celtix.bindings.DataBindingCallback;
-import org.objectweb.celtix.bindings.ServerBinding;
-import org.objectweb.celtix.bindings.ServerBindingEndpointCallback;
-import org.objectweb.celtix.bindings.ServerDataBindingCallback;
-import org.objectweb.celtix.bus.bindings.WSDLMetaDataCache;
-import org.objectweb.celtix.bus.bindings.WSDLOperationInfo;
-import org.objectweb.celtix.context.ObjectMessageContext;
-import org.objectweb.celtix.ws.addressing.AttributedURIType;
-import org.objectweb.celtix.ws.addressing.EndpointReferenceType;
-import org.objectweb.celtix.wsdl.EndpointReferenceUtils;
-import org.xmlsoap.schemas.wsdl.http.AddressType;
-
-
-/**
- * An implementation of a {@link Service} configured with the Celtix binding
- *
- * @version $Rev$ $Date$
- */
-public class CeltixService extends ServiceExtension implements ServerBindingEndpointCallback {
-
- private Bus bus;
- private Port port;
- private Definition wsdlDef;
- private Service wsdlService;
- private WSDLMetaDataCache wsdlCache;
- private TypeHelper typeHelper;
-
- private Map<QName, ServerDataBindingCallback> opMap =
- new ConcurrentHashMap<QName, ServerDataBindingCallback>();
-
-
- public CeltixService(String theName,
- Class<?> interfaze,
- CompositeComponent parent,
- WireService wireService,
- WebServiceBinding binding,
- Bus bus,
- TypeHelper theTypeHelper) {
- super(theName, interfaze, parent, wireService);
- this.wsdlDef = binding.getWSDLDefinition();
- this.port = binding.getWSDLPort();
- this.wsdlService = binding.getWSDLService();
- this.bus = bus;
- this.wsdlCache = new WSDLMetaDataCache(wsdlDef, port);
- this.typeHelper = theTypeHelper;
- }
-
- public void start() {
- super.start();
- initOperationMap();
- startServerBinding();
- }
-
- private void startServerBinding() {
- String key = wsdlDef.getDocumentBaseURI();
- URL url;
- try {
- url = new URL(key);
- } catch (MalformedURLException e) {
- throw new CeltixServiceInitException(e);
- }
-
- QName qName = wsdlService.getQName();
- String portName = port.getName();
- EndpointReferenceType reference = EndpointReferenceUtils.getEndpointReference(url,qName,portName);
-
- AttributedURIType address = new AttributedURIType();
-
- String bindingId = null;
- Binding binding = port.getBinding();
- if (null != binding) {
- List list = binding.getExtensibilityElements();
- if (!list.isEmpty()) {
- bindingId = ((ExtensibilityElement) list.get(0)).getElementType().getNamespaceURI();
- }
- }
- List<?> list = port.getExtensibilityElements();
- for (Object ep : list) {
- ExtensibilityElement ext = (ExtensibilityElement) ep;
- if (ext instanceof SOAPAddress) {
- if (bindingId == null) {
- bindingId = ((SOAPAddress) ext).getLocationURI();
- }
- address.setValue(((SOAPAddress) ext).getLocationURI());
- }
- if (ext instanceof AddressType) {
- if (bindingId == null) {
- bindingId = ((AddressType) ext).getLocation();
- }
- address.setValue(((AddressType) ext).getLocation());
- }
- }
- if (reference.getAddress() == null) {
- //REVIST - bug in Celtix that the HTTP transport won't find the address correctly
- reference.setAddress(address);
- }
- ClassLoader previousLoader = null;
- try {
- //FIXME: This hack is because SAAJImpl uses Thread.currentThread().getContextClassLoader(),
- //this classloader is different from current classLoader.
- previousLoader = Thread.currentThread().getContextClassLoader();
- Thread.currentThread().setContextClassLoader(this.getClass().getClassLoader());
- BindingFactory bindingFactory = bus.getBindingManager().getBindingFactory(bindingId);
- ServerBinding serverBinding = bindingFactory.createServerBinding(reference, this);
- serverBinding.activate();
- } catch (Exception e) {
- throw new CeltixServiceInitException(e);
- } finally {
- if (previousLoader != null) {
- Thread.currentThread().setContextClassLoader(previousLoader);
- }
- }
- }
-
- private void initOperationMap() {
- List ops = port.getBinding().getBindingOperations();
- for (Object op1 : ops) {
- BindingOperation op = (BindingOperation) op1;
- BindingInput bindingInput = op.getBindingInput();
- List elements = bindingInput.getExtensibilityElements();
- QName qn = new QName(wsdlDef.getTargetNamespace(), op.getName());
-
- //In case soap:body namespace is different from targetNamespace
- for (Object element : elements) {
- if (SOAPBody.class.isInstance(element)) {
- SOAPBody body = (SOAPBody) element;
- if (body.getNamespaceURI() != null) {
- qn = new QName(body.getNamespaceURI(), op.getName());
- }
- }
- }
-
- ServerDataBindingCallback cb = getDataBindingCallback(qn, null, DataBindingCallback.Mode.PARTS);
- opMap.put(qn, cb);
- if (!"".equals(cb.getRequestWrapperQName().getLocalPart())) {
- opMap.put(cb.getRequestWrapperQName(), cb);
- }
- }
- }
-
- @Destroy
- public void stop() throws CoreRuntimeException {
- super.stop();
- }
-
- public ServerDataBindingCallback getDataBindingCallback(QName operationName,
- ObjectMessageContext objContext,
- DataBindingCallback.Mode mode) {
- if (opMap.containsKey(operationName)) {
- return opMap.get(operationName);
- }
- WSDLOperationInfo opInfo = wsdlCache.getOperationInfo(operationName.getLocalPart());
- if (opInfo == null) {
- //REVISIT - really map the operation name to a WSDL operation
- for (String opName : wsdlCache.getAllOperationInfo().keySet()) {
- if (operationName.getLocalPart().equalsIgnoreCase(opName)) {
- opInfo = wsdlCache.getOperationInfo(opName);
- break;
- }
- }
- }
- boolean inout = false;
-
- Class<?> serviceInterface = this.getInterface();
- Method meth = getMethod(serviceInterface, operationName.getLocalPart());
-
- Object proxy = this.getServiceInstance();
-
- return new SCAServerDataBindingCallback(opInfo, inout, meth, proxy, typeHelper);
- }
-
- protected Method getMethod(Class<?> serviceInterface, String operationName) {
- // Note: this doesn't support overloaded operations
- Method[] methods = serviceInterface.getMethods();
- for (Method m : methods) {
- if (m.getName().equals(operationName)) {
- return m;
- }
- // tolerate WSDL with capatalized operation name
- StringBuilder sb = new StringBuilder(operationName);
- sb.setCharAt(0, Character.toLowerCase(sb.charAt(0)));
- if (m.getName().equals(sb.toString())) {
- return m;
- }
- }
- throw new BuilderConfigException("no operation named " + operationName
- + " found on service interface: " + serviceInterface.getName());
- }
-
- public DataBindingCallback getFaultDataBindingCallback(ObjectMessageContext objContext) {
- // REVISIT - what to do about faults
- return null;
- }
-
- public Map<QName, ? extends DataBindingCallback> getOperations() {
- return opMap;
- }
-
- public SOAPBinding.Style getStyle() {
- return wsdlCache.getStyle();
- }
-
- public DataBindingCallback.Mode getServiceMode() {
- return DataBindingCallback.Mode.PARTS;
- }
-
- public WebServiceProvider getWebServiceProvider() {
- //not needed I think
- return null;
- }
-
- public Executor getExecutor() {
- //Let the transport handle it (or it goes to the Bus default wq
- //if the transport cannot handle it
- return null;
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/CeltixServiceInitException.java b/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/CeltixServiceInitException.java
deleted file mode 100644
index 4eca4a3bd1..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/CeltixServiceInitException.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.binding.celtix;
-
-import org.apache.tuscany.spi.CoreRuntimeException;
-
-/**
- * Denotes an exception starting a {@link CeltixService} instance
- *
- * @version $Rev$ $Date$
- */
-public class CeltixServiceInitException extends CoreRuntimeException {
- public CeltixServiceInitException() {
- }
-
- public CeltixServiceInitException(String message) {
- super(message);
- }
-
- public CeltixServiceInitException(String message, Throwable cause) {
- super(message, cause);
- }
-
- public CeltixServiceInitException(Throwable cause) {
- super(cause);
- }
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/InvokerCreationException.java b/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/InvokerCreationException.java
deleted file mode 100644
index e08a3193d8..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/InvokerCreationException.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.binding.celtix;
-
-import org.apache.tuscany.spi.builder.BuilderException;
-
-/**
- * Thrown when an error is encountered creating a {@link CeltixInvoker}
- *
- * @version $Rev$ $Date$
- */
-public class InvokerCreationException extends BuilderException {
- public InvokerCreationException() {
- }
-
- public InvokerCreationException(String message) {
- super(message);
- }
-
- public InvokerCreationException(String message, Throwable cause) {
- super(message, cause);
- }
-
- public InvokerCreationException(Throwable cause) {
- super(cause);
- }
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/TuscanyWSDLManager.java b/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/TuscanyWSDLManager.java
deleted file mode 100644
index 18efe80da5..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/TuscanyWSDLManager.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.binding.celtix;
-
-import java.io.IOException;
-import java.net.URL;
-import javax.wsdl.Definition;
-import javax.wsdl.WSDLException;
-import javax.wsdl.extensions.ExtensionRegistry;
-import javax.wsdl.factory.WSDLFactory;
-
-import org.w3c.dom.Element;
-import org.apache.tuscany.idl.wsdl.WSDLDefinitionRegistry;
-
-import org.objectweb.celtix.wsdl.WSDLManager;
-
-/**
- *
- * @version $Rev$ $Date$
- */
-public class TuscanyWSDLManager implements WSDLManager {
- WSDLDefinitionRegistry wsdlDefinitionRegistry;
-
- public TuscanyWSDLManager(WSDLDefinitionRegistry w) {
- wsdlDefinitionRegistry = w;
- }
-
- public WSDLFactory getWSDLFactory() {
- //Not supported
- return null;
- }
-
- public ExtensionRegistry getExtenstionRegistry() {
- return wsdlDefinitionRegistry.getExtensionRegistry();
- }
-
- public Definition getDefinition(URL url) throws WSDLException {
- try {
- return wsdlDefinitionRegistry.loadDefinition(null, url);
- } catch (IOException e) {
- //FIXME
- throw new WSDLException("", "", e);
- }
- }
-
- public Definition getDefinition(String url) throws WSDLException {
- try {
- //The namespace is the wsdl targetNamesapce, it is only used
- //when the wsdl is created into cache. we are ok here to set it to null.
- //FIXME pass the current ResourceLoader
- return wsdlDefinitionRegistry.loadDefinition(null, new URL(url));
- } catch (IOException e) {
- throw new WSDLException(WSDLException.CONFIGURATION_ERROR, e.getMessage());
- }
- }
-
- public Definition getDefinition(Element el) throws WSDLException {
- throw new UnsupportedOperationException();
- }
-
- public Definition getDefinition(Class<?> sei) throws WSDLException {
- throw new UnsupportedOperationException();
- }
-
- public void addDefinition(Object key, Definition wsdl) {
- throw new UnsupportedOperationException();
- }
-
- public void shutdown() {
- }
-
-
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/WebServiceBinding.java b/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/WebServiceBinding.java
deleted file mode 100644
index 49df9a6e28..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/WebServiceBinding.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.binding.celtix;
-
-import javax.wsdl.Definition;
-import javax.wsdl.Port;
-import javax.wsdl.Service;
-
-import org.apache.tuscany.idl.wsdl.WSDLDefinitionRegistry;
-import org.apache.tuscany.spi.model.Binding;
-
-/**
- * Represents a Celtix binding configuration in an assembly
- *
- * @version $Rev$ $Date$
- */
-public class WebServiceBinding extends Binding {
-
- private Definition definition;
- private Port port;
- private Service service;
- //private String portURI;
- private String uri;
- //We have to use WebServiceBinding to pass WSDLDefinitionRegistry to BindingBuilder
- private WSDLDefinitionRegistry wsdlDefinitionRegistry;
-
- public WebServiceBinding(Definition definition, Port port, String uri, String portURI, Service service) {
- this.definition = definition;
- this.port = port;
- this.uri = uri;
- //this.portURI = portURI;
- this.service = service;
- }
-
- public Port getWSDLPort() {
- return port;
- }
-
- public Service getWSDLService() {
- return service;
- }
-
- public void setWSDLPort(Port value) {
- port = value;
- }
-
- public Definition getWSDLDefinition() {
- return definition;
- }
-
- public void setWSDLDefinition(Definition def) {
- definition = def;
- }
-
- public WSDLDefinitionRegistry getWSDLDefinitionRegistry() {
- return wsdlDefinitionRegistry;
- }
-
- public void setWSDLDefinitionRegistry(WSDLDefinitionRegistry theWsdlDefinitionRegistry) {
- wsdlDefinitionRegistry = theWsdlDefinitionRegistry;
- }
-
-// public void setPortURI(String uri) {
-// portURI = uri;
-// }
-
- public String getURI() {
- return uri;
- }
-
- public void setURI(String theUri) {
- this.uri = theUri;
- }
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/WebServiceBindingLoader.java b/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/WebServiceBindingLoader.java
deleted file mode 100644
index 5b11d02931..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/WebServiceBindingLoader.java
+++ /dev/null
@@ -1,195 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.binding.celtix;
-
-
-import java.io.IOException;
-import java.net.URL;
-import java.util.Collection;
-import java.util.LinkedList;
-import java.util.List;
-import javax.wsdl.Definition;
-import javax.wsdl.Port;
-import javax.wsdl.Service;
-import javax.wsdl.WSDLException;
-import javax.wsdl.factory.WSDLFactory;
-import javax.wsdl.xml.WSDLReader;
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-
-import org.xml.sax.InputSource;
-import static org.osoa.sca.Version.XML_NAMESPACE_1_0;
-import org.osoa.sca.annotations.Constructor;
-import org.osoa.sca.annotations.Scope;
-
-import org.apache.tuscany.spi.annotation.Autowire;
-import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.deployer.DeploymentContext;
-import org.apache.tuscany.spi.extension.LoaderExtension;
-import org.apache.tuscany.spi.loader.LoaderException;
-import org.apache.tuscany.spi.loader.LoaderRegistry;
-
-import org.apache.tuscany.idl.wsdl.WSDLDefinitionRegistry;
-import org.apache.tuscany.idl.wsdl.WSDLDefinitionRegistryImpl;
-import org.apache.tuscany.idl.wsdl.WSDLDefinitionRegistryImpl.Monitor;
-
-/**
- * Parses a <code>WebServiceBinding</code> entry in an assembly XML file
- *
- * @version $Rev$ $Date$
- */
-@Scope("MODULE")
-public class WebServiceBindingLoader extends LoaderExtension<WebServiceBinding> {
- public static final QName BINDING_WS = new QName(XML_NAMESPACE_1_0, "binding.ws");
-
- protected WSDLDefinitionRegistry wsdlRegistry;
-
- @Constructor({"registry"})
- public WebServiceBindingLoader(@Autowire LoaderRegistry registry) {
- super(registry);
-
- //FIXME: this is a hack, WSDLDefinitionRegistry should not be created here
- if (wsdlRegistry == null) {
- try {
- wsdlRegistry = new WSDLDefinitionRegistryImpl();
- Monitor monitor = new Monitor() {
- public void readingWSDL(String namespace, URL location) {
- }
-
- public void cachingDefinition(String namespace, URL location) {
- }
- };
-
- ((WSDLDefinitionRegistryImpl) wsdlRegistry).setMonitor(monitor);
- } catch (javax.wsdl.WSDLException e) {
- //do nothing
- }
- }
- }
-
- public QName getXMLType() {
- return BINDING_WS;
- }
-
- public WebServiceBinding load(CompositeComponent parent,
- XMLStreamReader reader,
- DeploymentContext deploymentContext)
- throws XMLStreamException, LoaderException {
- // not sure what uri was here ? String uri = reader.getAttributeValue(null, "uri");
- String uri = null;
- String endpointAttribute = reader.getAttributeValue(null, "endpoint");
- //String portURI = reader.getAttributeValue(null, "port");
- String wsdlLocation = reader.getAttributeValue(null, "location");
- try {
- return createBinding(uri, endpointAttribute, wsdlLocation, deploymentContext);
- } catch (Exception e) {
-
- throw new LoaderException(e);
- }
- }
-
- private WebServiceBinding createBinding(String port, String portURI, String wsdlLocation,
- DeploymentContext deploymentContext)
- throws WSDLException, IOException {
- List<Definition> definitions = null;
- // FIXME wsdlRegistry.getDefinitionsForNamespace(portNamespace,
- // resourceLoader);
- // Get the WSDL port namespace and name
- if (port == null && portURI != null) {
- int h = portURI.indexOf('#');
- String portNamespace = portURI.substring(0, h);
- String serviceName;
- String portName;
-
- String fragment = portURI.substring(h + 1);
- if (fragment.startsWith("wsdl.endpoint(") && fragment.endsWith(")")) {
- fragment = fragment.substring(14, fragment.length() - 1);
- int slash = fragment.indexOf('/');
- if (slash != -1) {
- serviceName = fragment.substring(0, slash);
- portName = fragment.substring(slash + 1);
- } else {
- serviceName = null;
- portName = fragment;
- }
- } else {
- serviceName = null;
- portName = fragment;
- }
-
- // FIXME need to find out how to get wsdl and what context to use --- terrible hack attack!
- // URL wsdlurl = Thread.currentThread().getContextClassLoader().getResource(wsdlLocation);
- if (null == wsdlLocation) {
- throw new RuntimeException("Failed to determin wsdl location on binding. "
- + "Try specifying 'location' attribute on binding.");
- }
- URL wsdlurl = deploymentContext.getClassLoader().getResource(wsdlLocation);
- if (wsdlurl == null) {
- throw new RuntimeException("Failed to load wsdl from '" + wsdlLocation + "'");
- }
-
- WSDLFactory factory = WSDLFactory.newInstance();
- WSDLReader reader = factory.newWSDLReader();
- reader.setFeature("javax.wsdl.verbose", false);
- InputSource input = new InputSource(wsdlurl.openStream());
- Definition wsdlDef = reader.readWSDL(wsdlurl.toString(), input);
- definitions = new LinkedList<Definition>();
- definitions.add(wsdlDef);
- // FIXME all the above needs to better addressed.
-
- //FIXME: if a global wsdl cached is used, we need to do a registration here
- String namespace = wsdlDef.getTargetNamespace();
- wsdlRegistry.loadDefinition(namespace, wsdlurl);
-
- Definition definition = null;
- Port thePort = null;
- Service service = null;
- for (Definition def : definitions) {
-
- // Find the port with the given name
- for (Service serv : (Collection<Service>) def.getServices().values()) {
- QName sqn = serv.getQName();
- if (serviceName != null
- && !serviceName.equals(sqn.getLocalPart())) {
- continue;
- }
-
- Port p = serv.getPort(portName);
- if (p != null) {
- service = serv;
- definition = def;
- thePort = p;
- break;
- }
- }
- }
- if (thePort == null) {
- throw new IllegalArgumentException("Cannot find WSDL port " + portURI);
-
- }
- WebServiceBinding wsBinding = new WebServiceBinding(definition, thePort, port, portURI, service);
- wsBinding.setWSDLDefinitionRegistry(wsdlRegistry);
- return wsBinding;
- }
- // FIXME - return a broken binding for now
- return new WebServiceBinding(null, null, null, portURI, null);
-
- }
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/io/NodeDataReader.java b/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/io/NodeDataReader.java
deleted file mode 100644
index 7a14ab33fc..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/io/NodeDataReader.java
+++ /dev/null
@@ -1,205 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.binding.celtix.io;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.InputStream;
-import java.util.List;
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLInputFactory;
-import javax.xml.stream.XMLStreamReader;
-
-import org.w3c.dom.Node;
-import org.w3c.dom.bootstrap.DOMImplementationRegistry;
-import static org.w3c.dom.bootstrap.DOMImplementationRegistry.PROPERTY;
-import org.w3c.dom.ls.DOMImplementationLS;
-import org.w3c.dom.ls.LSOutput;
-import org.w3c.dom.ls.LSSerializer;
-
-import org.apache.tuscany.spi.databinding.TransformationContext;
-import org.apache.tuscany.spi.model.DataType;
-
-import commonj.sdo.DataObject;
-import commonj.sdo.Property;
-import commonj.sdo.Type;
-import commonj.sdo.helper.TypeHelper;
-import commonj.sdo.helper.XMLDocument;
-
-import org.apache.tuscany.core.databinding.impl.TransformationContextImpl;
-import org.apache.tuscany.databinding.sdo.XMLStreamReader2XMLDocument;
-import org.objectweb.celtix.bindings.DataReader;
-import org.objectweb.celtix.context.ObjectMessageContext;
-
-public class NodeDataReader implements DataReader<Node> {
-
- private SCADataBindingCallback callback;
-
- public NodeDataReader(SCADataBindingCallback cb) {
- callback = cb;
- }
-
- public Object read(int idx, Node input) {
- return read(null, idx, input);
- }
-
- public Object read(QName name, int idx, Node input) {
- try {
- InputStream in = getNodeStream(input);
- XMLInputFactory staxFactory = XMLInputFactory.newInstance();
- XMLStreamReader reader = staxFactory.createXMLStreamReader(in);
-
- XMLStreamReader2XMLDocument transformer = new XMLStreamReader2XMLDocument();
- TransformationContext context = new TransformationContextImpl();
- DataType<QName> binding = new DataType<QName>(DataObject.class, null);
- binding.setMetadata(TypeHelper.class.getName(), callback.getTypeHelper());
- context.setTargetDataType(binding);
- XMLDocument document = transformer.transform(reader, context);
-
- boolean isWrapped = false;
- return toObjects(document, isWrapped);
- } catch (Exception e) {
- //REVISIT: better handling of exceptions
- }
- return null;
- }
-
- public void readWrapper(ObjectMessageContext objCtx, boolean isOutBound, Node input) {
- try {
- QName wrapperName;
- if (isOutBound) {
- wrapperName = callback.getOperationInfo().getResponseWrapperQName();
- } else {
- wrapperName = callback.getOperationInfo().getRequestWrapperQName();
- }
-
- Node nd = input.getFirstChild();
- while (nd != null
- && !wrapperName.getNamespaceURI().equals(nd.getNamespaceURI())
- && !wrapperName.getLocalPart().equals(nd.getLocalName())) {
- nd = nd.getNextSibling();
- }
-
- //REVISIT - This is SUCH a HACK. This needs to be done with StAX or something
- //a bit better than streaming and reparsing
- InputStream in = getNodeStream(nd);
- XMLInputFactory staxFactory = XMLInputFactory.newInstance(
- "javax.xml.stream.XMLInputFactory", getClass().getClassLoader());
- XMLStreamReader reader = staxFactory.createXMLStreamReader(in);
-
- XMLStreamReader2XMLDocument transformer = new XMLStreamReader2XMLDocument();
- TransformationContext context = new TransformationContextImpl();
- DataType<QName> binding = new DataType<QName>(DataObject.class, null);
- binding.setMetadata(TypeHelper.class.getName(), callback.getTypeHelper());
- context.setTargetDataType(binding);
- XMLDocument document = transformer.transform(reader, context);
-
- //boolean isWrapped = true;
- Object[] objects = toObjects(document, true);
-
- if (callback.hasInOut()) {
- //REVISIT - inOuts
- } else {
- if (isOutBound) {
- objCtx.setReturn(objects[0]);
- } else {
- objCtx.setMessageObjects(objects);
- }
- }
- } catch (Exception e) {
- //REVISIT: better handling of exceptions
- }
- }
-
- /**
- * Convert a typed DataObject to Java objects
- *
- * @param document
- * @param isWrapped
- * @return the array of Objects from the DataObject
- */
- public static Object[] toObjects(XMLDocument document, boolean isWrapped) {
- DataObject dataObject = document.getRootObject();
- if (isWrapped) {
- List ips = dataObject.getInstanceProperties();
- Object[] os = new Object[ips.size()];
- for (int i = 0; i < ips.size(); i++) {
- os[i] = dataObject.get((Property) ips.get(i));
- }
- return os;
- } else {
- Object object = dataObject;
- Type type = dataObject.getType();
- if (type.isSequenced()) {
- object = dataObject.getSequence().getValue(0);
- }
- return new Object[]{object};
- }
- }
-
- byte[] getNodeBytes(Node node)
- throws ClassCastException, ClassNotFoundException, InstantiationException, IllegalAccessException {
-
- //This is also a hack, the JDK should already have this set, but it doesn't
- DOMImplementationRegistry registry = DOMImplementationRegistry.newInstance();
- if (registry == null) {
- System.setProperty(PROPERTY, "com.sun.org.apache.xerces.internal.dom.DOMImplementationSourceImpl");
- registry = DOMImplementationRegistry.newInstance();
- }
- DOMImplementationLS impl = (DOMImplementationLS) registry.getDOMImplementation("LS");
- if (impl == null) {
- System.setProperty(PROPERTY, "com.sun.org.apache.xerces.internal.dom.DOMImplementationSourceImpl");
- registry = DOMImplementationRegistry.newInstance();
- impl = (DOMImplementationLS) registry.getDOMImplementation("LS");
- }
- LSOutput output = impl.createLSOutput();
- ByteArrayOutputStream bout = new ByteArrayOutputStream();
- output.setByteStream(bout);
- LSSerializer writer = impl.createLSSerializer();
- writer.write(node, output);
-
- return bout.toByteArray();
- }
-
- InputStream getNodeStream(Node node)
- throws ClassCastException, ClassNotFoundException,
- InstantiationException, IllegalAccessException {
-
- DOMImplementationRegistry registry = DOMImplementationRegistry.newInstance();
- if (registry == null) {
- //This is also a hack, the JDK should already have this set, but it doesn't
- System.setProperty(PROPERTY, "com.sun.org.apache.xerces.internal.dom.DOMImplementationSourceImpl");
- registry = DOMImplementationRegistry.newInstance();
- }
- DOMImplementationLS impl = (DOMImplementationLS) registry.getDOMImplementation("LS");
- if (impl == null) {
- System.setProperty(PROPERTY, "com.sun.org.apache.xerces.internal.dom.DOMImplementationSourceImpl");
- registry = DOMImplementationRegistry.newInstance();
- impl = (DOMImplementationLS) registry.getDOMImplementation("LS");
- }
- LSOutput output = impl.createLSOutput();
- RawByteArrayOutputStream bout = new RawByteArrayOutputStream();
- output.setByteStream(bout);
- LSSerializer writer = impl.createLSSerializer();
- writer.write(node, output);
-
- return new ByteArrayInputStream(bout.getBytes(), 0, bout.size());
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/io/NodeDataWriter.java b/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/io/NodeDataWriter.java
deleted file mode 100644
index d870cafa87..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/io/NodeDataWriter.java
+++ /dev/null
@@ -1,322 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.binding.celtix.io;
-
-import java.util.List;
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamConstants;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-
-import org.w3c.dom.Attr;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-import org.apache.tuscany.spi.wire.InvocationRuntimeException;
-
-import commonj.sdo.DataObject;
-import commonj.sdo.Property;
-import commonj.sdo.Type;
-import commonj.sdo.helper.DataFactory;
-import commonj.sdo.helper.TypeHelper;
-import commonj.sdo.helper.XMLDocument;
-import commonj.sdo.helper.XMLHelper;
-import commonj.sdo.helper.XSDHelper;
-import org.apache.tuscany.databinding.sdo.XMLDocument2XMLStreamReader;
-import org.apache.tuscany.sdo.util.SDOUtil;
-import org.objectweb.celtix.bindings.DataWriter;
-import org.objectweb.celtix.context.ObjectMessageContext;
-
-public class NodeDataWriter implements DataWriter<Node> {
- private static final String XML_NS = "http://www.w3.org/2000/xmlns/";
- private SCADataBindingCallback callback;
-
- public NodeDataWriter(SCADataBindingCallback cb) {
- callback = cb;
- }
-
- public void write(Object obj, Node output) {
- write(obj, null, output);
- }
-
- public void write(Object obj, QName elName, Node output) {
- boolean isWrapped = false;
-
- XMLDocument document = toXMLDocument(callback.getTypeHelper(), new Object[]{obj}, elName, isWrapped);
- // HACK: [rfeng] We should use the transformer in an interceptor
- XMLDocument2XMLStreamReader transformer = new XMLDocument2XMLStreamReader();
- XMLStreamReader reader = transformer.transform(document, null);
-
- try {
- //CeltixFire supports Stax, we should not need to do following anymore.
- readDocElements(output, reader, true, null);
- } catch (XMLStreamException e) {
- throw new InvocationRuntimeException(e.getMessage());
- }
- }
-
- public void writeWrapper(ObjectMessageContext objCtx, boolean isOutbound, Node output) {
- boolean isWrapped = true;
- QName wrapperName;
- if (isOutbound) {
- wrapperName = callback.getOperationInfo().getResponseWrapperQName();
- } else {
- wrapperName = callback.getOperationInfo().getRequestWrapperQName();
- }
-
- XMLDocument document = toXMLDocument(
- callback.getTypeHelper(), objCtx.getMessageObjects(), wrapperName, isWrapped);
- // HACK: [rfeng] We should use the transformer in an interceptor
- XMLDocument2XMLStreamReader transformer = new XMLDocument2XMLStreamReader();
- XMLStreamReader reader = transformer.transform(document, null);
-
- try {
- readDocElements(output, reader, true, null);
- } catch (XMLStreamException e) {
- e.printStackTrace();
- throw new InvocationRuntimeException(e.getMessage());
- }
- }
-/*
- private DataObject toWrappedDataObject(TypeHelper typeHelper,
- Object ret,
- Object[] os,
- QName typeQN) {
- XSDHelper xsdHelper = new XSDHelperImpl(typeHelper);
- Property property = xsdHelper.getGlobalProperty(typeQN.getNamespaceURI(),
- typeQN.getLocalPart(), true);
- DataObject dataObject = new DataFactoryImpl(typeHelper).create(property.getType());
- List ips = dataObject.getInstanceProperties();
- int offset = 0;
- if (ret != null) {
- dataObject.set(0, ret);
- offset = 1;
- }
- for (int i = offset; i < ips.size(); i++) {
- if (os[i - offset] instanceof Holder) {
- Holder<?> holder = (Holder<?>)os[i - offset];
- dataObject.set(i, holder.value);
- } else {
- dataObject.set(i, os[i - offset]);
- }
- }
- return dataObject;
- }
-*/
-
- /**
- * Convert objects to typed DataObject
- *
- * @param typeHelper
- * @param os
- * @param elementQName
- * @param isWrapped
- * @return the DataObject
- */
- private static XMLDocument toXMLDocument(TypeHelper typeHelper,
- Object[] os,
- QName elementQName,
- boolean isWrapped) {
- XSDHelper xsdHelper = SDOUtil.createXSDHelper(typeHelper);
-
- Property property = xsdHelper.getGlobalProperty(
- elementQName.getNamespaceURI(), elementQName.getLocalPart(), true);
- if (null == property) {
- throw new InvocationRuntimeException(
- "Type '" + elementQName.toString() + "' not found in registered SDO types.");
- }
- DataObject dataObject;
- if (isWrapped) {
- DataFactory dataFactory = SDOUtil.createDataFactory(typeHelper);
- dataObject = dataFactory.create(property.getType());
- List ips = dataObject.getInstanceProperties();
- for (int i = 0; i < ips.size(); i++) {
- dataObject.set(i, os[i]);
- }
- } else {
- Object value = os[0];
- Type type = property.getType();
- if (!type.isDataType()) {
- dataObject = (DataObject) value;
- } else {
- dataObject = SDOUtil.createDataTypeWrapper(type, value);
- }
- }
-
- XMLHelper xmlHelper = SDOUtil.createXMLHelper(typeHelper);
- return xmlHelper.createDocument(dataObject, elementQName.getNamespaceURI(), elementQName.getLocalPart());
-
- }
-
- //REVISIT: We should not need to do following anymore with CeltixFire.
- //As CeltixFire supports stax directly.
-
- /**
- * @param parent
- * @param reader
- * @param repairing
- * @param stopAt: stop at the specified element
- * @throws XMLStreamException
- */
- public static void readDocElements(Node parent, XMLStreamReader reader, boolean repairing, QName stopAt)
- throws XMLStreamException {
- Document doc = getDocument(parent);
-
- int event = reader.getEventType();
-
- while (reader.hasNext()) {
- switch (event) {
- case XMLStreamConstants.START_ELEMENT:
- if (startElement(parent, reader, repairing, stopAt) == null) {
- return;
- }
- if (parent instanceof Document && stopAt != null) {
- if (reader.hasNext()) {
- reader.next();
- }
- return;
- }
- break;
- case XMLStreamConstants.END_ELEMENT:
- return;
- case XMLStreamConstants.NAMESPACE:
- break;
- case XMLStreamConstants.ATTRIBUTE:
- break;
- case XMLStreamConstants.CHARACTERS:
- if (parent != null) {
- parent.appendChild(doc.createTextNode(reader.getText()));
- }
-
- break;
- case XMLStreamConstants.COMMENT:
- if (parent != null) {
- parent.appendChild(doc.createComment(reader.getText()));
- }
-
- break;
- case XMLStreamConstants.CDATA:
- parent.appendChild(doc.createCDATASection(reader.getText()));
-
- break;
- case XMLStreamConstants.PROCESSING_INSTRUCTION:
- parent.appendChild(doc.createProcessingInstruction(reader.getPITarget(), reader.getPIData()));
-
- break;
- case XMLStreamConstants.ENTITY_REFERENCE:
- parent.appendChild(doc.createProcessingInstruction(reader.getPITarget(), reader.getPIData()));
-
- break;
- default:
- break;
- }
-
- if (reader.hasNext()) {
- event = reader.next();
- }
- }
- }
-
- private static Document getDocument(Node parent) {
- return (parent instanceof Document) ? (Document) parent : parent.getOwnerDocument();
- }
-
- /**
- * @param parent
- * @param reader
- * @return
- * @throws XMLStreamException
- */
- private static Element startElement(Node parent, XMLStreamReader reader, boolean repairing, QName stopAt)
- throws XMLStreamException {
- Document doc = getDocument(parent);
-
- if (stopAt != null && stopAt.getNamespaceURI().equals(reader.getNamespaceURI())
- && stopAt.getLocalPart().equals(reader.getLocalName())) {
- return null;
- }
-
- Element e = doc.createElementNS(reader.getNamespaceURI(), reader.getLocalName());
-
- if (reader.getPrefix() != null) {
- e.setPrefix(reader.getPrefix());
- }
-
- parent.appendChild(e);
-
- for (int ns = 0; ns < reader.getNamespaceCount(); ns++) {
- String uri = reader.getNamespaceURI(ns);
- String prefix = reader.getNamespacePrefix(ns);
-
- declare(e, uri, prefix);
- }
-
- for (int att = 0; att < reader.getAttributeCount(); att++) {
- String name = reader.getAttributeLocalName(att);
- String prefix = reader.getAttributePrefix(att);
- if (prefix != null && prefix.length() > 0) {
- name = prefix + ":" + name;
- }
-
- Attr attr = doc.createAttributeNS(reader.getAttributeNamespace(att), name);
- attr.setValue(reader.getAttributeValue(att));
- e.setAttributeNode(attr);
- }
-
- reader.next();
-
- readDocElements(e, reader, repairing, stopAt);
-
- if (repairing && !isDeclared(e, reader.getNamespaceURI(), reader.getPrefix())) {
- declare(e, reader.getNamespaceURI(), reader.getPrefix());
- }
-
- return e;
- }
-
- private static void declare(Element node, String uri, String prefix) {
- if (prefix != null && prefix.length() > 0) {
- node.setAttributeNS(XML_NS, "xmlns:" + prefix, uri);
- } else {
- if (uri != null /* && uri.length() > 0 */) {
- node.setAttributeNS(XML_NS, "xmlns", uri);
- }
- }
- }
-
- private static boolean isDeclared(Element e, String namespaceURI, String prefix) {
- Attr att;
- if (prefix != null && prefix.length() > 0) {
- att = e.getAttributeNodeNS(XML_NS, "xmlns:" + prefix);
- } else {
- att = e.getAttributeNode("xmlns");
- }
-
- if (att != null && att.getNodeValue().equals(namespaceURI)) {
- return true;
- }
-
- if (e.getParentNode() instanceof Element) {
- return isDeclared((Element) e.getParentNode(), namespaceURI, prefix);
- }
-
- return false;
- }
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/io/RawByteArrayOutputStream.java b/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/io/RawByteArrayOutputStream.java
deleted file mode 100644
index 057481041b..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/io/RawByteArrayOutputStream.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.binding.celtix.io;
-
-import java.io.ByteArrayOutputStream;
-
-/**
- * Just to allow raw access to the byte[] to avoid a copy
- */
-class RawByteArrayOutputStream extends ByteArrayOutputStream {
- public byte[] getBytes() {
- return buf;
- }
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/io/SCADataBindingCallback.java b/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/io/SCADataBindingCallback.java
deleted file mode 100644
index 47d130383f..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/io/SCADataBindingCallback.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.binding.celtix.io;
-
-import org.w3c.dom.Node;
-
-import commonj.sdo.helper.TypeHelper;
-import org.objectweb.celtix.bindings.DataReader;
-import org.objectweb.celtix.bindings.DataWriter;
-import org.objectweb.celtix.bus.bindings.AbstractWSDLOperationDataBindingCallback;
-import org.objectweb.celtix.bus.bindings.WSDLOperationInfo;
-import org.objectweb.celtix.context.ObjectMessageContext;
-
-
-/**
- * @version $Rev$ $Date$
- */
-public class SCADataBindingCallback extends AbstractWSDLOperationDataBindingCallback {
-
- protected boolean hasInOut;
- protected TypeHelper typeHelper;
-
- public SCADataBindingCallback(WSDLOperationInfo op, boolean inout, TypeHelper theTypeHelper) {
- super(op);
- this.hasInOut = inout;
- this.typeHelper = theTypeHelper;
- }
-
- public boolean hasInOut() {
- return hasInOut;
- }
-
- public Mode getMode() {
- return Mode.PARTS;
- }
-
- public Class<?>[] getSupportedFormats() {
- return new Class<?>[]{Node.class};
- }
-
- public TypeHelper getTypeHelper() {
- return typeHelper;
- }
-
- @SuppressWarnings("unchecked")
- public <T> DataWriter<T> createWriter(Class<T> cls) {
- if (cls == Node.class) {
- return (DataWriter<T>) new NodeDataWriter(this);
- }
- return null;
- }
-
- @SuppressWarnings("unchecked")
- public <T> DataReader<T> createReader(Class<T> cls) {
- if (cls == Node.class) {
- return (DataReader<T>) new NodeDataReader(this);
- }
- //REVISIT - need to figure out what to do with Faults
- return null;
- }
-
- public void initObjectContext(ObjectMessageContext octx) {
- //REVISIT - is this even used?
- }
-
-
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/io/SCAServerDataBindingCallback.java b/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/io/SCAServerDataBindingCallback.java
deleted file mode 100644
index db9c624bd4..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/io/SCAServerDataBindingCallback.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.binding.celtix.io;
-
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-
-import commonj.sdo.helper.TypeHelper;
-
-import org.objectweb.celtix.bindings.ServerDataBindingCallback;
-import org.objectweb.celtix.bus.bindings.WSDLOperationInfo;
-import org.objectweb.celtix.context.ObjectMessageContext;
-
-
-/**
- *
- * @version $Rev$ $Date$
- */
-public class SCAServerDataBindingCallback extends SCADataBindingCallback
- implements ServerDataBindingCallback {
- Method method;
- Object targetObject;
-
- public SCAServerDataBindingCallback(WSDLOperationInfo op,
- boolean inout,
- Method meth,
- Object target,
- TypeHelper theTypeHelper) {
- super(op, inout, theTypeHelper);
- method = meth;
- targetObject = target;
- }
-
-
- public void invoke(ObjectMessageContext octx) throws InvocationTargetException {
- Object ret;
- try {
- ret = method.invoke(targetObject, octx.getMessageObjects());
- } catch (RuntimeException e) {
- throw e;
- } catch (Exception e) {
- throw new InvocationTargetException(e);
- }
- octx.setReturn(ret);
- }
-
- public void initObjectContext(ObjectMessageContext octx) {
- Object o[] = new Object[method.getParameterTypes().length];
- //REVIST - holders?
- octx.setMessageObjects(o);
- }
-
-}