summaryrefslogtreecommitdiffstats
path: root/branches/sca-android/modules/binding-gdata-runtime/src/main
diff options
context:
space:
mode:
authorjsdelfino <jsdelfino@13f79535-47bb-0310-9956-ffa450edef68>2008-09-15 06:50:04 +0000
committerjsdelfino <jsdelfino@13f79535-47bb-0310-9956-ffa450edef68>2008-09-15 06:50:04 +0000
commit147ed48e86bb4a13e42df35f1d1d800a7b564f4b (patch)
tree2412db1dcc7b46a214d2b7b46d21349ac08aa9b8 /branches/sca-android/modules/binding-gdata-runtime/src/main
parent512771c8a42d2cde253f6df55ef552f7a0b4f792 (diff)
Removed more modules as in Oscar's TUSCANY-2440 reduced-set patch. Also removed newer modules added since r643746 and are not required to run the minimum set that we are porting to android. Set svn ignore properties to ignore Manifest files produced by the build.
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@695356 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'branches/sca-android/modules/binding-gdata-runtime/src/main')
-rw-r--r--branches/sca-android/modules/binding-gdata-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/collection/Collection.java82
-rw-r--r--branches/sca-android/modules/binding-gdata-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/collection/MediaCollection.java55
-rw-r--r--branches/sca-android/modules/binding-gdata-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GDataBindingInvoker.java510
-rw-r--r--branches/sca-android/modules/binding-gdata-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GDataBindingListenerServlet.java426
-rw-r--r--branches/sca-android/modules/binding-gdata-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GDataBindingProviderFactory.java74
-rw-r--r--branches/sca-android/modules/binding-gdata-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GDataReferenceBindingProvider.java125
-rw-r--r--branches/sca-android/modules/binding-gdata-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GDataServiceBindingProvider.java85
-rw-r--r--branches/sca-android/modules/binding-gdata-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory19
8 files changed, 0 insertions, 1376 deletions
diff --git a/branches/sca-android/modules/binding-gdata-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/collection/Collection.java b/branches/sca-android/modules/binding-gdata-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/collection/Collection.java
deleted file mode 100644
index 2679071ea8..0000000000
--- a/branches/sca-android/modules/binding-gdata-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/collection/Collection.java
+++ /dev/null
@@ -1,82 +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.sca.binding.gdata.collection;
-
-import com.google.gdata.data.BaseEntry;
-import com.google.gdata.data.BaseFeed;
-
-import org.apache.tuscany.sca.implementation.data.collection.NotFoundException;
-import org.osoa.sca.annotations.Remotable;
-
-/**
- * Provides access to a collection of resources using Atom.
- *
- * @version $Rev$ $Date$
- */
-@Remotable
-public interface Collection {
-
- /**
- * Get an Atom feed for a collection of resources.
- *
- * @return the Atom feed
- */
- BaseFeed<? extends BaseFeed, ? extends BaseEntry> getFeed();
-
- /**
- * Get an Atom feed for a collection of resources resulting
- * from a query.
- *
- * @param queryString a query string
- * @return the Atom feed
- */
- BaseFeed<? extends BaseFeed, ? extends BaseEntry> query(String queryString);
-
- /**
- * Creates a new entry.
- *
- * @param entry
- * @return
- */
- BaseEntry post(BaseEntry entry);
-
- /**
- * Retrieves an entry.
- *
- * @param id
- * @return
- */
- BaseEntry get(String id) throws NotFoundException;
-
- /**
- * Update an entry.
- *
- * @param id
- * @param entry
- * @return
- */
- BaseEntry put(String id, BaseEntry entry) throws NotFoundException;
-
- /**
- * Delete an entry.
- *
- * @param id
- */
- void delete(String id) throws NotFoundException;
-}
diff --git a/branches/sca-android/modules/binding-gdata-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/collection/MediaCollection.java b/branches/sca-android/modules/binding-gdata-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/collection/MediaCollection.java
deleted file mode 100644
index b9252d097a..0000000000
--- a/branches/sca-android/modules/binding-gdata-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/collection/MediaCollection.java
+++ /dev/null
@@ -1,55 +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.sca.binding.gdata.collection;
-
-import com.google.gdata.data.BaseEntry;
-import java.io.InputStream;
-
-import org.osoa.sca.annotations.Remotable;
-
-import org.apache.tuscany.sca.implementation.data.collection.NotFoundException;
-
-/**
- * Provides access to a collection of resources using Atom.
- *
- * @version $Rev$ $Date$
- */
-@Remotable
-public interface MediaCollection extends Collection {
-
- /**
- * Creates a new media entry
- *
- * @param title
- * @param slug
- * @param contentType
- * @param media
- */
- BaseEntry postMedia(String title, String slug, String contentType, InputStream media);
-
- /**
- * Update a media entry.
- *
- * @param id
- * @param contentType
- * @param media
- * @return
- */
- void putMedia(String id, String contentType, InputStream media) throws NotFoundException;
-}
diff --git a/branches/sca-android/modules/binding-gdata-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GDataBindingInvoker.java b/branches/sca-android/modules/binding-gdata-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GDataBindingInvoker.java
deleted file mode 100644
index d2c5ed4017..0000000000
--- a/branches/sca-android/modules/binding-gdata-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GDataBindingInvoker.java
+++ /dev/null
@@ -1,510 +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.sca.binding.gdata.provider;
-
-import java.util.logging.Level;
-import java.util.logging.Logger;
-import org.apache.tuscany.sca.interfacedef.Operation;
-import org.apache.tuscany.sca.invocation.Invoker;
-import org.apache.tuscany.sca.invocation.Message;
-import org.osoa.sca.ServiceRuntimeException;
-
-import com.google.gdata.client.GoogleService;
-import com.google.gdata.client.Query;
-import com.google.gdata.data.BaseEntry;
-import com.google.gdata.data.BaseFeed;
-import com.google.gdata.data.Entry;
-import com.google.gdata.data.ExtensionProfile;
-import com.google.gdata.data.Feed;
-import com.google.gdata.data.ParseSource;
-import com.google.gdata.util.AuthenticationException;
-import java.net.URL;
-import com.google.gdata.util.ResourceNotFoundException;
-import com.google.gdata.util.common.xml.XmlWriter;
-import java.io.StringWriter;
-import org.apache.commons.httpclient.HttpClient;
-import org.apache.commons.httpclient.methods.DeleteMethod;
-import org.apache.commons.httpclient.methods.GetMethod;
-import org.apache.commons.httpclient.methods.PostMethod;
-import org.apache.commons.httpclient.methods.PutMethod;
-import org.apache.commons.httpclient.methods.StringRequestEntity;
-import org.apache.tuscany.sca.binding.gdata.GDataBinding;
-import org.apache.tuscany.sca.data.collection.NotFoundException;
-import org.apache.tuscany.sca.invocation.DataExchangeSemantics;
-
-/**
- * Invoker for the Atom binding.
- *
- * @version $Rev$ $Date$
- */
-class GDataBindingInvoker implements Invoker, DataExchangeSemantics {
-
- Operation operation;
- GDataBinding binding;
- HttpClient httpClient;
- String authorizationHeader;
- GoogleService service;
-
- GDataBindingInvoker(Operation operation, GDataBinding binding, HttpClient httpClient, String authorizationHeader) {
- this.operation = operation;
- this.binding = binding;
- this.httpClient = httpClient;
- this.authorizationHeader = authorizationHeader;
-
- //Create the GoogleService
- if (!binding.getServiceType().equals("sca")) {
- this.service = new GoogleService(binding.getServiceType(), "");
-
- try {
- service.setUserCredentials(binding.getUsername(), binding.getPassword());
- } catch (AuthenticationException ex) {
- //FIXME - promote the exception
- Logger.getLogger(GDataReferenceBindingProvider.class.getName()).log(Level.SEVERE, null, ex);
- }
-
- this.service.setConnectTimeout(60000);
- }
- }
-
- public Message invoke(Message msg) {
- // Shouldn't get here, as the only supported methods are
- // defined in the ResourceCollection interface, and implemented
- // by specific invoker subclasses
- throw new UnsupportedOperationException(operation.getName());
- }
-
- /**
- * Get operation invoker
- */
- public static class GetInvoker extends GDataBindingInvoker {
-
- public GetInvoker(Operation operation, GDataBinding binding, HttpClient httpClient, String authorizationHeader) {
- super(operation, binding, httpClient, authorizationHeader);
- }
-
- @Override
- public Message invoke(Message msg) {
-
- BaseEntry entry;
- GetMethod getMethod = null;
- boolean parsing = false;
-
- String id = (String) ((Object[]) msg.getBody())[0];
-
- try {
- // serviceType == "sca" - Send an HTTP GET
- if (service == null) {
- getMethod = new GetMethod(binding.getURI() + "/" + id);
- getMethod.setRequestHeader("Authorization", authorizationHeader);
-
- httpClient.executeMethod(getMethod);
- int status = getMethod.getStatusCode();
-
- // Read the Atom feed
- if (status == 200) {
-
- parsing = true;
-
- ParseSource parser = new ParseSource(getMethod.getResponseBodyAsStream());
- entry = BaseEntry.readEntry(parser);
-
- msg.setBody(entry);
-
- } else if (status == 404) {
- msg.setFaultBody(new NotFoundException());
- } else {
- msg.setFaultBody(new ServiceRuntimeException("HTTP status code: " + status));
- }
-
- } // serviceType != "sca" - Use GoogleService
- else {
- entry = service.getEntry(new URL(id), Entry.class);
- msg.setBody(entry);
- }
- } catch (ResourceNotFoundException ex) {
- msg.setFaultBody(new ResourceNotFoundException("Invalid Resource at " + binding.getURI()));
- } catch (Exception ex) {
- msg.setFaultBody(new ServiceRuntimeException(ex));
- } finally {
- if (service == null && !parsing) {
- getMethod.releaseConnection();
- }
- return msg;
- }
-
- }
- }
-
- /**
- * Post operation invoker
- */
- public static class PostInvoker extends GDataBindingInvoker {
-
- public PostInvoker(Operation operation, GDataBinding binding, HttpClient httpClient, String authorizationHeader) {
- super(operation, binding, httpClient, authorizationHeader);
- }
-
- @Override
- public Message invoke(Message msg) {
-
- BaseEntry entry = (BaseEntry) ((Object[]) msg.getBody())[0];
- BaseEntry returnedEntry;
-
- PostMethod postMethod = null;
- boolean parsing = false;
-
- try {
- // serviceType == "sca" - Send an HTTP POST
- if (service == null) {
- postMethod = new PostMethod(binding.getURI());
- postMethod.setRequestHeader("Authorization", authorizationHeader);
-
- // Write the Atom entry
- StringWriter strWriter = new StringWriter();
- XmlWriter writer = new XmlWriter(strWriter);
- entry.generateAtom(writer, new ExtensionProfile());
- writer.flush();
- writer.close();
-
- postMethod.setRequestHeader("Content-type", "application/atom+xml; charset=utf-8");
- postMethod.setRequestEntity(new StringRequestEntity(strWriter.toString()));
-
- httpClient.executeMethod(postMethod);
- int status = postMethod.getStatusCode();
-
- // Read the Atom feed
- if (status == 200 || status == 201) {
-
- parsing = true;
-
- ParseSource parser = new ParseSource(postMethod.getResponseBodyAsStream());
- returnedEntry = BaseEntry.readEntry(parser);
-
- msg.setBody(returnedEntry);
-
- } else if (status == 404) {
- msg.setFaultBody(new NotFoundException());
- } else {
- msg.setFaultBody(new ServiceRuntimeException("HTTP status code: " + status));
- }
-
- } // serviceType != "sca" - Use GoogleService
- else {
- returnedEntry = service.insert(new URL(binding.getURI()), entry);
- msg.setBody(returnedEntry);
- }
- } catch (ResourceNotFoundException ex) {
- msg.setFaultBody(new ResourceNotFoundException("Invalid Resource at " + binding.getURI()));
- } catch (Exception ex) {
- msg.setFaultBody(new ServiceRuntimeException(ex));
- } finally {
- if (service == null && !parsing) {
- postMethod.releaseConnection();
- }
- return msg;
- }
-
- }
- }
-
- /**
- * Put operation invoker
- */
- public static class PutInvoker extends GDataBindingInvoker {
-
- public PutInvoker(Operation operation, GDataBinding binding, HttpClient httpClient, String authorizationHeader) {
- super(operation, binding, httpClient, authorizationHeader);
- }
-
- @Override
- public Message invoke(Message msg) {
-
- BaseEntry updatedEntry;
- String id = (String) ((Object[]) msg.getBody())[0];
- BaseEntry entry = (BaseEntry) ((Object[]) msg.getBody())[1];
-
- PutMethod putMethod = null;
- boolean parsing = false;
-
- try {
- // serviceType == "sca" - Send an HTTP PUT
- if (service == null) {
- putMethod = new PutMethod(binding.getURI() + "/" + id);
- putMethod.setRequestHeader("Authorization", authorizationHeader);
-
- // Write the Atom entry
- StringWriter strWriter = new StringWriter();
- XmlWriter writer = new XmlWriter(strWriter);
- entry.generateAtom(writer, new ExtensionProfile());
- writer.flush();
- writer.close();
-
- putMethod.setRequestHeader("Content-type", "application/atom+xml; charset=utf-8");
- putMethod.setRequestEntity(new StringRequestEntity(strWriter.toString()));
-
- httpClient.executeMethod(putMethod);
- int status = putMethod.getStatusCode();
-
- // Read the Atom feed
- if (status == 200 || status == 201) {
-
- parsing = true;
-
- ParseSource parser = new ParseSource(putMethod.getResponseBodyAsStream());
- updatedEntry = BaseEntry.readEntry(parser);
-
- msg.setBody(updatedEntry);
-
- } else if (status == 404) {
- msg.setFaultBody(new NotFoundException());
- } else {
- msg.setFaultBody(new ServiceRuntimeException("HTTP status code: " + status));
- }
-
- } // serviceType != "sca" - Use GoogleService
- else {
- updatedEntry = service.update(new URL(id), entry);
- msg.setBody(updatedEntry);
- }
- } catch (ResourceNotFoundException ex) {
- msg.setFaultBody(new ResourceNotFoundException("Invalid Resource at " + binding.getURI()));
- } catch (Exception ex) {
- msg.setFaultBody(new ServiceRuntimeException(ex));
- } finally {
- if (service == null && !parsing) {
- putMethod.releaseConnection();
- }
- return msg;
- }
- }
- }
-
- /**
- * Delete operation invoker
- */
- public static class DeleteInvoker extends GDataBindingInvoker {
-
- public DeleteInvoker(Operation operation, GDataBinding binding, HttpClient httpClient, String authorizationHeader) {
- super(operation, binding, httpClient, authorizationHeader);
- }
-
- @Override
- public Message invoke(Message msg) {
-
- DeleteMethod deleteMethod = null;
-
- String id = (String) ((Object[]) msg.getBody())[0];
-
- try {
- // serviceType == "sca" - Send an HTTP DELETE
- if (service == null) {
- deleteMethod = new DeleteMethod(binding.getURI() + "/" + id);
- deleteMethod.setRequestHeader("Authorization", authorizationHeader);
-
- httpClient.executeMethod(deleteMethod);
- int status = deleteMethod.getStatusCode();
-
- // Read the Atom feed
- if (status == 200) {
- msg.setBody(null);
-
- } else if (status == 404) {
- msg.setFaultBody(new NotFoundException());
- } else {
- msg.setFaultBody(new ServiceRuntimeException("HTTP status code: " + status));
- }
-
- } // serviceType != "sca" - Use GoogleService
- else {
- service.delete(new URL(id));
- msg.setBody(null);
- }
- } catch (ResourceNotFoundException ex) {
- msg.setFaultBody(new ResourceNotFoundException("Invalid Resource at " + binding.getURI()));
- } catch (Exception ex) {
- msg.setFaultBody(new ServiceRuntimeException(ex));
- } finally {
- if (service == null) {
- deleteMethod.releaseConnection();
- }
- return msg;
- }
-
- }
- }
-
- /**
- * GetAll operation invoker
- */
- public static class GetAllInvoker extends GDataBindingInvoker {
-
- public GetAllInvoker(Operation operation, GDataBinding binding, HttpClient httpClient, String authorizationHeader) {
- super(operation, binding, httpClient, authorizationHeader);
- }
-
- @Override
- public Message invoke(Message msg) {
-
- BaseFeed feed;
- GetMethod getMethod = null;
- boolean parsing = false;
-
- try {
- // serviceType == "sca" - Send an HTTP GET
- if (service == null) {
- getMethod = new GetMethod(binding.getURI());
- getMethod.setRequestHeader("Authorization", authorizationHeader);
-
- httpClient.executeMethod(getMethod);
- int status = getMethod.getStatusCode();
-
- // Read the Atom feed
- if (status == 200) {
-
- parsing = true;
-
- ParseSource parser = new ParseSource(getMethod.getResponseBodyAsStream());
- feed = BaseFeed.readFeed(parser);
-
- msg.setBody(feed);
-
- } else if (status == 404) {
- msg.setFaultBody(new NotFoundException());
- } else {
- msg.setFaultBody(new ServiceRuntimeException("HTTP status code: " + status));
- }
-
- } // serviceType != "sca" - Use GoogleService
- else {
- feed = service.getFeed(new URL(binding.getURI()), Feed.class);
- msg.setBody(feed);
- }
- } catch (ResourceNotFoundException ex) {
- msg.setFaultBody(new ResourceNotFoundException("Invalid Resource at " + binding.getURI()));
- } catch (Exception ex) {
- msg.setFaultBody(new ServiceRuntimeException(ex));
- } finally {
- if (service == null && !parsing) {
- getMethod.releaseConnection();
- }
- return msg;
- }
- }
- }
-
- /**
- * Query operation invoker
- */
- public static class QueryInvoker extends GDataBindingInvoker {
-
- public QueryInvoker(Operation operation, GDataBinding binding, HttpClient httpClient, String authorizationHeader) {
- super(operation, binding, httpClient, authorizationHeader);
- }
-
- @Override
- public Message invoke(Message msg) {
-
- BaseFeed feed;
- GetMethod getMethod = null;
- boolean parsing = false;
-
- String queryString = (String) ((Object[]) msg.getBody())[0];
-
- try {
- // serviceType == "sca" - Send an HTTP GET
- if (service == null) {
- getMethod = new GetMethod(binding.getURI());
- getMethod.setRequestHeader("Authorization", authorizationHeader);
- getMethod.setQueryString(queryString);
-
- httpClient.executeMethod(getMethod);
- int status = getMethod.getStatusCode();
-
- // Read the Atom feed
- if (status == 200) {
-
- parsing = true;
-
- ParseSource parser = new ParseSource(getMethod.getResponseBodyAsStream());
- feed = BaseFeed.readFeed(parser);
-
- msg.setBody(feed);
-
- } else if (status == 404) {
- msg.setFaultBody(new NotFoundException());
- } else {
- msg.setFaultBody(new ServiceRuntimeException("HTTP status code: " + status));
- }
-
- } // serviceType != "sca" - Use GoogleService
- else {
- Query query = new Query(new URL(binding.getURI()));
- query.setFullTextQuery(queryString);
- feed = service.query(query, Feed.class);
- msg.setBody(feed);
- }
- } catch (ResourceNotFoundException ex) {
- msg.setFaultBody(new ResourceNotFoundException("Invalid Resource at " + binding.getURI()));
- } catch (Exception ex) {
- msg.setFaultBody(new ServiceRuntimeException(ex));
- } finally {
- if (service == null && !parsing) {
- getMethod.releaseConnection();
- }
- return msg;
- }
- }
- }
-
- /**
- * PostMedia operation invoker
- */
- public static class PostMediaInvoker extends GDataBindingInvoker {
-
- public PostMediaInvoker(Operation operation, GDataBinding binding, HttpClient httpClient, String authorizationHeader) {
- super(operation, binding, httpClient, authorizationHeader);
- }
-
- @Override
- public Message invoke(Message msg) {
- // TODO implement
- return super.invoke(msg);
- }
- }
-
- /**
- * PutMedia operation invoker
- */
- public static class PutMediaInvoker extends GDataBindingInvoker {
-
- public PutMediaInvoker(Operation operation, GDataBinding binding, HttpClient httpClient, String authorizationHeader) {
- super(operation, binding, httpClient, authorizationHeader);
- }
-
- @Override
- public Message invoke(Message msg) {
- // TODO implement
- return super.invoke(msg);
- }
- }
-
- public boolean allowsPassByReference() {
- return true;
- }
-}
diff --git a/branches/sca-android/modules/binding-gdata-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GDataBindingListenerServlet.java b/branches/sca-android/modules/binding-gdata-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GDataBindingListenerServlet.java
deleted file mode 100644
index 1f9318070d..0000000000
--- a/branches/sca-android/modules/binding-gdata-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GDataBindingListenerServlet.java
+++ /dev/null
@@ -1,426 +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.sca.binding.gdata.provider;
-
-import com.google.gdata.data.BaseEntry;
-import com.google.gdata.data.BaseFeed;
-import com.google.gdata.data.ExtensionProfile;
-import com.google.gdata.data.Link;
-import com.google.gdata.data.ParseSource;
-import com.google.gdata.util.ServiceException;
-import com.google.gdata.util.common.xml.XmlWriter;
-import java.io.IOException;
-import java.net.URLDecoder;
-import java.util.logging.Logger;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import org.apache.tuscany.sca.invocation.Invoker;
-import org.apache.tuscany.sca.runtime.RuntimeWire;
-import org.apache.tuscany.sca.invocation.MessageFactory;
-import org.apache.tuscany.sca.databinding.Mediator;
-import org.apache.tuscany.sca.interfacedef.Operation;
-import org.apache.tuscany.sca.invocation.InvocationChain;
-import org.apache.tuscany.sca.invocation.Message;
-
-class GDataBindingListenerServlet extends HttpServlet {
-
- private static final Logger logger = Logger.getLogger(GDataBindingListenerServlet.class.getName());
- private RuntimeWire wire;
- private Invoker getFeedInvoker;
- private Invoker queryInvoker;
- private Invoker getInvoker;
- private Invoker postInvoker;
- private Invoker postMediaInvoker;
- private Invoker putInvoker;
- private Invoker putMediaInvoker;
- private Invoker deleteInvoker;
- private MessageFactory messageFactory;
- private String title;
- private Mediator mediator;
-// private DataType<?> itemClassType;
-// private DataType<?> itemXMLType;
-// private boolean supportsFeedEntries;
-
- GDataBindingListenerServlet(RuntimeWire wire, MessageFactory messageFactory, Mediator mediator, String title) {
- this.wire = wire;
- this.messageFactory = messageFactory;
- this.mediator = mediator;
- this.title = title;
-
- // Get the invokers for the supported operations
- //Operation getOperation = null;
- for (InvocationChain invocationChain : this.wire.getInvocationChains()) {
- invocationChain.setAllowsPassByReference(true);
- Operation operation = invocationChain.getTargetOperation();
- String operationName = operation.getName();
- if (operationName.equals("getFeed")) {
- getFeedInvoker = invocationChain.getHeadInvoker();
- } else if (operationName.equals("query")) {
- queryInvoker = invocationChain.getHeadInvoker();
- } else if (operationName.equals("get")) {
- getInvoker = invocationChain.getHeadInvoker();
- //getOperation = operation;
- } else if (operationName.equals("put")) {
- putInvoker = invocationChain.getHeadInvoker();
- } else if (operationName.equals("putMedia")) {
- putMediaInvoker = invocationChain.getHeadInvoker();
- } else if (operationName.equals("post")) {
- postInvoker = invocationChain.getHeadInvoker();
- } else if (operationName.equals("postMedia")) {
- postMediaInvoker = invocationChain.getHeadInvoker();
- } else if (operationName.equals("delete")) {
- deleteInvoker = invocationChain.getHeadInvoker();
- }
- }
-
-// // Determine the collection item type
-// itemXMLType = new DataTypeImpl<Class<?>>(String.class.getName(), String.class, String.class);
-// Class<?> itemClass = getOperation.getOutputType().getPhysical();
-// if (itemClass == BaseEntry.class) {
-// supportsFeedEntries = true;
-// }
-// DataType<XMLType> outputType = getOperation.getOutputType();
-// QName qname = outputType.getLogical().getElementName();
-// qname = new QName(qname.getNamespaceURI(), itemClass.getSimpleName());
-// itemClassType = new DataTypeImpl<XMLType>("java:complexType", itemClass, new XMLType(qname, null));
- }
-
- @Override
- protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
-
- int servletPathLength = request.getContextPath().length() + request.getServletPath().length();
-
- String path = URLDecoder.decode(request.getRequestURI().substring(servletPathLength), "UTF-8");
-
- logger.fine("get " + request.getRequestURI());
-
- if (path != null && path.equals("/atomsvc")) {
- //FIX-ME - Doing nothing
- } else if (path == null || path.length() == 0 || path.equals("/")) {
-
- // Return a feed containing the entries in the collection
- BaseFeed feed = null;
-
- Message requestMessage = messageFactory.createMessage();
- Message responseMessage;
- if (request.getQueryString() != null) {
- requestMessage.setBody(new Object[]{request.getQueryString()});
- responseMessage = queryInvoker.invoke(requestMessage);
- } else {
- responseMessage = getFeedInvoker.invoke(requestMessage);
- }
- if (responseMessage.isFault()) {
- throw new ServletException((Throwable) responseMessage.getBody());
- }
-
- // The service implementation supports feed entries, invoke its getFeed operation
- feed = (BaseFeed) responseMessage.getBody();
-
- if (feed != null) {
-
- // Write the Atom feed
- response.setContentType("application/atom+xml; charset=utf-8");
- try {
-
- XmlWriter writer = new XmlWriter(response.getWriter());
- feed.generateAtom(writer, new ExtensionProfile());
- writer.flush();
- writer.close();
-
- } catch (IOException ioe) {
- throw new ServletException(ioe);
- }
- } else {
- response.sendError(HttpServletResponse.SC_NOT_FOUND);
- }
-
- } else if (path.startsWith("/")) {
- // Return a specific entry in the collection
- BaseEntry feedEntry;
-
- // Invoke the get operation on the service implementation
- Message requestMessage = messageFactory.createMessage();
- String id = path.substring(1);
- requestMessage.setBody(new Object[]{id});
- Message responseMessage = getInvoker.invoke(requestMessage);
- if (responseMessage.isFault()) {
- throw new ServletException((Throwable) responseMessage.getBody());
- }
-
- // The service implementation returns a feed entry
- feedEntry = responseMessage.getBody();
-
- // Write the Atom entry
- if (feedEntry != null) {
- response.setContentType("application/atom+xml; charset=utf-8");
- try {
- XmlWriter writer = new XmlWriter(response.getWriter());
- feedEntry.generateAtom(writer, new ExtensionProfile());
- writer.flush();
- writer.close();
- } catch (IOException ioe) {
- throw new ServletException(ioe);
- }
- } else {
- response.sendError(HttpServletResponse.SC_NOT_FOUND);
- }
- } else {
- // Path doesn't match any known pattern
- response.sendError(HttpServletResponse.SC_NOT_FOUND);
- }
- }
-
- @Override
- protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
-
- // FIX-ME: Authenticate the user
-
-// String user = processAuthorizationHeader(request);
-// if (user == null) {
-// unauthorized(response);
-// return;
-// }
-
- // Get the request path
- String path = URLDecoder.decode(request.getRequestURI().substring(request.getServletPath().length()), "UTF-8");
-
- if (path == null || path.length() == 0 || path.equals("/")) {
-
- BaseEntry createdFeedEntry = null;
-
- // Create a new Atom entry
- String contentType = request.getContentType();
- if (contentType != null && contentType.startsWith("application/atom+xml")) {
-
- // Read the entry from the request
- BaseEntry feedEntry;
- try {
- ParseSource parser = new ParseSource(request.getReader());
- feedEntry = BaseEntry.readEntry(parser);
-
- } catch (ServiceException ex) {
- throw new ServletException(ex);
- }
-
- // The service implementation supports feed entries, pass the entry to it
- Message requestMessage = messageFactory.createMessage();
- requestMessage.setBody(new Object[]{feedEntry});
- Message responseMessage = postInvoker.invoke(requestMessage);
-
- if (responseMessage.isFault()) {
- throw new ServletException((Throwable) responseMessage.getBody());
- }
-
- createdFeedEntry = responseMessage.getBody();
-
- } else if (contentType != null) {
-
- // Create a new media entry
-
- // Get incoming headers
- String reqTitle = request.getHeader("Title");
- String slug = request.getHeader("Slug");
-
- // Let the component implementation create the media entry
- Message requestMessage = messageFactory.createMessage();
- requestMessage.setBody(new Object[]{reqTitle, slug, contentType, request.getInputStream()});
- Message responseMessage = postMediaInvoker.invoke(requestMessage);
-
- if (responseMessage.isFault()) {
- throw new ServletException((Throwable) responseMessage.getBody());
- }
- createdFeedEntry = responseMessage.getBody();
- } else {
- response.sendError(HttpServletResponse.SC_UNSUPPORTED_MEDIA_TYPE);
- }
-
- // A new entry was created successfully
- if (createdFeedEntry != null) {
-
- // Set location of the created entry in the Location header
- Link link = createdFeedEntry.getSelfLink();
- if (link != null) {
- response.addHeader("Location", link.getHref().toString());
- }
-
- // Write the created Atom entry
- response.setStatus(HttpServletResponse.SC_CREATED);
- response.setContentType("application/atom+xml; charset=utf-8");
- try {
-
- XmlWriter writer = new XmlWriter(response.getWriter());
- createdFeedEntry.generateAtom(writer, new ExtensionProfile());
- writer.flush();
- writer.close();
-
- } catch (IOException ioe) {
- throw new ServletException(ioe);
- }
-
- } else {
- response.sendError(HttpServletResponse.SC_NOT_FOUND);
- }
-
- } else {
- response.sendError(HttpServletResponse.SC_NOT_FOUND);
- }
- }
-
- @Override
- protected void doPut(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
-
- // FIX-ME: Authenticate the user
-
-// String user = processAuthorizationHeader(request);
-// if (user == null) {
-// unauthorized(response);
-// return;
-// }
-
- // Get the request path
- String path = request.getRequestURI().substring(request.getServletPath().length());
-
- BaseEntry createdFeedEntry = null;
-
- if (path != null && path.startsWith("/")) {
- String id = path.substring(1);
-
- // Update an Atom entry
- String contentType = request.getContentType();
- if (contentType != null && contentType.startsWith("application/atom+xml")) {
-
- // Read the entry from the request
- BaseEntry feedEntry;
- try {
- ParseSource parser = new ParseSource(request.getReader());
- feedEntry = BaseEntry.readEntry(parser);
-
- } catch (ServiceException ex) {
- throw new ServletException(ex);
- }
-
- // Let the component implementation create it
-
- // The service implementation supports feed entries, pass the entry to it
- Message requestMessage = messageFactory.createMessage();
- requestMessage.setBody(new Object[]{id, feedEntry});
- Message responseMessage = putInvoker.invoke(requestMessage);
-
- if (responseMessage.isFault()) {
- Object body = responseMessage.getBody();
- if (body.getClass().getName().endsWith(".NotFoundException")) {
- response.sendError(HttpServletResponse.SC_NOT_FOUND);
- } else {
- throw new ServletException((Throwable) responseMessage.getBody());
- }
- }
-
- createdFeedEntry = responseMessage.getBody();
-
- } else if (contentType != null) {
-
- // Updated a media entry
-
- // Let the component implementation create the media entry
- Message requestMessage = messageFactory.createMessage();
- requestMessage.setBody(new Object[]{id, contentType, request.getInputStream()});
- Message responseMessage = putMediaInvoker.invoke(requestMessage);
- Object body = responseMessage.getBody();
- if (responseMessage.isFault()) {
- if (body.getClass().getName().endsWith(".NotFoundException")) {
- response.sendError(HttpServletResponse.SC_NOT_FOUND);
- } else {
- throw new ServletException((Throwable) responseMessage.getBody());
- }
- }
-
- createdFeedEntry = responseMessage.getBody();
-
- } else {
- response.sendError(HttpServletResponse.SC_UNSUPPORTED_MEDIA_TYPE);
- }
-
- // A new entry was created successfully
- if (createdFeedEntry != null) {
-
- // Set location of the created entry in the Location header
- Link link = createdFeedEntry.getSelfLink();
- if (link != null) {
- response.addHeader("Location", link.getHref().toString());
- }
-
- // Write the created Atom entry
- response.setStatus(HttpServletResponse.SC_CREATED);
- response.setContentType("application/atom+xml; charset=utf-8");
- try {
-
- XmlWriter writer = new XmlWriter(response.getWriter());
- createdFeedEntry.generateAtom(writer, new ExtensionProfile());
- writer.flush();
- writer.close();
-
- } catch (IOException ioe) {
- throw new ServletException(ioe);
- }
-
- } else {
- response.sendError(HttpServletResponse.SC_NOT_FOUND);
- }
-
- } else {
- response.sendError(HttpServletResponse.SC_NOT_FOUND);
- }
- }
-
- @Override
- protected void doDelete(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
-
- // FIX-ME: Authenticate the user
-// String user = processAuthorizationHeader(request);
-// if (user == null) {
-// unauthorized(response);
-// return;
-// }
-
- // Get the request path
- String path = URLDecoder.decode(request.getRequestURI().substring(request.getServletPath().length()), "UTF-8");
-
- String id;
- if (path != null && path.startsWith("/")) {
- id = path.substring(1);
- } else {
- id = "";
- }
-
- // Delete a specific entry from the collection
- Message requestMessage = messageFactory.createMessage();
- requestMessage.setBody(new Object[]{id});
- Message responseMessage = deleteInvoker.invoke(requestMessage);
- if (responseMessage.isFault()) {
- Object body = responseMessage.getBody();
- if (body.getClass().getName().endsWith(".NotFoundException")) {
- response.sendError(HttpServletResponse.SC_NOT_FOUND);
- } else {
- throw new ServletException((Throwable) responseMessage.getBody());
- }
- }
- }
-}
diff --git a/branches/sca-android/modules/binding-gdata-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GDataBindingProviderFactory.java b/branches/sca-android/modules/binding-gdata-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GDataBindingProviderFactory.java
deleted file mode 100644
index bace6f68bb..0000000000
--- a/branches/sca-android/modules/binding-gdata-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GDataBindingProviderFactory.java
+++ /dev/null
@@ -1,74 +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.sca.binding.gdata.provider;
-
-import org.apache.tuscany.sca.binding.gdata.GDataBinding;
-import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint;
-import org.apache.tuscany.sca.core.ExtensionPointRegistry;
-import org.apache.tuscany.sca.databinding.DataBindingExtensionPoint;
-import org.apache.tuscany.sca.databinding.Mediator;
-import org.apache.tuscany.sca.databinding.TransformerExtensionPoint;
-import org.apache.tuscany.sca.databinding.impl.MediatorImpl;
-import org.apache.tuscany.sca.host.http.ServletHost;
-import org.apache.tuscany.sca.host.http.ServletHostExtensionPoint;
-import org.apache.tuscany.sca.invocation.MessageFactory;
-import org.apache.tuscany.sca.provider.BindingProviderFactory;
-import org.apache.tuscany.sca.provider.ReferenceBindingProvider;
-import org.apache.tuscany.sca.provider.ServiceBindingProvider;
-import org.apache.tuscany.sca.runtime.RuntimeComponent;
-import org.apache.tuscany.sca.runtime.RuntimeComponentReference;
-import org.apache.tuscany.sca.runtime.RuntimeComponentService;
-
-/**
- * Implementation of a Binding provider factory for the Atom binding.
- *
- * @version $Rev$ $Date$
- */
-public class GDataBindingProviderFactory implements BindingProviderFactory<GDataBinding> {
-
- private MessageFactory messageFactory;
- private Mediator mediator;
- private ServletHost servletHost;
-
- public GDataBindingProviderFactory(ExtensionPointRegistry extensionPoints) {
- ServletHostExtensionPoint servletHosts = extensionPoints.getExtensionPoint(ServletHostExtensionPoint.class);
- this.servletHost = servletHosts.getServletHosts().get(0);
- ModelFactoryExtensionPoint modelFactories = extensionPoints.getExtensionPoint(ModelFactoryExtensionPoint.class);
- this.messageFactory = modelFactories.getFactory(MessageFactory.class);
- this.mediator = new MediatorImpl(extensionPoints.getExtensionPoint(DataBindingExtensionPoint.class),
- extensionPoints.getExtensionPoint(TransformerExtensionPoint.class));
- }
-
- public ReferenceBindingProvider createReferenceBindingProvider(RuntimeComponent component,
- RuntimeComponentReference reference,
- GDataBinding binding) {
- return new GDataReferenceBindingProvider(component, reference, binding);
- }
-
- public ServiceBindingProvider createServiceBindingProvider(RuntimeComponent component,
- RuntimeComponentService service,
- GDataBinding binding) {
- return new GDataServiceBindingProvider(component, service, binding, servletHost, messageFactory, mediator);
- }
-
- public Class<GDataBinding> getModelType() {
- return GDataBinding.class;
- }
-}
diff --git a/branches/sca-android/modules/binding-gdata-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GDataReferenceBindingProvider.java b/branches/sca-android/modules/binding-gdata-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GDataReferenceBindingProvider.java
deleted file mode 100644
index 198edbaa88..0000000000
--- a/branches/sca-android/modules/binding-gdata-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GDataReferenceBindingProvider.java
+++ /dev/null
@@ -1,125 +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.sca.binding.gdata.provider;
-
-
-import org.apache.tuscany.sca.binding.gdata.GDataBinding;
-import org.apache.tuscany.sca.interfacedef.InterfaceContract;
-import org.apache.tuscany.sca.interfacedef.Operation;
-import org.apache.tuscany.sca.invocation.Invoker;
-import org.apache.tuscany.sca.provider.ReferenceBindingProvider;
-import org.apache.tuscany.sca.runtime.RuntimeComponent;
-import org.apache.tuscany.sca.runtime.RuntimeComponentReference;
-import org.apache.commons.httpclient.HttpClient;
-import java.net.URI;
-import org.apache.commons.codec.binary.Base64;
-import org.apache.commons.httpclient.Credentials;
-import org.apache.commons.httpclient.HttpConnectionManager;
-import org.apache.commons.httpclient.MultiThreadedHttpConnectionManager;
-import org.apache.commons.httpclient.UsernamePasswordCredentials;
-import org.apache.commons.httpclient.auth.AuthScope;
-
-/**
- * Implementation of the Atom binding provider.
- *
- * @version $Rev$ $Date$
- */
-class GDataReferenceBindingProvider implements ReferenceBindingProvider {
-
- private RuntimeComponentReference reference;
- private GDataBinding binding;
- private HttpClient httpClient;
- private String authorizationHeader;
-
- /**
- * Constructs a new AtomReferenceBindingProvider
- * @param component
- * @param reference
- * @param binding
- * @param mediator
- */
- GDataReferenceBindingProvider(RuntimeComponent component,
- RuntimeComponentReference reference,
- GDataBinding binding) {
- this.reference = reference;
- this.binding = binding;
-
- // Prepare authorization header
- //String authorization = "admin" + ":" + "admin";
- String authorization = "gsocstudent2008" + ":" + "gsoc2008";
- authorizationHeader = "Basic " + new String(Base64.encodeBase64(authorization.getBytes()));
-
- // Create an HTTP client
- HttpConnectionManager connectionManager = new MultiThreadedHttpConnectionManager();
- connectionManager.getParams().setDefaultMaxConnectionsPerHost(10);
- connectionManager.getParams().setConnectionTimeout(60000);
- httpClient = new HttpClient(connectionManager);
- }
-
-
-
- public Invoker createInvoker(Operation operation) {
-
- String operationName = operation.getName();
- if (operationName.equals("get")) {
- return new GDataBindingInvoker.GetInvoker(operation, binding, httpClient, authorizationHeader);
- } else if (operationName.equals("post")) {
- return new GDataBindingInvoker.PostInvoker(operation, binding, httpClient, authorizationHeader);
- } else if (operationName.equals("put")) {
- return new GDataBindingInvoker.PutInvoker(operation, binding, httpClient, authorizationHeader);
- } else if (operationName.equals("delete")) {
- return new GDataBindingInvoker.DeleteInvoker(operation, binding, httpClient, authorizationHeader);
- } else if (operationName.equals("getFeed") || operationName.equals("getAll")) {
- return new GDataBindingInvoker.GetAllInvoker(operation, binding, httpClient, authorizationHeader);
- } else if (operationName.equals("postMedia")) {
- return new GDataBindingInvoker.PostMediaInvoker(operation, binding, httpClient, authorizationHeader);
- } else if (operationName.equals("putMedia")) {
- return new GDataBindingInvoker.PutMediaInvoker(operation, binding, httpClient, authorizationHeader);
- } else if (operationName.equals("query")) {
- return new GDataBindingInvoker.QueryInvoker(operation, binding, httpClient, authorizationHeader);
- }
-
- return new GDataBindingInvoker(operation, binding, httpClient, authorizationHeader);
- }
-
- public InterfaceContract getBindingInterfaceContract() {
- return reference.getInterfaceContract();
- }
-
- public void start() {
- // Configure the HTTP client credentials
- //Credentials credentials = new UsernamePasswordCredentials("admin", "admin");
- Credentials credentials = new UsernamePasswordCredentials("gsocstudent2008", "gsoc2008");
- httpClient.getParams().setAuthenticationPreemptive(true);
- URI uri = URI.create(binding.getURI());
- httpClient.getState().setCredentials(new AuthScope(uri.getHost(), uri.getPort()), credentials);
-
- // Find the get operation on the reference interface
- if (true) {
- return;
- }
- }
-
- public void stop() {
- }
-
- public boolean supportsOneWayInvocation() {
- return false;
- }
-}
diff --git a/branches/sca-android/modules/binding-gdata-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GDataServiceBindingProvider.java b/branches/sca-android/modules/binding-gdata-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GDataServiceBindingProvider.java
deleted file mode 100644
index bb5739324c..0000000000
--- a/branches/sca-android/modules/binding-gdata-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GDataServiceBindingProvider.java
+++ /dev/null
@@ -1,85 +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.sca.binding.gdata.provider;
-
-import org.apache.tuscany.sca.binding.gdata.GDataBinding;
-import org.apache.tuscany.sca.databinding.Mediator;
-import org.apache.tuscany.sca.host.http.ServletHost;
-import org.apache.tuscany.sca.interfacedef.InterfaceContract;
-import org.apache.tuscany.sca.invocation.MessageFactory;
-import org.apache.tuscany.sca.provider.ServiceBindingProvider;
-import org.apache.tuscany.sca.runtime.RuntimeComponent;
-import org.apache.tuscany.sca.runtime.RuntimeComponentService;
-import org.apache.tuscany.sca.runtime.RuntimeWire;
-
-class GDataServiceBindingProvider implements ServiceBindingProvider {
-
- private RuntimeComponentService service;
- private GDataBinding binding;
- private ServletHost servletHost;
- private MessageFactory messageFactory;
- private String servletMapping;
- private Mediator mediator;
-
- GDataServiceBindingProvider(RuntimeComponent component,
- RuntimeComponentService service,
- GDataBinding binding,
- ServletHost servletHost,
- MessageFactory messageFactory,
- Mediator mediator) {
-
- this.service = service;
- this.binding = binding;
- this.servletHost = servletHost;
- this.messageFactory = messageFactory;
- this.mediator = mediator;
- }
-
- public void start() {
- RuntimeComponentService componentService = (RuntimeComponentService) service;
- RuntimeWire wire = componentService.getRuntimeWire(binding);
-
- GDataBindingListenerServlet servlet =
- new GDataBindingListenerServlet(wire, messageFactory, mediator, binding.getTitle());
-
- servletMapping = binding.getURI();
- if (!servletMapping.endsWith("/")) {
- servletMapping += "/";
- }
- if (!servletMapping.endsWith("*")) {
- servletMapping += "*";
- }
- servletHost.addServletMapping(servletMapping, servlet);
-
- // Save the actual binding URI in the binding
- binding.setURI(servletHost.getURLMapping(binding.getURI()).toString());
- }
-
- public void stop() {
- servletHost.removeServletMapping(servletMapping);
- }
-
- public InterfaceContract getBindingInterfaceContract() {
- return service.getInterfaceContract();
- }
-
- public boolean supportsOneWayInvocation() {
- return false;
- }
-}
diff --git a/branches/sca-android/modules/binding-gdata-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory b/branches/sca-android/modules/binding-gdata-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory
deleted file mode 100644
index 7b655eb6b7..0000000000
--- a/branches/sca-android/modules/binding-gdata-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory
+++ /dev/null
@@ -1,19 +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.
-
-# Implementation class for the binding extension
-org.apache.tuscany.sca.binding.gdata.provider.GDataBindingProviderFactory;model=org.apache.tuscany.sca.binding.gdata.GDataBinding