summaryrefslogtreecommitdiffstats
path: root/branches/sca-android/modules/binding-gdata
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
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 '')
-rw-r--r--branches/sca-android/modules/binding-gdata-gsoc/LICENSE202
-rw-r--r--branches/sca-android/modules/binding-gdata-gsoc/META-INF/README1
-rw-r--r--branches/sca-android/modules/binding-gdata-gsoc/NOTICE8
-rw-r--r--branches/sca-android/modules/binding-gdata-gsoc/pom.xml79
-rw-r--r--branches/sca-android/modules/binding-gdata-gsoc/src/main/java/org/apache/tuscany/sca/binding/gdata/GdataBinding.java49
-rw-r--r--branches/sca-android/modules/binding-gdata-gsoc/src/main/java/org/apache/tuscany/sca/binding/gdata/GdataBindingFactory.java34
-rw-r--r--branches/sca-android/modules/binding-gdata-gsoc/src/main/java/org/apache/tuscany/sca/binding/gdata/impl/GdataBindingFactoryImpl.java35
-rw-r--r--branches/sca-android/modules/binding-gdata-gsoc/src/main/java/org/apache/tuscany/sca/binding/gdata/impl/GdataBindingImpl.java142
-rw-r--r--branches/sca-android/modules/binding-gdata-gsoc/src/main/java/org/apache/tuscany/sca/binding/gdata/impl/GdataBindingProcessor.java158
-rw-r--r--branches/sca-android/modules/binding-gdata-gsoc/src/main/resources/META-INF/services/org.apache.tuscany.sca.binding.gdata.GdataBindingFactory18
-rw-r--r--branches/sca-android/modules/binding-gdata-gsoc/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor19
-rw-r--r--branches/sca-android/modules/binding-gdata-runtime-gsoc/LICENSE205
-rw-r--r--branches/sca-android/modules/binding-gdata-runtime-gsoc/META-INF/README1
-rw-r--r--branches/sca-android/modules/binding-gdata-runtime-gsoc/NOTICE6
-rw-r--r--branches/sca-android/modules/binding-gdata-runtime-gsoc/pom.xml210
-rw-r--r--branches/sca-android/modules/binding-gdata-runtime-gsoc/src/main/java/org/apache/tuscany/sca/binding/gdata/collection/Collection.java79
-rw-r--r--branches/sca-android/modules/binding-gdata-runtime-gsoc/src/main/java/org/apache/tuscany/sca/binding/gdata/collection/MediaCollection.java54
-rw-r--r--branches/sca-android/modules/binding-gdata-runtime-gsoc/src/main/java/org/apache/tuscany/sca/binding/gdata/collection/NotFoundException.java45
-rw-r--r--branches/sca-android/modules/binding-gdata-runtime-gsoc/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GdataBindingInvoker.java434
-rw-r--r--branches/sca-android/modules/binding-gdata-runtime-gsoc/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GdataBindingListenerServlet.java746
-rw-r--r--branches/sca-android/modules/binding-gdata-runtime-gsoc/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GdataBindingProviderFactory.java82
-rw-r--r--branches/sca-android/modules/binding-gdata-runtime-gsoc/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GdataBindingUtil.java170
-rw-r--r--branches/sca-android/modules/binding-gdata-runtime-gsoc/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GdataReferenceBindingProvider.java232
-rw-r--r--branches/sca-android/modules/binding-gdata-runtime-gsoc/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GdataServiceBindingProvider.java90
-rw-r--r--branches/sca-android/modules/binding-gdata-runtime-gsoc/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory19
-rw-r--r--branches/sca-android/modules/binding-gdata-runtime-gsoc/src/main/resources/tuscany-binding-gdata.xsd36
-rw-r--r--branches/sca-android/modules/binding-gdata-runtime-gsoc/src/test/java/org/apache/tuscany/sca/binding/gdata/Consumer.java60
-rw-r--r--branches/sca-android/modules/binding-gdata-runtime-gsoc/src/test/java/org/apache/tuscany/sca/binding/gdata/ConsumerProviderTestCase.java140
-rw-r--r--branches/sca-android/modules/binding-gdata-runtime-gsoc/src/test/java/org/apache/tuscany/sca/binding/gdata/CustomerClient.java40
-rw-r--r--branches/sca-android/modules/binding-gdata-runtime-gsoc/src/test/java/org/apache/tuscany/sca/binding/gdata/CustomerClientImpl.java123
-rw-r--r--branches/sca-android/modules/binding-gdata-runtime-gsoc/src/test/java/org/apache/tuscany/sca/binding/gdata/CustomerCollectionImpl.java143
-rw-r--r--branches/sca-android/modules/binding-gdata-runtime-gsoc/src/test/java/org/apache/tuscany/sca/binding/gdata/GoogleBloggerServiceTestCase.java149
-rw-r--r--branches/sca-android/modules/binding-gdata-runtime-gsoc/src/test/java/org/apache/tuscany/sca/binding/gdata/GoogleCalendarServiceTestCase.java157
-rw-r--r--branches/sca-android/modules/binding-gdata-runtime-gsoc/src/test/java/org/apache/tuscany/sca/binding/gdata/GoogleContactsServiceTestCase.java152
-rw-r--r--branches/sca-android/modules/binding-gdata-runtime-gsoc/src/test/java/org/apache/tuscany/sca/binding/gdata/Provider.java41
-rw-r--r--branches/sca-android/modules/binding-gdata-runtime-gsoc/src/test/java/org/apache/tuscany/sca/binding/gdata/StartLocalhostServlet.java41
-rw-r--r--branches/sca-android/modules/binding-gdata-runtime-gsoc/src/test/resources/log4j.properties25
-rw-r--r--branches/sca-android/modules/binding-gdata-runtime-gsoc/src/test/resources/org/apache/tuscany/sca/binding/gdata/Consumer.composite32
-rw-r--r--branches/sca-android/modules/binding-gdata-runtime-gsoc/src/test/resources/org/apache/tuscany/sca/binding/gdata/ConsumerGoogleBlogger.composite32
-rw-r--r--branches/sca-android/modules/binding-gdata-runtime-gsoc/src/test/resources/org/apache/tuscany/sca/binding/gdata/ConsumerGoogleCalendar.composite32
-rw-r--r--branches/sca-android/modules/binding-gdata-runtime-gsoc/src/test/resources/org/apache/tuscany/sca/binding/gdata/ConsumerGoogleContacts.composite32
-rw-r--r--branches/sca-android/modules/binding-gdata-runtime-gsoc/src/test/resources/org/apache/tuscany/sca/binding/gdata/Provider.composite33
-rw-r--r--branches/sca-android/modules/binding-gdata-runtime/LICENSE205
-rw-r--r--branches/sca-android/modules/binding-gdata-runtime/META-INF/README1
-rw-r--r--branches/sca-android/modules/binding-gdata-runtime/NOTICE6
-rwxr-xr-xbranches/sca-android/modules/binding-gdata-runtime/deployGdataToMaven.sh7
-rw-r--r--branches/sca-android/modules/binding-gdata-runtime/pom.xml183
-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
-rw-r--r--branches/sca-android/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/calendarconsumer/CalendarConsumer.java121
-rw-r--r--branches/sca-android/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/calendarconsumer/CalendarConsumerImpl.java55
-rw-r--r--branches/sca-android/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/calendarconsumer/CalendarConsumerTest.java203
-rw-r--r--branches/sca-android/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/consumerprovider/Consumer.java36
-rw-r--r--branches/sca-android/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/consumerprovider/CustomerClient.java25
-rw-r--r--branches/sca-android/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/consumerprovider/CustomerClientImpl.java117
-rw-r--r--branches/sca-android/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/consumerprovider/CustomerCollectionImpl.java116
-rw-r--r--branches/sca-android/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/consumerprovider/Provider.java34
-rw-r--r--branches/sca-android/modules/binding-gdata-runtime/src/test/resources/org/apache/tuscany/sca/binding/gdata/CalendarConsumer.composite32
-rw-r--r--branches/sca-android/modules/binding-gdata-runtime/src/test/resources/org/apache/tuscany/sca/binding/gdata/Consumer.composite32
-rw-r--r--branches/sca-android/modules/binding-gdata-runtime/src/test/resources/org/apache/tuscany/sca/binding/gdata/Provider.composite33
-rw-r--r--branches/sca-android/modules/binding-gdata/LICENSE205
-rw-r--r--branches/sca-android/modules/binding-gdata/META-INF/README1
-rw-r--r--branches/sca-android/modules/binding-gdata/NOTICE6
-rw-r--r--branches/sca-android/modules/binding-gdata/pom.xml73
-rw-r--r--branches/sca-android/modules/binding-gdata/src/main/java/org/apache/tuscany/sca/binding/gdata/GDataBinding.java77
-rw-r--r--branches/sca-android/modules/binding-gdata/src/main/java/org/apache/tuscany/sca/binding/gdata/GDataBindingFactory.java35
-rw-r--r--branches/sca-android/modules/binding-gdata/src/main/java/org/apache/tuscany/sca/binding/gdata/GDataImplementationProcessor.java100
-rw-r--r--branches/sca-android/modules/binding-gdata/src/main/java/org/apache/tuscany/sca/binding/gdata/impl/GDataBindingFactoryImpl.java36
-rw-r--r--branches/sca-android/modules/binding-gdata/src/main/java/org/apache/tuscany/sca/binding/gdata/impl/GDataBindingImpl.java137
-rw-r--r--branches/sca-android/modules/binding-gdata/src/main/resources/META-INF/services/org.apache.tuscany.sca.binding.gdata.GDataBindingFactory19
-rw-r--r--branches/sca-android/modules/binding-gdata/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor21
77 files changed, 0 insertions, 7678 deletions
diff --git a/branches/sca-android/modules/binding-gdata-gsoc/LICENSE b/branches/sca-android/modules/binding-gdata-gsoc/LICENSE
deleted file mode 100644
index d645695673..0000000000
--- a/branches/sca-android/modules/binding-gdata-gsoc/LICENSE
+++ /dev/null
@@ -1,202 +0,0 @@
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed 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.
diff --git a/branches/sca-android/modules/binding-gdata-gsoc/META-INF/README b/branches/sca-android/modules/binding-gdata-gsoc/META-INF/README
deleted file mode 100644
index 009570154d..0000000000
--- a/branches/sca-android/modules/binding-gdata-gsoc/META-INF/README
+++ /dev/null
@@ -1 +0,0 @@
-This directory contains a generated MANIFEST.MF file.
diff --git a/branches/sca-android/modules/binding-gdata-gsoc/NOTICE b/branches/sca-android/modules/binding-gdata-gsoc/NOTICE
deleted file mode 100644
index a86f96ba80..0000000000
--- a/branches/sca-android/modules/binding-gdata-gsoc/NOTICE
+++ /dev/null
@@ -1,8 +0,0 @@
-${pom.name}
-Copyright (c) 2005 - 2008 The Apache Software Foundation
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
-
-
diff --git a/branches/sca-android/modules/binding-gdata-gsoc/pom.xml b/branches/sca-android/modules/binding-gdata-gsoc/pom.xml
deleted file mode 100644
index 173dcbe0b8..0000000000
--- a/branches/sca-android/modules/binding-gdata-gsoc/pom.xml
+++ /dev/null
@@ -1,79 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * 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.
--->
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-modules</artifactId>
- <version>1.4-SNAPSHOT</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
-
- <artifactId>tuscany-binding-gdata-gsoc</artifactId>
- <name>Apache Tuscany SCA Gdata Binding Extension</name>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-core-spi</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-assembly-xml</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-assembly</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>4.2</version>
- <scope>test</scope>
- </dependency>
-
- </dependencies>
-
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.felix</groupId>
- <artifactId>maven-bundle-plugin</artifactId>
-
- <configuration>
- <instructions>
- <Bundle-Version>${tuscany.version}</Bundle-Version>
- <Bundle-SymbolicName>org.apache.tuscany.sca.binding.gdata</Bundle-SymbolicName>
- <Bundle-Description>${pom.name}</Bundle-Description>
- <Export-Package>org.apache.tuscany.sca.binding.gdata*</Export-Package>
- </instructions>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
-</project>
diff --git a/branches/sca-android/modules/binding-gdata-gsoc/src/main/java/org/apache/tuscany/sca/binding/gdata/GdataBinding.java b/branches/sca-android/modules/binding-gdata-gsoc/src/main/java/org/apache/tuscany/sca/binding/gdata/GdataBinding.java
deleted file mode 100644
index ab2acef234..0000000000
--- a/branches/sca-android/modules/binding-gdata-gsoc/src/main/java/org/apache/tuscany/sca/binding/gdata/GdataBinding.java
+++ /dev/null
@@ -1,49 +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;
-
-import org.apache.tuscany.sca.assembly.Binding;
-
-/**
- * Gdata binding model.
- *
- * @version $Rev$ $Date$
- */
-public interface GdataBinding extends Binding {
-
- /**
- * Returns the title of the GData collection.
- * @return
- */
- String getTitle();
-
- /**
- * Sets the title of the GData collection.
- * @param title
- */
- void setTitle(String title);
-
- String getUsername();
- String getPassword();
- String getServiceType();
- void setUsername(String username);
- void setPassword(String password);
- void setServiceType(String serviceType);
-}
diff --git a/branches/sca-android/modules/binding-gdata-gsoc/src/main/java/org/apache/tuscany/sca/binding/gdata/GdataBindingFactory.java b/branches/sca-android/modules/binding-gdata-gsoc/src/main/java/org/apache/tuscany/sca/binding/gdata/GdataBindingFactory.java
deleted file mode 100644
index 847bb6956b..0000000000
--- a/branches/sca-android/modules/binding-gdata-gsoc/src/main/java/org/apache/tuscany/sca/binding/gdata/GdataBindingFactory.java
+++ /dev/null
@@ -1,34 +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;
-
-/**
- * Factory for the GData binding
- *
- */
-public interface GdataBindingFactory {
-
- /**
- * Creates a new GData binding.
- * @return the new GData binding
- */
- GdataBinding createGdataBinding();
-
-}
diff --git a/branches/sca-android/modules/binding-gdata-gsoc/src/main/java/org/apache/tuscany/sca/binding/gdata/impl/GdataBindingFactoryImpl.java b/branches/sca-android/modules/binding-gdata-gsoc/src/main/java/org/apache/tuscany/sca/binding/gdata/impl/GdataBindingFactoryImpl.java
deleted file mode 100644
index 656776c358..0000000000
--- a/branches/sca-android/modules/binding-gdata-gsoc/src/main/java/org/apache/tuscany/sca/binding/gdata/impl/GdataBindingFactoryImpl.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.sca.binding.gdata.impl;
-
-import org.apache.tuscany.sca.binding.gdata.GdataBinding;
-import org.apache.tuscany.sca.binding.gdata.GdataBindingFactory;
-
-/**
- * Factory for the GData binding model.
- *
- */
-public class GdataBindingFactoryImpl implements GdataBindingFactory {
-
- public GdataBinding createGdataBinding() {
- return new GdataBindingImpl();
- }
-
-}
diff --git a/branches/sca-android/modules/binding-gdata-gsoc/src/main/java/org/apache/tuscany/sca/binding/gdata/impl/GdataBindingImpl.java b/branches/sca-android/modules/binding-gdata-gsoc/src/main/java/org/apache/tuscany/sca/binding/gdata/impl/GdataBindingImpl.java
deleted file mode 100644
index c389bacdc9..0000000000
--- a/branches/sca-android/modules/binding-gdata-gsoc/src/main/java/org/apache/tuscany/sca/binding/gdata/impl/GdataBindingImpl.java
+++ /dev/null
@@ -1,142 +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.impl;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.tuscany.sca.assembly.Binding;
-import org.apache.tuscany.sca.assembly.Component;
-import org.apache.tuscany.sca.assembly.ComponentService;
-import org.apache.tuscany.sca.assembly.OptimizableBinding;
-import org.apache.tuscany.sca.binding.gdata.GdataBinding;
-import org.apache.tuscany.sca.policy.Intent;
-import org.apache.tuscany.sca.policy.IntentAttachPointType;
-import org.apache.tuscany.sca.policy.PolicySet;
-import org.apache.tuscany.sca.policy.PolicySetAttachPoint;
-
-/**
- * Implementation of the GData binding model.
- *
- */
-class GdataBindingImpl implements GdataBinding, PolicySetAttachPoint {
-
- private String name;
- private String uri;
- private String title;
- private String username;
- private String password;
- private String serviceType;
- private List<Intent> requiredIntents = new ArrayList<Intent>();
- private List<PolicySet> policySets = new ArrayList<PolicySet>();
- private IntentAttachPointType intentAttachPointType;
- private List<PolicySet> applicablePolicySets = new ArrayList<PolicySet>();
-
- public List<PolicySet> getApplicablePolicySets() {
- return applicablePolicySets;
- }
-
- public String getName() {
- return name;
- }
-
- public String getURI() {
- return uri;
- }
-
- public String getUsername(){
- return username;
- }
-
- public String getPassword(){
- return password;
- }
-
- public String getServiceType(){
- return serviceType;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- public void setURI(String uri) {
- this.uri = uri;
- }
-
- public void setUsername(String username) {
- this.username = username;
- }
-
- public void setPassword(String password) {
- this.password = password;
- }
-
- public void setServiceType(String serviceType) {
- this.serviceType = serviceType;
- }
-
-
- public String getTitle() {
- return title;
- }
-
- public void setTitle(String title) {
- this.title = title;
- }
-
- public boolean isUnresolved() {
- // The binding is always resolved
- return false;
- }
-
- public void setUnresolved(boolean unresolved) {
- // The binding is always resolved
- }
-
- public List<PolicySet> getPolicySets() {
- return policySets;
- }
-
- public List<Intent> getRequiredIntents() {
- return requiredIntents;
- }
-
- public IntentAttachPointType getType() {
- return intentAttachPointType;
- }
-
- public void setType(IntentAttachPointType intentAttachPointType) {
- this.intentAttachPointType = intentAttachPointType;
- }
-
- public void setPolicySets(List<PolicySet> policySets) {
- this.policySets = policySets;
- }
-
- public void setRequiredIntents(List<Intent> intents) {
- this.requiredIntents = intents;
- }
-
- @Override
- public Object clone() throws CloneNotSupportedException {
- return super.clone();
- }
-}
diff --git a/branches/sca-android/modules/binding-gdata-gsoc/src/main/java/org/apache/tuscany/sca/binding/gdata/impl/GdataBindingProcessor.java b/branches/sca-android/modules/binding-gdata-gsoc/src/main/java/org/apache/tuscany/sca/binding/gdata/impl/GdataBindingProcessor.java
deleted file mode 100644
index 1cd0f72a93..0000000000
--- a/branches/sca-android/modules/binding-gdata-gsoc/src/main/java/org/apache/tuscany/sca/binding/gdata/impl/GdataBindingProcessor.java
+++ /dev/null
@@ -1,158 +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.impl;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-import javax.xml.stream.XMLStreamWriter;
-
-//import org.apache.tuscany.sca.assembly.xml.PolicyAttachPointProcessor;
-import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint;
-import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor;
-import org.apache.tuscany.sca.contribution.resolver.ModelResolver;
-import org.apache.tuscany.sca.contribution.service.ContributionReadException;
-import org.apache.tuscany.sca.contribution.service.ContributionResolveException;
-import org.apache.tuscany.sca.contribution.service.ContributionWriteException;
-import org.apache.tuscany.sca.policy.Intent;
-import org.apache.tuscany.sca.policy.PolicySet;
-import org.apache.tuscany.sca.policy.PolicySetAttachPoint;
-import org.apache.tuscany.sca.policy.IntentAttachPointType;
-import org.apache.tuscany.sca.policy.impl.IntentAttachPointTypeFactoryImpl;
-
-import org.apache.tuscany.sca.binding.gdata.GdataBinding;
-import org.apache.tuscany.sca.binding.gdata.GdataBindingFactory;
-
-/**
- * A processor for <binding.gdata> elements.
- */
-public class GdataBindingProcessor implements StAXArtifactProcessor<GdataBinding> {
-
- private QName BINDING_GDATA = new QName("http://tuscany.apache.org/xmlns/sca/1.0", "binding.gdata");
-
- private final GdataBindingFactory factory;
-
- //private PolicyAttachPointProcessor policyProcessor;
-
- public GdataBindingProcessor(ModelFactoryExtensionPoint modelFactories) {
- this.factory = modelFactories.getFactory(GdataBindingFactory.class);
- System.out.println("[Debug Info]GdataBindingProcessor reached");
- //this.policyProcessor = new PolicyAttachPointProcessor(policyFactory);
- }
-
- public QName getArtifactType() {
- return BINDING_GDATA;
- }
-
- public Class<GdataBinding> getModelType() {
- return GdataBinding.class;
- }
-
- public GdataBinding read(XMLStreamReader reader) throws ContributionReadException, XMLStreamException {
- GdataBinding gdataBinding = factory.createGdataBinding();
- IntentAttachPointType bindingType = new IntentAttachPointTypeFactoryImpl().createBindingType();
- bindingType.setName(getArtifactType());
- bindingType.setUnresolved(true);
- ((PolicySetAttachPoint)gdataBinding).setType(bindingType);
-
- String name = reader.getAttributeValue(null, "name");
- if (name != null) {
- gdataBinding.setName(name);
- }
-
- String uri = reader.getAttributeValue(null, "uri");
- if (uri != null) {
- gdataBinding.setURI(uri);
- }
-
- String serviceType = reader.getAttributeValue(null, "serviceType");
- if (serviceType != null) {
- gdataBinding.setServiceType(serviceType);
- }
-
- String username = reader.getAttributeValue(null, "username");
- if (username != null) {
- gdataBinding.setUsername(username);
- }
-
- String password = reader.getAttributeValue(null, "password");
- if (password != null) {
- gdataBinding.setPassword(password);
- }
-
- //policyProcessor.readPolicies(echoBinding, reader);
-
- return gdataBinding;
- }
-
- public void write(GdataBinding gdataBinding, XMLStreamWriter writer) throws ContributionWriteException, XMLStreamException {
-
- //policyProcessor.writePolicyPrefixes(gdataBinding, writer);
- writer.writeStartElement(BINDING_GDATA.getNamespaceURI(), BINDING_GDATA.getLocalPart());
- //policyProcessor.writePolicyAttributes(gdataBinding, writer);
-
- if (gdataBinding.getName() != null) {
- writer.writeAttribute("name", gdataBinding.getName());
- }
-
- if (gdataBinding.getURI() != null) {
- writer.writeAttribute("uri", gdataBinding.getURI());
- }
-
- if (gdataBinding.getServiceType() != null) {
- writer.writeAttribute("serviceType", gdataBinding.getServiceType());
- }
-
- if (gdataBinding.getUsername() != null) {
- writer.writeAttribute("username", gdataBinding.getUsername());
- }
-
- if (gdataBinding.getPassword() != null) {
- writer.writeAttribute("password", gdataBinding.getPassword());
- }
-
- writer.writeEndElement();
- }
-
-
- //FIXME: Resolve the attached policySet, might not needed (the echo binding implementation example)
- public void resolve(GdataBinding gdataBinding, ModelResolver resolver) throws ContributionResolveException {
- PolicySetAttachPoint policySetAttachPoint = (PolicySetAttachPoint)gdataBinding;
- List<Intent> requiredIntents = new ArrayList<Intent>();
- Intent resolvedIntent = null;
- for ( Intent intent : policySetAttachPoint.getRequiredIntents() ) {
- resolvedIntent = resolver.resolveModel(Intent.class, intent);
- requiredIntents.add(resolvedIntent);
- }
- policySetAttachPoint.getRequiredIntents().clear();
- policySetAttachPoint.getRequiredIntents().addAll(requiredIntents);
-
- List<PolicySet> resolvedPolicySets = new ArrayList<PolicySet>();
- PolicySet resolvedPolicySet = null;
- for ( PolicySet policySet : policySetAttachPoint.getPolicySets() ) {
- resolvedPolicySet = resolver.resolveModel(PolicySet.class, policySet);
- resolvedPolicySets.add(resolvedPolicySet);
- }
- policySetAttachPoint.getPolicySets().clear();
- policySetAttachPoint.getPolicySets().addAll(resolvedPolicySets);
- }
-}
diff --git a/branches/sca-android/modules/binding-gdata-gsoc/src/main/resources/META-INF/services/org.apache.tuscany.sca.binding.gdata.GdataBindingFactory b/branches/sca-android/modules/binding-gdata-gsoc/src/main/resources/META-INF/services/org.apache.tuscany.sca.binding.gdata.GdataBindingFactory
deleted file mode 100644
index 21688a62a6..0000000000
--- a/branches/sca-android/modules/binding-gdata-gsoc/src/main/resources/META-INF/services/org.apache.tuscany.sca.binding.gdata.GdataBindingFactory
+++ /dev/null
@@ -1,18 +0,0 @@
-# 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 model factory
-org.apache.tuscany.sca.binding.gdata.impl.GdataBindingFactoryImpl \ No newline at end of file
diff --git a/branches/sca-android/modules/binding-gdata-gsoc/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor b/branches/sca-android/modules/binding-gdata-gsoc/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor
deleted file mode 100644
index 4e71818f7b..0000000000
--- a/branches/sca-android/modules/binding-gdata-gsoc/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor
+++ /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 artifact processor extension
-org.apache.tuscany.sca.binding.gdata.impl.GdataBindingProcessor;qname=http://tuscany.apache.org/xmlns/sca/1.0#binding.gdata,model=org.apache.tuscany.sca.binding.gdata.GdataBinding,factory=org.apache.tuscany.sca.binding.gdata.GdataBindingFactory \ No newline at end of file
diff --git a/branches/sca-android/modules/binding-gdata-runtime-gsoc/LICENSE b/branches/sca-android/modules/binding-gdata-runtime-gsoc/LICENSE
deleted file mode 100644
index 8aa906c321..0000000000
--- a/branches/sca-android/modules/binding-gdata-runtime-gsoc/LICENSE
+++ /dev/null
@@ -1,205 +0,0 @@
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed 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.
-
-
-
diff --git a/branches/sca-android/modules/binding-gdata-runtime-gsoc/META-INF/README b/branches/sca-android/modules/binding-gdata-runtime-gsoc/META-INF/README
deleted file mode 100644
index 009570154d..0000000000
--- a/branches/sca-android/modules/binding-gdata-runtime-gsoc/META-INF/README
+++ /dev/null
@@ -1 +0,0 @@
-This directory contains a generated MANIFEST.MF file.
diff --git a/branches/sca-android/modules/binding-gdata-runtime-gsoc/NOTICE b/branches/sca-android/modules/binding-gdata-runtime-gsoc/NOTICE
deleted file mode 100644
index fdfa0e9faa..0000000000
--- a/branches/sca-android/modules/binding-gdata-runtime-gsoc/NOTICE
+++ /dev/null
@@ -1,6 +0,0 @@
-${pom.name}
-Copyright (c) 2005 - 2008 The Apache Software Foundation
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
diff --git a/branches/sca-android/modules/binding-gdata-runtime-gsoc/pom.xml b/branches/sca-android/modules/binding-gdata-runtime-gsoc/pom.xml
deleted file mode 100644
index 2f216faa55..0000000000
--- a/branches/sca-android/modules/binding-gdata-runtime-gsoc/pom.xml
+++ /dev/null
@@ -1,210 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * 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.
--->
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-modules</artifactId>
- <version>1.4-SNAPSHOT</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
-
- <artifactId>tuscany-binding-gdata-runtime-gsoc</artifactId>
- <name>Apache Tuscany SCA Gdata Binding Extension Runtime GSOC</name>
-
- <repositories>
- <repository>
- <id>com.google.gdata</id>
- <url>http://people.apache.org/~lresende/google-gdata/maven/</url>
- </repository>
- </repositories>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-binding-gdata-gsoc</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-assembly</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-interface-java</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-data-api</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-core-spi</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-databinding</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-host-http</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.abdera</groupId>
- <artifactId>abdera-core</artifactId>
- <version>0.4.0-incubating</version>
- </dependency>
-
- <dependency>
- <groupId>commons-httpclient</groupId>
- <artifactId>commons-httpclient</artifactId>
- <version>3.0.1</version>
- </dependency>
-
- <dependency>
- <groupId>com.google.gdata</groupId>
- <artifactId>gdata-client</artifactId>
- <version>1.0</version>
- </dependency>
-
- <dependency>
- <groupId>com.google.gdata</groupId>
- <artifactId>gdata-client-meta</artifactId>
- <version>1.0</version>
- </dependency>
-
- <dependency>
- <groupId>com.google.gdata</groupId>
- <artifactId>gdata-core</artifactId>
- <version>1.0</version>
- </dependency>
-
- <dependency>
- <groupId>com.google.gdata</groupId>
- <artifactId>gdata-media</artifactId>
- <version>1.0</version>
- </dependency>
-
- <dependency>
- <groupId>javax.servlet</groupId>
- <artifactId>servlet-api</artifactId>
- <version>2.4</version>
- <scope>provided</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-host-jetty</artifactId>
- <version>1.4-SNAPSHOT</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-implementation-java-runtime</artifactId>
- <version>1.4-SNAPSHOT</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-host-embedded</artifactId>
- <version>1.4-SNAPSHOT</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>4.2</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>commons-codec</groupId>
- <artifactId>commons-codec</artifactId>
- <version>1.3</version>
- <exclusions>
- <exclusion>
- <groupId>commons-codec</groupId>
- <artifactId>commons-codec</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
-
- <dependency>
- <groupId>commons-logging</groupId>
- <artifactId>commons-logging</artifactId>
- <version>1.1</version>
- <exclusions>
- <exclusion>
- <groupId>javax.servlet</groupId>
- <artifactId>servlet-api</artifactId>
- </exclusion>
- <exclusion>
- <groupId>avalon-framework</groupId>
- <artifactId>avalon-framework</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
-
- </dependencies>
-
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.felix</groupId>
- <artifactId>maven-bundle-plugin</artifactId>
-
- <configuration>
- <instructions>
- <Bundle-Version>
- ${tuscany.version}
- </Bundle-Version>
- <Bundle-SymbolicName>
- org.apache.tuscany.sca.binding.gdata.extension
- </Bundle-SymbolicName>
- <Bundle-Description>
- ${pom.name}
- </Bundle-Description>
- <Export-Package>
- org.apache.tuscany.sca.binding.gdata*
- </Export-Package>
- </instructions>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
-</project>
diff --git a/branches/sca-android/modules/binding-gdata-runtime-gsoc/src/main/java/org/apache/tuscany/sca/binding/gdata/collection/Collection.java b/branches/sca-android/modules/binding-gdata-runtime-gsoc/src/main/java/org/apache/tuscany/sca/binding/gdata/collection/Collection.java
deleted file mode 100644
index 5400e0b90f..0000000000
--- a/branches/sca-android/modules/binding-gdata-runtime-gsoc/src/main/java/org/apache/tuscany/sca/binding/gdata/collection/Collection.java
+++ /dev/null
@@ -1,79 +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.client.Query;
-import com.google.gdata.data.Entry;
-import com.google.gdata.data.Feed;
-import org.osoa.sca.annotations.Remotable;
-
-/**
- * Provides access to a collection of resources using Gdata.
- */
-@Remotable
-public interface Collection {
-
- /**
- * Get a GData feed for a collection of resources.
- *
- * @return the GData feed
- */
- Feed getFeed();
-
- /**
- * Get a GData feed for a collection of resources resulting from a query.
- *
- * @param queryString a query string
- * @return the GData feed
- */
- Feed query(Query query);
-
- /**
- * Creates a new entry.
- *
- * @param entry
- * @return
- */
- Entry post(Entry entry);
-
- /**
- * Retrieves an entry.
- *
- * @param id
- * @return
- */
- Entry get(String id) throws NotFoundException;
-
- /**
- * Update an entry.
- *
- * @param id
- * @param entry
- * @return
- */
- void put(String id, Entry entry) throws NotFoundException;
-
- /**
- * Delete an entry.
- *
- * @param id
- */
- void delete(String id) throws NotFoundException;
-
-}
diff --git a/branches/sca-android/modules/binding-gdata-runtime-gsoc/src/main/java/org/apache/tuscany/sca/binding/gdata/collection/MediaCollection.java b/branches/sca-android/modules/binding-gdata-runtime-gsoc/src/main/java/org/apache/tuscany/sca/binding/gdata/collection/MediaCollection.java
deleted file mode 100644
index 31e16e5f56..0000000000
--- a/branches/sca-android/modules/binding-gdata-runtime-gsoc/src/main/java/org/apache/tuscany/sca/binding/gdata/collection/MediaCollection.java
+++ /dev/null
@@ -1,54 +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 java.io.InputStream;
-
-import org.osoa.sca.annotations.Remotable; // import
- // org.apache.abdera.model.Entry;
-
-import com.google.gdata.data.Entry;
-
-/**
- * Provides access to a collection of resources using Atom.
- */
-@Remotable
-public interface MediaCollection extends Collection {
-
- /**
- * Creates a new media entry
- *
- * @param title
- * @param slug
- * @param contentType
- * @param media
- */
- Entry 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-gsoc/src/main/java/org/apache/tuscany/sca/binding/gdata/collection/NotFoundException.java b/branches/sca-android/modules/binding-gdata-runtime-gsoc/src/main/java/org/apache/tuscany/sca/binding/gdata/collection/NotFoundException.java
deleted file mode 100644
index 4fc32d4d37..0000000000
--- a/branches/sca-android/modules/binding-gdata-runtime-gsoc/src/main/java/org/apache/tuscany/sca/binding/gdata/collection/NotFoundException.java
+++ /dev/null
@@ -1,45 +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;
-
-/**
- * Indicates that a resource could not be found.
- *
- * @version $Rev$ $Date$
- */
-public class NotFoundException extends Exception {
- private static final long serialVersionUID = -5046027674128627383L;
-
- public NotFoundException() {
- }
-
- public NotFoundException(String message) {
- super(message);
- }
-
- public NotFoundException(Throwable cause) {
- super(cause);
- }
-
- public NotFoundException(String message, Throwable cause) {
- super(message, cause);
- }
-
-}
diff --git a/branches/sca-android/modules/binding-gdata-runtime-gsoc/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GdataBindingInvoker.java b/branches/sca-android/modules/binding-gdata-runtime-gsoc/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GdataBindingInvoker.java
deleted file mode 100644
index 859318a306..0000000000
--- a/branches/sca-android/modules/binding-gdata-runtime-gsoc/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GdataBindingInvoker.java
+++ /dev/null
@@ -1,434 +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 static org.apache.tuscany.sca.binding.gdata.provider.GdataBindingUtil.entry;
-import static org.apache.tuscany.sca.binding.gdata.provider.GdataBindingUtil.feedEntry;
-
-import java.io.IOException;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.List;
-
-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.PutMethod;
-import org.apache.tuscany.sca.binding.gdata.collection.NotFoundException;
-import org.apache.tuscany.sca.data.collection.Entry;
-import org.apache.tuscany.sca.interfacedef.Operation;
-import org.apache.tuscany.sca.invocation.DataExchangeSemantics;
-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.Feed;
-import com.google.gdata.util.ResourceNotFoundException;
-import com.google.gdata.util.ServiceException;
-
-/**
- * Invoker for the GData binding.
- */
-class GdataBindingInvoker implements Invoker, DataExchangeSemantics {
-
- Operation operation;
- String uri;
- HttpClient httpClient;
- String authorizationHeader;
- GdataReferenceBindingProvider provider;
- GoogleService googleService;
-
- GdataBindingInvoker(Operation operation,
- String uri,
- GoogleService googleService,
- HttpClient httpClient,
- String authorizationHeader,
- GdataReferenceBindingProvider bindingProvider) {
- this.operation = operation;
- this.uri = uri;
- this.googleService = googleService;
- this.httpClient = httpClient;
- this.authorizationHeader = authorizationHeader;
- this.provider = bindingProvider;
-
- }
-
- 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,
- String uri,
- GoogleService googleService,
- HttpClient httpClient,
- String authorizationHeader,
- GdataReferenceBindingProvider bindingProvider) {
- super(operation, uri, googleService, httpClient, authorizationHeader, bindingProvider);
- }
-
- @SuppressWarnings("finally")
- @Override
- public Message invoke(Message msg) {
-
- // Get the entry id from the message body
- String id = (String)((Object[])msg.getBody())[0];
-
- // Send an HTTP GET
- GetMethod getMethod = new GetMethod(uri + "/" + id);
- getMethod.setRequestHeader("Authorization", authorizationHeader);
-
- try {
- URL entryURL = new URL(uri + "/" + id);
- com.google.gdata.data.Entry feedEntry = googleService.getEntry(entryURL, com.google.gdata.data.Entry.class);
- msg.setBody(feedEntry);
- } catch (IOException ex) {
- msg.setFaultBody(new ServiceRuntimeException(ex));
- } catch (ServiceException ex) {
- msg.setFaultBody(new ServiceRuntimeException(ex));
- } finally {
- return msg;
- }
-
- }
- }
-
- /**
- * Post operation invoker
- */
- public static class PostInvoker extends GdataBindingInvoker {
-
- public PostInvoker(Operation operation,
- String uri,
- GoogleService googleService,
- HttpClient httpClient,
- String authorizationHeader,
- GdataReferenceBindingProvider bindingProvider) {
- super(operation, uri, googleService, httpClient, authorizationHeader, bindingProvider);
- }
-
- @SuppressWarnings("finally")
- @Override
- public Message invoke(Message msg) {
-
- System.out.println("[Debug Info]GdataBindingInvoker.PostInvoker --- invoke method reached");
- // Post an entry
- Object[] args = (Object[])msg.getBody();
- com.google.gdata.data.Entry feedEntry = null;
-
- if (provider.supportsFeedEntries()) {
-
- // Expect an GData entry
-
- System.out.println("[Debug Info]GdataBindingInvoker.PostInvoker --- supportsFeedEntries: " + provider
- .supportsFeedEntries());
- feedEntry = (com.google.gdata.data.Entry)args[0];
-
- System.out.println("[Debug Info]GdataBindingInvoker.PostInvoker --- feedEntry title: " + feedEntry
- .getTitle().getPlainText());
-
- } else {
- // Expect a key and data item
- Entry<Object, Object> entry = new Entry<Object, Object>(args[0], args[1]);
-
- // FIXME: this needs to be examinated more....
- feedEntry =
- feedEntry(entry, provider.getItemClassType(), provider.getItemXMLType(), provider.getMediator());
- }
-
-
- try {
-
- com.google.gdata.data.Entry createdEntry = googleService.insert(new URL(uri), feedEntry);
-
- msg.setBody(createdEntry);
-
- } catch (IOException ex) {
- msg.setFaultBody(new ServiceRuntimeException(ex));
- } catch (ServiceException ex) {
- msg.setFaultBody(new ServiceRuntimeException(ex));
- } finally {
- return msg;
- }
- }
- }
-
-
-
- /**
- * Put operation invoker
- */
- public static class PutInvoker extends GdataBindingInvoker {
-
- public PutInvoker(Operation operation,
- String uri,
- GoogleService googleService,
- HttpClient httpClient,
- String authorizationHeader,
- GdataReferenceBindingProvider bindingProvider) {
- super(operation, uri, googleService, httpClient, authorizationHeader, bindingProvider);
- }
-
- @SuppressWarnings("finally")
- @Override
- public Message invoke(Message msg) {
-
- // Put an entry
- Object[] args = (Object[])msg.getBody();
- String id;
- com.google.gdata.data.Entry feedEntry = null;
- if (provider.supportsFeedEntries()) {
- // Expect a key and GData entry
- id = (String)args[0];
- feedEntry = (com.google.gdata.data.Entry)args[1];
- } else {
-
- // Expect a key and data item
- id = (String)args[0];
- Entry<Object, Object> entry = new Entry<Object, Object>(id, args[1]);
-
- // FIXME: The following statement needs to be modified
- // accordingly
- /*
- * feedEntry = feedEntry(entry, provider.getItemClassType(),
- * provider.getItemXMLType(), provider.getMediator(),
- * abderaFactory);
- */
- }
-
- // Send an HTTP PUT <Localhost>
- PutMethod putMethod = new PutMethod(uri + "/" + id);
- putMethod.setRequestHeader("Authorization", authorizationHeader);
- try {
- URL entryURL = new URL(uri + "/" + id);
-
- com.google.gdata.data.Entry toUpdateEntry = googleService.getEntry(entryURL, com.google.gdata.data.Entry.class);
-
- System.out.println("EditHtml:" + toUpdateEntry.getEditLink().getHref());
-
- URL editURL = new URL(toUpdateEntry.getEditLink().getHref());
-
- com.google.gdata.data.Entry updatedEntry = googleService.update(editURL, feedEntry);
-
- msg.setBody(updatedEntry);
-
- } catch (IOException ex) {
- msg.setFaultBody(new ServiceRuntimeException(ex));
- } catch (ServiceException ex) {
- msg.setFaultBody(new ServiceRuntimeException(ex));
- } finally {
- return msg;
- } }
- }
-
- /**
- * Delete operation invoker
- */
- public static class DeleteInvoker extends GdataBindingInvoker {
-
- public DeleteInvoker(Operation operation,
- String uri,
- GoogleService googleService,
- HttpClient httpClient,
- String authorizationHeader,
- GdataReferenceBindingProvider bindingProvider) {
- super(operation, uri, googleService, httpClient, authorizationHeader, bindingProvider);
- }
-
- @SuppressWarnings("finally")
- @Override
- public Message invoke(Message msg) {
-
- // Delete an entry
- String id = (String)((Object[])msg.getBody())[0];
-
- // Send an HTTP DELETE(Localhost)
- DeleteMethod deleteMethod = new DeleteMethod(uri + "/" + id);
- deleteMethod.setRequestHeader("Authorization", authorizationHeader);
-
- try {
- URL entryURL = new URL(uri + "/" + id);
-
- com.google.gdata.data.Entry toUpdateEntry = googleService.getEntry(entryURL, com.google.gdata.data.Entry.class);
-
- System.out.println("EditHtml:" + toUpdateEntry.getEditLink().getHref());
-
- URL editURL = new URL(toUpdateEntry.getEditLink().getHref());
-
- googleService.delete(editURL);
-
- } catch (IOException ex) {
- msg.setFaultBody(new ServiceRuntimeException(ex));
- } catch (ServiceException ex) {
- msg.setFaultBody(new ServiceRuntimeException(ex));
- } finally {
- return msg;
- }
- }
-
- }
-
-
- /**
- * GetAll operation invoker
- */
- public static class GetAllInvoker extends GdataBindingInvoker {
-
- public GetAllInvoker(Operation operation,
- String uri,
- GoogleService googleService,
- HttpClient httpClient,
- String authorizationHeader,
- GdataReferenceBindingProvider bindingProvider) {
- super(operation, uri, googleService, httpClient, authorizationHeader, bindingProvider);
- }
-
- @SuppressWarnings("finally")
- @Override
- public Message invoke(Message msg) {
-
- // Send an HTTP GET
- GetMethod getMethod = new GetMethod(uri);
- getMethod.setRequestHeader("Authorization", authorizationHeader);
-
- System.out.println("[Debug Info] GdataBindingInvoker.GetAllInvoker.invoke---feedURL: " + uri);
-
- try {
-
- Feed feed = googleService.getFeed(new URL(uri), Feed.class);
- msg.setBody(feed);
-
- } catch (ResourceNotFoundException ex) {
- msg.setFaultBody(new ResourceNotFoundException("Invalid Resource at " + uri));
- } catch (ServiceException ex) {
- msg.setFaultBody(new ServiceRuntimeException(ex));
- } catch (Exception ex) {
- msg.setFaultBody(new ServiceRuntimeException(ex));
- } finally {
- return msg;
- }
-
- }
- }
-
- /**
- * Query operation invoker
- */
- public static class QueryInvoker extends GdataBindingInvoker {
-
- public QueryInvoker(Operation operation,
- String uri,
- GoogleService googleService,
- HttpClient httpClient,
- String authorizationHeader,
- GdataReferenceBindingProvider bindingProvider) {
- super(operation, uri, googleService, httpClient, authorizationHeader, bindingProvider);
- }
-
- @SuppressWarnings("finally")
- @Override
- public Message invoke(Message msg) {
-
- // Send an HTTP GET
- GetMethod getMethod = new GetMethod(uri);
- getMethod.setRequestHeader("Authorization", authorizationHeader);
-
- Object[] args = (Object[])msg.getBody();
- Query myQuery = (Query)args[0];
-
- System.out.println("[Debug Info] GdataBindingInvoker.QueryInvoker.invoke---feedURL: " + uri);
-
- try {
-
- Feed resultFeed = googleService.query(myQuery, Feed.class);
- msg.setBody(resultFeed);
-
- } catch (ResourceNotFoundException ex) {
- msg.setFaultBody(new ResourceNotFoundException("Invalid Resource at " + uri));
- } catch (ServiceException ex) {
- msg.setFaultBody(new ServiceRuntimeException(ex));
- } catch (Exception ex) {
- msg.setFaultBody(new ServiceRuntimeException(ex));
- } finally {
- return msg;
- }
-
-
- }
- }
-
-
-
- /**
- * PostMedia operation invoker
- */
- public static class PostMediaInvoker extends GdataBindingInvoker {
-
- public PostMediaInvoker(Operation operation,
- String uri,
- GoogleService googleService,
- HttpClient httpClient,
- String authorizationHeader,
- GdataReferenceBindingProvider bindingProvider) {
- super(operation, uri, googleService, httpClient, authorizationHeader, bindingProvider);
- }
-
- @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,
- String uri,
- GoogleService googleService,
- HttpClient httpClient,
- String authorizationHeader,
- GdataReferenceBindingProvider bindingProvider) {
- super(operation, uri, googleService, httpClient, authorizationHeader, bindingProvider);
- }
-
- @Override
- public Message invoke(Message msg) {
- // TODO implement
- return super.invoke(msg);
- }
- }
-
- public boolean allowsPassByReference() {
- // TODO Auto-generated method stub
- return true;
- }
-
-}
diff --git a/branches/sca-android/modules/binding-gdata-runtime-gsoc/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GdataBindingListenerServlet.java b/branches/sca-android/modules/binding-gdata-runtime-gsoc/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GdataBindingListenerServlet.java
deleted file mode 100644
index c09c1f7788..0000000000
--- a/branches/sca-android/modules/binding-gdata-runtime-gsoc/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GdataBindingListenerServlet.java
+++ /dev/null
@@ -1,746 +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 static org.apache.tuscany.sca.binding.gdata.provider.GdataBindingUtil.entry;
-import static org.apache.tuscany.sca.binding.gdata.provider.GdataBindingUtil.feedEntry;
-
-import java.io.IOException;
-import java.io.OutputStreamWriter;
-import java.io.PrintWriter;
-import java.io.StringWriter;
-import java.io.UnsupportedEncodingException;
-import java.io.Writer;
-import java.net.URLDecoder;
-import java.util.ArrayList;
-import java.util.StringTokenizer;
-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 javax.xml.namespace.QName;
-
-import org.apache.abdera.parser.ParseException;
-
-import org.apache.commons.codec.binary.Base64;
-import org.apache.tuscany.sca.data.collection.Entry;
-import org.apache.tuscany.sca.databinding.Mediator;
-import org.apache.tuscany.sca.interfacedef.DataType;
-import org.apache.tuscany.sca.interfacedef.Operation;
-import org.apache.tuscany.sca.interfacedef.impl.DataTypeImpl;
-import org.apache.tuscany.sca.interfacedef.util.XMLType;
-import org.apache.tuscany.sca.invocation.InvocationChain;
-import org.apache.tuscany.sca.invocation.Invoker;
-import org.apache.tuscany.sca.invocation.Message;
-import org.apache.tuscany.sca.invocation.MessageFactory;
-import org.apache.tuscany.sca.runtime.RuntimeWire;
-
-import com.google.gdata.data.ExtensionProfile;
-import com.google.gdata.data.ParseSource;
-import com.google.gdata.data.PlainTextConstruct;
-import com.google.gdata.util.ServiceException;
-
-/**
- * A resource collection binding listener, implemented as a Servlet and
- * registered in a Servlet host provided by the SCA hosting runtime.
- */
-class GdataBindingListenerServlet extends HttpServlet {
- private static final Logger logger = Logger.getLogger(GdataBindingListenerServlet.class.getName());
- private static final long serialVersionUID = 1L;
-
- private RuntimeWire wire;
- private Invoker getFeedInvoker;
- private Invoker getAllInvoker;
- 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;
-
- /**
- * Constructs a new binding listener.
- *
- * @param wire
- * @param messageFactory
- * @param feedType
- */
- 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")) {
-
- //System.out.println("[Debug Info]GdataBindingListenerServlet constructor --- operation: getFeed");
- getFeedInvoker = invocationChain.getHeadInvoker();
-
- } else if (operationName.equals("getAll")) {
-
- getAllInvoker = invocationChain.getHeadInvoker();
-
- } else if (operationName.equals("query")) {
-
- queryInvoker = invocationChain.getHeadInvoker();
-
- } else if (operationName.equals("get")) {
-
- //System.out.println("[Debug Info]GdataBindingListenerServlet Constructor --- opeartion: 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")) {
-
- //System.out.println("[Debug Info]GdataBindingListenerServlet Constructor --- opeartion: post");
- postInvoker = invocationChain.getHeadInvoker();
-
- } else if (operationName.equals("postMedia")) {
- postMediaInvoker = invocationChain.getHeadInvoker();
- } else if (operationName.equals("delete")) {
- deleteInvoker = invocationChain.getHeadInvoker();
- }
- }
-
- //System.out.println("[Debug Info]GdataBindingListenerServlet constructor --- I am good here 00");
-
- // Determine the collection item type
- itemXMLType = new DataTypeImpl<Class<?>>(String.class.getName(), String.class, String.class);
- Class<?> itemClass = getOperation.getOutputType().getPhysical();
-
- if (itemClass == com.google.gdata.data.Entry.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));
-
- System.out.println("[Debug Info]GdataBindingListenerServlet --- initilized!");
- }
-
-
- @Override
- protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
-
- // No authentication required for a get request
- System.out.println("[Debug Info]GdataBindingListenerServlet doGet() --- I am good here 00");
-
- // Get the request path
- String path = URLDecoder.decode(request.getRequestURI().substring(request.getServletPath().length()), "UTF-8");
-
- System.out.println("[Debug Info]GdataBindingListenerServlet doGet() --- request.getRequestURI(): " + request
- .getRequestURI());
- System.out.println("[Debug Info]GdataBindingListenerServlet doGet()--- path: " + path);
-
- // FIXME: Log this get http request, commented out for testing
- logger.fine("get " + request.getRequestURI());
-
- // Handle an Atom request
- if (path != null && path.equals("/atomsvc")) {
-
- //FIXME: This needs to be fixed, for /atomsvc
-
- /*
- System.out.println("GdataBindingListenerServlet doGet(): I am good here brach 01");
- // Return the Atom service document
- response.setContentType("application/atomsvc+xml; charset=utf-8");
- Service service = abderaFactory.newService();
- // service.setText("service");
-
- Workspace workspace = abderaFactory.newWorkspace();
- workspace.setTitle("resource");
-
- String href = request.getRequestURL().toString();
- href = href.substring(0, href.length() - "/atomsvc".length());
-
- Collection collection = workspace.addCollection("collection", "atom/feed");
- collection.setTitle("entries");
- collection.setAttributeValue("href", href);
- collection.setAccept("entry");
- collection.addCategories().setFixed(false);
-
- workspace.addCollection(collection);
-
- service.addWorkspace(workspace);
-
- // FIXME add prettyPrint support
- try {
- service.getDocument().writeTo(response.getOutputStream());
- } catch (IOException ioe) {
- throw new ServletException(ioe);
- }
- */
-
- } else if (path == null || path.length() == 0 || path.equals("/")) {
-
- // get HTTP request asking for a feed
-
- System.out.println("[Debug Info]GdataBindingListenerServlet doGet() --- I am good here brach 02");
-
- // Return a feed containing the entries in the collection
- com.google.gdata.data.Feed feed = null;
-
- if (supportsFeedEntries) {
-
- System.out.println("[Debug Info]GdataBindingListenerServlet doGet() --- supportsFeedEntries: " + supportsFeedEntries);
-
- // The service implementation supports feed entries, invoke its
- // getFeed operation
- Message requestMessage = messageFactory.createMessage();
- Message responseMessage;
- if (request.getQueryString() != null) {
- System.out.println("getQueryString != null");
- requestMessage.setBody(new Object[] {request.getQueryString()});
- responseMessage = queryInvoker.invoke(requestMessage);
- } else {
- System.out.println("getQueryString == null");
- responseMessage = getFeedInvoker.invoke(requestMessage);
- }
- if (responseMessage.isFault()) {
- throw new ServletException((Throwable)responseMessage.getBody());
- }
-
- //System.out.println("response msg class:" + responseMessage.getBody().getClass());
-
- feed = (com.google.gdata.data.Feed)responseMessage.getBody();
-
- System.out.println("feed title: " + feed.getTitle().getPlainText());
-
- } else {
-
- System.out.println("GdataBindingListenerServlet doGet(): do not supportsFeedEntries");
-
- // The service implementation does not support feed entries,
- // invoke its getAll operation to get the data item collection,
- // then create
- // feed entries from the items
- Message requestMessage = messageFactory.createMessage();
- Message responseMessage;
- if (request.getQueryString() != null) {
- requestMessage.setBody(new Object[] {request.getQueryString()});
- responseMessage = queryInvoker.invoke(requestMessage);
- } else {
- responseMessage = getAllInvoker.invoke(requestMessage);
-
- //System.out
- // .println("GdataBindingListner.doGet(): get msg from getAllInvoker.invoke()" + responseMessage
- // .getBody().toString());
-
- }
- if (responseMessage.isFault()) {
- throw new ServletException((Throwable)responseMessage.getBody());
- }
- Entry<Object, Object>[] collection = (Entry<Object, Object>[])responseMessage.getBody();
- if (collection != null) {
-
- // Create the feed
- feed = new com.google.gdata.data.Feed();
-
- // Set the feed title
- if (title != null) {
- feed.setTitle(new PlainTextConstruct(title));
- } else {
- feed.setTitle(new PlainTextConstruct("Feed title"));
- }
-
- // Add entries to the feed
- ArrayList<com.google.gdata.data.Entry> entries = new ArrayList<com.google.gdata.data.Entry>();
- for (Entry<Object, Object> entry : collection) {
- com.google.gdata.data.Entry feedEntry = feedEntry(entry, itemClassType, itemXMLType, mediator);
- entries.add(feedEntry);
- }
- feed.setEntries(entries);
-
- }
- }
- if (feed != null) {
-
- // //System.out.println("feed(from the http response)is not
- // null");
-
- // Write a GData feed using Atom representation
- response.setContentType("application/atom+xml; charset=utf-8");
-
- // Generate the corresponding Atom representation of the feed
- StringWriter stringWriter = new StringWriter();
- com.google.gdata.util.common.xml.XmlWriter w =
- new com.google.gdata.util.common.xml.XmlWriter(stringWriter);
- feed.generateAtom(w, new ExtensionProfile());
- w.flush();
-
- // Write the Atom representation(XML) into Http response content
- OutputStreamWriter osw = new OutputStreamWriter(response.getOutputStream());
- PrintWriter out = new PrintWriter(response.getOutputStream());
- out.println(stringWriter.toString());
- out.close();
-
- System.out.println("Feed content in plain text:" + stringWriter.toString());
- } else {
- response.sendError(HttpServletResponse.SC_NOT_FOUND);
- }
-
- } else if (path.startsWith("/")) {
-
- // get HTTP request asking for an entry
-
- // Return a specific entry in the collection
- com.google.gdata.data.Entry feedEntry = null;
-
- // 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());
- }
-
- if (supportsFeedEntries) {
- // The service implementation returns a feed entry
- feedEntry = (com.google.gdata.data.Entry)responseMessage.getBody();
-
- System.out.println("entry title: " + feedEntry.getTitle().getPlainText());
-
- } else {
- // The service implementation only returns a data item, create
- // an entry
- // from it
- Entry<Object, Object> entry = new Entry<Object, Object>(id, responseMessage.getBody());
- // FIXME The line below needs to be fixed
- // feedEntry = feedEntry(entry, itemClassType, itemXMLType,
- // mediator, abderaFactory);
- }
-
- // Write the Gdata entry
- if (feedEntry != null) {
-
- // Write a GData entry using Atom representation
- response.setContentType("application/atom+xml; charset=utf-8");
-
- // Generate the corresponding Atom representation of the feed
- StringWriter stringWriter = new StringWriter();
- com.google.gdata.util.common.xml.XmlWriter w =
- new com.google.gdata.util.common.xml.XmlWriter(stringWriter);
- feedEntry.generateAtom(w, new ExtensionProfile());
- w.flush();
-
- // Write the Atom representation(XML) into Http response content
- OutputStreamWriter osw = new OutputStreamWriter(response.getOutputStream());
- PrintWriter out = new PrintWriter(response.getOutputStream());
- out.println(stringWriter.toString());
- out.close();
-
- } 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 {
-
- System.out.println("[Debug Info]GdataBindingListenerServlet doPost() --- reached");
-
- // 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");
-
- System.out.println("[Debug Info]GdataBindingListenerServlet path --- " + path);
-
- if (path == null || path.length() == 0 || path.equals("/")) {
- // Create a new Gdata entry
- com.google.gdata.data.Entry createdFeedEntry = null;
- String contentType = request.getContentType();
-
- if (contentType != null && contentType.startsWith("application/atom+xml")) {
-
- // Read the entry from the request
- com.google.gdata.data.Entry feedEntry = null;
- try {
- ParseSource source = new ParseSource(request.getReader());
- feedEntry = com.google.gdata.data.Entry.readEntry(source, com.google.gdata.data.Entry.class, null);
- } catch (ParseException pe) {
- throw new ServletException(pe);
- } catch (com.google.gdata.util.ParseException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- } catch (ServiceException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
-
- // Let the component implementation create it
- if (supportsFeedEntries) {
-
- // 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 {
-
- // The service implementation does not support feed entries,
- // pass the data item to it
- Message requestMessage = messageFactory.createMessage();
- Entry<Object, Object> entry = entry(feedEntry, itemClassType, itemXMLType, mediator);
- requestMessage.setBody(new Object[] {entry.getKey(), entry.getData()});
- Message responseMessage = postInvoker.invoke(requestMessage);
- if (responseMessage.isFault()) {
- throw new ServletException((Throwable)responseMessage.getBody());
- }
- entry.setKey(responseMessage.getBody());
-
- createdFeedEntry = feedEntry(entry, itemClassType, itemXMLType, mediator);
- }
-
- } else if (contentType != null) {
-
- // Create a new media entry
-
- // Get incoming headers
- String title = request.getHeader("Title");
- String slug = request.getHeader("Slug");
-
- // Let the component implementation create the media entry
- Message requestMessage = messageFactory.createMessage();
- requestMessage.setBody(new Object[] {title, 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 {
-
- // Generate the corresponding Atom representation of the
- // feed
- StringWriter stringWriter = new StringWriter();
- com.google.gdata.util.common.xml.XmlWriter w =
- new com.google.gdata.util.common.xml.XmlWriter(stringWriter);
- createdFeedEntry.generateAtom(w, new ExtensionProfile());
- w.flush();
-
- // Write the Atom representation(XML) into Http response
- // content
- OutputStreamWriter osw = new OutputStreamWriter(response.getOutputStream());
- PrintWriter out = new PrintWriter(response.getOutputStream());
- out.println(stringWriter.toString());
- out.close();
-
- } catch (ParseException pe) {
- throw new ServletException(pe);
- }
-
- } else {
- response.sendError(HttpServletResponse.SC_NOT_FOUND);
- }
-
- } else {
- response.sendError(HttpServletResponse.SC_NOT_FOUND);
- }
- }
-
- private Writer getWriter(HttpServletResponse response) throws UnsupportedEncodingException, IOException {
- Writer writer = new OutputStreamWriter(response.getOutputStream(), "UTF-8");
- return writer;
- }
-
-
- @Override
- protected void doPut(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
-
- // 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());
-
- System.out.println("[Debug Info] localServlet doPut --- path: " + path);
-
- 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
- com.google.gdata.data.Entry feedEntry = null;
- try {
- ParseSource source = new ParseSource(request.getReader());
- feedEntry = com.google.gdata.data.Entry.readEntry(source, com.google.gdata.data.Entry.class, null);
-
- System.out.println("[Debug Info] localServlet doPut --- feedEntry title: " + feedEntry.getTitle().getPlainText());
- } catch (ParseException pe) {
- throw new ServletException(pe);
- } catch (com.google.gdata.util.ParseException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- } catch (ServiceException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
-
-
-
- // Let the component implementation create it
- if (supportsFeedEntries) {
-
- System.out.println("[Debug Info] localServlet doPut --- supportsFeedEntries: " + supportsFeedEntries);
-
- // 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());
- }
- }
- } else {
-
- // The service implementation does not support feed entries,
- // pass the data item to it
- Message requestMessage = messageFactory.createMessage();
- Entry<Object, Object> entry = entry(feedEntry, itemClassType, itemXMLType, mediator);
- requestMessage.setBody(new Object[] {entry.getKey(), entry.getData()});
- 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());
- }
- }
- }
-
- // Write the Gdata entry
- if (feedEntry != null) {
-
- // Write a GData entry using Atom representation
- response.setContentType("application/atom+xml; charset=utf-8");
-
- // Generate the corresponding Atom representation of the feed
- StringWriter stringWriter = new StringWriter();
- com.google.gdata.util.common.xml.XmlWriter w =
- new com.google.gdata.util.common.xml.XmlWriter(stringWriter);
- feedEntry.generateAtom(w, new ExtensionProfile());
- w.flush();
-
- // Write the Atom representation(XML) into Http response content
- OutputStreamWriter osw = new OutputStreamWriter(response.getOutputStream());
- PrintWriter out = new PrintWriter(response.getOutputStream());
- out.println(stringWriter.toString());
- out.close();
-
- }
-
- } 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());
- }
- }
- } else {
- response.sendError(HttpServletResponse.SC_UNSUPPORTED_MEDIA_TYPE);
- }
- } else {
- response.sendError(HttpServletResponse.SC_NOT_FOUND);
- }
- }
-
-
-
-
- @Override
- protected void doDelete(HttpServletRequest request, HttpServletResponse response) throws ServletException,
- IOException {
-
- // 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());
- }
- }
- }
-
-
-
- /**
- * Process the authorization header
- *
- * @param request
- * @return
- * @throws ServletException
- */
- private String processAuthorizationHeader(HttpServletRequest request) throws ServletException {
-
- // FIXME temporarily disabling this as it doesn't work with all browsers
- if (true)
- return "admin";
-
- try {
- String authorization = request.getHeader("Authorization");
- if (authorization != null) {
- StringTokenizer tokens = new StringTokenizer(authorization);
- if (tokens.hasMoreTokens()) {
- String basic = tokens.nextToken();
- if (basic.equalsIgnoreCase("Basic")) {
- String credentials = tokens.nextToken();
- String userAndPassword = new String(Base64.decodeBase64(credentials.getBytes()));
- int colon = userAndPassword.indexOf(":");
- if (colon != -1) {
- String user = userAndPassword.substring(0, colon);
- String password = userAndPassword.substring(colon + 1);
-
- // Authenticate the User.
- if (authenticate(user, password)) {
- return user;
- }
- }
- }
- }
- }
- } catch (Exception e) {
- throw new ServletException(e);
- }
- return null;
- }
-
- /**
- * Authenticate a user.
- *
- * @param user
- * @param password
- * @return
- */
- private boolean authenticate(String user, String password) {
- // TODO Handle this using SCA security policies
- return ("admin".equals(user) && "admin".equals(password));
- }
-
- /**
- * Reject an unauthorized request.
- *
- * @param response
- */
- private void unauthorized(HttpServletResponse response) throws IOException {
- response.setHeader("WWW-Authenticate", "BASIC realm=\"Tuscany\"");
- response.sendError(HttpServletResponse.SC_UNAUTHORIZED);
- }
-}
diff --git a/branches/sca-android/modules/binding-gdata-runtime-gsoc/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GdataBindingProviderFactory.java b/branches/sca-android/modules/binding-gdata-runtime-gsoc/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GdataBindingProviderFactory.java
deleted file mode 100644
index fa99f4cb1b..0000000000
--- a/branches/sca-android/modules/binding-gdata-runtime-gsoc/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GdataBindingProviderFactory.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.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;
-
-import com.google.gdata.util.AuthenticationException;
-
-/**
- * Implementation of a Binding provider factory for the Atom binding.
- */
-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) {
- try {
- return new GdataReferenceBindingProvider(component, reference, binding, mediator);
- } catch (AuthenticationException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- return null; //Google authentication error! : This exception needs to be handled into a better way
- }
-
- }
-
- 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-gsoc/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GdataBindingUtil.java b/branches/sca-android/modules/binding-gdata-runtime-gsoc/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GdataBindingUtil.java
deleted file mode 100644
index 86fc8fd43f..0000000000
--- a/branches/sca-android/modules/binding-gdata-runtime-gsoc/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GdataBindingUtil.java
+++ /dev/null
@@ -1,170 +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.Date;
-
-import org.apache.tuscany.sca.data.collection.Entry;
-import org.apache.tuscany.sca.data.collection.Item;
-import org.apache.tuscany.sca.databinding.Mediator;
-import org.apache.tuscany.sca.interfacedef.DataType;
-
-import com.google.gdata.data.DateTime;
-import com.google.gdata.data.PlainTextConstruct;
-import com.google.gdata.data.TextContent;
-
-/**
- * Utility methods used in this package.
- *
- */
-class GdataBindingUtil {
-
- /**
- * Create a data item from an GData entry.
- *
- * @param feedEntry
- * @param itemClassType
- * @param itemXMLType
- * @param mediator
- * @return
- */
- static Entry<Object, Object> entry(com.google.gdata.data.Entry feedEntry,
- DataType<?> itemClassType,
- DataType<?> itemXMLType,
- Mediator mediator) {
- if (feedEntry != null) {
- if (itemClassType.getPhysical() == Item.class) {
- String key = feedEntry.getId().toString();
-
- Item item = new Item();
- item.setTitle(feedEntry.getTitle().toString());
- TextContent content = (TextContent)feedEntry.getContent();
- item.setContents(content.getContent().getPlainText());
-
- for (com.google.gdata.data.Link link : feedEntry.getLinks()) {
- if (link.getRel() == null || "self".equals(link.getRel())) {
- if (item.getLink() == null) {
- item.setLink(link.getHref().toString());
- }
- } else if ("related".equals(link.getRel())) {
- item.setRelated(link.getHref().toString());
- } else if ("alternate".equals(link.getRel())) {
- item.setAlternate(link.getHref().toString());
- }
- }
-
- Date date = new Date(feedEntry.getUpdated().getValue());
- item.setDate(date);
- return new Entry<Object, Object>(key, item);
-
- } else {
- String key = null;
- if (feedEntry.getId() != null) {
- key = feedEntry.getId();
- }
-
- // Create the item from XML
- if (feedEntry.getContent() == null) {
- return null;
- }
-
- TextContent content = (TextContent)feedEntry.getContent();
- String value = content.getContent().getPlainText();
- Object data = mediator.mediate(value, itemXMLType, itemClassType, null);
- return new Entry<Object, Object>(key, data);
- }
- } else {
- return null;
- }
- }
-
- /**
- * Create an Gdata entry for a key and item from a collection.
- *
- * @param entry
- * @param itemClassType
- * @param itemXMLType
- * @param mediator
- * @param factory
- * @return
- */
- static com.google.gdata.data.Entry feedEntry(Entry<Object, Object> entry,
- DataType<?> itemClassType,
- DataType<?> itemXMLType,
- Mediator mediator) {
-
- Object key = entry.getKey();
- Object data = entry.getData();
- if (data instanceof Item) {
- Item item = (Item)data;
-
- com.google.gdata.data.Entry feedEntry = new com.google.gdata.data.Entry();
- if (key != null) {
- feedEntry.setId(key.toString());
- }
- feedEntry.setTitle(new PlainTextConstruct(item.getTitle()));
- feedEntry.setContent(new PlainTextConstruct(item.getContents()));
-
- String href = item.getLink();
- if (href == null && key != null) {
- href = key.toString();
- }
-
- if (href != null) {
- feedEntry.addHtmlLink(href, "", "");
- }
- String related = item.getRelated();
- if (related != null) {
- feedEntry.addHtmlLink(related, "", "related");
- }
- String alternate = item.getAlternate();
- if (alternate != null) {
- feedEntry.addHtmlLink(alternate, "", "alternate");
- }
-
- Date date = item.getDate();
- if (date != null) {
- DateTime datetime = new DateTime(date);
- feedEntry.setUpdated(datetime);
- }
- return feedEntry;
-
- } else if (data != null) {
-
- com.google.gdata.data.Entry feedEntry = new com.google.gdata.data.Entry();
- feedEntry.setId(key.toString());
- feedEntry.setTitle(new PlainTextConstruct("item"));
-
- // Convert the item to XML
- String value = mediator.mediate(data, itemClassType, itemXMLType, null).toString();
-
- // Might be wrong because the example uses XML datatype, I am using
- // plainText here
- feedEntry.setContent(new PlainTextConstruct(value));
-
- feedEntry.addHtmlLink(key.toString(), "", "");
- return feedEntry;
-
- } else {
- return null;
- }
- }
-
-}
diff --git a/branches/sca-android/modules/binding-gdata-runtime-gsoc/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GdataReferenceBindingProvider.java b/branches/sca-android/modules/binding-gdata-runtime-gsoc/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GdataReferenceBindingProvider.java
deleted file mode 100644
index 70bf58a161..0000000000
--- a/branches/sca-android/modules/binding-gdata-runtime-gsoc/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GdataReferenceBindingProvider.java
+++ /dev/null
@@ -1,232 +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.net.URI;
-
-import javax.xml.namespace.QName;
-
-import org.apache.commons.codec.binary.Base64;
-import org.apache.commons.httpclient.Credentials;
-import org.apache.commons.httpclient.HttpClient;
-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;
-import org.apache.tuscany.sca.binding.gdata.GdataBinding;
-import org.apache.tuscany.sca.databinding.Mediator;
-import org.apache.tuscany.sca.interfacedef.DataType;
-import org.apache.tuscany.sca.interfacedef.InterfaceContract;
-import org.apache.tuscany.sca.interfacedef.Operation;
-import org.apache.tuscany.sca.interfacedef.impl.DataTypeImpl;
-import org.apache.tuscany.sca.interfacedef.util.XMLType;
-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 com.google.gdata.client.GoogleService;
-import com.google.gdata.util.AuthenticationException;
-
-/**
- * Implementation of the Atom binding provider.
- *
- * @version $Rev$ $Date$
- */
-class GdataReferenceBindingProvider implements ReferenceBindingProvider {
-
- private RuntimeComponentReference reference;
- private GdataBinding binding;
- private String authorizationHeader;
- private GoogleService googleService;
- private HttpClient httpClient;
- private Mediator mediator;
- private DataType<?> itemClassType;
- private DataType<?> itemXMLType;
- private boolean supportsFeedEntries;
-
- /**
- * Constructs a new AtomReferenceBindingProvider
- *
- * @param component
- * @param reference
- * @param binding
- * @param mediator
- * @throws AuthenticationException
- */
- GdataReferenceBindingProvider(RuntimeComponent component,
- RuntimeComponentReference reference,
- GdataBinding binding,
- Mediator mediator) throws AuthenticationException {
- this.reference = reference;
- this.binding = binding;
- this.mediator = mediator;
-
- // Prepare authorization header
- String authorization = "admin" + ":" + "admin";
- authorizationHeader = "Basic " + new String(Base64.encodeBase64(authorization.getBytes()));
-
-
- // Prepare gdata header
- String serviceType = binding.getServiceType();
- String usernane = binding.getUsername();
- String password = binding.getPassword();
-
- System.out.println("[Debug Info] binding.getServiceType()" + serviceType);
- System.out.println("[Debug Info] binding.getName()" +usernane);
- System.out.println("[Debug Info] binding.getPassword()" + password);
-
- googleService = new GoogleService(serviceType, "");
- if(binding.getUsername().equals("admin") == false && binding.getPassword().equals("admin")==false){
- googleService.setUserCredentials(binding.getUsername(),binding.getPassword());
- }
-
-
-
- // 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();
-
- // //System.out.println("GdataReferenceBindingProvider.createInvoker---operationName:"
- // + operationName);
-
- if (operationName.equals("get")) {
-
- // Determine the collection item type
- itemXMLType = new DataTypeImpl<Class<?>>(String.class.getName(), String.class, String.class);
- Class<?> itemClass = operation.getOutputType().getPhysical();
- DataType<XMLType> outputType = operation.getOutputType();
- QName qname = outputType.getLogical().getElementName();
- qname = new QName(qname.getNamespaceURI(), itemClass.getSimpleName());
- itemClassType = new DataTypeImpl<XMLType>("java:complexType", itemClass, new XMLType(qname, null));
-
- if (itemClassType.getPhysical() == com.google.gdata.data.Entry.class) {
- supportsFeedEntries = true;
- }
-
- return new GdataBindingInvoker.GetInvoker(operation, binding.getURI(), googleService, httpClient, authorizationHeader, this);
-
- } else if (operationName.equals("post")) {
-
- return new GdataBindingInvoker.PostInvoker(operation, binding.getURI(), googleService, httpClient, authorizationHeader, this);
-
- } else if (operationName.equals("put")) {
-
- return new GdataBindingInvoker.PutInvoker(operation, binding.getURI(), googleService, httpClient, authorizationHeader,
- this);
- } else if (operationName.equals("delete")) {
- return new GdataBindingInvoker.DeleteInvoker(operation, binding.getURI(), googleService, httpClient, authorizationHeader,
- this);
- } else if (operationName.equals("getFeed") || operationName.equals("getAll")) {
-
- // //System.out.println("GdataReferenceBindingProvider
- // CreateInvoker: getFeed or getAll");
-
- return new GdataBindingInvoker.GetAllInvoker(operation, binding.getURI(), googleService, httpClient, authorizationHeader,
- this);
-
- } else if (operationName.equals("postMedia")) {
- return new GdataBindingInvoker.PostMediaInvoker(operation, binding.getURI(), googleService, httpClient,
- authorizationHeader, this);
- } else if (operationName.equals("putMedia")) {
- return new GdataBindingInvoker.PutMediaInvoker(operation, binding.getURI(), googleService, httpClient,
- authorizationHeader, this);
- } else if (operationName.equals("query")) {
- return new GdataBindingInvoker.QueryInvoker(operation, binding.getURI(), googleService, httpClient, authorizationHeader,
- this);
- }
-
- return new GdataBindingInvoker(operation, binding.getURI(), googleService, httpClient, authorizationHeader, this);
- }
-
-
-
- public InterfaceContract getBindingInterfaceContract() {
- return reference.getInterfaceContract();
- }
-
-
-
- public void start() {
-
- // Configure the HTTP client credentials
- Credentials credentials = new UsernamePasswordCredentials("admin", "admin");
- 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;
- }
-
- /**
- * Returns the mediator.
- *
- * @return
- */
- Mediator getMediator() {
- return mediator;
- }
-
- /**
- * Returns the item class type.
- *
- * @return
- */
- DataType<?> getItemClassType() {
- return itemClassType;
- }
-
- /**
- * Returns the item XML type.
- *
- * @return
- */
- DataType<?> getItemXMLType() {
- return itemXMLType;
- }
-
- /**
- * Returns true if the invoker should work with Atom feed entries.
- *
- * @return
- */
- boolean supportsFeedEntries() {
- return supportsFeedEntries;
- }
-
-}
diff --git a/branches/sca-android/modules/binding-gdata-runtime-gsoc/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GdataServiceBindingProvider.java b/branches/sca-android/modules/binding-gdata-runtime-gsoc/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GdataServiceBindingProvider.java
deleted file mode 100644
index 10faf74371..0000000000
--- a/branches/sca-android/modules/binding-gdata-runtime-gsoc/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GdataServiceBindingProvider.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.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;
-
-/**
- * Implementation of the Atom binding provider.
- *
- * @version $Rev$ $Date$
- */
-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 InterfaceContract getBindingInterfaceContract() {
- return service.getInterfaceContract();
- }
-
- public boolean supportsOneWayInvocation() {
- return false;
- }
-
- 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);
- }
-}
diff --git a/branches/sca-android/modules/binding-gdata-runtime-gsoc/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory b/branches/sca-android/modules/binding-gdata-runtime-gsoc/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory
deleted file mode 100644
index 5e380eb4e0..0000000000
--- a/branches/sca-android/modules/binding-gdata-runtime-gsoc/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
diff --git a/branches/sca-android/modules/binding-gdata-runtime-gsoc/src/main/resources/tuscany-binding-gdata.xsd b/branches/sca-android/modules/binding-gdata-runtime-gsoc/src/main/resources/tuscany-binding-gdata.xsd
deleted file mode 100644
index 5148e2ef2d..0000000000
--- a/branches/sca-android/modules/binding-gdata-runtime-gsoc/src/main/resources/tuscany-binding-gdata.xsd
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * 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.
--->
-<schema xmlns="http://www.w3.org/2001/XMLSchema"
- targetNamespace="http://echo"
- xmlns:sca="http://www.osoa.org/xmlns/sca/1.0"
- xmlns:e="http://echo"
- elementFormDefault="qualified">
-
- <import namespace="http://www.osoa.org/xmlns/sca/1.0"/>
-
- <element name="binding.gdata" type="e:GdataBinding"/>
-
- <complexType name="GdataBinding">
- <complexContent>
- <extension base="sca:Binding">
- </extension>
- </complexContent>
- </complexType>
-</schema>
diff --git a/branches/sca-android/modules/binding-gdata-runtime-gsoc/src/test/java/org/apache/tuscany/sca/binding/gdata/Consumer.java b/branches/sca-android/modules/binding-gdata-runtime-gsoc/src/test/java/org/apache/tuscany/sca/binding/gdata/Consumer.java
deleted file mode 100644
index 2517c7233a..0000000000
--- a/branches/sca-android/modules/binding-gdata-runtime-gsoc/src/test/java/org/apache/tuscany/sca/binding/gdata/Consumer.java
+++ /dev/null
@@ -1,60 +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;
-
-import org.apache.tuscany.sca.host.embedded.SCADomain;
-
-import com.google.gdata.data.Entry;
-import com.google.gdata.data.Feed;
-import com.google.gdata.data.PlainTextConstruct;
-
-public class Consumer {
-
- public static void main(String[] args) throws Exception {
-
- //Initialize the GData client service (Reference Binding test)
- SCADomain scaDomain = SCADomain.newInstance("org/apache/tuscany/sca/binding/gdata/ConsumerGoogleBlogger.composite");
- CustomerClient testService = scaDomain.getService(CustomerClient.class, "CustomerClient");
-
-
- Feed feed = testService.clientGetFeed();
-
- System.out.println("#Entries(Before post): "+ testService.clientGetFeed().getEntries().size());
-
- /*
- String entryID = "tag:blogger.com,1999:blog-4520949313432095990.post-973462497533349425";
- Entry entry = testService.clientGetEntry(entryID);
- System.out.println("Entry id: " + entry.getId());
- */
-
- Entry myEntry = new Entry();
- myEntry.setTitle(new PlainTextConstruct("titleByConsumer2"));
- myEntry.setContent(new PlainTextConstruct("contentByConsmer2"));
- testService.clientPost(myEntry);
-
- System.out.println("#Entries(After post): "+ testService.clientGetFeed().getEntries().size());
-
- String entryID = "tag:blogger.com,1999:blog-4520949313432095990.post-973462497533349425";
- Entry entry = testService.clientGetEntry(entryID);
- System.out.println("Entry id: " + entry.getId());
-
-
- }
-}
diff --git a/branches/sca-android/modules/binding-gdata-runtime-gsoc/src/test/java/org/apache/tuscany/sca/binding/gdata/ConsumerProviderTestCase.java b/branches/sca-android/modules/binding-gdata-runtime-gsoc/src/test/java/org/apache/tuscany/sca/binding/gdata/ConsumerProviderTestCase.java
deleted file mode 100644
index 3ac79e5f0a..0000000000
--- a/branches/sca-android/modules/binding-gdata-runtime-gsoc/src/test/java/org/apache/tuscany/sca/binding/gdata/ConsumerProviderTestCase.java
+++ /dev/null
@@ -1,140 +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;
-
-import junit.framework.TestCase;
-import org.apache.tuscany.sca.host.embedded.SCADomain;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import com.google.gdata.data.Entry;
-import com.google.gdata.data.Feed;
-import com.google.gdata.data.PlainTextConstruct;
-
-public class ConsumerProviderTestCase extends TestCase {
-
- private SCADomain scaDomainProvider = null;
- private SCADomain scaDomainConsumer = null;
- private CustomerClient testService = null;
-
- @Before
- @Override
- public void setUp() throws Exception {
- System.out.println("Method Test Start-----------------------------------------------------------------------");
-
- // Setup the local GData servlet (Service Binding test)
- scaDomainProvider = SCADomain.newInstance("org/apache/tuscany/sca/binding/gdata/Provider.composite");
- System.out.println("[Debug Info] Provider.composite ready...");
-
- // Initialize the GData client service (Reference Binding test)
- scaDomainConsumer = SCADomain.newInstance("org/apache/tuscany/sca/binding/gdata/Consumer.composite");
- testService = scaDomainConsumer.getService(CustomerClient.class, "CustomerClient");
- }
-
- @After
- @Override
- public void tearDown() {
- scaDomainProvider.close();
- System.out.println("Method Test End------------------------------------------------------------------------");
- System.out.println("\n\n");
- }
-
-
- @Test
- public void testClientGetFeed() throws Exception {
- Feed feed = testService.clientGetFeed();
- System.out.println(feed.getTitle().getPlainText());
- assertNotNull(feed);
- // Given we are testing on the localhost providing feed, we know the
- // feed title is "Feedtitle(LocalHostServlet)"
- assertEquals("Feedtitle(LocalHostServlet)", feed.getTitle().getPlainText());
- }
-
- @Test
- public void testClientGetEntry() throws Exception {
- String entryID = "urn:uuid:customer-0";
- Entry entry = testService.clientGetEntry(entryID);
- System.out.println("entryID in testcase: " + entry.getId());
- assertEquals(entryID, entry.getId());
- }
-
- @Test
- public void testClientPost() throws Exception {
- Entry newEntry = new Entry();
- newEntry.setTitle(new PlainTextConstruct("NewEntry title by Post"));
- newEntry.setContent(new PlainTextConstruct("NewEntry Content by Post"));
- Entry postedEntry = testService.clientPost(newEntry);
- assertEquals("NewEntry title by Post", postedEntry.getTitle().getPlainText());
- }
-
-
-
- @Test
- public void testClientPut() throws Exception {
- String newTitleValue = "newTitleValueByPut";
- String entryID = "urn:uuid:customer-0";
- System.out.println("Before clientPut");
- testService.clientPut(entryID, newTitleValue);
- System.out.println("After clientPut");
- Entry updatedEntry = testService.clientGetEntry(entryID);
- System.out.println("title: "+ updatedEntry.getTitle().getPlainText());
- assertEquals(newTitleValue, updatedEntry.getTitle().getPlainText());
- }
-
-
-
- @Test
- public void testClientDelete() throws Exception {
-
- // We first create a new entry, then delete it
-
- // Post a new entry
- Entry newEntry = new Entry();
- newEntry.setTitle(new PlainTextConstruct("NewEntry title to be deleted"));
- newEntry.setContent(new PlainTextConstruct("NewEntry Content to be delted"));
- Entry confirmedNewEntry = testService.clientPost(newEntry);
-
- Thread.sleep(300);
-
- Feed feed00 = testService.clientGetFeed();
- int entryNum00 = feed00.getEntries().size(); // The number of entries
- // before deleting
- System.out.println("entryNum00:" + entryNum00);
-
- // Delete this newly created entry
- String entryID = confirmedNewEntry.getId();
- Thread.sleep(300);
-
- System.out.println("confirmed entry ID: " + confirmedNewEntry.getId());
- System.out.println("confirmed entry title: " + confirmedNewEntry.getTitle().getPlainText());
-
- System.out.println("Before test clientDelete");
- testService.clientDelete(entryID);
- System.out.println("After test clientDelete");
-
- Feed feed01 = testService.clientGetFeed();
- int entryNum01 = feed01.getEntries().size();
- System.out.println("entryNum01:" + entryNum01); // The number of entries after deleting
-
- //assertEquals(1, entryNum00 - entryNum01);
- }
-
-
-}
diff --git a/branches/sca-android/modules/binding-gdata-runtime-gsoc/src/test/java/org/apache/tuscany/sca/binding/gdata/CustomerClient.java b/branches/sca-android/modules/binding-gdata-runtime-gsoc/src/test/java/org/apache/tuscany/sca/binding/gdata/CustomerClient.java
deleted file mode 100644
index 7aa0a8961c..0000000000
--- a/branches/sca-android/modules/binding-gdata-runtime-gsoc/src/test/java/org/apache/tuscany/sca/binding/gdata/CustomerClient.java
+++ /dev/null
@@ -1,40 +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;
-
-import com.google.gdata.client.Query;
-import com.google.gdata.data.Entry;
-import com.google.gdata.data.Feed;
-
-public interface CustomerClient {
-
- Feed clientGetFeed() throws Exception;
-
- Entry clientGetEntry(String entryID) throws Exception;
-
- Entry clientPost(Entry entry) throws Exception;
-
- void clientDelete(String entryID) throws Exception;
-
- void clientPut(String entryID, String newTitle) throws Exception;
-
- Feed clientQuery(Query query) throws Exception;
-
-}
diff --git a/branches/sca-android/modules/binding-gdata-runtime-gsoc/src/test/java/org/apache/tuscany/sca/binding/gdata/CustomerClientImpl.java b/branches/sca-android/modules/binding-gdata-runtime-gsoc/src/test/java/org/apache/tuscany/sca/binding/gdata/CustomerClientImpl.java
deleted file mode 100644
index a2b1da894d..0000000000
--- a/branches/sca-android/modules/binding-gdata-runtime-gsoc/src/test/java/org/apache/tuscany/sca/binding/gdata/CustomerClientImpl.java
+++ /dev/null
@@ -1,123 +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;
-
-import com.google.gdata.client.Query;
-import com.google.gdata.data.Feed;
-import com.google.gdata.data.Entry;
-import com.google.gdata.data.PlainTextConstruct;
-
-import org.apache.tuscany.sca.binding.gdata.collection.Collection;
-import org.apache.tuscany.sca.binding.gdata.collection.NotFoundException;
-import org.osoa.sca.annotations.Reference;
-
-public class CustomerClientImpl implements CustomerClient {
-
- @Reference
- public Collection resourceCollection;
-
- // Call Collection.getFeed()
- public Feed clientGetFeed() throws Exception {
- // Get all the entries from the provider, return in a single feed
- System.out.println(">>> get the feed from the provider service");
- Feed feed = resourceCollection.getFeed();
- System.out.println("\n\n!!! Fetched feed title: " + feed.getTitle().getPlainText());
- int i = 0;
- for (Object o : feed.getEntries()) {
- com.google.gdata.data.Entry e = (com.google.gdata.data.Entry)o;
- System.out.print("Entry" + i + "\t");
- System.out.println(" id = " + e.getId() + "\t title = " + e.getTitle().getPlainText());
- i++;
- }
- return feed;
- }
-
-
- // Call Collection.get(entryID)
- public Entry clientGetEntry(String entryID) throws Exception {
- // Get an existing entry based on its id
- System.out.println(">>> get an existing entry from the provider service");
- Entry entry = resourceCollection.get(entryID);
- System.out.println("\n\n!!! Entry retrieved with id=" + entry.getId()
- + " title="
- + entry.getTitle().getPlainText());
- return entry;
- }
-
-
- // Call Collection.post(newEntry)
- public Entry clientPost(Entry newEntry) throws Exception {
- // Put a new entry to the provider
- System.out.println(">>> post a new entry to the provider service");
- Entry confirmedNewEntry = resourceCollection.post(newEntry);
- System.out.println("!!! New entry posted with id=" + confirmedNewEntry.getId()
- + " title="
- + confirmedNewEntry.getTitle().getPlainText());
- System.out.println("\n");
- return confirmedNewEntry;
- }
-
-
- // Call Collection.delete(newEntry)
- public void clientDelete(String entryID) throws Exception {
- // Put a new entry to the provider
- System.out.println(">>> delete an existing entry from the provider service");
- System.out.println(">>> delete id=" + "urn:uuid:customer-1");
- resourceCollection.delete(entryID);
- System.out.println("!!! entry with id" + entryID);
- System.out.println("\n");
- }
-
-
-
- // Call Collection.put(entry, updatedTitle)
- public void clientPut(String entryID, String newTitle) throws Exception {
-
- System.out.println("clientPut");
- // Put a new entry to the provider
- System.out.println(">>> put id=" + entryID + " title=" + newTitle);
- Entry entry = resourceCollection.get(entryID);
-
- //change the title of this entry
- entry.setTitle(new PlainTextConstruct(newTitle));
- resourceCollection.put(entryID, entry);
- System.out.println("!!! Updated entry with id=" + entry.getId() + " title=" + entry.getTitle());
- System.out.println("\n");
- }
-
-
-
- // Call Collection.getFeed()
- public Feed clientQuery(Query query) throws Exception {
- // Get all the entries from the provider, return in a single feed
- System.out.println(">>> query the service");
- Feed feed = resourceCollection.query(query);
- System.out.println("\n\n!!! Query result feed title: " + feed.getTitle().getPlainText());
- int i = 0;
- for (Object o : feed.getEntries()) {
- com.google.gdata.data.Entry e = (com.google.gdata.data.Entry)o;
- System.out.print("Entry" + i + "\t");
- System.out.println(" id = " + e.getId() + "\t title = " + e.getTitle().getPlainText());
- i++;
- }
- return feed;
- }
-
-}
diff --git a/branches/sca-android/modules/binding-gdata-runtime-gsoc/src/test/java/org/apache/tuscany/sca/binding/gdata/CustomerCollectionImpl.java b/branches/sca-android/modules/binding-gdata-runtime-gsoc/src/test/java/org/apache/tuscany/sca/binding/gdata/CustomerCollectionImpl.java
deleted file mode 100644
index 3c11fb70b9..0000000000
--- a/branches/sca-android/modules/binding-gdata-runtime-gsoc/src/test/java/org/apache/tuscany/sca/binding/gdata/CustomerCollectionImpl.java
+++ /dev/null
@@ -1,143 +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;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.UUID;
-
-import com.google.gdata.client.Query;
-import com.google.gdata.data.DateTime;
-import com.google.gdata.data.Entry;
-import com.google.gdata.data.Feed;
-import com.google.gdata.data.Link;
-import com.google.gdata.data.PlainTextConstruct;
-
-import org.apache.tuscany.sca.binding.gdata.collection.Collection;
-import org.osoa.sca.annotations.Scope;
-
-@Scope("COMPOSITE")
-public class CustomerCollectionImpl implements Collection {
-
-
- private Map<String, Entry> entries = new HashMap<String, Entry>();
-
- /**
- * Default constructor that initializes collection with couple customer
- * entries
- */
- public CustomerCollectionImpl() {
-
- for (int i = 0; i < 4; i++) {
- // id is supposed to be generated in a random way, but for the
- // purpose of testing, we just make them as static ids
-
- // String id = "urn:uuid:customer-" + UUID.randomUUID().toString();
-
- String id = "urn:uuid:customer-" + String.valueOf(i);
- Entry entry = new Entry();
- entry.setId(id);
- entry.setTitle(new PlainTextConstruct("EntryTitle_" + i));
- entry.setContent(new PlainTextConstruct("content_" + i));
- entry.setUpdated(DateTime.now());
- // FIXME: The following three lines of code need to be fixed to add
- // HTML links.
- Link link = new Link();
- link.setType(Link.Type.ATOM);
- link.setRel(Link.Rel.ENTRY_EDIT);
- link.setHref("http://localhost:8084/customer" + "/" + id);
- entry.getLinks().add(link);
-
- // entry.addHtmlLink(""+id, "", "edit");
- // entry.addHtmlLink(""+id, "", "alternate");
- entries.put(id, entry);
- System.out.println(">>> id=" + id);
- }
- }
-
- public Entry post(Entry entry) {
- System.out.println(">>> ResourceCollectionImpl.post entry=" + entry.getTitle());
-
- String id = "urn:uuid:customer-" + UUID.randomUUID().toString();
- entry.setId(id);
-
- Link link = new Link();
- link.setType(Link.Type.ATOM);
- link.setRel(Link.Rel.ENTRY_EDIT);
- link.setHref("http://localhost:8084/customer" + "/" + id);
- entry.getLinks().add(link);
-
- //entry.addLink("" + id, "edit"); entry.addLink("" + id, "alternate");
- entry.setUpdated(DateTime.now());
-
- // entry.addHtmlLink("http://www.google.com", "languageType", "edit");
- // entry.addHtmlLink("http://www.google.com", "languageType",
- // "alternate");
-
- entries.put(id, entry);
- System.out.println(">>> ResourceCollectionImpl.post return id=" + id);
- return entry;
- }
-
- public Entry get(String id) {
- System.out.println(">>> ResourceCollectionImpl.get id= " + id);
- return entries.get(id);
- }
-
- public void put(String id, Entry entry) {
- System.out.println(">>> ResourceCollectionImpl.put id=" + id + " entry=" + entry.getTitle().getPlainText());
- entry.setUpdated(DateTime.now());
- entries.put(id, entry);
- }
-
-
- public void delete(String id) {
- System.out.println(">>> ResourceCollectionImpl.delete id=" + id);
- entries.remove(id);
- }
-
-
- public Feed getFeed() {
- System.out.println(">>> ResourceCollectionImpl.get collection");
-
- Feed feed = new Feed();
- feed.setTitle(new PlainTextConstruct("Feedtitle(LocalHostServlet)"));
- feed.setSubtitle(new PlainTextConstruct("Subtitle: This is a sample feed"));
- feed.setUpdated(DateTime.now());
- // FIXME: The following two lines of code need to be fixed
- // feed.addHtmlLink("", "", "");
- // feed.addHtmlLink("", "languageType", "self");
- ArrayList<Entry> entryList = new ArrayList<Entry>();
- for (Entry entry : entries.values()) {
- entryList.add(entry);
- }
- feed.setEntries(entryList);
-
- return feed;
- }
-
- //FIXME: need to be modified
- public Feed query(Query query) {
- System.out.println(">>> ResourceCollectionImpl.query collection ");
- return getFeed();
- }
-
-}
diff --git a/branches/sca-android/modules/binding-gdata-runtime-gsoc/src/test/java/org/apache/tuscany/sca/binding/gdata/GoogleBloggerServiceTestCase.java b/branches/sca-android/modules/binding-gdata-runtime-gsoc/src/test/java/org/apache/tuscany/sca/binding/gdata/GoogleBloggerServiceTestCase.java
deleted file mode 100644
index b4f6ec7b36..0000000000
--- a/branches/sca-android/modules/binding-gdata-runtime-gsoc/src/test/java/org/apache/tuscany/sca/binding/gdata/GoogleBloggerServiceTestCase.java
+++ /dev/null
@@ -1,149 +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;
-
-import java.net.URL;
-
-import junit.framework.TestCase;
-
-import org.apache.tuscany.sca.host.embedded.SCADomain;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-
-import com.google.gdata.client.Query;
-import com.google.gdata.data.DateTime;
-import com.google.gdata.data.Entry;
-import com.google.gdata.data.Feed;
-import com.google.gdata.data.PlainTextConstruct;
-
-public class GoogleBloggerServiceTestCase extends TestCase{
-
- private SCADomain scaDomainConsumer = null;
- private CustomerClient testService = null;
-
- public GoogleBloggerServiceTestCase(){
-
- }
-
- @Before
- @Override
- public void setUp() throws Exception {
- System.out.println("Method Test Start-----------------------------------------------------------------------");
-
- //Initialize the GData client service (Reference Binding test)
- scaDomainConsumer = SCADomain.newInstance("org/apache/tuscany/sca/binding/gdata/ConsumerGoogleBlogger.composite");
- testService = scaDomainConsumer.getService(CustomerClient.class, "CustomerClient");
- }
-
- @After
- @Override
- public void tearDown(){
- System.out.println("Method Test End------------------------------------------------------------------------");
- System.out.println("\n\n");
- }
-
- @Test
- public void testClientGetFeed() throws Exception {
- Feed feed = testService.clientGetFeed();
- System.out.println("feed title: " + feed.getTitle().getPlainText());
- assertEquals("gdata binding tuscany test", feed.getTitle().getPlainText());
- }
-
-
- @Test
- public void testClientGetEntry() throws Exception {
- String entryID = "8308734583601887890";
- Entry blogEntry = testService.clientGetEntry(entryID);
- System.out.println("Entry ID: " + blogEntry.getId());
- assertTrue(blogEntry.getId().endsWith(entryID));
- System.out.println("------------------------------------------------------------\n\n");
- }
-
-
- @Test
- public void testClientPut() throws Exception {
- String entryID = "2889832689497686762";
- String newBlogEntryTitle = "updatedTitleByTestCase2";
- testService.clientPut(entryID, newBlogEntryTitle); //update the title
- Thread.sleep(300);
- Entry updatedEntry = testService.clientGetEntry(entryID);
- assertEquals(newBlogEntryTitle, updatedEntry.getTitle().getPlainText());
- }
-
-
-
- @Test
- public void testClientPost() throws Exception {
- String blogEntryTitle = "titleByBloogerTestcase000";
- Entry newEntry = new Entry();
- newEntry.setTitle(new PlainTextConstruct(blogEntryTitle));
- newEntry.setContent(new PlainTextConstruct("contentByBloggerTestCase000"));
- Entry postedEntry = testService.clientPost(newEntry);
- assertEquals(blogEntryTitle, postedEntry.getTitle().getPlainText());
- }
-
-
- @Test
- public void testClientDelete() throws Exception {
-
- //This test case might fail
- //because Google blogger service has limitation on new posts allowed everyday/every hour?
-
- System.out.println("testClientDelete");
- //We create a new post, and then delete it
- Entry newEntry = new Entry();
- newEntry.setTitle(new PlainTextConstruct("blogEntryShouldNotApear"));
- newEntry.setContent(new PlainTextConstruct("contentByBloggerShouldNotAppear"));
- Entry postedEntry = testService.clientPost(newEntry);
- Thread.sleep(300);
- int idStartPosition = postedEntry.getId().lastIndexOf("-");
- String postedEntryID = postedEntry.getId().substring(idStartPosition+1);
- System.out.println("postedEntryID: " + postedEntryID );
-
- //Before deletion
- Entry entry00 = testService.clientGetEntry(postedEntryID);
- System.out.println("Before Deleteion: " + entry00.getId());
-
- //Delete this entry
- testService.clientDelete(postedEntryID);
-
- //Worked: this newly posted entry did not appear in the blogspot website,
- //But we need a Junit assertion here
- //Link: http://haibotuscany.blogspot.com/feeds/posts/default/
- //FIXME: Need an assertion here
- //Assert(....);
- }
-
-
- @Test
- public void testClientQuery() throws Exception {
- Query myQuery = new Query(new URL("http://haibotuscany.blogspot.com/feeds/posts/default"));
- myQuery.setMaxResults(100);
- //myQuery.setUpdatedMin(startTime);
- myQuery.setUpdatedMax(DateTime.now());
- Feed resultFeed = testService.clientQuery(myQuery);
- System.out.println("Query result feed title: " + resultFeed.getTitle().getPlainText());
- System.out.println("Query result entry number: "+ resultFeed.getEntries().size());
- //assertEquals("gdata binding tuscany test", resultFeed.getTitle().getPlainText());
- }
-
-
-}
diff --git a/branches/sca-android/modules/binding-gdata-runtime-gsoc/src/test/java/org/apache/tuscany/sca/binding/gdata/GoogleCalendarServiceTestCase.java b/branches/sca-android/modules/binding-gdata-runtime-gsoc/src/test/java/org/apache/tuscany/sca/binding/gdata/GoogleCalendarServiceTestCase.java
deleted file mode 100644
index 882716575b..0000000000
--- a/branches/sca-android/modules/binding-gdata-runtime-gsoc/src/test/java/org/apache/tuscany/sca/binding/gdata/GoogleCalendarServiceTestCase.java
+++ /dev/null
@@ -1,157 +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;
-
-import java.net.URL;
-
-import junit.framework.TestCase;
-
-import org.apache.tuscany.sca.host.embedded.SCADomain;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-
-import com.google.gdata.client.Query;
-import com.google.gdata.data.DateTime;
-import com.google.gdata.data.Entry;
-import com.google.gdata.data.Feed;
-import com.google.gdata.data.PlainTextConstruct;
-
-public class GoogleCalendarServiceTestCase extends TestCase{
-
- private SCADomain scaDomainConsumer = null;
- private CustomerClient testService = null;
-
- public GoogleCalendarServiceTestCase(){
-
- }
-
- @Before
- @Override
- public void setUp() throws Exception {
- System.out.println("Method Test Start-----------------------------------------------------------------------");
-
- //Initialize the GData client service (Reference Binding test)
- scaDomainConsumer = SCADomain.newInstance("org/apache/tuscany/sca/binding/gdata/ConsumerGoogleCalendar.composite");
- testService = scaDomainConsumer.getService(CustomerClient.class, "CustomerClient");
- }
-
- @After
- @Override
- public void tearDown(){
- System.out.println("Method Test End------------------------------------------------------------------------");
- System.out.println("\n\n");
- }
-
- @Test
- public void testClientGetFeed() throws Exception {
- Feed feed = testService.clientGetFeed();
- System.out.println("feed title: " + feed.getTitle().getPlainText());
- assertEquals("gsoc gosc", feed.getTitle().getPlainText());
- }
-
-
- @Test
- public void testClientGetEntry() throws Exception {
- String entryID = "1c76lcl70jg9r0fm18rcbneea8";
- Entry blogEntry = testService.clientGetEntry(entryID);
- System.out.println("Entry ID: " + blogEntry.getId());
- assertTrue(blogEntry.getId().endsWith(entryID));
- System.out.println("------------------------------------------------------------\n\n");
- }
-
-
- @Test
- public void testClientPut() throws Exception {
- String entryID = "1c76lcl70jg9r0fm18rcbneea8";
- String newBlogEntryTitle = "updatedTitleByGoogleContactsConsumerTestCase";
- testService.clientPut(entryID, newBlogEntryTitle); //update the title
- Thread.sleep(300);
- Entry updatedEntry = testService.clientGetEntry(entryID);
- assertEquals(newBlogEntryTitle, updatedEntry.getTitle().getPlainText());
- }
-
-
-
- @Test
- public void testClientPost() throws Exception {
- String blogEntryTitle = "titleByGoogleCalendarTestcase";
- Entry newEntry = new Entry();
- newEntry.setTitle(new PlainTextConstruct(blogEntryTitle));
- newEntry.setContent(new PlainTextConstruct("contentByGoogleCalendarTestCase"));
- Entry postedEntry = testService.clientPost(newEntry);
- assertEquals(blogEntryTitle, postedEntry.getTitle().getPlainText());
- }
-
-
- @Test
- public void testClientDelete() throws Exception {
-
- //This test case might fail
- //because Google blogger service has limitation on new posts allowed everyday/every hour?
-
- System.out.println("testClientDelete");
- //We create a new post, and then delete it
- Entry newEntry = new Entry();
- newEntry.setTitle(new PlainTextConstruct("calendarEntryShouldNotApear"));
- newEntry.setContent(new PlainTextConstruct("calendarByBloggerShouldNotAppear"));
- Entry postedEntry = testService.clientPost(newEntry);
- Thread.sleep(300);
-
- System.out.println("ID: " + postedEntry.getId());
-
- int idStartPosition = postedEntry.getId().lastIndexOf("/");
- String postedEntryID = postedEntry.getId().substring(idStartPosition+1);
- System.out.println("postedEntryID: " + postedEntryID );
-
- //Before deletion
- Entry entry00 = testService.clientGetEntry(postedEntryID);
- System.out.println("Before Deleteion: " + entry00.getId());
-
- //Delete this entry
- testService.clientDelete(postedEntryID);
-
- //Worked: this newly posted entry did not appear in the contact list
- //But we need a Junit assertion here
- //Link: http://haibotuscany.blogspot.com/feeds/posts/default/
- //FIXME: Need an assertion here
- //Assert(....);
- }
-
-
- @Test
- public void testClientQuery() throws Exception {
- Query myQuery = new Query(new URL("http://www.google.com/calendar/feeds/haibotuscany@gmail.com/private/full"));
- myQuery.setMaxResults(100);
- //myQuery.setUpdatedMin(startTime);
- myQuery.setUpdatedMax(DateTime.now());
-
- //Google Calendar service supports full-text search
- String queryString = "event0";
- myQuery.setFullTextQuery(queryString);
-
- Feed resultFeed = testService.clientQuery(myQuery);
- System.out.println("Query result feed title: " + resultFeed.getTitle().getPlainText());
- System.out.println("Query result entry number: "+ resultFeed.getEntries().size());
- //assertEquals("gdata binding tuscany test", resultFeed.getTitle().getPlainText());
- }
-
-
-}
diff --git a/branches/sca-android/modules/binding-gdata-runtime-gsoc/src/test/java/org/apache/tuscany/sca/binding/gdata/GoogleContactsServiceTestCase.java b/branches/sca-android/modules/binding-gdata-runtime-gsoc/src/test/java/org/apache/tuscany/sca/binding/gdata/GoogleContactsServiceTestCase.java
deleted file mode 100644
index 959c153074..0000000000
--- a/branches/sca-android/modules/binding-gdata-runtime-gsoc/src/test/java/org/apache/tuscany/sca/binding/gdata/GoogleContactsServiceTestCase.java
+++ /dev/null
@@ -1,152 +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;
-
-import java.net.URL;
-
-import junit.framework.TestCase;
-
-import org.apache.tuscany.sca.host.embedded.SCADomain;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-
-import com.google.gdata.client.Query;
-import com.google.gdata.data.DateTime;
-import com.google.gdata.data.Entry;
-import com.google.gdata.data.Feed;
-import com.google.gdata.data.PlainTextConstruct;
-
-public class GoogleContactsServiceTestCase extends TestCase{
-
- private SCADomain scaDomainConsumer = null;
- private CustomerClient testService = null;
-
- public GoogleContactsServiceTestCase(){
-
- }
-
- @Before
- @Override
- public void setUp() throws Exception {
- System.out.println("Method Test Start-----------------------------------------------------------------------");
-
- //Initialize the GData client service (Reference Binding test)
- scaDomainConsumer = SCADomain.newInstance("org/apache/tuscany/sca/binding/gdata/ConsumerGoogleContacts.composite");
- testService = scaDomainConsumer.getService(CustomerClient.class, "CustomerClient");
- }
-
- @After
- @Override
- public void tearDown(){
- System.out.println("Method Test End------------------------------------------------------------------------");
- System.out.println("\n\n");
- }
-
- @Test
- public void testClientGetFeed() throws Exception {
- Feed feed = testService.clientGetFeed();
- System.out.println("feed title: " + feed.getTitle().getPlainText());
- assertEquals("Haibo Zhao's Contacts", feed.getTitle().getPlainText());
- }
-
-
- @Test
- public void testClientGetEntry() throws Exception {
- String entryID = "12feeeb38ab87365";
- Entry contactEntry = testService.clientGetEntry(entryID);
- System.out.println("Entry ID: " + contactEntry.getId());
- assertTrue(contactEntry.getId().endsWith(entryID));
- System.out.println("------------------------------------------------------------\n\n");
- }
-
-
- @Test
- public void testClientPut() throws Exception {
- String entryID = "12feeeb38ab87365";
- String newBlogEntryTitle = "updatedTitleByGoogleContactsConsumerTestCase";
- testService.clientPut(entryID, newBlogEntryTitle); //update the title
- Thread.sleep(300);
- Entry updatedEntry = testService.clientGetEntry(entryID);
- assertEquals(newBlogEntryTitle, updatedEntry.getTitle().getPlainText());
- }
-
-
-
- @Test
- public void testClientPost() throws Exception {
- String blogEntryTitle = "titleByGoogleContactsTestcase";
- Entry newEntry = new Entry();
- newEntry.setTitle(new PlainTextConstruct(blogEntryTitle));
- newEntry.setContent(new PlainTextConstruct("contentByGoogleContactsTestCase"));
- Entry postedEntry = testService.clientPost(newEntry);
- assertEquals(blogEntryTitle, postedEntry.getTitle().getPlainText());
- }
-
-
- @Test
- public void testClientDelete() throws Exception {
-
- //This test case might fail
- //because Google blogger service has limitation on new posts allowed everyday/every hour?
-
- System.out.println("testClientDelete");
- //We create a new post, and then delete it
- Entry newEntry = new Entry();
- newEntry.setTitle(new PlainTextConstruct("contactEntryShouldNotApear"));
- newEntry.setContent(new PlainTextConstruct("contactByBloggerShouldNotAppear"));
- Entry postedEntry = testService.clientPost(newEntry);
- Thread.sleep(300);
-
- System.out.println("ID: " + postedEntry.getId());
-
- int idStartPosition = postedEntry.getId().lastIndexOf("/");
- String postedEntryID = postedEntry.getId().substring(idStartPosition+1);
- System.out.println("postedEntryID: " + postedEntryID );
-
- //Before deletion
- Entry entry00 = testService.clientGetEntry(postedEntryID);
- System.out.println("Before Deleteion: " + entry00.getId());
-
- //Delete this entry
- testService.clientDelete(postedEntryID);
-
- //Worked: this newly posted entry did not appear in the contact list
- //But we need a Junit assertion here
- //Link: http://haibotuscany.blogspot.com/feeds/posts/default/
- //FIXME: Need an assertion here
- //Assert(....);
- }
-
-
- @Test
- public void testClientQuery() throws Exception {
- Query myQuery = new Query(new URL("http://www.google.com/m8/feeds/contacts/default/base"));
- myQuery.setMaxResults(100);
- //myQuery.setUpdatedMin(startTime);
- myQuery.setUpdatedMax(DateTime.now());
- Feed resultFeed = testService.clientQuery(myQuery);
- System.out.println("Query result feed title: " + resultFeed.getTitle().getPlainText());
- System.out.println("Query result entry number: "+ resultFeed.getEntries().size());
- //assertEquals("gdata binding tuscany test", resultFeed.getTitle().getPlainText());
- }
-
-
-}
diff --git a/branches/sca-android/modules/binding-gdata-runtime-gsoc/src/test/java/org/apache/tuscany/sca/binding/gdata/Provider.java b/branches/sca-android/modules/binding-gdata-runtime-gsoc/src/test/java/org/apache/tuscany/sca/binding/gdata/Provider.java
deleted file mode 100644
index 21bff30256..0000000000
--- a/branches/sca-android/modules/binding-gdata-runtime-gsoc/src/test/java/org/apache/tuscany/sca/binding/gdata/Provider.java
+++ /dev/null
@@ -1,41 +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;
-
-import java.io.IOException;
-
-import org.apache.tuscany.sca.host.embedded.SCADomain;
-
-public class Provider {
-
- public static void main(String[] args) {
-
- SCADomain scaDomain = SCADomain.newInstance("org/apache/tuscany/sca/binding/gdata/Provider.composite");
- System.out.println("Provider.composite ready...");
-
- try {
- System.in.read();
- } catch (IOException e) {
- e.printStackTrace();
- }
-
- scaDomain.close();
- }
-}
diff --git a/branches/sca-android/modules/binding-gdata-runtime-gsoc/src/test/java/org/apache/tuscany/sca/binding/gdata/StartLocalhostServlet.java b/branches/sca-android/modules/binding-gdata-runtime-gsoc/src/test/java/org/apache/tuscany/sca/binding/gdata/StartLocalhostServlet.java
deleted file mode 100644
index 2773398426..0000000000
--- a/branches/sca-android/modules/binding-gdata-runtime-gsoc/src/test/java/org/apache/tuscany/sca/binding/gdata/StartLocalhostServlet.java
+++ /dev/null
@@ -1,41 +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;
-
-import java.io.IOException;
-
-import org.apache.tuscany.sca.host.embedded.SCADomain;
-
-public class StartLocalhostServlet {
-
- public static void main(String[] args) {
-
- SCADomain scaDomain = SCADomain.newInstance("org/apache/tuscany/sca/binding/gdata/Provider.composite");
- System.out.println("Provider.composite ready...");
-
- try {
- System.in.read();
- } catch (IOException e) {
- e.printStackTrace();
- }
-
- scaDomain.close();
- }
-}
diff --git a/branches/sca-android/modules/binding-gdata-runtime-gsoc/src/test/resources/log4j.properties b/branches/sca-android/modules/binding-gdata-runtime-gsoc/src/test/resources/log4j.properties
deleted file mode 100644
index 33eaf11c1f..0000000000
--- a/branches/sca-android/modules/binding-gdata-runtime-gsoc/src/test/resources/log4j.properties
+++ /dev/null
@@ -1,25 +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.
-#
-
-# Set root logger level to WARN and its only appender to CONSOLE
-log4j.rootLogger=INFO, CONSOLE
-
-
-# Console appender
-log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
-log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
-log4j.appender.CONSOLE.layout.ConversionPattern=%d{ABSOLUTE} %-5p %x - %m\n
diff --git a/branches/sca-android/modules/binding-gdata-runtime-gsoc/src/test/resources/org/apache/tuscany/sca/binding/gdata/Consumer.composite b/branches/sca-android/modules/binding-gdata-runtime-gsoc/src/test/resources/org/apache/tuscany/sca/binding/gdata/Consumer.composite
deleted file mode 100644
index a7941a2056..0000000000
--- a/branches/sca-android/modules/binding-gdata-runtime-gsoc/src/test/resources/org/apache/tuscany/sca/binding/gdata/Consumer.composite
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * 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.
--->
-<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
- xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0"
- targetNamespace="http://customer"
- name="Consumer">
-
- <component name="CustomerClient">
- <implementation.java class="org.apache.tuscany.sca.binding.gdata.CustomerClientImpl"/>
- <reference name="resourceCollection">
- <tuscany:binding.gdata uri="http://localhost:8084/customer" serviceType="localServiceBinding" username="admin" password="admin"/>
- </reference>
- </component>
-
-</composite>
diff --git a/branches/sca-android/modules/binding-gdata-runtime-gsoc/src/test/resources/org/apache/tuscany/sca/binding/gdata/ConsumerGoogleBlogger.composite b/branches/sca-android/modules/binding-gdata-runtime-gsoc/src/test/resources/org/apache/tuscany/sca/binding/gdata/ConsumerGoogleBlogger.composite
deleted file mode 100644
index 078873c44f..0000000000
--- a/branches/sca-android/modules/binding-gdata-runtime-gsoc/src/test/resources/org/apache/tuscany/sca/binding/gdata/ConsumerGoogleBlogger.composite
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * 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.
--->
-<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
- xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0"
- targetNamespace="http://customer"
- name="Consumer">
-
- <component name="CustomerClient">
- <implementation.java class="org.apache.tuscany.sca.binding.gdata.CustomerClientImpl"/>
- <reference name="resourceCollection">
- <tuscany:binding.gdata uri="http://haibotuscany.blogspot.com/feeds/posts/default" serviceType="blogger" username="haibotuscany@gmail.com" password="gsocgsocgsoc"/>
- </reference>
- </component>
-
-</composite>
diff --git a/branches/sca-android/modules/binding-gdata-runtime-gsoc/src/test/resources/org/apache/tuscany/sca/binding/gdata/ConsumerGoogleCalendar.composite b/branches/sca-android/modules/binding-gdata-runtime-gsoc/src/test/resources/org/apache/tuscany/sca/binding/gdata/ConsumerGoogleCalendar.composite
deleted file mode 100644
index 7e0c925482..0000000000
--- a/branches/sca-android/modules/binding-gdata-runtime-gsoc/src/test/resources/org/apache/tuscany/sca/binding/gdata/ConsumerGoogleCalendar.composite
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * 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.
--->
-<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
- xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0"
- targetNamespace="http://customer"
- name="Consumer">
-
- <component name="CustomerClient">
- <implementation.java class="org.apache.tuscany.sca.binding.gdata.CustomerClientImpl"/>
- <reference name="resourceCollection">
- <tuscany:binding.gdata uri="http://www.google.com/calendar/feeds/haibotuscany@gmail.com/private/full" serviceType="cl" username="haibotuscany@gmail.com" password="gsocgsocgsoc"/>
- </reference>
- </component>
-
-</composite>
diff --git a/branches/sca-android/modules/binding-gdata-runtime-gsoc/src/test/resources/org/apache/tuscany/sca/binding/gdata/ConsumerGoogleContacts.composite b/branches/sca-android/modules/binding-gdata-runtime-gsoc/src/test/resources/org/apache/tuscany/sca/binding/gdata/ConsumerGoogleContacts.composite
deleted file mode 100644
index bc1ea7a8a9..0000000000
--- a/branches/sca-android/modules/binding-gdata-runtime-gsoc/src/test/resources/org/apache/tuscany/sca/binding/gdata/ConsumerGoogleContacts.composite
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * 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.
--->
-<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
- xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0"
- targetNamespace="http://customer"
- name="Consumer">
-
- <component name="CustomerClient">
- <implementation.java class="org.apache.tuscany.sca.binding.gdata.CustomerClientImpl"/>
- <reference name="resourceCollection">
- <tuscany:binding.gdata uri="http://www.google.com/m8/feeds/contacts/default/base" serviceType="cp" username="haibotuscany@gmail.com" password="gsocgsocgsoc"/>
- </reference>
- </component>
-
-</composite>
diff --git a/branches/sca-android/modules/binding-gdata-runtime-gsoc/src/test/resources/org/apache/tuscany/sca/binding/gdata/Provider.composite b/branches/sca-android/modules/binding-gdata-runtime-gsoc/src/test/resources/org/apache/tuscany/sca/binding/gdata/Provider.composite
deleted file mode 100644
index a4cf00dc84..0000000000
--- a/branches/sca-android/modules/binding-gdata-runtime-gsoc/src/test/resources/org/apache/tuscany/sca/binding/gdata/Provider.composite
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * 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.
--->
-<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
- xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0"
- targetNamespace = "http://customer"
- name="Provider">
-
- <service name="customer" promote="CustomerCollection">
- <tuscany:binding.gdata uri = "http://localhost:8084/customer"/>
- </service>
-
- <component name="CustomerCollection">
- <implementation.java class="org.apache.tuscany.sca.binding.gdata.CustomerCollectionImpl"/>
- </component>
-
-</composite>
diff --git a/branches/sca-android/modules/binding-gdata-runtime/LICENSE b/branches/sca-android/modules/binding-gdata-runtime/LICENSE
deleted file mode 100644
index 8aa906c321..0000000000
--- a/branches/sca-android/modules/binding-gdata-runtime/LICENSE
+++ /dev/null
@@ -1,205 +0,0 @@
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed 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.
-
-
-
diff --git a/branches/sca-android/modules/binding-gdata-runtime/META-INF/README b/branches/sca-android/modules/binding-gdata-runtime/META-INF/README
deleted file mode 100644
index 009570154d..0000000000
--- a/branches/sca-android/modules/binding-gdata-runtime/META-INF/README
+++ /dev/null
@@ -1 +0,0 @@
-This directory contains a generated MANIFEST.MF file.
diff --git a/branches/sca-android/modules/binding-gdata-runtime/NOTICE b/branches/sca-android/modules/binding-gdata-runtime/NOTICE
deleted file mode 100644
index fdfa0e9faa..0000000000
--- a/branches/sca-android/modules/binding-gdata-runtime/NOTICE
+++ /dev/null
@@ -1,6 +0,0 @@
-${pom.name}
-Copyright (c) 2005 - 2008 The Apache Software Foundation
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
diff --git a/branches/sca-android/modules/binding-gdata-runtime/deployGdataToMaven.sh b/branches/sca-android/modules/binding-gdata-runtime/deployGdataToMaven.sh
deleted file mode 100755
index 306ad19f66..0000000000
--- a/branches/sca-android/modules/binding-gdata-runtime/deployGdataToMaven.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-mvn gpg:sign-and-deploy-file -DgroupId=com.google.gdata -DartifactId=gdata-core -Dversion=1.0 -Dpackaging=jar -Dfile=gdata-core-1.0.jar -DrepositoryId=apache.people -Durl=scp://people.apache.org/home/lresende/public_html/google-gdata/maven -Dkeyname=lresende
-
-mvn gpg:sign-and-deploy-file -DgroupId=com.google.gdata -DartifactId=gdata-client -Dversion=1.0 -Dpackaging=jar -Dfile=gdata-client-1.0.jar -DrepositoryId=apache.people -Durl=scp://people.apache.org/home/lresende/public_html/google-gdata/maven -Dkeyname=lresende
-
-mvn gpg:sign-and-deploy-file -DgroupId=com.google.gdata -DartifactId=gdata-client-meta -Dversion=1.0 -Dpackaging=jar -Dfile=gdata-client-meta-1.0.jar -DrepositoryId=apache.people -Durl=scp://people.apache.org/home/lresende/public_html/google-gdata/maven -Dkeyname=lresende
-
-mvn gpg:sign-and-deploy-file -DgroupId=com.google.gdata -DartifactId=gdata-media -Dversion=1.0 -Dpackaging=jar -Dfile=gdata-media-1.0.jar -DrepositoryId=apache.people -Durl=scp://people.apache.org/home/lresende/public_html/google-gdata/maven -Dkeyname=lresende
diff --git a/branches/sca-android/modules/binding-gdata-runtime/pom.xml b/branches/sca-android/modules/binding-gdata-runtime/pom.xml
deleted file mode 100644
index ec29af0b0f..0000000000
--- a/branches/sca-android/modules/binding-gdata-runtime/pom.xml
+++ /dev/null
@@ -1,183 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * 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.
---><project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-modules</artifactId>
- <version>1.4-SNAPSHOT</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
-
- <artifactId>tuscany-binding-gdata-runtime</artifactId>
- <name>Apache Tuscany SCA GData Binding Extension Runtime</name>
-
- <repositories>
- <repository>
- <id>com.google.gdata</id>
- <url>http://people.apache.org/~lresende/google-gdata/maven/</url>
- </repository>
- </repositories>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-binding-gdata</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-assembly</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-interface-java</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-data-api</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-core-spi</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-databinding</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-host-http</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>commons-httpclient</groupId>
- <artifactId>commons-httpclient</artifactId>
- <version>3.0.1</version>
- </dependency>
-
- <dependency>
- <groupId>javax.servlet</groupId>
- <artifactId>servlet-api</artifactId>
- <version>2.4</version>
- <scope>provided</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-host-jetty</artifactId>
- <version>1.4-SNAPSHOT</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-implementation-java-runtime</artifactId>
- <version>1.4-SNAPSHOT</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-host-embedded</artifactId>
- <version>1.4-SNAPSHOT</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>com.google.gdata</groupId>
- <artifactId>gdata-core</artifactId>
- <version>1.0</version>
- </dependency>
-
- <dependency>
- <groupId>com.google.gdata</groupId>
- <artifactId>gdata-client</artifactId>
- <version>1.0</version>
- </dependency>
-
- <dependency>
- <groupId>commons-codec</groupId>
- <artifactId>commons-codec</artifactId>
- <version>1.3</version>
- <exclusions>
- <exclusion>
- <artifactId>commons-codec</artifactId>
- <groupId>commons-codec</groupId>
- </exclusion>
- </exclusions>
- </dependency>
-
- <dependency>
- <groupId>commons-logging</groupId>
- <artifactId>commons-logging</artifactId>
- <version>1.1</version>
- <exclusions>
- <exclusion>
- <artifactId>servlet-api</artifactId>
- <groupId>javax.servlet</groupId>
- </exclusion>
- <exclusion>
- <artifactId>avalon-framework</artifactId>
- <groupId>avalon-framework</groupId>
- </exclusion>
- </exclusions>
- </dependency>
-
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>4.2</version>
- <scope>test</scope>
- </dependency>
-
- </dependencies>
-
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.felix</groupId>
- <artifactId>maven-bundle-plugin</artifactId>
-
- <configuration>
- <instructions>
- <Bundle-Version>${tuscany.version}</Bundle-Version>
- <Bundle-SymbolicName>org.apache.tuscany.sca.binding.atom.abdera</Bundle-SymbolicName>
- <Bundle-Description>${pom.name}</Bundle-Description>
- <Export-Package>org.apache.tuscany.sca.binding.atom*</Export-Package>
- </instructions>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
-</project>
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
diff --git a/branches/sca-android/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/calendarconsumer/CalendarConsumer.java b/branches/sca-android/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/calendarconsumer/CalendarConsumer.java
deleted file mode 100644
index 35a692ac67..0000000000
--- a/branches/sca-android/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/calendarconsumer/CalendarConsumer.java
+++ /dev/null
@@ -1,121 +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.calendarconsumer;
-
-import com.google.gdata.data.BaseEntry;
-import com.google.gdata.data.DateTime;
-import com.google.gdata.data.Entry;
-import com.google.gdata.data.Feed;
-import com.google.gdata.data.Person;
-import com.google.gdata.data.PlainTextConstruct;
-import com.google.gdata.data.extensions.EventEntry;
-import com.google.gdata.data.extensions.When;
-import org.apache.tuscany.sca.host.embedded.SCADomain;
-
-public class CalendarConsumer {
-
- public static void main(String... args) throws Exception {
-
- SCADomain scaDomain;
- CalendarConsumerImpl resourceCollection;
-
- //init
- scaDomain = SCADomain.newInstance("org/apache/tuscany/sca/binding/gdata/CalendarConsumer.composite");
- resourceCollection = scaDomain.getService(CalendarConsumerImpl.class, "CalendarConsumer");
-
- //test methods
- System.out.println(
- "\n//--------------------------" +
- "\n// Get the Feed" +
- "\n//--------------------------\n");
-
- Feed feed = (Feed) resourceCollection.getFeed();
-
- System.out.println("Feed content - " + feed.getUpdated().toString() + ":\n");
- for (Entry e : feed.getEntries()) {
- System.out.println("# " + e.getTitle().getPlainText());
- }
-
- System.out.println(
- "\n//--------------------------" +
- "\n// Post a new Entry" +
- "\n//--------------------------\n");
-
- EventEntry entry = new EventEntry();
-
- entry.setTitle(new PlainTextConstruct("GSoC extra activity"));
- entry.setContent(new PlainTextConstruct("Reading the book Beautiful Code"));
-
- Person author = new Person("GSoC Student 2008", null, "gsocstudent2008@gmail.com");
- entry.getAuthors().add(author);
-
- DateTime startTime = DateTime.parseDateTime("2008-07-30T15:00:00-08:00");
- DateTime endTime = DateTime.parseDateTime("2008-07-30T17:00:00-08:00");
- When eventTimes = new When();
- eventTimes.setStartTime(startTime);
- eventTimes.setEndTime(endTime);
- entry.addTime(eventTimes);
-
- BaseEntry returnedEntry = resourceCollection.post(entry);
-
- System.out.println("# " + returnedEntry.getTitle().getPlainText());
-
- System.out.println(
- "\n//--------------------------" +
- "\n// Get an Entry" +
- "\n//--------------------------\n");
-
- BaseEntry searchedEntry = resourceCollection.get(returnedEntry.getSelfLink().getHref());
-
- System.out.println("# " + searchedEntry.getTitle().getPlainText());
-
- System.out.println(
- "\n//--------------------------" +
- "\n// Update an Entry" +
- "\n//--------------------------\n");
-
- searchedEntry.setTitle(new PlainTextConstruct("GSoC extra activity(opcional)"));
- BaseEntry updatedEntry = resourceCollection.put(searchedEntry.getEditLink().getHref(), searchedEntry);
-
- System.out.println("# " + updatedEntry.getTitle().getPlainText());
-
- System.out.println(
- "\n//--------------------------" +
- "\n// Delete an Entry" +
- "\n//--------------------------\n");
-
- resourceCollection.delete(updatedEntry.getEditLink().getHref());
-
- System.out.println(
- "\n//--------------------------" +
- "\n// Execute a query" +
- "\n//--------------------------\n");
-
- feed = (Feed) resourceCollection.query("Students");
-
- System.out.println("Feed content - " + feed.getUpdated().toString() + ":\n");
- for (Entry e : feed.getEntries()) {
- System.out.println("# " + e.getTitle().getPlainText());
- }
-
- //close
- scaDomain.close();
-
- }
-}
diff --git a/branches/sca-android/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/calendarconsumer/CalendarConsumerImpl.java b/branches/sca-android/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/calendarconsumer/CalendarConsumerImpl.java
deleted file mode 100644
index 8da6977c2c..0000000000
--- a/branches/sca-android/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/calendarconsumer/CalendarConsumerImpl.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.calendarconsumer;
-
-import com.google.gdata.data.BaseEntry;
-import com.google.gdata.data.BaseFeed;
-
-import org.apache.tuscany.sca.binding.gdata.collection.Collection;
-import org.osoa.sca.annotations.Reference;
-
-public class CalendarConsumerImpl {
-
- @Reference
- public Collection resourceCollection;
-
- public BaseFeed getFeed() {
- return resourceCollection.getFeed();
- }
-
- public BaseEntry post(BaseEntry entry) {
- return resourceCollection.post(entry);
- }
-
- public BaseEntry get(String id) throws org.apache.tuscany.sca.implementation.data.collection.NotFoundException {
- return resourceCollection.get(id);
- }
-
- public BaseEntry put(String id, BaseEntry entry) throws org.apache.tuscany.sca.implementation.data.collection.NotFoundException {
- return resourceCollection.put(id, entry);
- }
-
- public void delete(String id) throws org.apache.tuscany.sca.implementation.data.collection.NotFoundException {
- resourceCollection.delete(id);
- }
-
- public BaseFeed query(String queryString) {
- return resourceCollection.query(queryString);
- }
-}
diff --git a/branches/sca-android/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/calendarconsumer/CalendarConsumerTest.java b/branches/sca-android/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/calendarconsumer/CalendarConsumerTest.java
deleted file mode 100644
index 361b9b122d..0000000000
--- a/branches/sca-android/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/calendarconsumer/CalendarConsumerTest.java
+++ /dev/null
@@ -1,203 +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.calendarconsumer;
-
-import com.google.gdata.data.BaseEntry;
-import com.google.gdata.data.DateTime;
-import com.google.gdata.data.Feed;
-import com.google.gdata.data.Person;
-import com.google.gdata.data.PlainTextConstruct;
-import com.google.gdata.data.extensions.EventEntry;
-import com.google.gdata.data.extensions.When;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-import org.apache.tuscany.sca.host.embedded.SCADomain;
-import org.apache.tuscany.sca.implementation.data.collection.NotFoundException;
-
-import org.junit.Test;
-import org.junit.BeforeClass;
-import org.junit.AfterClass;
-import static org.junit.Assert.assertNotNull;
-
-//FIX-ME: the tests are executed in an incorrect order
-public class CalendarConsumerTest {
-
- private static SCADomain scaDomain;
- private Feed feed;
- private BaseEntry returnedEntry;
- private BaseEntry searchedEntry;
- private BaseEntry updatedEntry;
- private static CalendarConsumerImpl consumer;
-
- @BeforeClass
- public static void init() {
- scaDomain = SCADomain.newInstance("org/apache/tuscany/sca/binding/gdata/CalendarConsumer.composite");
- consumer = scaDomain.getService(CalendarConsumerImpl.class, "CalendarConsumer");
- }
-
- @AfterClass
- public static void close() {
- scaDomain.close();
- }
-
- @Test
- public void getFeed() {
- System.out.println("getfeed");
- feed = (Feed) consumer.getFeed();
- assertNotNull(feed);
- }
-
- @Test
- public void post() {
- System.out.println("post");
- EventEntry entry = new EventEntry();
-
- entry.setTitle(new PlainTextConstruct("GSoC extra activity"));
- entry.setContent(new PlainTextConstruct("Reading the book Beautiful Code"));
-
- Person author = new Person("GSoC Student 2008", null, "gsocstudent2008@gmail.com");
- entry.getAuthors().add(author);
-
- DateTime startTime = DateTime.parseDateTime("2008-07-22T15:00:00-08:00");
- DateTime endTime = DateTime.parseDateTime("2008-07-22T17:00:00-08:00");
- When eventTimes = new When();
- eventTimes.setStartTime(startTime);
- eventTimes.setEndTime(endTime);
- entry.addTime(eventTimes);
-
- returnedEntry = consumer.post(entry);
- assertNotNull(returnedEntry);
- }
-
- @Test
- public void get() {
- System.out.println("get");
- try {
- searchedEntry = consumer.get(returnedEntry.getSelfLink().getHref());
- assertNotNull(searchedEntry);
- } catch (NotFoundException ex) {
- Logger.getLogger(CalendarConsumerTest.class.getName()).log(Level.SEVERE, null, ex);
- }
- }
-
- @Test
- public void put() {
- System.out.println("put");
- try {
- searchedEntry.setTitle(new PlainTextConstruct("GSoC extra activity(opcional)"));
- updatedEntry = consumer.put(searchedEntry.getEditLink().getHref(), searchedEntry);
- assertNotNull(updatedEntry);
- } catch (NotFoundException ex) {
- Logger.getLogger(CalendarConsumerTest.class.getName()).log(Level.SEVERE, null, ex);
- }
- }
-
- @Test
- public void delete() {
- System.out.println("delete");
- try {
- consumer.delete(updatedEntry.getEditLink().getHref());
- } catch (NotFoundException ex) {
- Logger.getLogger(CalendarConsumerTest.class.getName()).log(Level.SEVERE, null, ex);
- }
- }
-
- @Test
- public void query() {
- System.out.println("query");
- feed = (Feed) consumer.query("Students");
- assertNotNull(feed);
- }// public void testCustomerCollection() throws Exception {
-//
-// System.out.println(
-// "\n//--------------------------" +
-// "\n// Get the Feed" +
-// "\n//--------------------------\n");
-//
-// Feed feed = (Feed) resourceCollection.getFeed();
-//
-// System.out.println("Feed content - " + feed.getUpdated().toString() + ":\n");
-// for (Entry e : feed.getEntries()) {
-// System.out.println("# " + e.getTitle().getPlainText());
-// }
-//
-// System.out.println(
-// "\n//--------------------------" +
-// "\n// Post a new Entry" +
-// "\n//--------------------------\n");
-//
-// EventEntry entry = new EventEntry();
-//
-// entry.setTitle(new PlainTextConstruct("GSoC extra activity"));
-// entry.setContent(new PlainTextConstruct("Reading the book Beautiful Code"));
-//
-// Person author = new Person("GSoC Student 2008", null, "gsocstudent2008@gmail.com");
-// entry.getAuthors().add(author);
-//
-// DateTime startTime = DateTime.parseDateTime("2008-06-19T15:00:00-08:00");
-// DateTime endTime = DateTime.parseDateTime("2008-06-19T17:00:00-08:00");
-// When eventTimes = new When();
-// eventTimes.setStartTime(startTime);
-// eventTimes.setEndTime(endTime);
-// entry.addTime(eventTimes);
-//
-// BaseEntry returnedEntry = resourceCollection.post(entry);
-//
-// System.out.println("# " + returnedEntry.getTitle().getPlainText());
-//
-// System.out.println(
-// "\n//--------------------------" +
-// "\n// Get an Entry" +
-// "\n//--------------------------\n");
-//
-// BaseEntry searchedEntry = resourceCollection.get(returnedEntry.getSelfLink().getHref());
-//
-// System.out.println("# " + searchedEntry.getTitle().getPlainText());
-//
-// System.out.println(
-// "\n//--------------------------" +
-// "\n// Update an Entry" +
-// "\n//--------------------------\n");
-//
-// searchedEntry.setTitle(new PlainTextConstruct("GSoC extra activity(opcional)"));
-// BaseEntry updatedEntry = resourceCollection.put(searchedEntry.getEditLink().getHref(), searchedEntry);
-//
-// System.out.println("# " + updatedEntry.getTitle().getPlainText());
-//
-// System.out.println(
-// "\n//--------------------------" +
-// "\n// Delete an Entry" +
-// "\n//--------------------------\n");
-//
-// resourceCollection.delete(updatedEntry.getEditLink().getHref());
-//
-// System.out.println(
-// "\n//--------------------------" +
-// "\n// Execute a query" +
-// "\n//--------------------------\n");
-//
-// feed = (Feed) resourceCollection.query("Students");
-//
-// System.out.println("Feed content - " + feed.getUpdated().toString() + ":\n");
-// for (Entry e : feed.getEntries()) {
-// System.out.println("# " + e.getTitle().getPlainText());
-// }
-//
-// }
-}
diff --git a/branches/sca-android/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/consumerprovider/Consumer.java b/branches/sca-android/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/consumerprovider/Consumer.java
deleted file mode 100644
index 00055f28b2..0000000000
--- a/branches/sca-android/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/consumerprovider/Consumer.java
+++ /dev/null
@@ -1,36 +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.consumerprovider;
-
-import org.apache.tuscany.sca.host.embedded.SCADomain;
-
-public class Consumer {
-
- public static void main(String[] args) throws Exception {
-
- SCADomain scaDomain = SCADomain.newInstance("org/apache/tuscany/sca/binding/gdata/Consumer.composite");
-
- CustomerClient testService = scaDomain.getService(CustomerClient.class, "CustomerClient");
-
- testService.testCustomerCollection();
-
- scaDomain.close();
- }
-}
diff --git a/branches/sca-android/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/consumerprovider/CustomerClient.java b/branches/sca-android/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/consumerprovider/CustomerClient.java
deleted file mode 100644
index 1d42c9b1a4..0000000000
--- a/branches/sca-android/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/consumerprovider/CustomerClient.java
+++ /dev/null
@@ -1,25 +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.consumerprovider;
-
-public interface CustomerClient {
-
- void testCustomerCollection() throws Exception;
-}
diff --git a/branches/sca-android/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/consumerprovider/CustomerClientImpl.java b/branches/sca-android/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/consumerprovider/CustomerClientImpl.java
deleted file mode 100644
index d6261618bf..0000000000
--- a/branches/sca-android/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/consumerprovider/CustomerClientImpl.java
+++ /dev/null
@@ -1,117 +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.consumerprovider;
-
-import com.google.gdata.data.BaseEntry;
-import com.google.gdata.data.BaseFeed;
-import com.google.gdata.data.DateTime;
-import com.google.gdata.data.Entry;
-import com.google.gdata.data.Feed;
-import com.google.gdata.data.Person;
-import com.google.gdata.data.PlainTextConstruct;
-import com.google.gdata.data.Source;
-import com.google.gdata.data.extensions.EventEntry;
-import com.google.gdata.data.extensions.When;
-import org.apache.tuscany.sca.binding.gdata.collection.Collection;
-import org.osoa.sca.annotations.Reference;
-import org.osoa.sca.annotations.Scope;
-
-@Scope("COMPOSITE")
-public class CustomerClientImpl implements CustomerClient {
-
- @Reference
- public Collection resourceCollection;
-
- public void testCustomerCollection() throws Exception {
-
- System.out.println(
- "\n//--------------------------" +
- "\n// Get the Feed" +
- "\n//--------------------------\n");
-
- BaseFeed<? extends BaseFeed, ? extends BaseEntry> feed = resourceCollection.getFeed();
-
- System.out.println("Feed content - " + feed.getUpdated().toString() + ":\n");
- for (BaseEntry e : feed.getEntries()) {
- System.out.println("# " + e.getTitle().getPlainText());
- }
-
- System.out.println(
- "\n//--------------------------" +
- "\n// Post a new Entry" +
- "\n//--------------------------\n");
-
- EventEntry entry = new EventEntry();
-
- entry.setTitle(new PlainTextConstruct("Activity"));
- entry.setContent(new PlainTextConstruct("Reading the book Beautiful Code"));
-
- Person author = new Person("GSoC Student 2008", null, "gsocstudent2008@gmail.com");
- entry.getAuthors().add(author);
-
- DateTime startTime = DateTime.parseDateTime("2008-06-19T15:00:00-08:00");
- DateTime endTime = DateTime.parseDateTime("2008-06-19T17:00:00-08:00");
- When eventTimes = new When();
- eventTimes.setStartTime(startTime);
- eventTimes.setEndTime(endTime);
- entry.addTime(eventTimes);
-
- BaseEntry returnedEntry = resourceCollection.post(entry);
-
- System.out.println("# " + returnedEntry.getTitle().getPlainText());
-
- System.out.println(
- "\n//--------------------------" +
- "\n// Get an Entry" +
- "\n//--------------------------\n");
-
- BaseEntry searchedEntry = resourceCollection.get(returnedEntry.getId());
- System.out.println("# " + searchedEntry.getTitle().getPlainText());
-
-
- System.out.println(
- "\n//--------------------------" +
- "\n// Update an Entry" +
- "\n//--------------------------\n");
-
- searchedEntry.setTitle(new PlainTextConstruct("Activity (opcional)"));
- BaseEntry updatedEntry = resourceCollection.put(searchedEntry.getId(), searchedEntry);
-
- System.out.println("# " + updatedEntry.getTitle().getPlainText());
-
- System.out.println(
- "\n//--------------------------" +
- "\n// Delete an Entry" +
- "\n//--------------------------\n");
-
- resourceCollection.delete(updatedEntry.getId());
-
- System.out.println(
- "\n//--------------------------" +
- "\n// Execute a query" +
- "\n//--------------------------\n");
-
- feed = (Feed)(Source) resourceCollection.query("GSoC");
-
- System.out.println("Feed content - " + feed.getUpdated().toString() + ":\n");
- for (BaseEntry e : feed.getEntries()) {
- System.out.println("# " + e.getTitle().getPlainText());
- }
- }
-}
diff --git a/branches/sca-android/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/consumerprovider/CustomerCollectionImpl.java b/branches/sca-android/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/consumerprovider/CustomerCollectionImpl.java
deleted file mode 100644
index 8233d01dd9..0000000000
--- a/branches/sca-android/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/consumerprovider/CustomerCollectionImpl.java
+++ /dev/null
@@ -1,116 +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.consumerprovider;
-
-import com.google.gdata.data.BaseEntry;
-import com.google.gdata.data.BaseFeed;
-import com.google.gdata.data.DateTime;
-import com.google.gdata.data.Entry;
-import com.google.gdata.data.Feed;
-import com.google.gdata.data.PlainTextConstruct;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.TimeZone;
-import java.util.UUID;
-import org.apache.tuscany.sca.binding.gdata.collection.Collection;
-import org.apache.tuscany.sca.implementation.data.collection.NotFoundException;
-import org.osoa.sca.annotations.Scope;
-
-@Scope("COMPOSITE")
-public class CustomerCollectionImpl implements Collection {
-
- private Map<String, BaseEntry> entries;
-
- public CustomerCollectionImpl() {
- entries = new HashMap<String, BaseEntry>();
-
- BaseEntry entry = new Entry();
- entry.setId("urn:uuid:customer-0");
- entry.setTitle(new PlainTextConstruct("An exampling entry - GSoC"));
-
- entries.put(entry.getId(), entry);
- }
-
- public BaseFeed<? extends BaseFeed, ? extends BaseEntry> getFeed() {
- System.out.println(">>> CustomerCollectionImpl.getFeed");
-
- BaseFeed feed = new Feed();
- feed.setTitle(new PlainTextConstruct("Customers Feed"));
- feed.setSubtitle(new PlainTextConstruct("This is a sample feed"));
- feed.setUpdated(new DateTime());
-
- //FIX-ME
- //feed.addHtmlLink("", "", ""); //feed.addLink("");
- //feed.addHtmlLink("", "self", ""); //feed.addLink("", "self");
- feed.addHtmlLink("http://localhost:8086/customer", "", "");
-
- feed.setEntries(new ArrayList(entries.values()));
-
- return feed;
- }
-
- public BaseFeed<? extends BaseFeed, ? extends BaseEntry> query(String queryString) {
- System.out.println(">>> CustomerCollectionImpl.query collection " + queryString);
- return getFeed();
- }
-
- public BaseEntry post(BaseEntry entry) {
- System.out.println(">>> CustomerCollectionImpl.post entry=" + entry.getTitle().getPlainText());
-
- String id = "urn:uuid:customer-" + UUID.randomUUID().toString();
- entry.setId(id);
-
- //FIX-ME
- entry.addHtmlLink("" + id, "edit", "");
- entry.addHtmlLink("" + id, "alternate", "");
-
- DateTime dateTime = new DateTime(new Date(), TimeZone.getTimeZone("America/Los_Angeles"));
- entry.setUpdated(dateTime);
-
- entries.put(id, entry);
-
- System.out.println(">>> CustomerCollectionImpl.post return id=" + id);
-
- return entry;
- }
-
- public BaseEntry get(String id) throws NotFoundException {
- System.out.println(">>> CustomerCollectionImpl.get id=" + id);
-
- return entries.get(id);
- }
-
- public BaseEntry put(String id, BaseEntry entry) throws NotFoundException {
- System.out.println(">>> CustomerCollectionImpl.put id=" + id + " entry=" + entry.getTitle());
-
- DateTime dateTime = new DateTime(new Date(), TimeZone.getTimeZone("America/Los_Angeles"));
- entry.setUpdated(dateTime);
-
- entries.put(id, entry);
-
- return entries.get(id);
- }
-
- public void delete(String id) throws NotFoundException {
- System.out.println(">>> CustomerCollectionImpl.delete id=" + id);
- entries.remove(id);
- }
-}
diff --git a/branches/sca-android/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/consumerprovider/Provider.java b/branches/sca-android/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/consumerprovider/Provider.java
deleted file mode 100644
index 9beca538df..0000000000
--- a/branches/sca-android/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/consumerprovider/Provider.java
+++ /dev/null
@@ -1,34 +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.consumerprovider;
-
-import org.apache.tuscany.sca.host.embedded.SCADomain;
-
-public class Provider {
-
- public static void main(String[] args) throws Exception {
-
- SCADomain scaDomain = SCADomain.newInstance("org/apache/tuscany/sca/binding/gdata/Provider.composite");
-
- System.out.println("Ready for consultings...");
- System.in.read();
-
- scaDomain.close();
- }
-}
diff --git a/branches/sca-android/modules/binding-gdata-runtime/src/test/resources/org/apache/tuscany/sca/binding/gdata/CalendarConsumer.composite b/branches/sca-android/modules/binding-gdata-runtime/src/test/resources/org/apache/tuscany/sca/binding/gdata/CalendarConsumer.composite
deleted file mode 100644
index a208852f16..0000000000
--- a/branches/sca-android/modules/binding-gdata-runtime/src/test/resources/org/apache/tuscany/sca/binding/gdata/CalendarConsumer.composite
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * 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.
--->
-<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
- xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0"
- targetNamespace="http://customer"
- name="CalendarConsumerComposite">
-
- <component name="CalendarConsumer">
- <implementation.java class="org.apache.tuscany.sca.binding.gdata.calendarconsumer.CalendarConsumerImpl"/>
- <reference name="resourceCollection">
- <tuscany:binding.gdata uri="http://www.google.com/calendar/feeds/gsocstudent2008@gmail.com/private/full" serviceType="cl" username="gsocstudent2008@gmail.com" password="gsoc2008"/>
- </reference>
- </component>
-
-</composite> \ No newline at end of file
diff --git a/branches/sca-android/modules/binding-gdata-runtime/src/test/resources/org/apache/tuscany/sca/binding/gdata/Consumer.composite b/branches/sca-android/modules/binding-gdata-runtime/src/test/resources/org/apache/tuscany/sca/binding/gdata/Consumer.composite
deleted file mode 100644
index e381f458b6..0000000000
--- a/branches/sca-android/modules/binding-gdata-runtime/src/test/resources/org/apache/tuscany/sca/binding/gdata/Consumer.composite
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * 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.
--->
-<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
- xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0"
- targetNamespace="http://customer"
- name="Consumer">
-
- <component name="CustomerClient">
- <implementation.java class="org.apache.tuscany.sca.binding.gdata.consumerprovider.CustomerClientImpl"/>
- <reference name="resourceCollection">
- <tuscany:binding.gdata uri="http://localhost:8086/customer" username="gsocstudent2008" password="gsoc2008" serviceType="sca"/>
- </reference>
- </component>
-
-</composite>
diff --git a/branches/sca-android/modules/binding-gdata-runtime/src/test/resources/org/apache/tuscany/sca/binding/gdata/Provider.composite b/branches/sca-android/modules/binding-gdata-runtime/src/test/resources/org/apache/tuscany/sca/binding/gdata/Provider.composite
deleted file mode 100644
index e7ddb38ff0..0000000000
--- a/branches/sca-android/modules/binding-gdata-runtime/src/test/resources/org/apache/tuscany/sca/binding/gdata/Provider.composite
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * 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.
--->
-<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
- xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0"
- targetNamespace = "http://customer"
- name="Provider">
-
- <service name="customer" promote="CustomerCollection">
- <tuscany:binding.gdata uri = "http://localhost:8086/customer" username="gsocstudent2008" password="gsoc2008" serviceType="cl"/>
- </service>
-
- <component name="CustomerCollection">
- <implementation.java class="org.apache.tuscany.sca.binding.gdata.consumerprovider.CustomerCollectionImpl"/>
- </component>
-
-</composite>
diff --git a/branches/sca-android/modules/binding-gdata/LICENSE b/branches/sca-android/modules/binding-gdata/LICENSE
deleted file mode 100644
index 6e529a25c4..0000000000
--- a/branches/sca-android/modules/binding-gdata/LICENSE
+++ /dev/null
@@ -1,205 +0,0 @@
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed 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.
-
-
-
diff --git a/branches/sca-android/modules/binding-gdata/META-INF/README b/branches/sca-android/modules/binding-gdata/META-INF/README
deleted file mode 100644
index 009570154d..0000000000
--- a/branches/sca-android/modules/binding-gdata/META-INF/README
+++ /dev/null
@@ -1 +0,0 @@
-This directory contains a generated MANIFEST.MF file.
diff --git a/branches/sca-android/modules/binding-gdata/NOTICE b/branches/sca-android/modules/binding-gdata/NOTICE
deleted file mode 100644
index 1325efd8bf..0000000000
--- a/branches/sca-android/modules/binding-gdata/NOTICE
+++ /dev/null
@@ -1,6 +0,0 @@
-${pom.name}
-Copyright (c) 2005 - 2008 The Apache Software Foundation
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
diff --git a/branches/sca-android/modules/binding-gdata/pom.xml b/branches/sca-android/modules/binding-gdata/pom.xml
deleted file mode 100644
index 96f43ffeb0..0000000000
--- a/branches/sca-android/modules/binding-gdata/pom.xml
+++ /dev/null
@@ -1,73 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * 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.
--->
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-modules</artifactId>
- <version>1.4-SNAPSHOT</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
-
- <artifactId>tuscany-binding-gdata</artifactId>
- <name>Apache Tuscany SCA Gdata Binding Extension GSOC</name>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-assembly</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-assembly-xml</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>4.2</version>
- <scope>test</scope>
- </dependency>
-
- </dependencies>
-
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.felix</groupId>
- <artifactId>maven-bundle-plugin</artifactId>
-
- <configuration>
- <instructions>
- <Bundle-Version>${tuscany.version}</Bundle-Version>
- <Bundle-SymbolicName>org.apache.tuscany.sca.binding.atom</Bundle-SymbolicName>
- <Bundle-Description>${pom.name}</Bundle-Description>
- <Export-Package>org.apache.tuscany.sca.binding.atom*</Export-Package>
- </instructions>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
-</project>
diff --git a/branches/sca-android/modules/binding-gdata/src/main/java/org/apache/tuscany/sca/binding/gdata/GDataBinding.java b/branches/sca-android/modules/binding-gdata/src/main/java/org/apache/tuscany/sca/binding/gdata/GDataBinding.java
deleted file mode 100644
index c1868f05dc..0000000000
--- a/branches/sca-android/modules/binding-gdata/src/main/java/org/apache/tuscany/sca/binding/gdata/GDataBinding.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.sca.binding.gdata;
-
-import org.apache.tuscany.sca.assembly.Binding;
-
-/**
- * GData binding model.
- *
- * @version $Rev$ $Date$
- */
-public interface GDataBinding extends Binding {
-
- /**
- * Returns the title of the Atom collection.
- * @return
- */
- String getTitle();
-
- /**
- * Sets the title of the Atom collection.
- * @param title
- */
- void setTitle(String title);
-
- /*
- * Returns the username of a Google account
- * @return
- */
- String getUsername();
-
- /*
- * Sets the username of a Google account
- * @param username
- */
- void setUsername(String username);
-
- /*
- * Returns the password of a Google account
- * @return
- */
- String getPassword();
-
- /*
- * Sets the password of a Google account
- * @param password
- */
- void setPassword(String password);
-
- /*
- * Retruns the name of the Google service to which we are connecting. Sample names of services might include "cl" (Calendar), "mail" (GMail), or "blogger" (Blogger)
- * @return
- */
- String getServiceType();
-
- /*
- * Sets the name of the Google service to which we are connecting. Sample names of services might include "cl" (Calendar), "mail" (GMail), or "blogger" (Blogger)
- * @param serviceType
- */
- void setServiceType(String serviceType);
-}
diff --git a/branches/sca-android/modules/binding-gdata/src/main/java/org/apache/tuscany/sca/binding/gdata/GDataBindingFactory.java b/branches/sca-android/modules/binding-gdata/src/main/java/org/apache/tuscany/sca/binding/gdata/GDataBindingFactory.java
deleted file mode 100644
index ec2f179fdb..0000000000
--- a/branches/sca-android/modules/binding-gdata/src/main/java/org/apache/tuscany/sca/binding/gdata/GDataBindingFactory.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.sca.binding.gdata;
-
-/**
- * Factory for the GData binding
- *
- * @version $Rev$ $Date$
- */
-public interface GDataBindingFactory {
-
- /**
- * Creates a new Atom binding.
- * @return the new Atom binding
- */
- GDataBinding createAtomBinding();
-
-}
diff --git a/branches/sca-android/modules/binding-gdata/src/main/java/org/apache/tuscany/sca/binding/gdata/GDataImplementationProcessor.java b/branches/sca-android/modules/binding-gdata/src/main/java/org/apache/tuscany/sca/binding/gdata/GDataImplementationProcessor.java
deleted file mode 100644
index 5797629bed..0000000000
--- a/branches/sca-android/modules/binding-gdata/src/main/java/org/apache/tuscany/sca/binding/gdata/GDataImplementationProcessor.java
+++ /dev/null
@@ -1,100 +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;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-import javax.xml.stream.XMLStreamWriter;
-
-import org.apache.tuscany.sca.assembly.xml.Constants;
-import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint;
-import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor;
-import org.apache.tuscany.sca.contribution.resolver.ModelResolver;
-import org.apache.tuscany.sca.contribution.service.ContributionResolveException;
-import org.apache.tuscany.sca.monitor.Monitor;
-
-public class GDataImplementationProcessor implements StAXArtifactProcessor<GDataBinding> {
-
- private GDataBindingFactory gdataFactory;
- protected static final QName BINDING_GDATA = new QName(Constants.SCA10_TUSCANY_NS, "binding.gdata");
-
- public GDataImplementationProcessor(ModelFactoryExtensionPoint modelFactories, Monitor monitor) {
-
- this.gdataFactory = (GDataBindingFactory) modelFactories.getFactory(GDataBindingFactory.class);
- }
-
- public GDataBinding read(XMLStreamReader reader) {
-
- assert BINDING_GDATA.equals(reader.getName());
-
- GDataBinding gdataBinding = gdataFactory.createAtomBinding();
-
- /*
- * <tuscany:binding.gdata uri="..."
- * login="..."
- * password="..."/>
- */
-
- String uri = reader.getAttributeValue(null, "uri");
- String serviceType = reader.getAttributeValue(null, "serviceType");
- String login = reader.getAttributeValue(null, "username");
- String password = reader.getAttributeValue(null, "password");
-
- gdataBinding.setURI(uri);
- gdataBinding.setServiceType(serviceType);
- gdataBinding.setUsername(login);
- gdataBinding.setPassword(password);
-
- return gdataBinding;
- }
-
- public void write(GDataBinding gdataBinding, XMLStreamWriter writer) throws XMLStreamException {
- if (gdataBinding != null) {
- writer.writeStartElement(BINDING_GDATA.getNamespaceURI(), BINDING_GDATA.getLocalPart());
-
- if (gdataBinding.getURI() != null) {
- writer.writeAttribute("uri", gdataBinding.getURI());
- }
-
- if (gdataBinding.getServiceType() != null) {
- writer.writeAttribute("serviceType", gdataBinding.getServiceType());
- }
- if (gdataBinding.getUsername() != null) {
- writer.writeAttribute("username", gdataBinding.getUsername());
- }
- if (gdataBinding.getPassword() != null) {
- writer.writeAttribute("password", gdataBinding.getPassword());
- }
-
- writer.writeEndElement();
- }
- }
-
- public QName getArtifactType() {
- return BINDING_GDATA;
- }
-
- public void resolve(GDataBinding arg0, ModelResolver arg1) throws ContributionResolveException {
- }
-
- public Class<GDataBinding> getModelType() {
- return GDataBinding.class;
- }
-}
diff --git a/branches/sca-android/modules/binding-gdata/src/main/java/org/apache/tuscany/sca/binding/gdata/impl/GDataBindingFactoryImpl.java b/branches/sca-android/modules/binding-gdata/src/main/java/org/apache/tuscany/sca/binding/gdata/impl/GDataBindingFactoryImpl.java
deleted file mode 100644
index e0c3bfbe78..0000000000
--- a/branches/sca-android/modules/binding-gdata/src/main/java/org/apache/tuscany/sca/binding/gdata/impl/GDataBindingFactoryImpl.java
+++ /dev/null
@@ -1,36 +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.impl;
-
-import org.apache.tuscany.sca.binding.gdata.GDataBinding;
-import org.apache.tuscany.sca.binding.gdata.GDataBindingFactory;
-
-/**
- * Factory for the GData binding model.
- *
- * @version $Rev$ $Date$
- */
-public class GDataBindingFactoryImpl implements GDataBindingFactory {
-
- public GDataBinding createAtomBinding() {
- return new GDataBindingImpl();
- }
-
-}
diff --git a/branches/sca-android/modules/binding-gdata/src/main/java/org/apache/tuscany/sca/binding/gdata/impl/GDataBindingImpl.java b/branches/sca-android/modules/binding-gdata/src/main/java/org/apache/tuscany/sca/binding/gdata/impl/GDataBindingImpl.java
deleted file mode 100644
index baba882c4c..0000000000
--- a/branches/sca-android/modules/binding-gdata/src/main/java/org/apache/tuscany/sca/binding/gdata/impl/GDataBindingImpl.java
+++ /dev/null
@@ -1,137 +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.impl;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.tuscany.sca.binding.gdata.GDataBinding;
-import org.apache.tuscany.sca.policy.Intent;
-import org.apache.tuscany.sca.policy.IntentAttachPointType;
-import org.apache.tuscany.sca.policy.PolicySet;
-import org.apache.tuscany.sca.policy.PolicySetAttachPoint;
-
-/**
- * Implementation of the GData binding model.
- *
- * @version $Rev$ $Date$
- */
-class GDataBindingImpl implements GDataBinding, PolicySetAttachPoint {
-
- private String password;
- private String username;
- private String name;
- private String serviceType;
- private String uri;
- private String title;
- private List<Intent> requiredIntents = new ArrayList<Intent>();
- private List<PolicySet> policySets = new ArrayList<PolicySet>();
- private IntentAttachPointType intentAttachPointType;
- private List<PolicySet> applicablePolicySets = new ArrayList<PolicySet>();
-
- public List<PolicySet> getApplicablePolicySets() {
- return applicablePolicySets;
- }
-
- public String getName() {
- return name;
- }
-
- public String getURI() {
- return uri;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- public void setURI(String uri) {
- this.uri = uri;
- }
-
- public String getTitle() {
- return title;
- }
-
- public void setTitle(String title) {
- this.title = title;
- }
-
- public boolean isUnresolved() {
- // The binding is always resolved
- return false;
- }
-
- public void setUnresolved(boolean unresolved) {
- // The binding is always resolved
- }
-
- public List<PolicySet> getPolicySets() {
- return policySets;
- }
-
- public List<Intent> getRequiredIntents() {
- return requiredIntents;
- }
-
- public IntentAttachPointType getType() {
- return intentAttachPointType;
- }
-
- public void setType(IntentAttachPointType intentAttachPointType) {
- this.intentAttachPointType = intentAttachPointType;
- }
-
- @Override
- public Object clone() throws CloneNotSupportedException {
- return super.clone();
- }
-
- public void setPolicySets(List<PolicySet> policySets) {
- this.policySets = policySets;
- }
-
- public void setRequiredIntents(List<Intent> intents) {
- this.requiredIntents = intents;
- }
-
- public String getUsername() {
- return this.username;
- }
-
- public void setUsername(String username) {
- this.username = username;
- }
-
- public String getPassword() {
- return this.password;
- }
-
- public void setPassword(String password) {
- this.password = password;
- }
-
- public String getServiceType() {
- return this.serviceType;
- }
-
- public void setServiceType(String serviceType) {
- this.serviceType = serviceType;
- }
-}
diff --git a/branches/sca-android/modules/binding-gdata/src/main/resources/META-INF/services/org.apache.tuscany.sca.binding.gdata.GDataBindingFactory b/branches/sca-android/modules/binding-gdata/src/main/resources/META-INF/services/org.apache.tuscany.sca.binding.gdata.GDataBindingFactory
deleted file mode 100644
index 48be99b507..0000000000
--- a/branches/sca-android/modules/binding-gdata/src/main/resources/META-INF/services/org.apache.tuscany.sca.binding.gdata.GDataBindingFactory
+++ /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 model factory
-org.apache.tuscany.sca.binding.gdata.impl.GDataBindingFactoryImpl \ No newline at end of file
diff --git a/branches/sca-android/modules/binding-gdata/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor b/branches/sca-android/modules/binding-gdata/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor
deleted file mode 100644
index 92aad3d44d..0000000000
--- a/branches/sca-android/modules/binding-gdata/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor
+++ /dev/null
@@ -1,21 +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 artifact processor extension
-
-#org.apache.tuscany.sca.assembly.xml.DefaultBeanModelProcessor;qname=http://tuscany.apache.org/xmlns/sca/1.0#binding.gdata,model=org.apache.tuscany.sca.binding.gdata.GDataBinding,factory=org.apache.tuscany.sca.binding.gdata.GDataBindingFactory
-org.apache.tuscany.sca.binding.gdata.GDataImplementationProcessor;qname=http://tuscany.apache.org/xmlns/sca/1.0#binding.gdata,model=org.apache.tuscany.sca.binding.gdata.GDataBinding,factory=org.apache.tuscany.sca.binding.gdata.GDataBindingFactory \ No newline at end of file