From 238e40fedb240591d164cee86efd860068773b6a Mon Sep 17 00:00:00 2001
From: Nick Miceli
Date: Mon, 26 Aug 2013 10:30:35 -0400
Subject: [PATCH 01/12] create 1.17 branch in preparation for release
From 0da247b31f3f8322352b6c591a735af1e07d466f Mon Sep 17 00:00:00 2001
From: Nick Miceli
Date: Tue, 27 Aug 2013 09:32:25 -0400
Subject: [PATCH 02/12] api 1.17: Add explicit project-info-reports plugin,
version 2.7 https://codereview.appspot.com/13146045/
---
pom.xml | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/pom.xml b/pom.xml
index 786a6807..007ce383 100644
--- a/pom.xml
+++ b/pom.xml
@@ -389,6 +389,11 @@
animal-sniffer-maven-plugin1.9
+
+ org.apache.maven.plugins
+ maven-project-info-reports-plugin
+ 2.7
+ org.eclipse.m2e
From 22123f279b19715c844ba5ef90b4b705ae3dd884 Mon Sep 17 00:00:00 2001
From: Nick Miceli
Date: Tue, 3 Sep 2013 12:04:14 -0400
Subject: [PATCH 03/12] api 1.17 Issue 836: Should clear URI query params when
moving large URIs to POST https://codereview.appspot.com/13437043/
---
.../java/com/google/api/client/googleapis/MethodOverride.java | 4 +++-
.../com/google/api/client/googleapis/MethodOverrideTest.java | 1 +
2 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/google-api-client/src/main/java/com/google/api/client/googleapis/MethodOverride.java b/google-api-client/src/main/java/com/google/api/client/googleapis/MethodOverride.java
index da090f12..c1309393 100644
--- a/google-api-client/src/main/java/com/google/api/client/googleapis/MethodOverride.java
+++ b/google-api-client/src/main/java/com/google/api/client/googleapis/MethodOverride.java
@@ -96,7 +96,9 @@ public void intercept(HttpRequest request) throws IOException {
request.getHeaders().set(HEADER, requestMethod);
if (requestMethod.equals(HttpMethods.GET)) {
// take the URI query part and put it into the HTTP body
- request.setContent(new UrlEncodedContent(request.getUrl()));
+ request.setContent(new UrlEncodedContent(request.getUrl().clone()));
+ // remove query parameters from URI
+ request.getUrl().clear();
} else if (request.getContent() == null) {
// Google servers will fail to process a POST unless the Content-Length header is specified
request.setContent(new EmptyContent());
diff --git a/google-api-client/src/test/java/com/google/api/client/googleapis/MethodOverrideTest.java b/google-api-client/src/test/java/com/google/api/client/googleapis/MethodOverrideTest.java
index a5f47388..38cc54c1 100644
--- a/google-api-client/src/test/java/com/google/api/client/googleapis/MethodOverrideTest.java
+++ b/google-api-client/src/test/java/com/google/api/client/googleapis/MethodOverrideTest.java
@@ -95,6 +95,7 @@ public void testInterceptMaxLength() throws IOException {
new MethodOverride().intercept(request);
assertEquals(HttpMethods.POST, request.getRequestMethod());
assertEquals(HttpMethods.GET, request.getHeaders().get(MethodOverride.HEADER));
+ assertEquals(HttpTesting.SIMPLE_GENERIC_URL, request.getUrl());
char[] arr2 = new char[arr.length + 2];
Arrays.fill(arr2, 'x');
arr2[0] = 'a';
From a06dd3cf6e80564f2c25bc53c853e0bd13707ee4 Mon Sep 17 00:00:00 2001
From: Eyal Peled
Date: Tue, 3 Sep 2013 19:46:34 -0400
Subject: [PATCH 04/12] Issue 827: getEmailVerified now reads 'email_verified'
field https://codereview.appspot.com/13431043/
---
findbugs-exclude.xml | 5 +
.../googleapis/auth/oauth2/GoogleIdToken.java | 37 +++++--
.../auth/oauth2/GoogleIdTokenTest.java | 97 +++++++++++++++++++
3 files changed, 133 insertions(+), 6 deletions(-)
create mode 100644 google-api-client/src/test/java/com/google/api/client/googleapis/auth/oauth2/GoogleIdTokenTest.java
diff --git a/findbugs-exclude.xml b/findbugs-exclude.xml
index 6b7906e7..1a54fcc8 100644
--- a/findbugs-exclude.xml
+++ b/findbugs-exclude.xml
@@ -2,6 +2,7 @@
+
@@ -60,4 +61,8 @@
+
+
+
+
diff --git a/google-api-client/src/main/java/com/google/api/client/googleapis/auth/oauth2/GoogleIdToken.java b/google-api-client/src/main/java/com/google/api/client/googleapis/auth/oauth2/GoogleIdToken.java
index a33661e9..09619b7d 100644
--- a/google-api-client/src/main/java/com/google/api/client/googleapis/auth/oauth2/GoogleIdToken.java
+++ b/google-api-client/src/main/java/com/google/api/client/googleapis/auth/oauth2/GoogleIdToken.java
@@ -98,9 +98,14 @@ public static class Payload extends IdToken.Payload {
@Key("email")
private String email;
- /** {@code true} if the email is verified. */
- @Key("verified_email")
- private boolean emailVerified;
+ /**
+ * {@code true} if the email is verified.
+ * TODO(mwan): change the type of the field to Boolean and the handling in
+ * {@link #getEmailVerified()} accordingly after Google OpenID Connect endpoint fixes the
+ * type of the field in ID Token.
+ */
+ @Key("email_verified")
+ private Object emailVerified;
public Payload() {
}
@@ -198,9 +203,23 @@ public Payload setEmail(String email) {
*
*
* @since 1.10
+ *
+ *
+ * Upgrade warning: in prior version 1.16 this method accessed {@code "verified_email"}
+ * and returns a boolean, but starting with verison 1.17, it now accesses
+ * {@code "email_verified"} and returns a Boolean. Previously, if this value was not
+ * specified, this method would return {@code false}, but now it returns {@code null}.
+ *
+ * Upgrade warning: in prior version 1.16 this method accessed {@code "verified_email"} and
+ * required a boolean parameter, but starting with verison 1.17, it now accesses
+ * {@code "email_verified"} and requires a Boolean parameter.
+ *
*/
- public Payload setEmailVerified(boolean emailVerified) {
+ public Payload setEmailVerified(Boolean emailVerified) {
this.emailVerified = emailVerified;
return this;
}
diff --git a/google-api-client/src/test/java/com/google/api/client/googleapis/auth/oauth2/GoogleIdTokenTest.java b/google-api-client/src/test/java/com/google/api/client/googleapis/auth/oauth2/GoogleIdTokenTest.java
new file mode 100644
index 00000000..aaf0b0cb
--- /dev/null
+++ b/google-api-client/src/test/java/com/google/api/client/googleapis/auth/oauth2/GoogleIdTokenTest.java
@@ -0,0 +1,97 @@
+/*
+ * Copyright (c) 2013 Google Inc.
+ *
+ * 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.
+ */
+
+package com.google.api.client.googleapis.auth.oauth2;
+
+import com.google.api.client.googleapis.auth.oauth2.GoogleIdToken.Payload;
+
+import junit.framework.TestCase;
+
+/** Tests for {@link GoogleIdToken}.*/
+
+public class GoogleIdTokenTest extends TestCase {
+ private static final String USER_ID = "1234567890";
+ private static final String ANOTHER_USER_ID = "2345678901";
+ private static final String CLIENT_ID = "myClientId";
+ private static final String ANOTHER_CLIENT_ID = "anotherClientId";
+ private static final String EMAIL_VERIFIED_KEY = "email_verified";
+
+ private static Payload newPayload(String userId, String clientId) {
+ Payload payload = new Payload();
+ payload.setIssuer("accounts.google.com");
+ payload.setAudience(clientId);
+ payload.setAuthorizedParty(clientId);
+ payload.setSubject(userId);
+ payload.setExpirationTimeSeconds(100L);
+ payload.setIssuedAtTimeSeconds(0L);
+ return payload;
+ }
+
+ public void testDeprecatedMethods() {
+ Payload payload = newPayload(USER_ID, CLIENT_ID);
+ assertEquals(USER_ID, payload.getUserId());
+ assertEquals(CLIENT_ID, payload.getIssuee());
+
+ payload.setUserId(ANOTHER_USER_ID);
+ payload.setIssuee(ANOTHER_CLIENT_ID);
+ assertEquals(ANOTHER_USER_ID, payload.getUserId());
+ assertEquals(ANOTHER_CLIENT_ID, payload.getIssuee());
+ assertEquals(ANOTHER_USER_ID, payload.getSubject());
+ assertEquals(ANOTHER_CLIENT_ID, payload.getAuthorizedParty());
+ }
+
+ public void testEmailVerified() {
+ Payload payload = newPayload(USER_ID, CLIENT_ID);
+ assertNull(payload.getEmailVerified());
+
+ payload.setEmailVerified(true);
+ assertTrue(payload.getEmailVerified());
+
+ payload.setEmailVerified(false);
+ assertFalse(payload.getEmailVerified());
+
+ payload.setEmailVerified(null);
+ assertNull(payload.getEmailVerified());
+
+ payload.set(EMAIL_VERIFIED_KEY, "true");
+ assertTrue(payload.getEmailVerified());
+
+ payload.set(EMAIL_VERIFIED_KEY, true);
+ assertTrue(payload.getEmailVerified());
+
+ payload.set(EMAIL_VERIFIED_KEY, "false");
+ assertFalse(payload.getEmailVerified());
+
+ payload.set(EMAIL_VERIFIED_KEY, false);
+ assertFalse(payload.getEmailVerified());
+
+ payload.set(EMAIL_VERIFIED_KEY, "RandomString");
+ assertFalse(payload.getEmailVerified());
+
+ payload.set(EMAIL_VERIFIED_KEY, "");
+ assertFalse(payload.getEmailVerified());
+
+ payload.set(EMAIL_VERIFIED_KEY, null);
+ assertNull(payload.getEmailVerified());
+
+ // Wrong type.
+ payload.set(EMAIL_VERIFIED_KEY, new Integer(5));
+ try {
+ payload.getEmailVerified();
+ fail();
+ } catch (ClassCastException e) {
+ // Expected.
+ }
+ }
+}
From 0e59eae365f86b327d529a2c3a00ae58cb08819b Mon Sep 17 00:00:00 2001
From: Eyal Peled
Date: Wed, 4 Sep 2013 09:43:33 -0400
Subject: [PATCH 05/12] Fix clirr bug https://codereview.appspot.com/13525043/
---
clirr-ignored-differences.xml | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
diff --git a/clirr-ignored-differences.xml b/clirr-ignored-differences.xml
index a01d160d..1400411c 100644
--- a/clirr-ignored-differences.xml
+++ b/clirr-ignored-differences.xml
@@ -22,6 +22,25 @@
com/google/api/client/googleapis/media/MediaHttpUploadercom.google.api.client.googleapis.media.MediaHttpUploader setBackOffPolicyEnabled(boolean)
+
+
+
+
+ 7006
+ com/google/api/client/googleapis/auth/oauth2/GoogleIdToken$Payload
+ boolean getEmailVerified()
+ java.lang.Boolean
+ 8001
From cf1a3e462a442da18a8101f343471f471c38e999 Mon Sep 17 00:00:00 2001
From: Nick Miceli
Date: Thu, 5 Sep 2013 09:09:12 -0400
Subject: [PATCH 06/12] api 1.17: Prepare for release
https://codereview.appspot.com/13535043/
---
google-api-client-android/pom.xml | 2 +-
google-api-client-appengine/pom.xml | 2 +-
...oogle-api-client-1.17.0-rc.jar.properties} | 0
...i-client-android-1.17.0-rc.jar.properties} | 0
...-api-client-gson-1.17.0-rc.jar.properties} | 0
...-client-jackson2-1.17.0-rc.jar.properties} | 0
...-client-protobuf-1.17.0-rc.jar.properties} | 0
...e-api-client-xml-1.17.0-rc.jar.properties} | 0
...ogle-http-client-1.17.0-rc.jar.properties} | 0
...p-client-android-1.17.0-rc.jar.properties} | 0
...http-client-gson-1.17.0-rc.jar.properties} | 0
...p-client-jackson-1.17.0-rc.jar.properties} | 0
...-client-jackson2-1.17.0-rc.jar.properties} | 0
...-client-protobuf-1.17.0-rc.jar.properties} | 0
...-http-client-xml-1.17.0-rc.jar.properties} | 0
...gle-oauth-client-1.17.0-rc.jar.properties} | 0
...oogle-api-client-android-dependencies.html | 598 ++++++++++++-
...gle-api-client-appengine-dependencies.html | 803 +++++++++++++++++-
.../google-api-client-dependencies.html | 557 +++++++++++-
.../google-api-client-gson-dependencies.html | 424 ++++++++-
...ogle-api-client-jackson2-dependencies.html | 424 ++++++++-
.../google-api-client-java6-dependencies.html | 442 +++++++++-
...ogle-api-client-protobuf-dependencies.html | 473 ++++++++++-
...oogle-api-client-servlet-dependencies.html | 555 +++++++++++-
.../google-api-client-xml-dependencies.html | 600 +++++++++++--
...ogle-http-client-android-dependencies.html | 483 ++++++++++-
...le-http-client-appengine-dependencies.html | 515 ++++++++++-
.../google-http-client-dependencies.html | 518 ++++++++++-
.../google-http-client-gson-dependencies.html | 440 +++++++++-
...ogle-http-client-jackson-dependencies.html | 440 +++++++++-
...gle-http-client-jackson2-dependencies.html | 440 +++++++++-
.../google-http-client-jdo-dependencies.html | 608 ++++++++++++-
...gle-http-client-protobuf-dependencies.html | 385 ++++++++-
.../google-http-client-xml-dependencies.html | 541 ++++++++++--
...e-oauth-client-appengine-dependencies.html | 699 ++++++++++++++-
.../google-oauth-client-dependencies.html | 471 +++++++++-
...oogle-oauth-client-java6-dependencies.html | 500 ++++++++++-
...oogle-oauth-client-java7-dependencies.html | 96 ---
...oogle-oauth-client-jetty-dependencies.html | 530 +++++++++++-
...gle-oauth-client-servlet-dependencies.html | 686 ++++++++++++++-
google-api-client-assembly/pom.xml | 2 +-
google-api-client-gson/pom.xml | 2 +-
google-api-client-jackson2/pom.xml | 2 +-
google-api-client-java6/pom.xml | 2 +-
google-api-client-protobuf/pom.xml | 2 +-
google-api-client-servlet/pom.xml | 2 +-
google-api-client-xml/pom.xml | 2 +-
google-api-client/pom.xml | 2 +-
.../api/client/googleapis/GoogleUtils.java | 2 +-
pom.xml | 6 +-
50 files changed, 11780 insertions(+), 476 deletions(-)
rename google-api-client-assembly/android-properties/{google-api-client-1.17.0-rc-SNAPSHOT.jar.properties => google-api-client-1.17.0-rc.jar.properties} (100%)
rename google-api-client-assembly/android-properties/{google-api-client-android-1.17.0-rc-SNAPSHOT.jar.properties => google-api-client-android-1.17.0-rc.jar.properties} (100%)
rename google-api-client-assembly/android-properties/{google-api-client-gson-1.17.0-rc-SNAPSHOT.jar.properties => google-api-client-gson-1.17.0-rc.jar.properties} (100%)
rename google-api-client-assembly/android-properties/{google-api-client-jackson2-1.17.0-rc-SNAPSHOT.jar.properties => google-api-client-jackson2-1.17.0-rc.jar.properties} (100%)
rename google-api-client-assembly/android-properties/{google-api-client-protobuf-1.17.0-rc-SNAPSHOT.jar.properties => google-api-client-protobuf-1.17.0-rc.jar.properties} (100%)
rename google-api-client-assembly/android-properties/{google-api-client-xml-1.17.0-rc-SNAPSHOT.jar.properties => google-api-client-xml-1.17.0-rc.jar.properties} (100%)
rename google-api-client-assembly/android-properties/{google-http-client-1.17.0-rc-SNAPSHOT.jar.properties => google-http-client-1.17.0-rc.jar.properties} (100%)
rename google-api-client-assembly/android-properties/{google-http-client-android-1.17.0-rc-SNAPSHOT.jar.properties => google-http-client-android-1.17.0-rc.jar.properties} (100%)
rename google-api-client-assembly/android-properties/{google-http-client-gson-1.17.0-rc-SNAPSHOT.jar.properties => google-http-client-gson-1.17.0-rc.jar.properties} (100%)
rename google-api-client-assembly/android-properties/{google-http-client-jackson-1.17.0-rc-SNAPSHOT.jar.properties => google-http-client-jackson-1.17.0-rc.jar.properties} (100%)
rename google-api-client-assembly/android-properties/{google-http-client-jackson2-1.17.0-rc-SNAPSHOT.jar.properties => google-http-client-jackson2-1.17.0-rc.jar.properties} (100%)
rename google-api-client-assembly/android-properties/{google-http-client-protobuf-1.17.0-rc-SNAPSHOT.jar.properties => google-http-client-protobuf-1.17.0-rc.jar.properties} (100%)
rename google-api-client-assembly/android-properties/{google-http-client-xml-1.17.0-rc-SNAPSHOT.jar.properties => google-http-client-xml-1.17.0-rc.jar.properties} (100%)
rename google-api-client-assembly/android-properties/{google-oauth-client-1.17.0-rc-SNAPSHOT.jar.properties => google-oauth-client-1.17.0-rc.jar.properties} (100%)
delete mode 100644 google-api-client-assembly/dependencies/google-oauth-client-java7-dependencies.html
diff --git a/google-api-client-android/pom.xml b/google-api-client-android/pom.xml
index 0f45ec68..f812866c 100644
--- a/google-api-client-android/pom.xml
+++ b/google-api-client-android/pom.xml
@@ -4,7 +4,7 @@
com.google.api-clientgoogle-api-client-parent
- 1.17.0-rc-SNAPSHOT
+ 1.17.0-rc../pom.xmlgoogle-api-client-android
diff --git a/google-api-client-appengine/pom.xml b/google-api-client-appengine/pom.xml
index eb9569ea..19b95ae6 100644
--- a/google-api-client-appengine/pom.xml
+++ b/google-api-client-appengine/pom.xml
@@ -4,7 +4,7 @@
com.google.api-clientgoogle-api-client-parent
- 1.17.0-rc-SNAPSHOT
+ 1.17.0-rc../pom.xmlgoogle-api-client-appengine
diff --git a/google-api-client-assembly/android-properties/google-api-client-1.17.0-rc-SNAPSHOT.jar.properties b/google-api-client-assembly/android-properties/google-api-client-1.17.0-rc.jar.properties
similarity index 100%
rename from google-api-client-assembly/android-properties/google-api-client-1.17.0-rc-SNAPSHOT.jar.properties
rename to google-api-client-assembly/android-properties/google-api-client-1.17.0-rc.jar.properties
diff --git a/google-api-client-assembly/android-properties/google-api-client-android-1.17.0-rc-SNAPSHOT.jar.properties b/google-api-client-assembly/android-properties/google-api-client-android-1.17.0-rc.jar.properties
similarity index 100%
rename from google-api-client-assembly/android-properties/google-api-client-android-1.17.0-rc-SNAPSHOT.jar.properties
rename to google-api-client-assembly/android-properties/google-api-client-android-1.17.0-rc.jar.properties
diff --git a/google-api-client-assembly/android-properties/google-api-client-gson-1.17.0-rc-SNAPSHOT.jar.properties b/google-api-client-assembly/android-properties/google-api-client-gson-1.17.0-rc.jar.properties
similarity index 100%
rename from google-api-client-assembly/android-properties/google-api-client-gson-1.17.0-rc-SNAPSHOT.jar.properties
rename to google-api-client-assembly/android-properties/google-api-client-gson-1.17.0-rc.jar.properties
diff --git a/google-api-client-assembly/android-properties/google-api-client-jackson2-1.17.0-rc-SNAPSHOT.jar.properties b/google-api-client-assembly/android-properties/google-api-client-jackson2-1.17.0-rc.jar.properties
similarity index 100%
rename from google-api-client-assembly/android-properties/google-api-client-jackson2-1.17.0-rc-SNAPSHOT.jar.properties
rename to google-api-client-assembly/android-properties/google-api-client-jackson2-1.17.0-rc.jar.properties
diff --git a/google-api-client-assembly/android-properties/google-api-client-protobuf-1.17.0-rc-SNAPSHOT.jar.properties b/google-api-client-assembly/android-properties/google-api-client-protobuf-1.17.0-rc.jar.properties
similarity index 100%
rename from google-api-client-assembly/android-properties/google-api-client-protobuf-1.17.0-rc-SNAPSHOT.jar.properties
rename to google-api-client-assembly/android-properties/google-api-client-protobuf-1.17.0-rc.jar.properties
diff --git a/google-api-client-assembly/android-properties/google-api-client-xml-1.17.0-rc-SNAPSHOT.jar.properties b/google-api-client-assembly/android-properties/google-api-client-xml-1.17.0-rc.jar.properties
similarity index 100%
rename from google-api-client-assembly/android-properties/google-api-client-xml-1.17.0-rc-SNAPSHOT.jar.properties
rename to google-api-client-assembly/android-properties/google-api-client-xml-1.17.0-rc.jar.properties
diff --git a/google-api-client-assembly/android-properties/google-http-client-1.17.0-rc-SNAPSHOT.jar.properties b/google-api-client-assembly/android-properties/google-http-client-1.17.0-rc.jar.properties
similarity index 100%
rename from google-api-client-assembly/android-properties/google-http-client-1.17.0-rc-SNAPSHOT.jar.properties
rename to google-api-client-assembly/android-properties/google-http-client-1.17.0-rc.jar.properties
diff --git a/google-api-client-assembly/android-properties/google-http-client-android-1.17.0-rc-SNAPSHOT.jar.properties b/google-api-client-assembly/android-properties/google-http-client-android-1.17.0-rc.jar.properties
similarity index 100%
rename from google-api-client-assembly/android-properties/google-http-client-android-1.17.0-rc-SNAPSHOT.jar.properties
rename to google-api-client-assembly/android-properties/google-http-client-android-1.17.0-rc.jar.properties
diff --git a/google-api-client-assembly/android-properties/google-http-client-gson-1.17.0-rc-SNAPSHOT.jar.properties b/google-api-client-assembly/android-properties/google-http-client-gson-1.17.0-rc.jar.properties
similarity index 100%
rename from google-api-client-assembly/android-properties/google-http-client-gson-1.17.0-rc-SNAPSHOT.jar.properties
rename to google-api-client-assembly/android-properties/google-http-client-gson-1.17.0-rc.jar.properties
diff --git a/google-api-client-assembly/android-properties/google-http-client-jackson-1.17.0-rc-SNAPSHOT.jar.properties b/google-api-client-assembly/android-properties/google-http-client-jackson-1.17.0-rc.jar.properties
similarity index 100%
rename from google-api-client-assembly/android-properties/google-http-client-jackson-1.17.0-rc-SNAPSHOT.jar.properties
rename to google-api-client-assembly/android-properties/google-http-client-jackson-1.17.0-rc.jar.properties
diff --git a/google-api-client-assembly/android-properties/google-http-client-jackson2-1.17.0-rc-SNAPSHOT.jar.properties b/google-api-client-assembly/android-properties/google-http-client-jackson2-1.17.0-rc.jar.properties
similarity index 100%
rename from google-api-client-assembly/android-properties/google-http-client-jackson2-1.17.0-rc-SNAPSHOT.jar.properties
rename to google-api-client-assembly/android-properties/google-http-client-jackson2-1.17.0-rc.jar.properties
diff --git a/google-api-client-assembly/android-properties/google-http-client-protobuf-1.17.0-rc-SNAPSHOT.jar.properties b/google-api-client-assembly/android-properties/google-http-client-protobuf-1.17.0-rc.jar.properties
similarity index 100%
rename from google-api-client-assembly/android-properties/google-http-client-protobuf-1.17.0-rc-SNAPSHOT.jar.properties
rename to google-api-client-assembly/android-properties/google-http-client-protobuf-1.17.0-rc.jar.properties
diff --git a/google-api-client-assembly/android-properties/google-http-client-xml-1.17.0-rc-SNAPSHOT.jar.properties b/google-api-client-assembly/android-properties/google-http-client-xml-1.17.0-rc.jar.properties
similarity index 100%
rename from google-api-client-assembly/android-properties/google-http-client-xml-1.17.0-rc-SNAPSHOT.jar.properties
rename to google-api-client-assembly/android-properties/google-http-client-xml-1.17.0-rc.jar.properties
diff --git a/google-api-client-assembly/android-properties/google-oauth-client-1.17.0-rc-SNAPSHOT.jar.properties b/google-api-client-assembly/android-properties/google-oauth-client-1.17.0-rc.jar.properties
similarity index 100%
rename from google-api-client-assembly/android-properties/google-oauth-client-1.17.0-rc-SNAPSHOT.jar.properties
rename to google-api-client-assembly/android-properties/google-oauth-client-1.17.0-rc.jar.properties
diff --git a/google-api-client-assembly/dependencies/google-api-client-android-dependencies.html b/google-api-client-assembly/dependencies/google-api-client-android-dependencies.html
index 4f509e74..812665ab 100644
--- a/google-api-client-assembly/dependencies/google-api-client-android-dependencies.html
+++ b/google-api-client-assembly/dependencies/google-api-client-android-dependencies.html
@@ -1,5 +1,5 @@
-
+
@@ -10,7 +10,7 @@
@import url("./css/site.css");
-
+
@@ -24,8 +24,8 @@
- Last Published: 2013-07-03
- | Version: 1.17.0-rc-SNAPSHOT
+ Last Published: 2013-09-04
+ | Version: 1.17.0-rc
@@ -47,7 +47,144 @@
-
Project Dependencies
compile
The following is a list of compile dependencies for this project. These dependencies are required to compile and run the application:
The following is a list of provided dependencies for this project. These dependencies are required to compile the application, but should be provided by default when using the library:
The following is a list of provided dependencies for this project. These dependencies are required to compile the application, but should be provided by default when using the library:
Description: The codec package contains simple encoder and decoders for
various formats such as Base64 and Hexadecimal. In addition to these
widely used encoders and decoders, the codec package also maintains a
- collection of phonetic encoding utilities.
Description: There is currently no description associated with this project.
Project License: No license is defined for this project.
xpp3:xpp3:jar:1.1.4c (compile)
MXP1: Xml Pull Parser 3rd Edition (XPP3)
Description: MXP1 is a stable XmlPull parsing engine that is based on ideas from XPP and in particular XPP2 but completely revised and rewritten to take the best advantage of latest JIT JVMs such as Hotspot in JDK 1.4+.
Description: There is currently no description associated with this project.
+
Project License: No license is defined for this project.
+
xpp3:xpp3:jar:1.1.4c (provided)
+
+
+
MXP1: Xml Pull Parser 3rd Edition (XPP3)
+
+
+
Description: MXP1 is a stable XmlPull parsing engine that is based on ideas from XPP and in particular XPP2 but completely revised and rewritten to take the best advantage of latest JIT JVMs such as Hotspot in JDK 1.4+.
Description: JSON (JavaScript Object Notation) is a lightweight data-interchange format.
It is easy for humans to read and write. It is easy for machines to parse and generate.
It is based on a subset of the JavaScript Programming Language, Standard ECMA-262 3rd Edition
- December 1999. JSON is a text format that is completely language independent but uses
conventions that are familiar to programmers of the C-family of languages, including C, C++, C#,
Java, JavaScript, Perl, Python, and many others.
- These properties make JSON an ideal data-interchange language.
Description: Google OAuth Client Library for Java. Functionality that works on all supported Java platforms,
- including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: Google HTTP Client Library for Java. Functionality that works on all supported Java platforms,
- including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: POM was created from install:install-file
Project License: No license is defined for this project.
Licenses
Apache Software License, version 1.1: MXP1: Xml Pull Parser 3rd Edition (XPP3)
Public Domain: MXP1: Xml Pull Parser 3rd Edition (XPP3)
Unknown: google-play-services, xmlParserAPIs
Apache License: HttpClient, HttpCore
provided without support or warranty: JSON (JavaScript Object Notation)
Apache 2.0: Google Android Java ME Library (Khronos), Google Android Library
The Apache Software License, Version 2.0: Android Platform Extensions to the Google APIs Client Library for Java., Android Platform Extensions to the Google HTTP Client Library for Java., Codec, Commons Logging, FindBugs-jsr305, Google APIs Client Library for Java, Google HTTP Client Library for Java, Google OAuth Client Library for Java
Indiana University Extreme! Lab Software License, vesion 1.1.1: MXP1: Xml Pull Parser 3rd Edition (XPP3)
Description: Google OAuth Client Library for Java. Functionality that works on all supported Java platforms,
+ including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: Google HTTP Client Library for Java. Functionality that works on all supported Java platforms,
+ including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: POM was created from install:install-file
+
Project License: No license is defined for this project.
+
+
Licenses
+
Apache Software License, version 1.1: MXP1: Xml Pull Parser 3rd Edition (XPP3)
+
Public Domain: MXP1: Xml Pull Parser 3rd Edition (XPP3)
+
Unknown: google-play-services, xmlParserAPIs
+
Apache License: HttpClient, HttpCore
+
provided without support or warranty: JSON (JavaScript Object Notation)
+
Apache 2.0: Google Android Java ME Library (Khronos), Google Android Library
+
The Apache Software License, Version 2.0: Android Platform Extensions to the Google APIs Client Library for Java., Android Platform Extensions to the Google HTTP Client Library for Java., Codec, Commons Logging, FindBugs-jsr305, Google APIs Client Library for Java, Google HTTP Client Library for Java, Google OAuth Client Library for Java
+
Indiana University Extreme! Lab Software License, vesion 1.1.1: MXP1: Xml Pull Parser 3rd Edition (XPP3)
The following is a list of provided dependencies for this project. These dependencies are required to compile the application, but should be provided by default when using the library:
Description: Google OAuth Client Library for Java. Functionality that works on all supported Java platforms,
- including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: The Java Data Objects 2 (JDO) API is a standard interface-based Java model abstraction of persistence, developed as Java Specification Request 243 under the auspices of the Java Community Process.
Description: Google HTTP Client Library for Java. Functionality that works on all supported Java platforms,
- including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: Google OAuth Client Library for Java. Functionality that works on all supported Java platforms,
+ including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: The Java Data Objects 2 (JDO) API is a standard interface-based Java model abstraction of persistence, developed as Java Specification Request 243 under the auspices of the Java Community Process.
Description: Google HTTP Client Library for Java. Functionality that works on all supported Java platforms,
+ including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: The codec package contains simple encoder and decoders for
various formats such as Base64 and Hexadecimal. In addition to these
widely used encoders and decoders, the codec package also maintains a
- collection of phonetic encoding utilities.
Description: MXP1 is a stable XmlPull parsing engine that is based on ideas from XPP and in particular XPP2 but completely revised and rewritten to take the best advantage of latest JIT JVMs such as Hotspot in JDK 1.4+.
Description: Guava is a suite of core and expanded libraries that include
utility classes, google's collections, io classes, and much
much more.
Guava has only one code dependency - javax.annotation,
- per the JSR-305 spec.
Apache Software License, version 1.1: MXP1: Xml Pull Parser 3rd Edition (XPP3)
Public Domain: MXP1: Xml Pull Parser 3rd Edition (XPP3)
Google App Engine Terms of Service: appengine-api-1.0-sdk, appengine-api-labs, appengine-api-stubs, appengine-testing
Apache 2: JDO2 API
Unknown: servlet-api, transaction-api
Apache License: HttpClient, HttpCore
Common Public License Version 1.0: JUnit
The Apache Software License, Version 2.0: Codec, Commons Logging, FindBugs-jsr305, Google APIs Client Library for Java, Google App Engine extensions to the Google API Client Library for Java., Google App Engine extensions to the Google HTTP Client Library for Java., Google App Engine extensions to the Google OAuth Client Library for Java., Google HTTP Client Library for Java, Google OAuth Client Library for Java, Guava: Google Core Libraries for Java, JDO extensions to the Google HTTP Client Library for Java., Servlet and JDO extensions to the Google API Client Library for Java., Servlet and JDO extensions to the Google OAuth Client Library for Java.
Indiana University Extreme! Lab Software License, vesion 1.1.1: MXP1: Xml Pull Parser 3rd Edition (XPP3)
Google App Engine Terms of Service: appengine-api-1.0-sdk, appengine-api-labs, appengine-api-stubs, appengine-testing
+
Apache 2: JDO2 API
+
Unknown: servlet-api, transaction-api
+
Apache License: HttpClient, HttpCore
+
Common Public License Version 1.0: JUnit
+
The Apache Software License, Version 2.0: Codec, Commons Logging, FindBugs-jsr305, Google APIs Client Library for Java, Google App Engine extensions to the Google API Client Library for Java., Google App Engine extensions to the Google HTTP Client Library for Java., Google App Engine extensions to the Google OAuth Client Library for Java., Google HTTP Client Library for Java, Google OAuth Client Library for Java, Guava: Google Core Libraries for Java, JDO extensions to the Google HTTP Client Library for Java., Servlet and JDO extensions to the Google API Client Library for Java., Servlet and JDO extensions to the Google OAuth Client Library for Java.
The following is a list of provided dependencies for this project. These dependencies are required to compile the application, but should be provided by default when using the library:
Description: Google OAuth Client Library for Java. Functionality that works on all supported Java platforms,
- including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: Google HTTP Client Library for Java. Functionality that works on all supported Java platforms,
- including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: MXP1 is a stable XmlPull parsing engine that is based on ideas from XPP and in particular XPP2 but completely revised and rewritten to take the best advantage of latest JIT JVMs such as Hotspot in JDK 1.4+.
Description: Google OAuth Client Library for Java. Functionality that works on all supported Java platforms,
+ including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: Google HTTP Client Library for Java. Functionality that works on all supported Java platforms,
+ including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: The codec package contains simple encoder and decoders for
various formats such as Base64 and Hexadecimal. In addition to these
widely used encoders and decoders, the codec package also maintains a
- collection of phonetic encoding utilities.
Description: Guava is a suite of core and expanded libraries that include
utility classes, google's collections, io classes, and much
much more.
Guava has only one code dependency - javax.annotation,
- per the JSR-305 spec.
Apache Software License, version 1.1: MXP1: Xml Pull Parser 3rd Edition (XPP3)
Public Domain: MXP1: Xml Pull Parser 3rd Edition (XPP3)
Apache License: HttpClient, HttpCore
Common Public License Version 1.0: JUnit
The Apache Software License, Version 2.0: Commons Codec, Commons Logging, FindBugs-jsr305, GSON extensions to the Google HTTP Client Library for Java., Google APIs Client Library for Java, Google HTTP Client Library for Java, Google OAuth Client Library for Java, Gson, Guava: Google Core Libraries for Java, Jackson, Jackson extensions to the Google HTTP Client Library for Java.
Indiana University Extreme! Lab Software License, vesion 1.1.1: MXP1: Xml Pull Parser 3rd Edition (XPP3)
The Apache Software License, Version 2.0: Commons Codec, Commons Logging, FindBugs-jsr305, GSON extensions to the Google HTTP Client Library for Java., Google APIs Client Library for Java, Google HTTP Client Library for Java, Google OAuth Client Library for Java, Gson, Guava: Google Core Libraries for Java, Jackson, Jackson extensions to the Google HTTP Client Library for Java.
Description: Google OAuth Client Library for Java. Functionality that works on all supported Java platforms,
- including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: Google HTTP Client Library for Java. Functionality that works on all supported Java platforms,
- including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: Google OAuth Client Library for Java. Functionality that works on all supported Java platforms,
+ including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: Google HTTP Client Library for Java. Functionality that works on all supported Java platforms,
+ including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: The codec package contains simple encoder and decoders for
various formats such as Base64 and Hexadecimal. In addition to these
widely used encoders and decoders, the codec package also maintains a
- collection of phonetic encoding utilities.
Description: MXP1 is a stable XmlPull parsing engine that is based on ideas from XPP and in particular XPP2 but completely revised and rewritten to take the best advantage of latest JIT JVMs such as Hotspot in JDK 1.4+.
Apache Software License, version 1.1: MXP1: Xml Pull Parser 3rd Edition (XPP3)
Public Domain: MXP1: Xml Pull Parser 3rd Edition (XPP3)
Apache License: HttpClient, HttpCore
The Apache Software License, Version 2.0: Codec, Commons Logging, FindBugs-jsr305, GSON extensions to the Google APIs Client Library for Java, GSON extensions to the Google HTTP Client Library for Java., Google APIs Client Library for Java, Google HTTP Client Library for Java, Google OAuth Client Library for Java, Gson
Indiana University Extreme! Lab Software License, vesion 1.1.1: MXP1: Xml Pull Parser 3rd Edition (XPP3)
The Apache Software License, Version 2.0: Codec, Commons Logging, FindBugs-jsr305, GSON extensions to the Google APIs Client Library for Java, GSON extensions to the Google HTTP Client Library for Java., Google APIs Client Library for Java, Google HTTP Client Library for Java, Google OAuth Client Library for Java, Gson
Description: Google OAuth Client Library for Java. Functionality that works on all supported Java platforms,
- including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: Google HTTP Client Library for Java. Functionality that works on all supported Java platforms,
- including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: Google OAuth Client Library for Java. Functionality that works on all supported Java platforms,
+ including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: Google HTTP Client Library for Java. Functionality that works on all supported Java platforms,
+ including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: The codec package contains simple encoder and decoders for
various formats such as Base64 and Hexadecimal. In addition to these
widely used encoders and decoders, the codec package also maintains a
- collection of phonetic encoding utilities.
Description: MXP1 is a stable XmlPull parsing engine that is based on ideas from XPP and in particular XPP2 but completely revised and rewritten to take the best advantage of latest JIT JVMs such as Hotspot in JDK 1.4+.
Apache Software License, version 1.1: MXP1: Xml Pull Parser 3rd Edition (XPP3)
Public Domain: MXP1: Xml Pull Parser 3rd Edition (XPP3)
Apache License: HttpClient, HttpCore
The Apache Software License, Version 2.0: Codec, Commons Logging, FindBugs-jsr305, Google APIs Client Library for Java, Google HTTP Client Library for Java, Google OAuth Client Library for Java, Jackson 2 extensions to the Google APIs Client Library for Java, Jackson 2 extensions to the Google HTTP Client Library for Java., Jackson-core
Indiana University Extreme! Lab Software License, vesion 1.1.1: MXP1: Xml Pull Parser 3rd Edition (XPP3)
The Apache Software License, Version 2.0: Codec, Commons Logging, FindBugs-jsr305, Google APIs Client Library for Java, Google HTTP Client Library for Java, Google OAuth Client Library for Java, Jackson 2 extensions to the Google APIs Client Library for Java, Jackson 2 extensions to the Google HTTP Client Library for Java., Jackson-core
Description: Google OAuth Client Library for Java. Functionality that works on all supported Java platforms,
- including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: Google HTTP Client Library for Java. Functionality that works on all supported Java platforms,
- including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: Google OAuth Client Library for Java. Functionality that works on all supported Java platforms,
+ including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: Google HTTP Client Library for Java. Functionality that works on all supported Java platforms,
+ including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: The codec package contains simple encoder and decoders for
various formats such as Base64 and Hexadecimal. In addition to these
widely used encoders and decoders, the codec package also maintains a
- collection of phonetic encoding utilities.
Description: MXP1 is a stable XmlPull parsing engine that is based on ideas from XPP and in particular XPP2 but completely revised and rewritten to take the best advantage of latest JIT JVMs such as Hotspot in JDK 1.4+.
Apache Software License, version 1.1: MXP1: Xml Pull Parser 3rd Edition (XPP3)
Public Domain: MXP1: Xml Pull Parser 3rd Edition (XPP3)
Apache License: HttpClient, HttpCore
Common Public License Version 1.0: JUnit
The Apache Software License, Version 2.0: Codec, Commons Logging, FindBugs-jsr305, Google APIs Client Library for Java, Google HTTP Client Library for Java, Google OAuth Client Library for Java, Java 6 (and higher) Extensions to the Google API Client Library for Java., Java 6 (and higher) extensions to the Google OAuth Client Library for Java.
Indiana University Extreme! Lab Software License, vesion 1.1.1: MXP1: Xml Pull Parser 3rd Edition (XPP3)
The Apache Software License, Version 2.0: Codec, Commons Logging, FindBugs-jsr305, Google APIs Client Library for Java, Google HTTP Client Library for Java, Google OAuth Client Library for Java, Java 6 (and higher) Extensions to the Google API Client Library for Java., Java 6 (and higher) extensions to the Google OAuth Client Library for Java.
Description: Google HTTP Client Library for Java. Functionality that works on all supported Java platforms,
- including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: Google HTTP Client Library for Java. Functionality that works on all supported Java platforms,
+ including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: The codec package contains simple encoder and decoders for
various formats such as Base64 and Hexadecimal. In addition to these
widely used encoders and decoders, the codec package also maintains a
- collection of phonetic encoding utilities.
Description: MXP1 is a stable XmlPull parsing engine that is based on ideas from XPP and in particular XPP2 but completely revised and rewritten to take the best advantage of latest JIT JVMs such as Hotspot in JDK 1.4+.
Description: Google OAuth Client Library for Java. Functionality that works on all supported Java platforms,
- including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Apache Software License, version 1.1: MXP1: Xml Pull Parser 3rd Edition (XPP3)
Public Domain: MXP1: Xml Pull Parser 3rd Edition (XPP3)
Apache License: HttpClient, HttpCore
New BSD license: Protocol Buffer Java API
Common Public License Version 1.0: JUnit
The Apache Software License, Version 2.0: Codec, Commons Logging, FindBugs-jsr305, Google APIs Client Library for Java, Google HTTP Client Library for Java, Google OAuth Client Library for Java, Protocol Buffer extensions to the Google APIs Client Library for Java, Protocol Buffer extensions to the Google HTTP Client Library for Java.
Indiana University Extreme! Lab Software License, vesion 1.1.1: MXP1: Xml Pull Parser 3rd Edition (XPP3)
Description: Google OAuth Client Library for Java. Functionality that works on all supported Java platforms,
+ including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
The Apache Software License, Version 2.0: Codec, Commons Logging, FindBugs-jsr305, Google APIs Client Library for Java, Google HTTP Client Library for Java, Google OAuth Client Library for Java, Protocol Buffer extensions to the Google APIs Client Library for Java, Protocol Buffer extensions to the Google HTTP Client Library for Java.
Description: Google OAuth Client Library for Java. Functionality that works on all supported Java platforms,
- including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: Google HTTP Client Library for Java. Functionality that works on all supported Java platforms,
- including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: Google OAuth Client Library for Java. Functionality that works on all supported Java platforms,
+ including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: Google HTTP Client Library for Java. Functionality that works on all supported Java platforms,
+ including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: The codec package contains simple encoder and decoders for
various formats such as Base64 and Hexadecimal. In addition to these
widely used encoders and decoders, the codec package also maintains a
- collection of phonetic encoding utilities.
Description: MXP1 is a stable XmlPull parsing engine that is based on ideas from XPP and in particular XPP2 but completely revised and rewritten to take the best advantage of latest JIT JVMs such as Hotspot in JDK 1.4+.
Description: There is currently no description associated with this project.
Project License: No license is defined for this project.
javax.jdo:jdo2-api:jar:2.3-eb (compile)
JDO2 API
Description: The Java Data Objects 2 (JDO) API is a standard interface-based Java model abstraction of persistence, developed as Java Specification Request 243 under the auspices of the Java Community Process.
Description: There is currently no description associated with this project.
Project License: No license is defined for this project.
Licenses
Apache Software License, version 1.1: MXP1: Xml Pull Parser 3rd Edition (XPP3)
Public Domain: MXP1: Xml Pull Parser 3rd Edition (XPP3)
Apache 2: JDO2 API
Unknown: servlet-api, transaction-api
Apache License: HttpClient, HttpCore
Common Public License Version 1.0: JUnit
The Apache Software License, Version 2.0: Codec, Commons Logging, FindBugs-jsr305, Google APIs Client Library for Java, Google HTTP Client Library for Java, Google OAuth Client Library for Java, JDO extensions to the Google HTTP Client Library for Java., Servlet and JDO extensions to the Google API Client Library for Java., Servlet and JDO extensions to the Google OAuth Client Library for Java.
Indiana University Extreme! Lab Software License, vesion 1.1.1: MXP1: Xml Pull Parser 3rd Edition (XPP3)
Description: There is currently no description associated with this project.
+
Project License: No license is defined for this project.
+
javax.jdo:jdo2-api:jar:2.3-eb (compile)
+
+
+
JDO2 API
+
+
+
Description: The Java Data Objects 2 (JDO) API is a standard interface-based Java model abstraction of persistence, developed as Java Specification Request 243 under the auspices of the Java Community Process.
Description: There is currently no description associated with this project.
+
Project License: No license is defined for this project.
+
+
Licenses
+
Apache 2: JDO2 API
+
Unknown: servlet-api, transaction-api
+
Apache License: HttpClient, HttpCore
+
Common Public License Version 1.0: JUnit
+
The Apache Software License, Version 2.0: Codec, Commons Logging, FindBugs-jsr305, Google APIs Client Library for Java, Google HTTP Client Library for Java, Google OAuth Client Library for Java, JDO extensions to the Google HTTP Client Library for Java., Servlet and JDO extensions to the Google API Client Library for Java., Servlet and JDO extensions to the Google OAuth Client Library for Java.
Description: Google OAuth Client Library for Java. Functionality that works on all supported Java platforms,
- including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: Google HTTP Client Library for Java. Functionality that works on all supported Java platforms,
- including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: Google OAuth Client Library for Java. Functionality that works on all supported Java platforms,
+ including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: Google HTTP Client Library for Java. Functionality that works on all supported Java platforms,
+ including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: The codec package contains simple encoder and decoders for
various formats such as Base64 and Hexadecimal. In addition to these
widely used encoders and decoders, the codec package also maintains a
- collection of phonetic encoding utilities.
Description: MXP1 is a stable XmlPull parsing engine that is based on ideas from XPP and in particular XPP2 but completely revised and rewritten to take the best advantage of latest JIT JVMs such as Hotspot in JDK 1.4+.
Apache Software License, version 1.1: MXP1: Xml Pull Parser 3rd Edition (XPP3)
Public Domain: MXP1: Xml Pull Parser 3rd Edition (XPP3)
Apache License: HttpClient, HttpCore
Common Public License Version 1.0: JUnit
The Apache Software License, Version 2.0: Codec, Commons Logging, FindBugs-jsr305, Google APIs Client Library for Java, Google HTTP Client Library for Java, Google OAuth Client Library for Java, XML extensions to the Google APIs Client Library for Java, XML extensions to the Google HTTP Client Library for Java.
Indiana University Extreme! Lab Software License, vesion 1.1.1: MXP1: Xml Pull Parser 3rd Edition (XPP3)
Description: MXP1 is a stable XmlPull parsing engine that is based on ideas from XPP and in particular XPP2 but completely revised and rewritten to take the best advantage of latest JIT JVMs such as Hotspot in JDK 1.4+.
Apache Software License, version 1.1: MXP1: Xml Pull Parser 3rd Edition (XPP3)
+
Public Domain: MXP1: Xml Pull Parser 3rd Edition (XPP3)
+
Apache License: HttpClient, HttpCore
+
Common Public License Version 1.0: JUnit
+
The Apache Software License, Version 2.0: Codec, Commons Logging, FindBugs-jsr305, Google APIs Client Library for Java, Google HTTP Client Library for Java, Google OAuth Client Library for Java, XML extensions to the Google APIs Client Library for Java, XML extensions to the Google HTTP Client Library for Java.
+
Indiana University Extreme! Lab Software License, vesion 1.1.1: MXP1: Xml Pull Parser 3rd Edition (XPP3)
The following is a list of provided dependencies for this project. These dependencies are required to compile the application, but should be provided by default when using the library:
The following is a list of provided dependencies for this project. These dependencies are required to compile the application, but should be provided by default when using the library:
Description: The codec package contains simple encoder and decoders for
various formats such as Base64 and Hexadecimal. In addition to these
widely used encoders and decoders, the codec package also maintains a
- collection of phonetic encoding utilities.
Description: There is currently no description associated with this project.
Project License: No license is defined for this project.
xpp3:xpp3:jar:1.1.4c (compile)
MXP1: Xml Pull Parser 3rd Edition (XPP3)
Description: MXP1 is a stable XmlPull parsing engine that is based on ideas from XPP and in particular XPP2 but completely revised and rewritten to take the best advantage of latest JIT JVMs such as Hotspot in JDK 1.4+.
Description: There is currently no description associated with this project.
+
Project License: No license is defined for this project.
+
xpp3:xpp3:jar:1.1.4c (provided)
+
+
+
MXP1: Xml Pull Parser 3rd Edition (XPP3)
+
+
+
Description: MXP1 is a stable XmlPull parsing engine that is based on ideas from XPP and in particular XPP2 but completely revised and rewritten to take the best advantage of latest JIT JVMs such as Hotspot in JDK 1.4+.
Description: JSON (JavaScript Object Notation) is a lightweight data-interchange format.
It is easy for humans to read and write. It is easy for machines to parse and generate.
It is based on a subset of the JavaScript Programming Language, Standard ECMA-262 3rd Edition
- December 1999. JSON is a text format that is completely language independent but uses
conventions that are familiar to programmers of the C-family of languages, including C, C++, C#,
Java, JavaScript, Perl, Python, and many others.
- These properties make JSON an ideal data-interchange language.
Description: Google HTTP Client Library for Java. Functionality that works on all supported Java platforms,
- including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Apache Software License, version 1.1: MXP1: Xml Pull Parser 3rd Edition (XPP3)
Public Domain: MXP1: Xml Pull Parser 3rd Edition (XPP3)
Unknown: xmlParserAPIs
Apache License: HttpClient, HttpCore
provided without support or warranty: JSON (JavaScript Object Notation)
Apache 2.0: Google Android Java ME Library (Khronos), Google Android Library
The Apache Software License, Version 2.0: Android Platform Extensions to the Google HTTP Client Library for Java., Commons Codec, Commons Logging, FindBugs-jsr305, Google HTTP Client Library for Java
Indiana University Extreme! Lab Software License, vesion 1.1.1: MXP1: Xml Pull Parser 3rd Edition (XPP3)
Description: Google HTTP Client Library for Java. Functionality that works on all supported Java platforms,
+ including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Apache Software License, version 1.1: MXP1: Xml Pull Parser 3rd Edition (XPP3)
+
Public Domain: MXP1: Xml Pull Parser 3rd Edition (XPP3)
+
Unknown: xmlParserAPIs
+
Apache License: HttpClient, HttpCore
+
provided without support or warranty: JSON (JavaScript Object Notation)
+
Apache 2.0: Google Android Java ME Library (Khronos), Google Android Library
+
The Apache Software License, Version 2.0: Android Platform Extensions to the Google HTTP Client Library for Java., Commons Codec, Commons Logging, FindBugs-jsr305, Google HTTP Client Library for Java
+
Indiana University Extreme! Lab Software License, vesion 1.1.1: MXP1: Xml Pull Parser 3rd Edition (XPP3)
The following is a list of provided dependencies for this project. These dependencies are required to compile the application, but should be provided by default when using the library:
Description: Google HTTP Client Library for Java. Functionality that works on all supported Java platforms,
- including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: Google HTTP Client Library for Java. Functionality that works on all supported Java platforms,
+ including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: The codec package contains simple encoder and decoders for
various formats such as Base64 and Hexadecimal. In addition to these
widely used encoders and decoders, the codec package also maintains a
- collection of phonetic encoding utilities.
Description: MXP1 is a stable XmlPull parsing engine that is based on ideas from XPP and in particular XPP2 but completely revised and rewritten to take the best advantage of latest JIT JVMs such as Hotspot in JDK 1.4+.
Description: Guava is a suite of core and expanded libraries that include
utility classes, google's collections, io classes, and much
much more.
Guava has only one code dependency - javax.annotation,
- per the JSR-305 spec.
Apache Software License, version 1.1: MXP1: Xml Pull Parser 3rd Edition (XPP3)
Google App Engine Terms of Service: appengine-api-1.0-sdk, appengine-api-stubs, appengine-testing
Public Domain: MXP1: Xml Pull Parser 3rd Edition (XPP3)
Apache License: HttpClient, HttpCore
Common Public License Version 1.0: JUnit
The Apache Software License, Version 2.0: Commons Codec, Commons Logging, FindBugs-jsr305, Google App Engine extensions to the Google HTTP Client Library for Java., Google HTTP Client Library for Java, Guava: Google Core Libraries for Java, Shared classes used for testing of artifacts in the Google HTTP Client Library for Java.
Indiana University Extreme! Lab Software License, vesion 1.1.1: MXP1: Xml Pull Parser 3rd Edition (XPP3)
Google App Engine Terms of Service: appengine-api-1.0-sdk, appengine-api-stubs, appengine-testing
+
Apache License: HttpClient, HttpCore
+
Common Public License Version 1.0: JUnit
+
The Apache Software License, Version 2.0: Commons Codec, Commons Logging, FindBugs-jsr305, Google App Engine extensions to the Google HTTP Client Library for Java., Google HTTP Client Library for Java, Guava: Google Core Libraries for Java, Shared classes used for testing of artifacts in the Google HTTP Client Library for Java.
The following is a list of provided dependencies for this project. These dependencies are required to compile the application, but should be provided by default when using the library:
The following is a list of provided dependencies for this project. These dependencies are required to compile the application, but should be provided by default when using the library:
Description: Google HTTP Client Library for Java. Functionality that works on all supported Java platforms,
- including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: Google HTTP Client Library for Java. Functionality that works on all supported Java platforms,
+ including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: There is currently no description associated with this project.
+
Project License: No license is defined for this project.
+
xpp3:xpp3:jar:1.1.4c (provided)
+
+
+
MXP1: Xml Pull Parser 3rd Edition (XPP3)
+
+
+
Description: MXP1 is a stable XmlPull parsing engine that is based on ideas from XPP and in particular XPP2 but completely revised and rewritten to take the best advantage of latest JIT JVMs such as Hotspot in JDK 1.4+.
Description: Guava is a suite of core and expanded libraries that include
utility classes, google's collections, io classes, and much
much more.
Guava has only one code dependency - javax.annotation,
- per the JSR-305 spec.
Description: MXP1 is a stable XmlPull parsing engine that is based on ideas from XPP and in particular XPP2 but completely revised and rewritten to take the best advantage of latest JIT JVMs such as Hotspot in JDK 1.4+.
Description: The codec package contains simple encoder and decoders for
various formats such as Base64 and Hexadecimal. In addition to these
widely used encoders and decoders, the codec package also maintains a
- collection of phonetic encoding utilities.
Apache Software License, version 1.1: MXP1: Xml Pull Parser 3rd Edition (XPP3)
Public Domain: MXP1: Xml Pull Parser 3rd Edition (XPP3)
Unknown: xmlParserAPIs
Apache License: HttpClient, HttpCore
Common Public License Version 1.0: JUnit
Apache 2.0: Google Android Java ME Library (Khronos), Google Android Library
The Apache Software License, Version 2.0: Commons Codec, Commons Logging, FindBugs-jsr305, Google HTTP Client Library for Java, Guava: Google Core Libraries for Java
The MIT License: Mockito
Indiana University Extreme! Lab Software License, vesion 1.1.1: MXP1: Xml Pull Parser 3rd Edition (XPP3)
Apache Software License, version 1.1: MXP1: Xml Pull Parser 3rd Edition (XPP3)
+
Public Domain: MXP1: Xml Pull Parser 3rd Edition (XPP3)
+
Unknown: xmlParserAPIs
+
Apache License: HttpClient, HttpCore
+
Common Public License Version 1.0: JUnit
+
Apache 2.0: Google Android Java ME Library (Khronos), Google Android Library
+
The Apache Software License, Version 2.0: Commons Codec, Commons Logging, FindBugs-jsr305, Google HTTP Client Library for Java, Guava: Google Core Libraries for Java
+
The MIT License: Mockito
+
Indiana University Extreme! Lab Software License, vesion 1.1.1: MXP1: Xml Pull Parser 3rd Edition (XPP3)
Description: Google HTTP Client Library for Java. Functionality that works on all supported Java platforms,
- including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: Google HTTP Client Library for Java. Functionality that works on all supported Java platforms,
+ including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: The codec package contains simple encoder and decoders for
various formats such as Base64 and Hexadecimal. In addition to these
widely used encoders and decoders, the codec package also maintains a
- collection of phonetic encoding utilities.
Description: MXP1 is a stable XmlPull parsing engine that is based on ideas from XPP and in particular XPP2 but completely revised and rewritten to take the best advantage of latest JIT JVMs such as Hotspot in JDK 1.4+.
Description: Guava is a suite of core and expanded libraries that include
utility classes, google's collections, io classes, and much
much more.
Guava has only one code dependency - javax.annotation,
- per the JSR-305 spec.
Apache Software License, version 1.1: MXP1: Xml Pull Parser 3rd Edition (XPP3)
Public Domain: MXP1: Xml Pull Parser 3rd Edition (XPP3)
Apache License: HttpClient, HttpCore
Common Public License Version 1.0: JUnit
The Apache Software License, Version 2.0: Commons Codec, Commons Logging, FindBugs-jsr305, GSON extensions to the Google HTTP Client Library for Java., Google HTTP Client Library for Java, Gson, Guava: Google Core Libraries for Java, Shared classes used for testing of artifacts in the Google HTTP Client Library for Java.
Indiana University Extreme! Lab Software License, vesion 1.1.1: MXP1: Xml Pull Parser 3rd Edition (XPP3)
The Apache Software License, Version 2.0: Commons Codec, Commons Logging, FindBugs-jsr305, GSON extensions to the Google HTTP Client Library for Java., Google HTTP Client Library for Java, Gson, Guava: Google Core Libraries for Java, Shared classes used for testing of artifacts in the Google HTTP Client Library for Java.
Description: Google HTTP Client Library for Java. Functionality that works on all supported Java platforms,
- including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: Google HTTP Client Library for Java. Functionality that works on all supported Java platforms,
+ including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: The codec package contains simple encoder and decoders for
various formats such as Base64 and Hexadecimal. In addition to these
widely used encoders and decoders, the codec package also maintains a
- collection of phonetic encoding utilities.
Description: MXP1 is a stable XmlPull parsing engine that is based on ideas from XPP and in particular XPP2 but completely revised and rewritten to take the best advantage of latest JIT JVMs such as Hotspot in JDK 1.4+.
Description: Guava is a suite of core and expanded libraries that include
utility classes, google's collections, io classes, and much
much more.
Guava has only one code dependency - javax.annotation,
- per the JSR-305 spec.
Apache Software License, version 1.1: MXP1: Xml Pull Parser 3rd Edition (XPP3)
Public Domain: MXP1: Xml Pull Parser 3rd Edition (XPP3)
Apache License: HttpClient, HttpCore
Common Public License Version 1.0: JUnit
The Apache Software License, Version 2.0: Commons Codec, Commons Logging, FindBugs-jsr305, Google HTTP Client Library for Java, Guava: Google Core Libraries for Java, Jackson, Jackson extensions to the Google HTTP Client Library for Java., Shared classes used for testing of artifacts in the Google HTTP Client Library for Java.
Indiana University Extreme! Lab Software License, vesion 1.1.1: MXP1: Xml Pull Parser 3rd Edition (XPP3)
The Apache Software License, Version 2.0: Commons Codec, Commons Logging, FindBugs-jsr305, Google HTTP Client Library for Java, Guava: Google Core Libraries for Java, Jackson, Jackson extensions to the Google HTTP Client Library for Java., Shared classes used for testing of artifacts in the Google HTTP Client Library for Java.
Description: Google HTTP Client Library for Java. Functionality that works on all supported Java platforms,
- including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: Google HTTP Client Library for Java. Functionality that works on all supported Java platforms,
+ including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: The codec package contains simple encoder and decoders for
various formats such as Base64 and Hexadecimal. In addition to these
widely used encoders and decoders, the codec package also maintains a
- collection of phonetic encoding utilities.
Description: MXP1 is a stable XmlPull parsing engine that is based on ideas from XPP and in particular XPP2 but completely revised and rewritten to take the best advantage of latest JIT JVMs such as Hotspot in JDK 1.4+.
Description: Guava is a suite of core and expanded libraries that include
utility classes, google's collections, io classes, and much
much more.
Guava has only one code dependency - javax.annotation,
- per the JSR-305 spec.
Apache Software License, version 1.1: MXP1: Xml Pull Parser 3rd Edition (XPP3)
Public Domain: MXP1: Xml Pull Parser 3rd Edition (XPP3)
Apache License: HttpClient, HttpCore
Common Public License Version 1.0: JUnit
The Apache Software License, Version 2.0: Commons Codec, Commons Logging, FindBugs-jsr305, Google HTTP Client Library for Java, Guava: Google Core Libraries for Java, Jackson 2 extensions to the Google HTTP Client Library for Java., Jackson-core, Shared classes used for testing of artifacts in the Google HTTP Client Library for Java.
Indiana University Extreme! Lab Software License, vesion 1.1.1: MXP1: Xml Pull Parser 3rd Edition (XPP3)
The Apache Software License, Version 2.0: Commons Codec, Commons Logging, FindBugs-jsr305, Google HTTP Client Library for Java, Guava: Google Core Libraries for Java, Jackson 2 extensions to the Google HTTP Client Library for Java., Jackson-core, Shared classes used for testing of artifacts in the Google HTTP Client Library for Java.
Description: Google HTTP Client Library for Java. Functionality that works on all supported Java platforms,
- including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: Google HTTP Client Library for Java. Functionality that works on all supported Java platforms,
+ including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: The codec package contains simple encoder and decoders for
various formats such as Base64 and Hexadecimal. In addition to these
widely used encoders and decoders, the codec package also maintains a
- collection of phonetic encoding utilities.
Description: MXP1 is a stable XmlPull parsing engine that is based on ideas from XPP and in particular XPP2 but completely revised and rewritten to take the best advantage of latest JIT JVMs such as Hotspot in JDK 1.4+.
Description: The Java Data Objects 2 (JDO) API is a standard interface-based Java model abstraction of persistence, developed as Java Specification Request 243 under the auspices of the Java Community Process.
Description: There is currently no description associated with this project.
Project License: No license is defined for this project.
org.datanucleus:datanucleus-core:jar:3.2.2 (test)
DataNucleus Core
Description: DataNucleus Core provides the primary components of a heterogenous Java persistence solution.
- It supports persistence API's being layered on top of the core functionality.
Description: The Java Data Objects 2 (JDO) API is a standard interface-based Java model abstraction of persistence, developed as Java Specification Request 243 under the auspices of the Java Community Process.
Description: There is currently no description associated with this project.
+
Project License: No license is defined for this project.
+
org.datanucleus:datanucleus-core:jar:3.2.2 (test)
+
+
+
DataNucleus Core
+
+
+
Description: DataNucleus Core provides the primary components of a heterogenous Java persistence solution.
+ It supports persistence API's being layered on top of the core functionality.
Description: Guava is a suite of core and expanded libraries that include
utility classes, google's collections, io classes, and much
much more.
Guava has only one code dependency - javax.annotation,
- per the JSR-305 spec.
Apache Software License, version 1.1: MXP1: Xml Pull Parser 3rd Edition (XPP3)
Public Domain: MXP1: Xml Pull Parser 3rd Edition (XPP3)
Apache 2: JDO2 API
Unknown: transaction-api
Apache License: HttpClient, HttpCore
Common Public License Version 1.0: JUnit
The Apache Software License, Version 2.0: Commons Codec, Commons Logging, DataNucleus Core, DataNucleus JDO API plugin, DataNucleus RDBMS, FindBugs-jsr305, Google HTTP Client Library for Java, Guava: Google Core Libraries for Java, JDO extensions to the Google HTTP Client Library for Java., Shared classes used for testing of artifacts in the Google HTTP Client Library for Java.
Indiana University Extreme! Lab Software License, vesion 1.1.1: MXP1: Xml Pull Parser 3rd Edition (XPP3)
The GNU General Public License, Version 2: MySQL java connector
The Apache Software License, Version 2.0: Commons Codec, Commons Logging, DataNucleus Core, DataNucleus JDO API plugin, DataNucleus RDBMS, FindBugs-jsr305, Google HTTP Client Library for Java, Guava: Google Core Libraries for Java, JDO extensions to the Google HTTP Client Library for Java., Shared classes used for testing of artifacts in the Google HTTP Client Library for Java.
+
The GNU General Public License, Version 2: MySQL java connector
Description: Google HTTP Client Library for Java. Functionality that works on all supported Java platforms,
- including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: Google HTTP Client Library for Java. Functionality that works on all supported Java platforms,
+ including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: The codec package contains simple encoder and decoders for
various formats such as Base64 and Hexadecimal. In addition to these
widely used encoders and decoders, the codec package also maintains a
- collection of phonetic encoding utilities.
Description: MXP1 is a stable XmlPull parsing engine that is based on ideas from XPP and in particular XPP2 but completely revised and rewritten to take the best advantage of latest JIT JVMs such as Hotspot in JDK 1.4+.
Apache Software License, version 1.1: MXP1: Xml Pull Parser 3rd Edition (XPP3)
Public Domain: MXP1: Xml Pull Parser 3rd Edition (XPP3)
Apache License: HttpClient, HttpCore
New BSD license: Protocol Buffer Java API
Common Public License Version 1.0: JUnit
The Apache Software License, Version 2.0: Commons Codec, Commons Logging, FindBugs-jsr305, Google HTTP Client Library for Java, Protocol Buffer extensions to the Google HTTP Client Library for Java.
Indiana University Extreme! Lab Software License, vesion 1.1.1: MXP1: Xml Pull Parser 3rd Edition (XPP3)
The Apache Software License, Version 2.0: Commons Codec, Commons Logging, FindBugs-jsr305, Google HTTP Client Library for Java, Protocol Buffer extensions to the Google HTTP Client Library for Java.
Description: Google HTTP Client Library for Java. Functionality that works on all supported Java platforms,
- including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: Google HTTP Client Library for Java. Functionality that works on all supported Java platforms,
+ including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: The codec package contains simple encoder and decoders for
various formats such as Base64 and Hexadecimal. In addition to these
widely used encoders and decoders, the codec package also maintains a
- collection of phonetic encoding utilities.
Description: MXP1 is a stable XmlPull parsing engine that is based on ideas from XPP and in particular XPP2 but completely revised and rewritten to take the best advantage of latest JIT JVMs such as Hotspot in JDK 1.4+.
Description: MXP1 is a stable XmlPull parsing engine that is based on ideas from XPP and in particular XPP2 but completely revised and rewritten to take the best advantage of latest JIT JVMs such as Hotspot in JDK 1.4+.
Description: Guava is a suite of core and expanded libraries that include
utility classes, google's collections, io classes, and much
much more.
Guava has only one code dependency - javax.annotation,
- per the JSR-305 spec.
Apache Software License, version 1.1: MXP1: Xml Pull Parser 3rd Edition (XPP3)
Public Domain: MXP1: Xml Pull Parser 3rd Edition (XPP3)
Apache License: HttpClient, HttpCore
Common Public License Version 1.0: JUnit
The Apache Software License, Version 2.0: Commons Codec, Commons Logging, FindBugs-jsr305, Google HTTP Client Library for Java, Guava: Google Core Libraries for Java, Shared classes used for testing of artifacts in the Google HTTP Client Library for Java., XML extensions to the Google HTTP Client Library for Java.
Indiana University Extreme! Lab Software License, vesion 1.1.1: MXP1: Xml Pull Parser 3rd Edition (XPP3)
Apache Software License, version 1.1: MXP1: Xml Pull Parser 3rd Edition (XPP3)
+
Public Domain: MXP1: Xml Pull Parser 3rd Edition (XPP3)
+
Apache License: HttpClient, HttpCore
+
Common Public License Version 1.0: JUnit
+
The Apache Software License, Version 2.0: Commons Codec, Commons Logging, FindBugs-jsr305, Google HTTP Client Library for Java, Guava: Google Core Libraries for Java, XML extensions to the Google HTTP Client Library for Java.
+
Indiana University Extreme! Lab Software License, vesion 1.1.1: MXP1: Xml Pull Parser 3rd Edition (XPP3)
The following is a list of provided dependencies for this project. These dependencies are required to compile the application, but should be provided by default when using the library:
The following is a list of provided dependencies for this project. These dependencies are required to compile the application, but should be provided by default when using the library:
Description: Google HTTP Client Library for Java. Functionality that works on all supported Java platforms,
- including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: Google HTTP Client Library for Java. Functionality that works on all supported Java platforms,
+ including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: The codec package contains simple encoder and decoders for
various formats such as Base64 and Hexadecimal. In addition to these
widely used encoders and decoders, the codec package also maintains a
- collection of phonetic encoding utilities.
Description: MXP1 is a stable XmlPull parsing engine that is based on ideas from XPP and in particular XPP2 but completely revised and rewritten to take the best advantage of latest JIT JVMs such as Hotspot in JDK 1.4+.
Description: Google OAuth Client Library for Java. Functionality that works on all supported Java platforms,
- including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: The Java Data Objects 2 (JDO) API is a standard interface-based Java model abstraction of persistence, developed as Java Specification Request 243 under the auspices of the Java Community Process.
Description: Google OAuth Client Library for Java. Functionality that works on all supported Java platforms,
+ including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: The Java Data Objects 2 (JDO) API is a standard interface-based Java model abstraction of persistence, developed as Java Specification Request 243 under the auspices of the Java Community Process.
Description: There is currently no description associated with this project.
+
Project License: No license is defined for this project.
+
com.google.guava:guava-jdk5:jar:13.0 (test)
+
+
+
Guava: Google Core Libraries for Java
+
+
+
Description: Guava is a suite of core and expanded libraries that include
utility classes, google's collections, io classes, and much
much more.
Guava has only one code dependency - javax.annotation,
- per the JSR-305 spec.
Apache Software License, version 1.1: MXP1: Xml Pull Parser 3rd Edition (XPP3)
Google App Engine Terms of Service: appengine-api-1.0-sdk, appengine-api-stubs, appengine-testing
Public Domain: MXP1: Xml Pull Parser 3rd Edition (XPP3)
Apache 2: JDO2 API
Unknown: servlet-api, transaction-api
Apache License: HttpClient, HttpCore
Common Public License Version 1.0: JUnit
The Apache Software License, Version 2.0: Commons Codec, Commons Logging, FindBugs-jsr305, Google App Engine extensions to the Google HTTP Client Library for Java., Google App Engine extensions to the Google OAuth Client Library for Java., Google HTTP Client Library for Java, Google OAuth Client Library for Java, Guava: Google Core Libraries for Java, JDO extensions to the Google HTTP Client Library for Java., Servlet and JDO extensions to the Google OAuth Client Library for Java.
Indiana University Extreme! Lab Software License, vesion 1.1.1: MXP1: Xml Pull Parser 3rd Edition (XPP3)
Google App Engine Terms of Service: appengine-api-1.0-sdk, appengine-api-stubs, appengine-testing
+
Apache 2: JDO2 API
+
Unknown: servlet-api, transaction-api
+
Apache License: HttpClient, HttpCore
+
Common Public License Version 1.0: JUnit
+
The Apache Software License, Version 2.0: Commons Codec, Commons Logging, FindBugs-jsr305, Google App Engine extensions to the Google HTTP Client Library for Java., Google App Engine extensions to the Google OAuth Client Library for Java., Google HTTP Client Library for Java, Google OAuth Client Library for Java, Guava: Google Core Libraries for Java, JDO extensions to the Google HTTP Client Library for Java., Servlet and JDO extensions to the Google OAuth Client Library for Java.
The following is a list of provided dependencies for this project. These dependencies are required to compile the application, but should be provided by default when using the library:
Description: Google OAuth Client Library for Java. Functionality that works on all supported Java platforms,
- including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: Google HTTP Client Library for Java. Functionality that works on all supported Java platforms,
- including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: Google OAuth Client Library for Java. Functionality that works on all supported Java platforms,
+ including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: Google HTTP Client Library for Java. Functionality that works on all supported Java platforms,
+ including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: The codec package contains simple encoder and decoders for
various formats such as Base64 and Hexadecimal. In addition to these
widely used encoders and decoders, the codec package also maintains a
- collection of phonetic encoding utilities.
Description: MXP1 is a stable XmlPull parsing engine that is based on ideas from XPP and in particular XPP2 but completely revised and rewritten to take the best advantage of latest JIT JVMs such as Hotspot in JDK 1.4+.
Description: Guava is a suite of core and expanded libraries that include
utility classes, google's collections, io classes, and much
much more.
Guava has only one code dependency - javax.annotation,
- per the JSR-305 spec.
Apache Software License, version 1.1: MXP1: Xml Pull Parser 3rd Edition (XPP3)
Public Domain: MXP1: Xml Pull Parser 3rd Edition (XPP3)
Apache License: HttpClient, HttpCore
Common Public License Version 1.0: JUnit
The Apache Software License, Version 2.0: Commons Codec, Commons Logging, FindBugs-jsr305, Google HTTP Client Library for Java, Google OAuth Client Library for Java, Guava: Google Core Libraries for Java, Jackson, Jackson extensions to the Google HTTP Client Library for Java.
Indiana University Extreme! Lab Software License, vesion 1.1.1: MXP1: Xml Pull Parser 3rd Edition (XPP3)
The Apache Software License, Version 2.0: Commons Codec, Commons Logging, FindBugs-jsr305, Google HTTP Client Library for Java, Google OAuth Client Library for Java, Guava: Google Core Libraries for Java, Jackson, Jackson extensions to the Google HTTP Client Library for Java.
The following is a list of provided dependencies for this project. These dependencies are required to compile the application, but should be provided by default when using the library:
Description: Google OAuth Client Library for Java. Functionality that works on all supported Java platforms,
- including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: Google HTTP Client Library for Java. Functionality that works on all supported Java platforms,
- including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: Google OAuth Client Library for Java. Functionality that works on all supported Java platforms,
+ including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: Google HTTP Client Library for Java. Functionality that works on all supported Java platforms,
+ including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: The codec package contains simple encoder and decoders for
various formats such as Base64 and Hexadecimal. In addition to these
widely used encoders and decoders, the codec package also maintains a
- collection of phonetic encoding utilities.
Description: MXP1 is a stable XmlPull parsing engine that is based on ideas from XPP and in particular XPP2 but completely revised and rewritten to take the best advantage of latest JIT JVMs such as Hotspot in JDK 1.4+.
Description: Guava is a suite of core and expanded libraries that include
utility classes, google's collections, io classes, and much
much more.
Guava has only one code dependency - javax.annotation,
- per the JSR-305 spec.
Apache Software License, version 1.1: MXP1: Xml Pull Parser 3rd Edition (XPP3)
Public Domain: MXP1: Xml Pull Parser 3rd Edition (XPP3)
Apache License: HttpClient, HttpCore
Common Public License Version 1.0: JUnit
The Apache Software License, Version 2.0: Commons Codec, Commons Logging, FindBugs-jsr305, Google HTTP Client Library for Java, Google OAuth Client Library for Java, Guava: Google Core Libraries for Java, Jackson, Jackson extensions to the Google HTTP Client Library for Java., Java 6 (and higher) extensions to the Google OAuth Client Library for Java.
Indiana University Extreme! Lab Software License, vesion 1.1.1: MXP1: Xml Pull Parser 3rd Edition (XPP3)
The Apache Software License, Version 2.0: Commons Codec, Commons Logging, FindBugs-jsr305, Google HTTP Client Library for Java, Google OAuth Client Library for Java, Guava: Google Core Libraries for Java, Jackson, Jackson extensions to the Google HTTP Client Library for Java., Java 6 (and higher) extensions to the Google OAuth Client Library for Java.
The following is a list of provided dependencies for this project. These dependencies are required to compile the application, but should be provided by default when using the library:
Description: Google OAuth Client Library for Java. Functionality that works on all supported Java platforms,
- including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: Google HTTP Client Library for Java. Functionality that works on all supported Java platforms,
- including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: The codec package contains simple encoder and decoders for
- various formats such as Base64 and Hexadecimal. In addition to these
- widely used encoders and decoders, the codec package also maintains a
- collection of phonetic encoding utilities.
Description: MXP1 is a stable XmlPull parsing engine that is based on ideas from XPP and in particular XPP2 but completely revised and rewritten to take the best advantage of latest JIT JVMs such as Hotspot in JDK 1.4+.
Description: Guava is a suite of core and expanded libraries that include
- utility classes, google's collections, io classes, and much
- much more.
-
- Guava has only one code dependency - javax.annotation,
- per the JSR-305 spec.
Apache Software License, version 1.1: MXP1: Xml Pull Parser 3rd Edition (XPP3)
Public Domain: MXP1: Xml Pull Parser 3rd Edition (XPP3)
Apache License: HttpClient, HttpCore
Common Public License Version 1.0: JUnit
The Apache Software License, Version 2.0: Commons Codec, Commons Logging, FindBugs-jsr305, Google HTTP Client Library for Java, Google OAuth Client Library for Java, Guava: Google Core Libraries for Java, Jackson, Jackson extensions to the Google HTTP Client Library for Java., Java 6 (and higher) extensions to the Google OAuth Client Library for Java., [Deprecated] Java 7 (and higher) Extensions to the Google OAuth Client Library for Java.
Indiana University Extreme! Lab Software License, vesion 1.1.1: MXP1: Xml Pull Parser 3rd Edition (XPP3)
The following is a list of provided dependencies for this project. These dependencies are required to compile the application, but should be provided by default when using the library:
Description: Google OAuth Client Library for Java. Functionality that works on all supported Java platforms,
- including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: Google HTTP Client Library for Java. Functionality that works on all supported Java platforms,
- including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: Google OAuth Client Library for Java. Functionality that works on all supported Java platforms,
+ including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: Google HTTP Client Library for Java. Functionality that works on all supported Java platforms,
+ including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: The codec package contains simple encoder and decoders for
various formats such as Base64 and Hexadecimal. In addition to these
widely used encoders and decoders, the codec package also maintains a
- collection of phonetic encoding utilities.
Description: MXP1 is a stable XmlPull parsing engine that is based on ideas from XPP and in particular XPP2 but completely revised and rewritten to take the best advantage of latest JIT JVMs such as Hotspot in JDK 1.4+.
Apache Software License, version 1.1: MXP1: Xml Pull Parser 3rd Edition (XPP3)
Public Domain: MXP1: Xml Pull Parser 3rd Edition (XPP3)
Eclipse Public License - Version 1.0: Jetty Server, Jetty Utilities
Apache License: HttpClient, HttpCore
Apache Software License - Version 2.0: Jetty Server, Jetty Utilities
The Apache Software License, Version 2.0: Commons Codec, Commons Logging, FindBugs-jsr305, Google HTTP Client Library for Java, Google OAuth Client Library for Java, Java 6 (and higher) extensions to the Google OAuth Client Library for Java., Jetty extensions to the Google OAuth Client Library for Java.
Indiana University Extreme! Lab Software License, vesion 1.1.1: MXP1: Xml Pull Parser 3rd Edition (XPP3)
Apache License Version 2.0: Servlet Specification API
Eclipse Public License - Version 1.0: Jetty Server, Jetty Utilities
+
Apache License: HttpClient, HttpCore
+
Apache Software License - Version 2.0: Jetty Server, Jetty Utilities
+
The Apache Software License, Version 2.0: Commons Codec, Commons Logging, FindBugs-jsr305, Google HTTP Client Library for Java, Google OAuth Client Library for Java, Java 6 (and higher) extensions to the Google OAuth Client Library for Java., Jetty extensions to the Google OAuth Client Library for Java.
+
Apache License Version 2.0: Servlet Specification API
The following is a list of provided dependencies for this project. These dependencies are required to compile the application, but should be provided by default when using the library:
Description: Google OAuth Client Library for Java. Functionality that works on all supported Java platforms,
- including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: Google HTTP Client Library for Java. Functionality that works on all supported Java platforms,
- including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: Google OAuth Client Library for Java. Functionality that works on all supported Java platforms,
+ including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: Google HTTP Client Library for Java. Functionality that works on all supported Java platforms,
+ including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: The codec package contains simple encoder and decoders for
various formats such as Base64 and Hexadecimal. In addition to these
widely used encoders and decoders, the codec package also maintains a
- collection of phonetic encoding utilities.
Description: MXP1 is a stable XmlPull parsing engine that is based on ideas from XPP and in particular XPP2 but completely revised and rewritten to take the best advantage of latest JIT JVMs such as Hotspot in JDK 1.4+.
Description: There is currently no description associated with this project.
Project License: No license is defined for this project.
javax.jdo:jdo2-api:jar:2.3-eb (compile)
JDO2 API
Description: The Java Data Objects 2 (JDO) API is a standard interface-based Java model abstraction of persistence, developed as Java Specification Request 243 under the auspices of the Java Community Process.
Description: There is currently no description associated with this project.
+
Project License: No license is defined for this project.
+
javax.jdo:jdo2-api:jar:2.3-eb (compile)
+
+
+
JDO2 API
+
+
+
Description: The Java Data Objects 2 (JDO) API is a standard interface-based Java model abstraction of persistence, developed as Java Specification Request 243 under the auspices of the Java Community Process.
Description: There is currently no description associated with this project.
+
Project License: No license is defined for this project.
+
com.google.guava:guava-jdk5:jar:13.0 (test)
+
+
+
Guava: Google Core Libraries for Java
+
+
+
Description: Guava is a suite of core and expanded libraries that include
utility classes, google's collections, io classes, and much
much more.
Guava has only one code dependency - javax.annotation,
- per the JSR-305 spec.
Description: DataNucleus Core provides the primary components of a heterogenous Java persistence solution.
- It supports persistence API's being layered on top of the core functionality.
Apache Software License, version 1.1: MXP1: Xml Pull Parser 3rd Edition (XPP3)
Public Domain: MXP1: Xml Pull Parser 3rd Edition (XPP3)
Apache 2: JDO2 API
Unknown: servlet-api, transaction-api
Apache License: HttpClient, HttpCore
Common Public License Version 1.0: JUnit
The Apache Software License, Version 2.0: Commons Codec, Commons Logging, DataNucleus Core, DataNucleus JDO API plugin, DataNucleus RDBMS, FindBugs-jsr305, Google HTTP Client Library for Java, Google OAuth Client Library for Java, Guava: Google Core Libraries for Java, JDO extensions to the Google HTTP Client Library for Java., Servlet and JDO extensions to the Google OAuth Client Library for Java.
Indiana University Extreme! Lab Software License, vesion 1.1.1: MXP1: Xml Pull Parser 3rd Edition (XPP3)
The GNU General Public License, Version 2: MySQL java connector
Description: DataNucleus Core provides the primary components of a heterogenous Java persistence solution.
+ It supports persistence API's being layered on top of the core functionality.
The Apache Software License, Version 2.0: Commons Codec, Commons Logging, DataNucleus Core, DataNucleus JDO API plugin, DataNucleus RDBMS, FindBugs-jsr305, Google HTTP Client Library for Java, Google OAuth Client Library for Java, Guava: Google Core Libraries for Java, JDO extensions to the Google HTTP Client Library for Java., Servlet and JDO extensions to the Google OAuth Client Library for Java.
+
The GNU General Public License, Version 2: MySQL java connector
Description: The codec package contains simple encoder and decoders for
+ various formats such as Base64 and Hexadecimal. In addition to these
+ widely used encoders and decoders, the codec package also maintains a
+ collection of phonetic encoding utilities.
Description: There is currently no description associated with this project.
+
Project License: No license is defined for this project.
+
xpp3:xpp3:jar:1.1.4c (provided)
+
+
+
MXP1: Xml Pull Parser 3rd Edition (XPP3)
+
+
+
Description: MXP1 is a stable XmlPull parsing engine that is based on ideas from XPP and in particular XPP2 but completely revised and rewritten to take the best advantage of latest JIT JVMs such as Hotspot in JDK 1.4+.
Description: JSON (JavaScript Object Notation) is a lightweight data-interchange format.
+ It is easy for humans to read and write. It is easy for machines to parse and generate.
+ It is based on a subset of the JavaScript Programming Language, Standard ECMA-262 3rd Edition
+ - December 1999. JSON is a text format that is completely language independent but uses
+ conventions that are familiar to programmers of the C-family of languages, including C, C++, C#,
+ Java, JavaScript, Perl, Python, and many others.
+ These properties make JSON an ideal data-interchange language.
Description: Google OAuth Client Library for Java. Functionality that works on all supported Java platforms,
+ including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: Google HTTP Client Library for Java. Functionality that works on all supported Java platforms,
+ including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: POM was created from install:install-file
+
Project License: No license is defined for this project.
+
+
Licenses
+
Apache Software License, version 1.1: MXP1: Xml Pull Parser 3rd Edition (XPP3)
+
Public Domain: MXP1: Xml Pull Parser 3rd Edition (XPP3)
+
Unknown: google-play-services, xmlParserAPIs
+
Apache License: HttpClient, HttpCore
+
provided without support or warranty: JSON (JavaScript Object Notation)
+
Apache 2.0: Google Android Java ME Library (Khronos), Google Android Library
+
The Apache Software License, Version 2.0: Android Platform Extensions to the Google APIs Client Library for Java., Android Platform Extensions to the Google HTTP Client Library for Java., Codec, Commons Logging, FindBugs-jsr305, Google APIs Client Library for Java, Google HTTP Client Library for Java, Google OAuth Client Library for Java
+
Indiana University Extreme! Lab Software License, vesion 1.1.1: MXP1: Xml Pull Parser 3rd Edition (XPP3)
The following is a list of provided dependencies for this project. These dependencies are required to compile the application, but should be provided by default when using the library:
Description: Google OAuth Client Library for Java. Functionality that works on all supported Java platforms,
+ including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: The Java Data Objects 2 (JDO) API is a standard interface-based Java model abstraction of persistence, developed as Java Specification Request 243 under the auspices of the Java Community Process.
Description: Google HTTP Client Library for Java. Functionality that works on all supported Java platforms,
+ including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: The codec package contains simple encoder and decoders for
+ various formats such as Base64 and Hexadecimal. In addition to these
+ widely used encoders and decoders, the codec package also maintains a
+ collection of phonetic encoding utilities.
Description: Guava is a suite of core and expanded libraries that include
+ utility classes, google's collections, io classes, and much
+ much more.
+
+ Guava has only one code dependency - javax.annotation,
+ per the JSR-305 spec.
Google App Engine Terms of Service: appengine-api-1.0-sdk, appengine-api-labs, appengine-api-stubs, appengine-testing
+
Apache 2: JDO2 API
+
Unknown: servlet-api, transaction-api
+
Apache License: HttpClient, HttpCore
+
Common Public License Version 1.0: JUnit
+
The Apache Software License, Version 2.0: Codec, Commons Logging, FindBugs-jsr305, Google APIs Client Library for Java, Google App Engine extensions to the Google API Client Library for Java., Google App Engine extensions to the Google HTTP Client Library for Java., Google App Engine extensions to the Google OAuth Client Library for Java., Google HTTP Client Library for Java, Google OAuth Client Library for Java, Guava: Google Core Libraries for Java, JDO extensions to the Google HTTP Client Library for Java., Servlet and JDO extensions to the Google API Client Library for Java., Servlet and JDO extensions to the Google OAuth Client Library for Java.
The following is a list of provided dependencies for this project. These dependencies are required to compile the application, but should be provided by default when using the library:
Description: Google OAuth Client Library for Java. Functionality that works on all supported Java platforms,
+ including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: Google HTTP Client Library for Java. Functionality that works on all supported Java platforms,
+ including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: The codec package contains simple encoder and decoders for
+ various formats such as Base64 and Hexadecimal. In addition to these
+ widely used encoders and decoders, the codec package also maintains a
+ collection of phonetic encoding utilities.
Description: Guava is a suite of core and expanded libraries that include
+ utility classes, google's collections, io classes, and much
+ much more.
+
+ Guava has only one code dependency - javax.annotation,
+ per the JSR-305 spec.
The Apache Software License, Version 2.0: Commons Codec, Commons Logging, FindBugs-jsr305, GSON extensions to the Google HTTP Client Library for Java., Google APIs Client Library for Java, Google HTTP Client Library for Java, Google OAuth Client Library for Java, Gson, Guava: Google Core Libraries for Java, Jackson, Jackson extensions to the Google HTTP Client Library for Java.
Description: Google OAuth Client Library for Java. Functionality that works on all supported Java platforms,
+ including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: Google HTTP Client Library for Java. Functionality that works on all supported Java platforms,
+ including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: The codec package contains simple encoder and decoders for
+ various formats such as Base64 and Hexadecimal. In addition to these
+ widely used encoders and decoders, the codec package also maintains a
+ collection of phonetic encoding utilities.
The Apache Software License, Version 2.0: Codec, Commons Logging, FindBugs-jsr305, GSON extensions to the Google APIs Client Library for Java, GSON extensions to the Google HTTP Client Library for Java., Google APIs Client Library for Java, Google HTTP Client Library for Java, Google OAuth Client Library for Java, Gson
Description: Google OAuth Client Library for Java. Functionality that works on all supported Java platforms,
+ including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: Google HTTP Client Library for Java. Functionality that works on all supported Java platforms,
+ including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: The codec package contains simple encoder and decoders for
+ various formats such as Base64 and Hexadecimal. In addition to these
+ widely used encoders and decoders, the codec package also maintains a
+ collection of phonetic encoding utilities.
The Apache Software License, Version 2.0: Codec, Commons Logging, FindBugs-jsr305, Google APIs Client Library for Java, Google HTTP Client Library for Java, Google OAuth Client Library for Java, Jackson 2 extensions to the Google APIs Client Library for Java, Jackson 2 extensions to the Google HTTP Client Library for Java., Jackson-core
Description: Google OAuth Client Library for Java. Functionality that works on all supported Java platforms,
+ including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: Google HTTP Client Library for Java. Functionality that works on all supported Java platforms,
+ including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: The codec package contains simple encoder and decoders for
+ various formats such as Base64 and Hexadecimal. In addition to these
+ widely used encoders and decoders, the codec package also maintains a
+ collection of phonetic encoding utilities.
The Apache Software License, Version 2.0: Codec, Commons Logging, FindBugs-jsr305, Google APIs Client Library for Java, Google HTTP Client Library for Java, Google OAuth Client Library for Java, Java 6 (and higher) Extensions to the Google API Client Library for Java., Java 6 (and higher) extensions to the Google OAuth Client Library for Java.
Description: Google HTTP Client Library for Java. Functionality that works on all supported Java platforms,
+ including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: The codec package contains simple encoder and decoders for
+ various formats such as Base64 and Hexadecimal. In addition to these
+ widely used encoders and decoders, the codec package also maintains a
+ collection of phonetic encoding utilities.
Description: Google OAuth Client Library for Java. Functionality that works on all supported Java platforms,
+ including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
The Apache Software License, Version 2.0: Codec, Commons Logging, FindBugs-jsr305, Google APIs Client Library for Java, Google HTTP Client Library for Java, Google OAuth Client Library for Java, Protocol Buffer extensions to the Google APIs Client Library for Java, Protocol Buffer extensions to the Google HTTP Client Library for Java.
Description: Google OAuth Client Library for Java. Functionality that works on all supported Java platforms,
+ including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: Google HTTP Client Library for Java. Functionality that works on all supported Java platforms,
+ including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: The codec package contains simple encoder and decoders for
+ various formats such as Base64 and Hexadecimal. In addition to these
+ widely used encoders and decoders, the codec package also maintains a
+ collection of phonetic encoding utilities.
Description: There is currently no description associated with this project.
+
Project License: No license is defined for this project.
+
javax.jdo:jdo2-api:jar:2.3-eb (compile)
+
+
+
JDO2 API
+
+
+
Description: The Java Data Objects 2 (JDO) API is a standard interface-based Java model abstraction of persistence, developed as Java Specification Request 243 under the auspices of the Java Community Process.
Description: There is currently no description associated with this project.
+
Project License: No license is defined for this project.
+
+
Licenses
+
Apache 2: JDO2 API
+
Unknown: servlet-api, transaction-api
+
Apache License: HttpClient, HttpCore
+
Common Public License Version 1.0: JUnit
+
The Apache Software License, Version 2.0: Codec, Commons Logging, FindBugs-jsr305, Google APIs Client Library for Java, Google HTTP Client Library for Java, Google OAuth Client Library for Java, JDO extensions to the Google HTTP Client Library for Java., Servlet and JDO extensions to the Google API Client Library for Java., Servlet and JDO extensions to the Google OAuth Client Library for Java.
Description: Google OAuth Client Library for Java. Functionality that works on all supported Java platforms,
+ including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: Google HTTP Client Library for Java. Functionality that works on all supported Java platforms,
+ including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: The codec package contains simple encoder and decoders for
+ various formats such as Base64 and Hexadecimal. In addition to these
+ widely used encoders and decoders, the codec package also maintains a
+ collection of phonetic encoding utilities.
Description: MXP1 is a stable XmlPull parsing engine that is based on ideas from XPP and in particular XPP2 but completely revised and rewritten to take the best advantage of latest JIT JVMs such as Hotspot in JDK 1.4+.
Apache Software License, version 1.1: MXP1: Xml Pull Parser 3rd Edition (XPP3)
+
Public Domain: MXP1: Xml Pull Parser 3rd Edition (XPP3)
+
Apache License: HttpClient, HttpCore
+
Common Public License Version 1.0: JUnit
+
The Apache Software License, Version 2.0: Codec, Commons Logging, FindBugs-jsr305, Google APIs Client Library for Java, Google HTTP Client Library for Java, Google OAuth Client Library for Java, XML extensions to the Google APIs Client Library for Java, XML extensions to the Google HTTP Client Library for Java.
+
Indiana University Extreme! Lab Software License, vesion 1.1.1: MXP1: Xml Pull Parser 3rd Edition (XPP3)
The following is a list of provided dependencies for this project. These dependencies are required to compile the application, but should be provided by default when using the library:
The following is a list of provided dependencies for this project. These dependencies are required to compile the application, but should be provided by default when using the library:
Description: The codec package contains simple encoder and decoders for
+ various formats such as Base64 and Hexadecimal. In addition to these
+ widely used encoders and decoders, the codec package also maintains a
+ collection of phonetic encoding utilities.
Description: There is currently no description associated with this project.
+
Project License: No license is defined for this project.
+
xpp3:xpp3:jar:1.1.4c (provided)
+
+
+
MXP1: Xml Pull Parser 3rd Edition (XPP3)
+
+
+
Description: MXP1 is a stable XmlPull parsing engine that is based on ideas from XPP and in particular XPP2 but completely revised and rewritten to take the best advantage of latest JIT JVMs such as Hotspot in JDK 1.4+.
Description: JSON (JavaScript Object Notation) is a lightweight data-interchange format.
+ It is easy for humans to read and write. It is easy for machines to parse and generate.
+ It is based on a subset of the JavaScript Programming Language, Standard ECMA-262 3rd Edition
+ - December 1999. JSON is a text format that is completely language independent but uses
+ conventions that are familiar to programmers of the C-family of languages, including C, C++, C#,
+ Java, JavaScript, Perl, Python, and many others.
+ These properties make JSON an ideal data-interchange language.
Description: Google HTTP Client Library for Java. Functionality that works on all supported Java platforms,
+ including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Apache Software License, version 1.1: MXP1: Xml Pull Parser 3rd Edition (XPP3)
+
Public Domain: MXP1: Xml Pull Parser 3rd Edition (XPP3)
+
Unknown: xmlParserAPIs
+
Apache License: HttpClient, HttpCore
+
provided without support or warranty: JSON (JavaScript Object Notation)
+
Apache 2.0: Google Android Java ME Library (Khronos), Google Android Library
+
The Apache Software License, Version 2.0: Android Platform Extensions to the Google HTTP Client Library for Java., Commons Codec, Commons Logging, FindBugs-jsr305, Google HTTP Client Library for Java
+
Indiana University Extreme! Lab Software License, vesion 1.1.1: MXP1: Xml Pull Parser 3rd Edition (XPP3)
The following is a list of provided dependencies for this project. These dependencies are required to compile the application, but should be provided by default when using the library:
Description: Google HTTP Client Library for Java. Functionality that works on all supported Java platforms,
+ including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: The codec package contains simple encoder and decoders for
+ various formats such as Base64 and Hexadecimal. In addition to these
+ widely used encoders and decoders, the codec package also maintains a
+ collection of phonetic encoding utilities.
Description: Guava is a suite of core and expanded libraries that include
+ utility classes, google's collections, io classes, and much
+ much more.
+
+ Guava has only one code dependency - javax.annotation,
+ per the JSR-305 spec.
Google App Engine Terms of Service: appengine-api-1.0-sdk, appengine-api-stubs, appengine-testing
+
Apache License: HttpClient, HttpCore
+
Common Public License Version 1.0: JUnit
+
The Apache Software License, Version 2.0: Commons Codec, Commons Logging, FindBugs-jsr305, Google App Engine extensions to the Google HTTP Client Library for Java., Google HTTP Client Library for Java, Guava: Google Core Libraries for Java, Shared classes used for testing of artifacts in the Google HTTP Client Library for Java.
The following is a list of provided dependencies for this project. These dependencies are required to compile the application, but should be provided by default when using the library:
The following is a list of provided dependencies for this project. These dependencies are required to compile the application, but should be provided by default when using the library:
Description: Google HTTP Client Library for Java. Functionality that works on all supported Java platforms,
+ including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: There is currently no description associated with this project.
+
Project License: No license is defined for this project.
+
xpp3:xpp3:jar:1.1.4c (provided)
+
+
+
MXP1: Xml Pull Parser 3rd Edition (XPP3)
+
+
+
Description: MXP1 is a stable XmlPull parsing engine that is based on ideas from XPP and in particular XPP2 but completely revised and rewritten to take the best advantage of latest JIT JVMs such as Hotspot in JDK 1.4+.
Description: Guava is a suite of core and expanded libraries that include
+ utility classes, google's collections, io classes, and much
+ much more.
+
+ Guava has only one code dependency - javax.annotation,
+ per the JSR-305 spec.
Description: The codec package contains simple encoder and decoders for
+ various formats such as Base64 and Hexadecimal. In addition to these
+ widely used encoders and decoders, the codec package also maintains a
+ collection of phonetic encoding utilities.
Apache Software License, version 1.1: MXP1: Xml Pull Parser 3rd Edition (XPP3)
+
Public Domain: MXP1: Xml Pull Parser 3rd Edition (XPP3)
+
Unknown: xmlParserAPIs
+
Apache License: HttpClient, HttpCore
+
Common Public License Version 1.0: JUnit
+
Apache 2.0: Google Android Java ME Library (Khronos), Google Android Library
+
The Apache Software License, Version 2.0: Commons Codec, Commons Logging, FindBugs-jsr305, Google HTTP Client Library for Java, Guava: Google Core Libraries for Java
+
The MIT License: Mockito
+
Indiana University Extreme! Lab Software License, vesion 1.1.1: MXP1: Xml Pull Parser 3rd Edition (XPP3)
Description: Google HTTP Client Library for Java. Functionality that works on all supported Java platforms,
+ including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: The codec package contains simple encoder and decoders for
+ various formats such as Base64 and Hexadecimal. In addition to these
+ widely used encoders and decoders, the codec package also maintains a
+ collection of phonetic encoding utilities.
Description: Guava is a suite of core and expanded libraries that include
+ utility classes, google's collections, io classes, and much
+ much more.
+
+ Guava has only one code dependency - javax.annotation,
+ per the JSR-305 spec.
The Apache Software License, Version 2.0: Commons Codec, Commons Logging, FindBugs-jsr305, GSON extensions to the Google HTTP Client Library for Java., Google HTTP Client Library for Java, Gson, Guava: Google Core Libraries for Java, Shared classes used for testing of artifacts in the Google HTTP Client Library for Java.
Description: Google HTTP Client Library for Java. Functionality that works on all supported Java platforms,
+ including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: The codec package contains simple encoder and decoders for
+ various formats such as Base64 and Hexadecimal. In addition to these
+ widely used encoders and decoders, the codec package also maintains a
+ collection of phonetic encoding utilities.
Description: Guava is a suite of core and expanded libraries that include
+ utility classes, google's collections, io classes, and much
+ much more.
+
+ Guava has only one code dependency - javax.annotation,
+ per the JSR-305 spec.
The Apache Software License, Version 2.0: Commons Codec, Commons Logging, FindBugs-jsr305, Google HTTP Client Library for Java, Guava: Google Core Libraries for Java, Jackson, Jackson extensions to the Google HTTP Client Library for Java., Shared classes used for testing of artifacts in the Google HTTP Client Library for Java.
Description: Google HTTP Client Library for Java. Functionality that works on all supported Java platforms,
+ including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: The codec package contains simple encoder and decoders for
+ various formats such as Base64 and Hexadecimal. In addition to these
+ widely used encoders and decoders, the codec package also maintains a
+ collection of phonetic encoding utilities.
Description: Guava is a suite of core and expanded libraries that include
+ utility classes, google's collections, io classes, and much
+ much more.
+
+ Guava has only one code dependency - javax.annotation,
+ per the JSR-305 spec.
The Apache Software License, Version 2.0: Commons Codec, Commons Logging, FindBugs-jsr305, Google HTTP Client Library for Java, Guava: Google Core Libraries for Java, Jackson 2 extensions to the Google HTTP Client Library for Java., Jackson-core, Shared classes used for testing of artifacts in the Google HTTP Client Library for Java.
Description: Google HTTP Client Library for Java. Functionality that works on all supported Java platforms,
+ including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: The codec package contains simple encoder and decoders for
+ various formats such as Base64 and Hexadecimal. In addition to these
+ widely used encoders and decoders, the codec package also maintains a
+ collection of phonetic encoding utilities.
Description: The Java Data Objects 2 (JDO) API is a standard interface-based Java model abstraction of persistence, developed as Java Specification Request 243 under the auspices of the Java Community Process.
Description: There is currently no description associated with this project.
+
Project License: No license is defined for this project.
+
org.datanucleus:datanucleus-core:jar:3.2.2 (test)
+
+
+
DataNucleus Core
+
+
+
Description: DataNucleus Core provides the primary components of a heterogenous Java persistence solution.
+ It supports persistence API's being layered on top of the core functionality.
Description: Guava is a suite of core and expanded libraries that include
+ utility classes, google's collections, io classes, and much
+ much more.
+
+ Guava has only one code dependency - javax.annotation,
+ per the JSR-305 spec.
The Apache Software License, Version 2.0: Commons Codec, Commons Logging, DataNucleus Core, DataNucleus JDO API plugin, DataNucleus RDBMS, FindBugs-jsr305, Google HTTP Client Library for Java, Guava: Google Core Libraries for Java, JDO extensions to the Google HTTP Client Library for Java., Shared classes used for testing of artifacts in the Google HTTP Client Library for Java.
+
The GNU General Public License, Version 2: MySQL java connector
Description: Google HTTP Client Library for Java. Functionality that works on all supported Java platforms,
+ including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: The codec package contains simple encoder and decoders for
+ various formats such as Base64 and Hexadecimal. In addition to these
+ widely used encoders and decoders, the codec package also maintains a
+ collection of phonetic encoding utilities.
The Apache Software License, Version 2.0: Commons Codec, Commons Logging, FindBugs-jsr305, Google HTTP Client Library for Java, Protocol Buffer extensions to the Google HTTP Client Library for Java.
Description: Google HTTP Client Library for Java. Functionality that works on all supported Java platforms,
+ including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: The codec package contains simple encoder and decoders for
+ various formats such as Base64 and Hexadecimal. In addition to these
+ widely used encoders and decoders, the codec package also maintains a
+ collection of phonetic encoding utilities.
Description: MXP1 is a stable XmlPull parsing engine that is based on ideas from XPP and in particular XPP2 but completely revised and rewritten to take the best advantage of latest JIT JVMs such as Hotspot in JDK 1.4+.
Description: Guava is a suite of core and expanded libraries that include
+ utility classes, google's collections, io classes, and much
+ much more.
+
+ Guava has only one code dependency - javax.annotation,
+ per the JSR-305 spec.
Apache Software License, version 1.1: MXP1: Xml Pull Parser 3rd Edition (XPP3)
+
Public Domain: MXP1: Xml Pull Parser 3rd Edition (XPP3)
+
Apache License: HttpClient, HttpCore
+
Common Public License Version 1.0: JUnit
+
The Apache Software License, Version 2.0: Commons Codec, Commons Logging, FindBugs-jsr305, Google HTTP Client Library for Java, Guava: Google Core Libraries for Java, XML extensions to the Google HTTP Client Library for Java.
+
Indiana University Extreme! Lab Software License, vesion 1.1.1: MXP1: Xml Pull Parser 3rd Edition (XPP3)
The following is a list of provided dependencies for this project. These dependencies are required to compile the application, but should be provided by default when using the library:
The following is a list of provided dependencies for this project. These dependencies are required to compile the application, but should be provided by default when using the library:
Description: Google HTTP Client Library for Java. Functionality that works on all supported Java platforms,
+ including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: The codec package contains simple encoder and decoders for
+ various formats such as Base64 and Hexadecimal. In addition to these
+ widely used encoders and decoders, the codec package also maintains a
+ collection of phonetic encoding utilities.
Description: Google OAuth Client Library for Java. Functionality that works on all supported Java platforms,
+ including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: The Java Data Objects 2 (JDO) API is a standard interface-based Java model abstraction of persistence, developed as Java Specification Request 243 under the auspices of the Java Community Process.
Description: There is currently no description associated with this project.
+
Project License: No license is defined for this project.
+
com.google.guava:guava-jdk5:jar:13.0 (test)
+
+
+
Guava: Google Core Libraries for Java
+
+
+
Description: Guava is a suite of core and expanded libraries that include
+ utility classes, google's collections, io classes, and much
+ much more.
+
+ Guava has only one code dependency - javax.annotation,
+ per the JSR-305 spec.
Google App Engine Terms of Service: appengine-api-1.0-sdk, appengine-api-stubs, appengine-testing
+
Apache 2: JDO2 API
+
Unknown: servlet-api, transaction-api
+
Apache License: HttpClient, HttpCore
+
Common Public License Version 1.0: JUnit
+
The Apache Software License, Version 2.0: Commons Codec, Commons Logging, FindBugs-jsr305, Google App Engine extensions to the Google HTTP Client Library for Java., Google App Engine extensions to the Google OAuth Client Library for Java., Google HTTP Client Library for Java, Google OAuth Client Library for Java, Guava: Google Core Libraries for Java, JDO extensions to the Google HTTP Client Library for Java., Servlet and JDO extensions to the Google OAuth Client Library for Java.
The following is a list of provided dependencies for this project. These dependencies are required to compile the application, but should be provided by default when using the library:
Description: Google OAuth Client Library for Java. Functionality that works on all supported Java platforms,
+ including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: Google HTTP Client Library for Java. Functionality that works on all supported Java platforms,
+ including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: The codec package contains simple encoder and decoders for
+ various formats such as Base64 and Hexadecimal. In addition to these
+ widely used encoders and decoders, the codec package also maintains a
+ collection of phonetic encoding utilities.
Description: Guava is a suite of core and expanded libraries that include
+ utility classes, google's collections, io classes, and much
+ much more.
+
+ Guava has only one code dependency - javax.annotation,
+ per the JSR-305 spec.
The Apache Software License, Version 2.0: Commons Codec, Commons Logging, FindBugs-jsr305, Google HTTP Client Library for Java, Google OAuth Client Library for Java, Guava: Google Core Libraries for Java, Jackson, Jackson extensions to the Google HTTP Client Library for Java.
The following is a list of provided dependencies for this project. These dependencies are required to compile the application, but should be provided by default when using the library:
Description: Google OAuth Client Library for Java. Functionality that works on all supported Java platforms,
+ including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: Google HTTP Client Library for Java. Functionality that works on all supported Java platforms,
+ including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: The codec package contains simple encoder and decoders for
+ various formats such as Base64 and Hexadecimal. In addition to these
+ widely used encoders and decoders, the codec package also maintains a
+ collection of phonetic encoding utilities.
Description: Guava is a suite of core and expanded libraries that include
+ utility classes, google's collections, io classes, and much
+ much more.
+
+ Guava has only one code dependency - javax.annotation,
+ per the JSR-305 spec.
The Apache Software License, Version 2.0: Commons Codec, Commons Logging, FindBugs-jsr305, Google HTTP Client Library for Java, Google OAuth Client Library for Java, Guava: Google Core Libraries for Java, Jackson, Jackson extensions to the Google HTTP Client Library for Java., Java 6 (and higher) extensions to the Google OAuth Client Library for Java.
The following is a list of provided dependencies for this project. These dependencies are required to compile the application, but should be provided by default when using the library:
Description: Google OAuth Client Library for Java. Functionality that works on all supported Java platforms,
+ including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: Google HTTP Client Library for Java. Functionality that works on all supported Java platforms,
+ including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: The codec package contains simple encoder and decoders for
+ various formats such as Base64 and Hexadecimal. In addition to these
+ widely used encoders and decoders, the codec package also maintains a
+ collection of phonetic encoding utilities.
Eclipse Public License - Version 1.0: Jetty Server, Jetty Utilities
+
Apache License: HttpClient, HttpCore
+
Apache Software License - Version 2.0: Jetty Server, Jetty Utilities
+
The Apache Software License, Version 2.0: Commons Codec, Commons Logging, FindBugs-jsr305, Google HTTP Client Library for Java, Google OAuth Client Library for Java, Java 6 (and higher) extensions to the Google OAuth Client Library for Java., Jetty extensions to the Google OAuth Client Library for Java.
+
Apache License Version 2.0: Servlet Specification API
The following is a list of provided dependencies for this project. These dependencies are required to compile the application, but should be provided by default when using the library:
Description: Google OAuth Client Library for Java. Functionality that works on all supported Java platforms,
+ including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: Google HTTP Client Library for Java. Functionality that works on all supported Java platforms,
+ including Java 5 (or higher) desktop (SE) and web (EE), Android, and Google App Engine.
Description: The codec package contains simple encoder and decoders for
+ various formats such as Base64 and Hexadecimal. In addition to these
+ widely used encoders and decoders, the codec package also maintains a
+ collection of phonetic encoding utilities.
Description: There is currently no description associated with this project.
+
Project License: No license is defined for this project.
+
javax.jdo:jdo2-api:jar:2.3-eb (compile)
+
+
+
JDO2 API
+
+
+
Description: The Java Data Objects 2 (JDO) API is a standard interface-based Java model abstraction of persistence, developed as Java Specification Request 243 under the auspices of the Java Community Process.
Description: There is currently no description associated with this project.
+
Project License: No license is defined for this project.
+
com.google.guava:guava-jdk5:jar:13.0 (test)
+
+
+
Guava: Google Core Libraries for Java
+
+
+
Description: Guava is a suite of core and expanded libraries that include
+ utility classes, google's collections, io classes, and much
+ much more.
+
+ Guava has only one code dependency - javax.annotation,
+ per the JSR-305 spec.
Description: DataNucleus Core provides the primary components of a heterogenous Java persistence solution.
+ It supports persistence API's being layered on top of the core functionality.
The Apache Software License, Version 2.0: Commons Codec, Commons Logging, DataNucleus Core, DataNucleus JDO API plugin, DataNucleus RDBMS, FindBugs-jsr305, Google HTTP Client Library for Java, Google OAuth Client Library for Java, Guava: Google Core Libraries for Java, JDO extensions to the Google HTTP Client Library for Java., Servlet and JDO extensions to the Google OAuth Client Library for Java.
+
The GNU General Public License, Version 2: MySQL java connector
+ The license can be found
+ here.
+ Dependent jars can be found in the
+ libs folder and the corresponding source jars can be found
+ in the
+ libs-sources folder.
+
+ The dependency structure and licenses for the different libraries can
+ be found here:
+
+ A .classpath file snippet that can be included in your project's .classpath
+ has been provided
+ here. Please only use the classpathentry's you
+ actually need (see below for details).
+
+
ProGuard
+
+ A ProGuard configuration file proguard-google-api-client.txt
+ is included for common settings for using the library. On Android projects,
+ you may want to add a reference to
+ proguard-google-api-client.txt
+ in the
+ project.properties
+ file under the
+ proguard.config
+ property.
+
+ The
+ libs folder also contains properties files that specify the
+ location of source jars for Android projects in Eclipse.
+ Please see the
+ Android
+ wiki for the Android Developer's Guide.
+
+
Google App Engine Dependencies
+ The following are the jars from the
+ libs folder required for Google App Engine applications or
+ a newer compatible version:
+
+ *
+ * @param Type of the data contained within a notification
+ * @author Yaniv Inbar
+ * @since 1.16
+ */
+@Beta
+public abstract class JacksonNotificationCallback extends JsonNotificationCallback {
+
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ protected JsonFactory getJsonFactory() {
+ return JacksonFactory.getDefaultInstance();
+ }
+}
diff --git a/google-api-client-jackson2/src/main/java/com/google/api/client/googleapis/notifications/json/jackson2/package-info.java b/google-api-client-jackson2/src/main/java/com/google/api/client/googleapis/notifications/json/jackson2/package-info.java
new file mode 100644
index 00000000..866f26b9
--- /dev/null
+++ b/google-api-client-jackson2/src/main/java/com/google/api/client/googleapis/notifications/json/jackson2/package-info.java
@@ -0,0 +1,25 @@
+/*
+ * Copyright (c) 2013 Google Inc.
+ *
+ * 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.
+ */
+
+/**
+ * {@link com.google.api.client.util.Beta}
+ * Notification channel handling based on the Jackson 2 JSON library.
+ *
+ * @author Yaniv Inbar
+ * @since 1.16
+ */
+@com.google.api.client.util.Beta
+package com.google.api.client.googleapis.notifications.json.jackson2;
+
diff --git a/google-api-client-java6/.classpath b/google-api-client-java6/.classpath
new file mode 100644
index 00000000..68a2c33f
--- /dev/null
+++ b/google-api-client-java6/.classpath
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/google-api-client-java6/.project b/google-api-client-java6/.project
new file mode 100644
index 00000000..910f35b5
--- /dev/null
+++ b/google-api-client-java6/.project
@@ -0,0 +1,17 @@
+
+ google-api-client-java6
+
+
+
+
+
+ org.eclipse.m2e.core.maven2Builder
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+ org.eclipse.m2e.core.maven2Nature
+ org.eclipse.jdt.core.javanature
+
+
diff --git a/google-api-client-java6/.settings/org.eclipse.jdt.core.prefs b/google-api-client-java6/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000..2bb99ad7
--- /dev/null
+++ b/google-api-client-java6/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,380 @@
+#Thu Nov 17 08:38:45 EST 2011
+eclipse.preferences.version=1
+org.eclipse.jdt.core.codeComplete.argumentPrefixes=
+org.eclipse.jdt.core.codeComplete.argumentSuffixes=
+org.eclipse.jdt.core.codeComplete.fieldPrefixes=
+org.eclipse.jdt.core.codeComplete.fieldSuffixes=
+org.eclipse.jdt.core.codeComplete.localPrefixes=
+org.eclipse.jdt.core.codeComplete.localSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=ignore
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
+org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
+org.eclipse.jdt.core.compiler.problem.deadCode=warning
+org.eclipse.jdt.core.compiler.problem.deprecation=warning
+org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
+org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
+org.eclipse.jdt.core.compiler.problem.discouragedReference=ignore
+org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
+org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
+org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
+org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
+org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
+org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
+org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
+org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
+org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
+org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
+org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
+org.eclipse.jdt.core.compiler.problem.nullReference=warning
+org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
+org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
+org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
+org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
+org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
+org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
+org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
+org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
+org.eclipse.jdt.core.compiler.problem.typeParameterHiding=ignore
+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
+org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
+org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=ignore
+org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
+org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.unusedImport=warning
+org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
+org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
+org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
+org.eclipse.jdt.core.compiler.problem.unusedWarningToken=ignore
+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
+org.eclipse.jdt.core.compiler.source=1.6
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_annotations_on_local_variable=569
+org.eclipse.jdt.core.formatter.alignment_for_annotations_on_member=569
+org.eclipse.jdt.core.formatter.alignment_for_annotations_on_package_declaration=569
+org.eclipse.jdt.core.formatter.alignment_for_annotations_on_parameter=24
+org.eclipse.jdt.core.formatter.alignment_for_annotations_on_type_declaration=569
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16|5|80
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16|5|80
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16|5|80
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16|4|80
+org.eclipse.jdt.core.formatter.alignment_for_assignment=16
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=16|5|48
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16|5|80
+org.eclipse.jdt.core.formatter.alignment_for_field_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_for_statement=16
+org.eclipse.jdt.core.formatter.alignment_for_generic_type_arguments=16
+org.eclipse.jdt.core.formatter.alignment_for_local_variable_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_new_anonymous_class=0
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16|5|80
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16|5|80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16|4|48
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16|4|49
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16|4|48
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16|4|48
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16|4|48
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=0
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=0
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=2
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=true
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=false
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=do not insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
+org.eclipse.jdt.core.formatter.comment.line_length=100
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.comment_new_line_at_start_of_html_paragraph=true
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=2
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.force_if_else_statement_brace=true
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=true
+org.eclipse.jdt.core.formatter.join_wrapped_lines=true
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=true
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=100
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=3
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
+org.eclipse.jdt.core.formatter.sort_local_variable_annotations=false
+org.eclipse.jdt.core.formatter.sort_member_annotations=false
+org.eclipse.jdt.core.formatter.sort_package_annotations=false
+org.eclipse.jdt.core.formatter.sort_parameter_annotations=false
+org.eclipse.jdt.core.formatter.sort_type_annotations=false
+org.eclipse.jdt.core.formatter.tabulation.char=space
+org.eclipse.jdt.core.formatter.tabulation.size=2
+org.eclipse.jdt.core.formatter.use_on_off_tags=false
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_comment_inline_tags=false
+org.eclipse.jdt.core.formatter.wrap_non_simple_local_variable_annotation=true
+org.eclipse.jdt.core.formatter.wrap_non_simple_member_annotation=true
+org.eclipse.jdt.core.formatter.wrap_non_simple_package_annotation=true
+org.eclipse.jdt.core.formatter.wrap_non_simple_parameter_annotation=false
+org.eclipse.jdt.core.formatter.wrap_non_simple_type_annotation=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
+org.eclipse.jdt.core.formatter.wrap_prefer_two_fragments=false
diff --git a/google-api-client-java6/.settings/org.eclipse.jdt.ui.prefs b/google-api-client-java6/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 00000000..fea3eb89
--- /dev/null
+++ b/google-api-client-java6/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,119 @@
+cleanup.add_default_serial_version_id=true
+cleanup.add_generated_serial_version_id=false
+cleanup.add_missing_annotations=true
+cleanup.add_missing_deprecated_annotations=true
+cleanup.add_missing_methods=false
+cleanup.add_missing_nls_tags=false
+cleanup.add_missing_override_annotations=true
+cleanup.add_missing_override_annotations_interface_methods=true
+cleanup.add_serial_version_id=true
+cleanup.always_use_blocks=true
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.always_use_this_for_non_static_field_access=false
+cleanup.always_use_this_for_non_static_method_access=false
+cleanup.convert_to_enhanced_for_loop=false
+cleanup.correct_indentation=true
+cleanup.format_source_code=true
+cleanup.format_source_code_changes_only=false
+cleanup.make_local_variable_final=true
+cleanup.make_parameters_final=false
+cleanup.make_private_fields_final=true
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.make_variable_declarations_final=false
+cleanup.never_use_blocks=false
+cleanup.never_use_parentheses_in_expressions=true
+cleanup.organize_imports=true
+cleanup.qualify_static_field_accesses_with_declaring_class=false
+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+cleanup.qualify_static_member_accesses_with_declaring_class=true
+cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.remove_private_constructors=true
+cleanup.remove_trailing_whitespaces=true
+cleanup.remove_trailing_whitespaces_all=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_casts=true
+cleanup.remove_unnecessary_nls_tags=true
+cleanup.remove_unused_imports=true
+cleanup.remove_unused_local_variables=false
+cleanup.remove_unused_private_fields=true
+cleanup.remove_unused_private_members=false
+cleanup.remove_unused_private_methods=true
+cleanup.remove_unused_private_types=true
+cleanup.sort_members=false
+cleanup.sort_members_all=false
+cleanup.use_blocks=true
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_parentheses_in_expressions=true
+cleanup.use_this_for_non_static_field_access=true
+cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+cleanup.use_this_for_non_static_method_access=true
+cleanup.use_this_for_non_static_method_access_only_if_necessary=true
+cleanup_profile=_google-api-java-client
+cleanup_settings_version=2
+eclipse.preferences.version=1
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+formatter_profile=_google-api-java-client 100
+formatter_settings_version=12
+org.eclipse.jdt.ui.exception.name=exception
+org.eclipse.jdt.ui.gettersetter.use.is=false
+org.eclipse.jdt.ui.ignorelowercasenames=true
+org.eclipse.jdt.ui.importorder=com.google;;java;javax;
+org.eclipse.jdt.ui.javadoc=true
+org.eclipse.jdt.ui.keywordthis=false
+org.eclipse.jdt.ui.ondemandthreshold=999
+org.eclipse.jdt.ui.overrideannotation=true
+org.eclipse.jdt.ui.staticondemandthreshold=999
+org.eclipse.jdt.ui.text.custom_code_templates=/*\n * Copyright (c) ${year} Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except\n * in compliance with the License. You may obtain a copy of the License at\n *\n * http\://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under the License\n * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express\n * or implied. See the License for the specific language governing permissions and limitations under\n * the License.\n */\n/**\n * @author ${user}@google.com (Your Name Here)\n *\n * ${tags}\n *//**\n * @return the ${bare_field_name}\n *//**\n * @param ${param} the ${bare_field_name} to set\n *//**\n * ${tags}\n *//**\n * \n *//**\n * ${tags}\n *//* (non-Javadoc)\n * ${see_to_overridden}\n *//**\n * ${tags}\n * ${see_to_target}\n */${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}\n\n\n\n// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();// ${todo} Auto-generated method stub\n${body_statement}${body_statement}\n// ${todo} Auto-generated constructor stubreturn ${field};${field} \= ${param};/**\n * @return the ${bare_field_name}\n *//**\n * @param ${param} the ${bare_field_name} to set\n *//**\n * ${tags}\n *//**\n * \n *//**\n * @author Yaniv Inbar\n *\n * ${tags}\n *//**\n * \n *//**\n * ${tags}\n *//* (non-JSDoc)\n * ${see_to_overridden}\n *//**\n * ${tags}\n * ${see_to_target}\n */${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}\n// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();// ${todo} Auto-generated function stub\n${body_statement}${body_statement}\n// ${todo} Auto-generated constructor stubreturn ${field};${field} \= ${param};
+sp_cleanup.add_default_serial_version_id=true
+sp_cleanup.add_generated_serial_version_id=false
+sp_cleanup.add_missing_annotations=true
+sp_cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.add_missing_methods=false
+sp_cleanup.add_missing_nls_tags=false
+sp_cleanup.add_missing_override_annotations=true
+sp_cleanup.add_missing_override_annotations_interface_methods=true
+sp_cleanup.add_serial_version_id=false
+sp_cleanup.always_use_blocks=true
+sp_cleanup.always_use_parentheses_in_expressions=false
+sp_cleanup.always_use_this_for_non_static_field_access=false
+sp_cleanup.always_use_this_for_non_static_method_access=false
+sp_cleanup.convert_to_enhanced_for_loop=false
+sp_cleanup.correct_indentation=false
+sp_cleanup.format_source_code=false
+sp_cleanup.format_source_code_changes_only=true
+sp_cleanup.make_local_variable_final=false
+sp_cleanup.make_parameters_final=false
+sp_cleanup.make_private_fields_final=true
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.make_variable_declarations_final=false
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.organize_imports=true
+sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.remove_private_constructors=true
+sp_cleanup.remove_trailing_whitespaces=true
+sp_cleanup.remove_trailing_whitespaces_all=true
+sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_casts=true
+sp_cleanup.remove_unnecessary_nls_tags=false
+sp_cleanup.remove_unused_imports=false
+sp_cleanup.remove_unused_local_variables=false
+sp_cleanup.remove_unused_private_fields=true
+sp_cleanup.remove_unused_private_members=false
+sp_cleanup.remove_unused_private_methods=true
+sp_cleanup.remove_unused_private_types=true
+sp_cleanup.sort_members=false
+sp_cleanup.sort_members_all=false
+sp_cleanup.use_blocks=false
+sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_parentheses_in_expressions=false
+sp_cleanup.use_this_for_non_static_field_access=false
+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+sp_cleanup.use_this_for_non_static_method_access=false
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/google-api-client-java6/pom.xml b/google-api-client-java6/pom.xml
new file mode 100644
index 00000000..e05133e4
--- /dev/null
+++ b/google-api-client-java6/pom.xml
@@ -0,0 +1,85 @@
+
+ 4.0.0
+
+ com.google.api-client
+ google-api-client-parent
+ 1.17.1-rc-SNAPSHOT
+ ../pom.xml
+
+ google-api-client-java6
+ Java 6 (and higher) Extensions to the Google API Client Library for Java.
+
+
+
+ maven-javadoc-plugin
+
+
+ http://download.oracle.com/javase/6/docs/api/
+ http://javadoc.google-http-java-client.googlecode.com/hg/${project.http.version}
+
+ ${project.name} ${project.version}
+ ${project.artifactId} ${project.version}
+
+
+
+ maven-jar-plugin
+
+
+
+ true
+
+
+
+
+
+ jar
+ compile
+
+ jar
+
+
+
+
+
+ maven-source-plugin
+
+
+ source-jar
+ compile
+
+ jar
+
+
+
+
+
+
+ org.codehaus.mojo
+ animal-sniffer-maven-plugin
+
+
+ org.codehaus.mojo.signature
+ java16
+ 1.0
+
+
+
+
+
+
+
+ com.google.api-client
+ google-api-client
+
+
+ com.google.oauth-client
+ google-oauth-client-java6
+
+
+ junit
+ junit
+ test
+
+
+
diff --git a/google-api-client-java6/src/main/java/com/google/api/client/googleapis/extensions/java6/auth/oauth2/GooglePromptReceiver.java b/google-api-client-java6/src/main/java/com/google/api/client/googleapis/extensions/java6/auth/oauth2/GooglePromptReceiver.java
new file mode 100644
index 00000000..b21785ad
--- /dev/null
+++ b/google-api-client-java6/src/main/java/com/google/api/client/googleapis/extensions/java6/auth/oauth2/GooglePromptReceiver.java
@@ -0,0 +1,39 @@
+/*
+ * Copyright (c) 2012 Google Inc.
+ *
+ * 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.
+ */
+
+package com.google.api.client.googleapis.extensions.java6.auth.oauth2;
+
+import com.google.api.client.extensions.java6.auth.oauth2.AbstractPromptReceiver;
+import com.google.api.client.googleapis.auth.oauth2.GoogleOAuthConstants;
+
+import java.io.IOException;
+
+/**
+ * Google OAuth 2.0 abstract verification code receiver that prompts user to paste the code copied
+ * from the browser.
+ *
+ *
+ * Implementation is thread-safe.
+ *
+ *
+ * @since 1.11
+ * @author Yaniv Inbar
+ */
+public class GooglePromptReceiver extends AbstractPromptReceiver {
+
+ @Override
+ public String getRedirectUri() throws IOException {
+ return GoogleOAuthConstants.OOB_REDIRECT_URI;
+ }
+}
diff --git a/google-api-client-java6/src/main/java/com/google/api/client/googleapis/extensions/java6/auth/oauth2/package-info.java b/google-api-client-java6/src/main/java/com/google/api/client/googleapis/extensions/java6/auth/oauth2/package-info.java
new file mode 100644
index 00000000..8a57bb90
--- /dev/null
+++ b/google-api-client-java6/src/main/java/com/google/api/client/googleapis/extensions/java6/auth/oauth2/package-info.java
@@ -0,0 +1,22 @@
+/*
+ * Copyright (c) 2012 Google Inc.
+ *
+ * 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.
+ */
+
+/**
+ * Google OAuth 2.0 utilities that help simplify the authorization flow on Java 6.
+ *
+ * @since 1.11
+ * @author Yaniv Inbar
+ */
+package com.google.api.client.googleapis.extensions.java6.auth.oauth2;
+
diff --git a/google-api-client-protobuf/.classpath b/google-api-client-protobuf/.classpath
new file mode 100644
index 00000000..47154502
--- /dev/null
+++ b/google-api-client-protobuf/.classpath
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/google-api-client-protobuf/.project b/google-api-client-protobuf/.project
new file mode 100644
index 00000000..311c9440
--- /dev/null
+++ b/google-api-client-protobuf/.project
@@ -0,0 +1,23 @@
+
+
+ google-api-client-protobuf
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+ org.eclipse.m2e.core.maven2Builder
+
+
+
+
+
+ org.eclipse.jdt.core.javanature
+ org.eclipse.m2e.core.maven2Nature
+
+
diff --git a/google-api-client-protobuf/.settings/org.eclipse.jdt.core.prefs b/google-api-client-protobuf/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000..56c60d70
--- /dev/null
+++ b/google-api-client-protobuf/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,418 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.codeComplete.argumentPrefixes=
+org.eclipse.jdt.core.codeComplete.argumentSuffixes=
+org.eclipse.jdt.core.codeComplete.fieldPrefixes=
+org.eclipse.jdt.core.codeComplete.fieldSuffixes=
+org.eclipse.jdt.core.codeComplete.localPrefixes=
+org.eclipse.jdt.core.codeComplete.localSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=ignore
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
+org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
+org.eclipse.jdt.core.compiler.problem.deadCode=warning
+org.eclipse.jdt.core.compiler.problem.deprecation=warning
+org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
+org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
+org.eclipse.jdt.core.compiler.problem.discouragedReference=ignore
+org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
+org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
+org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
+org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
+org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
+org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
+org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
+org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
+org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
+org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
+org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
+org.eclipse.jdt.core.compiler.problem.nullReference=warning
+org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
+org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
+org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
+org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
+org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
+org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
+org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
+org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
+org.eclipse.jdt.core.compiler.problem.typeParameterHiding=ignore
+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
+org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
+org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=ignore
+org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
+org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
+org.eclipse.jdt.core.compiler.problem.unusedImport=warning
+org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
+org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
+org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
+org.eclipse.jdt.core.compiler.problem.unusedWarningToken=ignore
+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
+org.eclipse.jdt.core.compiler.source=1.5
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_annotations_on_field=1585
+org.eclipse.jdt.core.formatter.alignment_for_annotations_on_field.count_dependent=1585|-1|1585
+org.eclipse.jdt.core.formatter.alignment_for_annotations_on_local_variable=569
+org.eclipse.jdt.core.formatter.alignment_for_annotations_on_local_variable.count_dependent=1585|-1|1585
+org.eclipse.jdt.core.formatter.alignment_for_annotations_on_member=569
+org.eclipse.jdt.core.formatter.alignment_for_annotations_on_method=1585
+org.eclipse.jdt.core.formatter.alignment_for_annotations_on_method.count_dependent=1585|-1|1585
+org.eclipse.jdt.core.formatter.alignment_for_annotations_on_package=1585
+org.eclipse.jdt.core.formatter.alignment_for_annotations_on_package.count_dependent=1585|-1|1585
+org.eclipse.jdt.core.formatter.alignment_for_annotations_on_package_declaration=569
+org.eclipse.jdt.core.formatter.alignment_for_annotations_on_parameter=24
+org.eclipse.jdt.core.formatter.alignment_for_annotations_on_parameter.count_dependent=1040|-1|1040
+org.eclipse.jdt.core.formatter.alignment_for_annotations_on_type=1585
+org.eclipse.jdt.core.formatter.alignment_for_annotations_on_type.count_dependent=1585|-1|1585
+org.eclipse.jdt.core.formatter.alignment_for_annotations_on_type_declaration=569
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16|5|80
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression.count_dependent=16|-1|16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation.count_dependent=16|-1|16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant.count_dependent=16|-1|16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16|5|80
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call.count_dependent=16|-1|16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16|5|80
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation.count_dependent=16|-1|16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16|4|80
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression.count_dependent=16|-1|16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=16
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression.count_dependent=16|-1|16
+org.eclipse.jdt.core.formatter.alignment_for_cascading_method_invocation_with_arguments=16
+org.eclipse.jdt.core.formatter.alignment_for_cascading_method_invocation_with_arguments.count_dependent=16|-1|16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=16|5|48
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants.count_dependent=0|-1|0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16|5|80
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer.count_dependent=16|-1|16
+org.eclipse.jdt.core.formatter.alignment_for_field_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_for_statement=16
+org.eclipse.jdt.core.formatter.alignment_for_generic_type_arguments=16
+org.eclipse.jdt.core.formatter.alignment_for_generic_type_arguments.count_dependent=16|-1|16
+org.eclipse.jdt.core.formatter.alignment_for_local_variable_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields.count_dependent=16|-1|16
+org.eclipse.jdt.core.formatter.alignment_for_new_anonymous_class=0
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16|5|80
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration.count_dependent=16|-1|16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16|5|80
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration.count_dependent=16|-1|16
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16|4|48
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation.count_dependent=16|-1|16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16|4|49
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration.count_dependent=16|-1|16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16|4|48
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration.count_dependent=16|-1|16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16|4|48
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration.count_dependent=16|-1|16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16|4|48
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration.count_dependent=16|-1|16
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=0
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=0
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=2
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=true
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=false
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=do not insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
+org.eclipse.jdt.core.formatter.comment.line_length=100
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.comment_new_line_at_start_of_html_paragraph=true
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=2
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.force_if_else_statement_brace=true
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comment_prefix=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=true
+org.eclipse.jdt.core.formatter.join_wrapped_lines=true
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=true
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=100
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=3
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
+org.eclipse.jdt.core.formatter.sort_local_variable_annotations=false
+org.eclipse.jdt.core.formatter.sort_member_annotations=false
+org.eclipse.jdt.core.formatter.sort_package_annotations=false
+org.eclipse.jdt.core.formatter.sort_parameter_annotations=false
+org.eclipse.jdt.core.formatter.sort_type_annotations=false
+org.eclipse.jdt.core.formatter.tabulation.char=space
+org.eclipse.jdt.core.formatter.tabulation.size=2
+org.eclipse.jdt.core.formatter.use_on_off_tags=false
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_comment_inline_tags=false
+org.eclipse.jdt.core.formatter.wrap_non_simple_local_variable_annotation=true
+org.eclipse.jdt.core.formatter.wrap_non_simple_member_annotation=true
+org.eclipse.jdt.core.formatter.wrap_non_simple_package_annotation=true
+org.eclipse.jdt.core.formatter.wrap_non_simple_parameter_annotation=false
+org.eclipse.jdt.core.formatter.wrap_non_simple_type_annotation=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
+org.eclipse.jdt.core.formatter.wrap_prefer_two_fragments=false
diff --git a/google-api-client-protobuf/.settings/org.eclipse.jdt.ui.prefs b/google-api-client-protobuf/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 00000000..08ebc976
--- /dev/null
+++ b/google-api-client-protobuf/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,119 @@
+cleanup.add_default_serial_version_id=true
+cleanup.add_generated_serial_version_id=false
+cleanup.add_missing_annotations=true
+cleanup.add_missing_deprecated_annotations=true
+cleanup.add_missing_methods=false
+cleanup.add_missing_nls_tags=false
+cleanup.add_missing_override_annotations=true
+cleanup.add_missing_override_annotations_interface_methods=false
+cleanup.add_serial_version_id=true
+cleanup.always_use_blocks=true
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.always_use_this_for_non_static_field_access=false
+cleanup.always_use_this_for_non_static_method_access=false
+cleanup.convert_to_enhanced_for_loop=false
+cleanup.correct_indentation=true
+cleanup.format_source_code=true
+cleanup.format_source_code_changes_only=false
+cleanup.make_local_variable_final=true
+cleanup.make_parameters_final=false
+cleanup.make_private_fields_final=true
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.make_variable_declarations_final=false
+cleanup.never_use_blocks=false
+cleanup.never_use_parentheses_in_expressions=true
+cleanup.organize_imports=true
+cleanup.qualify_static_field_accesses_with_declaring_class=false
+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+cleanup.qualify_static_member_accesses_with_declaring_class=true
+cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.remove_private_constructors=true
+cleanup.remove_trailing_whitespaces=true
+cleanup.remove_trailing_whitespaces_all=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_casts=true
+cleanup.remove_unnecessary_nls_tags=true
+cleanup.remove_unused_imports=true
+cleanup.remove_unused_local_variables=false
+cleanup.remove_unused_private_fields=true
+cleanup.remove_unused_private_members=false
+cleanup.remove_unused_private_methods=true
+cleanup.remove_unused_private_types=true
+cleanup.sort_members=false
+cleanup.sort_members_all=false
+cleanup.use_blocks=true
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_parentheses_in_expressions=true
+cleanup.use_this_for_non_static_field_access=true
+cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+cleanup.use_this_for_non_static_method_access=true
+cleanup.use_this_for_non_static_method_access_only_if_necessary=true
+cleanup_profile=_google-api-java-client
+cleanup_settings_version=2
+eclipse.preferences.version=1
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+formatter_profile=_google-api-java-client 100
+formatter_settings_version=12
+org.eclipse.jdt.ui.exception.name=exception
+org.eclipse.jdt.ui.gettersetter.use.is=false
+org.eclipse.jdt.ui.ignorelowercasenames=true
+org.eclipse.jdt.ui.importorder=com.google;;java;javax;
+org.eclipse.jdt.ui.javadoc=true
+org.eclipse.jdt.ui.keywordthis=false
+org.eclipse.jdt.ui.ondemandthreshold=999
+org.eclipse.jdt.ui.overrideannotation=true
+org.eclipse.jdt.ui.staticondemandthreshold=999
+org.eclipse.jdt.ui.text.custom_code_templates=/*\n * Copyright (c) ${year} Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except\n * in compliance with the License. You may obtain a copy of the License at\n *\n * http\://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under the License\n * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express\n * or implied. See the License for the specific language governing permissions and limitations under\n * the License.\n */\n/**\n * @author ${user}@google.com (Your Name Here)\n *\n * ${tags}\n *//**\n * @return the ${bare_field_name}\n *//**\n * @param ${param} the ${bare_field_name} to set\n *//**\n * ${tags}\n *//**\n * \n *//**\n * ${tags}\n *//* (non-Javadoc)\n * ${see_to_overridden}\n *//**\n * ${tags}\n * ${see_to_target}\n */${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}\n\n\n\n// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();// ${todo} Auto-generated method stub\n${body_statement}${body_statement}\n// ${todo} Auto-generated constructor stubreturn ${field};${field} \= ${param};/**\n * @return the ${bare_field_name}\n *//**\n * @param ${param} the ${bare_field_name} to set\n *//**\n * ${tags}\n *//**\n * \n *//**\n * @author Yaniv Inbar\n *\n * ${tags}\n *//**\n * \n *//**\n * ${tags}\n *//* (non-JSDoc)\n * ${see_to_overridden}\n *//**\n * ${tags}\n * ${see_to_target}\n */${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}\n// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();// ${todo} Auto-generated function stub\n${body_statement}${body_statement}\n// ${todo} Auto-generated constructor stubreturn ${field};${field} \= ${param};
+sp_cleanup.add_default_serial_version_id=true
+sp_cleanup.add_generated_serial_version_id=false
+sp_cleanup.add_missing_annotations=true
+sp_cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.add_missing_methods=false
+sp_cleanup.add_missing_nls_tags=false
+sp_cleanup.add_missing_override_annotations=true
+sp_cleanup.add_missing_override_annotations_interface_methods=false
+sp_cleanup.add_serial_version_id=false
+sp_cleanup.always_use_blocks=true
+sp_cleanup.always_use_parentheses_in_expressions=false
+sp_cleanup.always_use_this_for_non_static_field_access=false
+sp_cleanup.always_use_this_for_non_static_method_access=false
+sp_cleanup.convert_to_enhanced_for_loop=false
+sp_cleanup.correct_indentation=false
+sp_cleanup.format_source_code=false
+sp_cleanup.format_source_code_changes_only=true
+sp_cleanup.make_local_variable_final=false
+sp_cleanup.make_parameters_final=false
+sp_cleanup.make_private_fields_final=true
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.make_variable_declarations_final=false
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.organize_imports=true
+sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.remove_private_constructors=true
+sp_cleanup.remove_trailing_whitespaces=true
+sp_cleanup.remove_trailing_whitespaces_all=true
+sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_casts=true
+sp_cleanup.remove_unnecessary_nls_tags=false
+sp_cleanup.remove_unused_imports=false
+sp_cleanup.remove_unused_local_variables=false
+sp_cleanup.remove_unused_private_fields=true
+sp_cleanup.remove_unused_private_members=false
+sp_cleanup.remove_unused_private_methods=true
+sp_cleanup.remove_unused_private_types=true
+sp_cleanup.sort_members=false
+sp_cleanup.sort_members_all=false
+sp_cleanup.use_blocks=false
+sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_parentheses_in_expressions=false
+sp_cleanup.use_this_for_non_static_field_access=false
+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+sp_cleanup.use_this_for_non_static_method_access=false
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/google-api-client-protobuf/pom.xml b/google-api-client-protobuf/pom.xml
new file mode 100644
index 00000000..f109aea9
--- /dev/null
+++ b/google-api-client-protobuf/pom.xml
@@ -0,0 +1,161 @@
+
+ 4.0.0
+
+ com.google.api-client
+ google-api-client-parent
+ 1.17.1-rc-SNAPSHOT
+ ../pom.xml
+
+ google-api-client-protobuf
+ Protocol Buffer extensions to the Google APIs Client Library for Java
+
+
+
+ maven-javadoc-plugin
+
+
+ http://download.oracle.com/javase/1.5.0/docs/api/
+ http://javadoc.google-http-java-client.googlecode.com/hg/${project.http.version}
+
+ ${project.name} ${project.version}
+ ${project.artifactId} ${project.version}
+
+
+
+ maven-jar-plugin
+
+
+
+ true
+
+
+
+
+
+ jar
+ compile
+
+ jar
+
+
+
+
+
+ maven-source-plugin
+
+
+ source-jar
+ compile
+
+ jar
+
+
+
+
+
+ maven-antrun-plugin
+
+
+ generate-sources
+ generate-sources
+
+
+
+
+
+
+
+
+
+
+ run
+
+
+
+
+
+ org.codehaus.mojo
+ build-helper-maven-plugin
+ 1.5
+
+
+ add-test-source
+ generate-test-sources
+
+ add-test-source
+
+
+
+ target/generated-test-sources
+
+
+
+
+
+
+
+
+
+
+ org.eclipse.m2e
+ lifecycle-mapping
+ 1.0.0
+
+
+
+
+
+
+ org.apache.maven.plugins
+
+
+ maven-antrun-plugin
+
+ [1.6,)
+
+ run
+
+
+
+
+
+
+
+
+ org.codehaus.mojo
+
+ build-helper-maven-plugin
+
+ [1.5,)
+
+ add-test-source
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ com.google.http-client
+ google-http-client-protobuf
+
+
+ com.google.api-client
+ google-api-client
+
+
+ junit
+ junit
+ test
+
+
+
diff --git a/google-api-client-protobuf/src/main/java/com/google/api/client/googleapis/services/protobuf/AbstractGoogleProtoClient.java b/google-api-client-protobuf/src/main/java/com/google/api/client/googleapis/services/protobuf/AbstractGoogleProtoClient.java
new file mode 100644
index 00000000..04fc6c07
--- /dev/null
+++ b/google-api-client-protobuf/src/main/java/com/google/api/client/googleapis/services/protobuf/AbstractGoogleProtoClient.java
@@ -0,0 +1,118 @@
+/*
+ * Copyright (c) 2013 Google Inc.
+ *
+ * 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.
+ */
+
+package com.google.api.client.googleapis.services.protobuf;
+
+import com.google.api.client.googleapis.services.AbstractGoogleClient;
+import com.google.api.client.googleapis.services.GoogleClientRequestInitializer;
+import com.google.api.client.http.HttpRequestInitializer;
+import com.google.api.client.http.HttpTransport;
+import com.google.api.client.protobuf.ProtoObjectParser;
+import com.google.api.client.util.Beta;
+
+/**
+ * {@link Beta}
+ * Thread-safe Google protocol buffer client.
+ *
+ * @since 1.16
+ * @author Yaniv Inbar
+ */
+@Beta
+public abstract class AbstractGoogleProtoClient extends AbstractGoogleClient {
+
+ /**
+ * @param builder builder
+ */
+ protected AbstractGoogleProtoClient(Builder builder) {
+ super(builder);
+ }
+
+ @Override
+ public ProtoObjectParser getObjectParser() {
+ return (ProtoObjectParser) super.getObjectParser();
+ }
+
+ /**
+ * {@link Beta}
+ * Builder for {@link AbstractGoogleProtoClient}.
+ *
+ *
+ * Implementation is not thread-safe.
+ *
+ * @since 1.16
+ */
+ @Beta
+ public abstract static class Builder extends AbstractGoogleClient.Builder {
+
+ /**
+ * @param transport HTTP transport
+ * @param rootUrl root URL of the service
+ * @param servicePath service path
+ * @param httpRequestInitializer HTTP request initializer or {@code null} for none
+ */
+ protected Builder(HttpTransport transport, String rootUrl, String servicePath,
+ HttpRequestInitializer httpRequestInitializer) {
+ super(transport, rootUrl, servicePath, new ProtoObjectParser(), httpRequestInitializer);
+ }
+
+ @Override
+ public final ProtoObjectParser getObjectParser() {
+ return (ProtoObjectParser) super.getObjectParser();
+ }
+
+ @Override
+ public abstract AbstractGoogleProtoClient build();
+
+ @Override
+ public Builder setRootUrl(String rootUrl) {
+ return (Builder) super.setRootUrl(rootUrl);
+ }
+
+ @Override
+ public Builder setServicePath(String servicePath) {
+ return (Builder) super.setServicePath(servicePath);
+ }
+
+ @Override
+ public Builder setGoogleClientRequestInitializer(
+ GoogleClientRequestInitializer googleClientRequestInitializer) {
+ return (Builder) super.setGoogleClientRequestInitializer(googleClientRequestInitializer);
+ }
+
+ @Override
+ public Builder setHttpRequestInitializer(HttpRequestInitializer httpRequestInitializer) {
+ return (Builder) super.setHttpRequestInitializer(httpRequestInitializer);
+ }
+
+ @Override
+ public Builder setApplicationName(String applicationName) {
+ return (Builder) super.setApplicationName(applicationName);
+ }
+
+ @Override
+ public Builder setSuppressPatternChecks(boolean suppressPatternChecks) {
+ return (Builder) super.setSuppressPatternChecks(suppressPatternChecks);
+ }
+
+ @Override
+ public Builder setSuppressRequiredParameterChecks(boolean suppressRequiredParameterChecks) {
+ return (Builder) super.setSuppressRequiredParameterChecks(suppressRequiredParameterChecks);
+ }
+
+ @Override
+ public Builder setSuppressAllChecks(boolean suppressAllChecks) {
+ return (Builder) super.setSuppressAllChecks(suppressAllChecks);
+ }
+ }
+}
diff --git a/google-api-client-protobuf/src/main/java/com/google/api/client/googleapis/services/protobuf/AbstractGoogleProtoClientRequest.java b/google-api-client-protobuf/src/main/java/com/google/api/client/googleapis/services/protobuf/AbstractGoogleProtoClientRequest.java
new file mode 100644
index 00000000..943457d9
--- /dev/null
+++ b/google-api-client-protobuf/src/main/java/com/google/api/client/googleapis/services/protobuf/AbstractGoogleProtoClientRequest.java
@@ -0,0 +1,120 @@
+/*
+ * Copyright (c) 2013 Google Inc.
+ *
+ * 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.
+ */
+
+package com.google.api.client.googleapis.services.protobuf;
+
+import com.google.api.client.googleapis.batch.BatchCallback;
+import com.google.api.client.googleapis.batch.BatchRequest;
+import com.google.api.client.googleapis.services.AbstractGoogleClientRequest;
+import com.google.api.client.http.HttpHeaders;
+import com.google.api.client.http.UriTemplate;
+import com.google.api.client.http.protobuf.ProtoHttpContent;
+import com.google.api.client.util.Beta;
+import com.google.protobuf.MessageLite;
+
+import java.io.IOException;
+
+/**
+ * {@link Beta}
+ * Google protocol buffer request for a {@link AbstractGoogleProtoClient}.
+ *
+ *
+ * Implementation is not thread-safe.
+ *
+ *
+ * @param type of the response
+ * @since 1.16
+ * @author Yaniv Inbar
+ */
+@Beta
+public abstract class AbstractGoogleProtoClientRequest extends AbstractGoogleClientRequest {
+
+ /** Message to serialize or {@code null} for none. */
+ private final MessageLite message;
+
+ /**
+ * @param abstractGoogleProtoClient Google protocol buffer client
+ * @param requestMethod HTTP Method
+ * @param uriTemplate URI template for the path relative to the base URL. If it starts with a "/"
+ * the base path from the base URL will be stripped out. The URI template can also be a
+ * full URL. URI template expansion is done using
+ * {@link UriTemplate#expand(String, String, Object, boolean)}
+ * @param message message to serialize or {@code null} for none
+ * @param responseClass response class to parse into
+ */
+ protected AbstractGoogleProtoClientRequest(AbstractGoogleProtoClient abstractGoogleProtoClient,
+ String requestMethod, String uriTemplate, MessageLite message, Class responseClass) {
+ super(abstractGoogleProtoClient, requestMethod, uriTemplate, message == null
+ ? null : new ProtoHttpContent(message), responseClass);
+ this.message = message;
+ }
+
+ @Override
+ public AbstractGoogleProtoClient getAbstractGoogleClient() {
+ return (AbstractGoogleProtoClient) super.getAbstractGoogleClient();
+ }
+
+ @Override
+ public AbstractGoogleProtoClientRequest setDisableGZipContent(boolean disableGZipContent) {
+ return (AbstractGoogleProtoClientRequest) super.setDisableGZipContent(disableGZipContent);
+ }
+
+ @Override
+ public AbstractGoogleProtoClientRequest setRequestHeaders(HttpHeaders headers) {
+ return (AbstractGoogleProtoClientRequest) super.setRequestHeaders(headers);
+ }
+
+ /**
+ * Queues the request into the specified batch request container.
+ *
+ *
+ * Batched requests are then executed when {@link BatchRequest#execute()} is called.
+ *
+ *
+ *
+ * @param batchRequest batch request container
+ * @param callback batch callback
+ */
+ public final void queue(BatchRequest batchRequest, BatchCallback callback)
+ throws IOException {
+ super.queue(batchRequest, Void.class, callback);
+ }
+
+ /** Returns the message to serialize or {@code null} for none. */
+ public Object getMessage() {
+ return message;
+ }
+
+ @Override
+ public AbstractGoogleProtoClientRequest set(String fieldName, Object value) {
+ return (AbstractGoogleProtoClientRequest) super.set(fieldName, value);
+ }
+}
diff --git a/google-api-client-protobuf/src/main/java/com/google/api/client/googleapis/services/protobuf/CommonGoogleProtoClientRequestInitializer.java b/google-api-client-protobuf/src/main/java/com/google/api/client/googleapis/services/protobuf/CommonGoogleProtoClientRequestInitializer.java
new file mode 100644
index 00000000..d8a18ccb
--- /dev/null
+++ b/google-api-client-protobuf/src/main/java/com/google/api/client/googleapis/services/protobuf/CommonGoogleProtoClientRequestInitializer.java
@@ -0,0 +1,129 @@
+/*
+ * Copyright (c) 2013 Google Inc.
+ *
+ * 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.
+ */
+
+package com.google.api.client.googleapis.services.protobuf;
+
+import com.google.api.client.googleapis.services.AbstractGoogleClientRequest;
+import com.google.api.client.googleapis.services.CommonGoogleClientRequestInitializer;
+import com.google.api.client.util.Beta;
+
+import java.io.IOException;
+
+/**
+ * {@link Beta}
+ * Google protocol buffer client request initializer implementation for setting properties like key
+ * and userIp.
+ *
+ *
+ * The simplest usage is to use it to set the key parameter:
+ *
+ *
+ *
+ public static final GoogleClientRequestInitializer KEY_INITIALIZER =
+ new CommonGoogleProtoClientRequestInitializer(KEY);
+ *
+ *
+ *
+ * There is also a constructor to set both the key and userIp parameters:
+ *
+ *
+ *
+ public static final GoogleClientRequestInitializer INITIALIZER =
+ new CommonGoogleProtoClientRequestInitializer(KEY, USER_IP);
+ *
+ *
+ *
+ * If you want to implement custom logic, extend it like this:
+ *
+ *
+ * @since 1.16
+ * @author Yaniv Inbar
+ */
+@Beta
+public class CommonGoogleProtoClientRequestInitializer
+ extends CommonGoogleClientRequestInitializer {
+
+ public CommonGoogleProtoClientRequestInitializer() {
+ super();
+ }
+
+ /**
+ * @param key API key or {@code null} to leave it unchanged
+ */
+ public CommonGoogleProtoClientRequestInitializer(String key) {
+ super(key);
+ }
+
+ /**
+ * @param key API key or {@code null} to leave it unchanged
+ * @param userIp user IP or {@code null} to leave it unchanged
+ */
+ public CommonGoogleProtoClientRequestInitializer(String key, String userIp) {
+ super(key, userIp);
+ }
+
+ @Override
+ public final void initialize(AbstractGoogleClientRequest> request) throws IOException {
+ super.initialize(request);
+ initializeProtoRequest((AbstractGoogleProtoClientRequest>) request);
+ }
+
+ /**
+ * Initializes a Google protocol buffer client request.
+ *
+ *
+ * Default implementation does nothing. Called from
+ * {@link #initialize(AbstractGoogleClientRequest)}.
+ *
+ *
+ * @throws IOException I/O exception
+ */
+ protected void initializeProtoRequest(AbstractGoogleProtoClientRequest> request)
+ throws IOException {
+ }
+}
diff --git a/google-api-client-protobuf/src/main/java/com/google/api/client/googleapis/services/protobuf/package-info.java b/google-api-client-protobuf/src/main/java/com/google/api/client/googleapis/services/protobuf/package-info.java
new file mode 100644
index 00000000..2ee462c9
--- /dev/null
+++ b/google-api-client-protobuf/src/main/java/com/google/api/client/googleapis/services/protobuf/package-info.java
@@ -0,0 +1,24 @@
+/*
+ * Copyright (c) 2013 Google Inc.
+ *
+ * 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.
+ */
+
+/**
+ * {@link com.google.api.client.util.Beta}
+ * Contains the basis for the generated service-specific libraries based on the Protobuf format.
+ *
+ * @since 1.16
+ * @author Yaniv Inbar
+ */
+@com.google.api.client.util.Beta
+package com.google.api.client.googleapis.services.protobuf;
+
diff --git a/google-api-client-protobuf/src/main/java/com/google/api/client/googleapis/testing/services/protobuf/MockGoogleProtoClient.java b/google-api-client-protobuf/src/main/java/com/google/api/client/googleapis/testing/services/protobuf/MockGoogleProtoClient.java
new file mode 100644
index 00000000..a1c63628
--- /dev/null
+++ b/google-api-client-protobuf/src/main/java/com/google/api/client/googleapis/testing/services/protobuf/MockGoogleProtoClient.java
@@ -0,0 +1,119 @@
+/*
+ * Copyright (c) 2013 Google Inc.
+ *
+ * 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.
+ */
+
+package com.google.api.client.googleapis.testing.services.protobuf;
+
+import com.google.api.client.googleapis.services.GoogleClientRequestInitializer;
+import com.google.api.client.googleapis.services.protobuf.AbstractGoogleProtoClient;
+import com.google.api.client.http.HttpRequestInitializer;
+import com.google.api.client.http.HttpTransport;
+import com.google.api.client.util.Beta;
+
+/**
+ * {@link Beta}
+ * Thread-safe mock Google protocol buffer client.
+ *
+ * @since 1.16
+ * @author Yaniv Inbar
+ */
+@Beta
+public class MockGoogleProtoClient extends AbstractGoogleProtoClient {
+
+ /**
+ * @param builder builder
+ */
+ protected MockGoogleProtoClient(Builder builder) {
+ super(builder);
+ }
+
+ /**
+ * @param transport HTTP transport
+ * @param rootUrl root URL of the service
+ * @param servicePath service path
+ * @param httpRequestInitializer HTTP request initializer or {@code null} for none
+ */
+ public MockGoogleProtoClient(HttpTransport transport, String rootUrl, String servicePath,
+ HttpRequestInitializer httpRequestInitializer) {
+ this(new Builder(transport, rootUrl, servicePath, httpRequestInitializer));
+ }
+
+ /**
+ * {@link Beta}
+ * Builder for {@link MockGoogleProtoClient}.
+ *
+ *
+ * Implementation is not thread-safe.
+ *
+ */
+ @Beta
+ public static class Builder extends AbstractGoogleProtoClient.Builder {
+
+ /**
+ * @param transport HTTP transport
+ * @param rootUrl root URL of the service
+ * @param servicePath service path
+ * @param httpRequestInitializer HTTP request initializer or {@code null} for none
+ */
+ public Builder(HttpTransport transport, String rootUrl, String servicePath,
+ HttpRequestInitializer httpRequestInitializer) {
+ super(transport, rootUrl, servicePath, httpRequestInitializer);
+ }
+
+ @Override
+ public MockGoogleProtoClient build() {
+ return new MockGoogleProtoClient(this);
+ }
+
+ @Override
+ public Builder setRootUrl(String rootUrl) {
+ return (Builder) super.setRootUrl(rootUrl);
+ }
+
+ @Override
+ public Builder setServicePath(String servicePath) {
+ return (Builder) super.setServicePath(servicePath);
+ }
+
+ @Override
+ public Builder setGoogleClientRequestInitializer(
+ GoogleClientRequestInitializer googleClientRequestInitializer) {
+ return (Builder) super.setGoogleClientRequestInitializer(googleClientRequestInitializer);
+ }
+
+ @Override
+ public Builder setHttpRequestInitializer(HttpRequestInitializer httpRequestInitializer) {
+ return (Builder) super.setHttpRequestInitializer(httpRequestInitializer);
+ }
+
+ @Override
+ public Builder setApplicationName(String applicationName) {
+ return (Builder) super.setApplicationName(applicationName);
+ }
+
+ @Override
+ public Builder setSuppressPatternChecks(boolean suppressPatternChecks) {
+ return (Builder) super.setSuppressPatternChecks(suppressPatternChecks);
+ }
+
+ @Override
+ public Builder setSuppressRequiredParameterChecks(boolean suppressRequiredParameterChecks) {
+ return (Builder) super.setSuppressRequiredParameterChecks(suppressRequiredParameterChecks);
+ }
+
+ @Override
+ public Builder setSuppressAllChecks(boolean suppressAllChecks) {
+ return (Builder) super.setSuppressAllChecks(suppressAllChecks);
+ }
+ }
+}
diff --git a/google-api-client-protobuf/src/main/java/com/google/api/client/googleapis/testing/services/protobuf/MockGoogleProtoClientRequest.java b/google-api-client-protobuf/src/main/java/com/google/api/client/googleapis/testing/services/protobuf/MockGoogleProtoClientRequest.java
new file mode 100644
index 00000000..fe89918a
--- /dev/null
+++ b/google-api-client-protobuf/src/main/java/com/google/api/client/googleapis/testing/services/protobuf/MockGoogleProtoClientRequest.java
@@ -0,0 +1,64 @@
+/*
+ * Copyright (c) 2013 Google Inc.
+ *
+ * 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.
+ */
+
+package com.google.api.client.googleapis.testing.services.protobuf;
+
+import com.google.api.client.googleapis.services.protobuf.AbstractGoogleProtoClient;
+import com.google.api.client.googleapis.services.protobuf.AbstractGoogleProtoClientRequest;
+import com.google.api.client.http.HttpHeaders;
+import com.google.api.client.http.UriTemplate;
+import com.google.api.client.util.Beta;
+import com.google.protobuf.MessageLite;
+
+/**
+ * {@link Beta}
+ * Thread-safe mock Google protocol buffer request.
+ *
+ * @param type of the response
+ * @since 1.16
+ * @author Yaniv Inbar
+ */
+@Beta
+public class MockGoogleProtoClientRequest extends AbstractGoogleProtoClientRequest {
+
+ /**
+ * @param client Google client
+ * @param method HTTP Method
+ * @param uriTemplate URI template for the path relative to the base URL. If it starts with a "/"
+ * the base path from the base URL will be stripped out. The URI template can also be a
+ * full URL. URI template expansion is done using
+ * {@link UriTemplate#expand(String, String, Object, boolean)}
+ * @param message message to serialize or {@code null} for none
+ * @param responseClass response class to parse into
+ */
+ public MockGoogleProtoClientRequest(AbstractGoogleProtoClient client, String method,
+ String uriTemplate, MessageLite message, Class responseClass) {
+ super(client, method, uriTemplate, message, responseClass);
+ }
+
+ @Override
+ public MockGoogleProtoClient getAbstractGoogleClient() {
+ return (MockGoogleProtoClient) super.getAbstractGoogleClient();
+ }
+
+ @Override
+ public MockGoogleProtoClientRequest setDisableGZipContent(boolean disableGZipContent) {
+ return (MockGoogleProtoClientRequest) super.setDisableGZipContent(disableGZipContent);
+ }
+
+ @Override
+ public MockGoogleProtoClientRequest setRequestHeaders(HttpHeaders headers) {
+ return (MockGoogleProtoClientRequest) super.setRequestHeaders(headers);
+ }
+}
diff --git a/google-api-client-protobuf/src/main/java/com/google/api/client/googleapis/testing/services/protobuf/package-info.java b/google-api-client-protobuf/src/main/java/com/google/api/client/googleapis/testing/services/protobuf/package-info.java
new file mode 100644
index 00000000..619fe213
--- /dev/null
+++ b/google-api-client-protobuf/src/main/java/com/google/api/client/googleapis/testing/services/protobuf/package-info.java
@@ -0,0 +1,24 @@
+/*
+ * Copyright (c) 2013 Google Inc.
+ *
+ * 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.
+ */
+
+/**
+ * {@link com.google.api.client.util.Beta}
+ * Test utilities for the {@code com.google.api.client.googleapis.protobuf} package.
+ *
+ * @since 1.16
+ * @author Yaniv Inbar
+ */
+@com.google.api.client.util.Beta
+package com.google.api.client.googleapis.testing.services.protobuf;
+
diff --git a/google-api-client-protobuf/src/test/java/com/google/api/client/googleapis/services/protobuf/CommonGoogleProtoClientRequestInitializerTest.java b/google-api-client-protobuf/src/test/java/com/google/api/client/googleapis/services/protobuf/CommonGoogleProtoClientRequestInitializerTest.java
new file mode 100644
index 00000000..48364377
--- /dev/null
+++ b/google-api-client-protobuf/src/test/java/com/google/api/client/googleapis/services/protobuf/CommonGoogleProtoClientRequestInitializerTest.java
@@ -0,0 +1,53 @@
+/*
+ * Copyright (c) 2013 Google Inc.
+ *
+ * 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.
+ */
+
+package com.google.api.client.googleapis.services.protobuf;
+
+import com.google.api.client.googleapis.testing.services.protobuf.MockGoogleProtoClient;
+import com.google.api.client.testing.http.HttpTesting;
+import com.google.api.client.testing.http.MockHttpTransport;
+import com.google.api.client.util.Key;
+import com.google.protobuf.MessageLite;
+
+import junit.framework.TestCase;
+
+/**
+ * Tests {@link CommonGoogleProtoClientRequestInitializer}.
+ *
+ * @author Yaniv Inbar
+ */
+public class CommonGoogleProtoClientRequestInitializerTest extends TestCase {
+
+ public static class MyRequest extends AbstractGoogleProtoClientRequest {
+ @Key
+ String key;
+
+ protected MyRequest(MockGoogleProtoClient client, String method, String uriTemplate,
+ MessageLite message, Class responseClass) {
+ super(client, method, uriTemplate, message, responseClass);
+ }
+ }
+
+ public void testInitialize() throws Exception {
+ CommonGoogleProtoClientRequestInitializer key =
+ new CommonGoogleProtoClientRequestInitializer("foo");
+ MockGoogleProtoClient client =
+ new MockGoogleProtoClient.Builder(new MockHttpTransport(), HttpTesting.SIMPLE_URL, "test/",
+ null).setApplicationName("Test Application").build();
+ MyRequest request = new MyRequest(client, "GET", "", null, String.class);
+ assertNull(request.key);
+ key.initialize(request);
+ assertEquals("foo", request.key);
+ }
+}
diff --git a/google-api-client-protobuf/src/test/java/com/google/api/client/googleapis/services/protobuf/simple_proto.proto b/google-api-client-protobuf/src/test/java/com/google/api/client/googleapis/services/protobuf/simple_proto.proto
new file mode 100644
index 00000000..aa4ca98c
--- /dev/null
+++ b/google-api-client-protobuf/src/test/java/com/google/api/client/googleapis/services/protobuf/simple_proto.proto
@@ -0,0 +1,28 @@
+/*
+ * Copyright (c) 2013 Google Inc.
+ *
+ * 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.
+ */
+
+syntax = "proto2";
+option optimize_for = LITE_RUNTIME;
+option java_package = "com.google.api.client.googleapis.services.protobuf";
+
+message TestMessage {
+ required TestStatus status = 1;
+ required string name = 2;
+ required int64 value = 3;
+}
+
+enum TestStatus {
+ SUCCESS = 1;
+ FAILURE = 2;
+}
\ No newline at end of file
diff --git a/google-api-client-servlet/.classpath b/google-api-client-servlet/.classpath
new file mode 100644
index 00000000..68a2c33f
--- /dev/null
+++ b/google-api-client-servlet/.classpath
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/google-api-client-servlet/.project b/google-api-client-servlet/.project
new file mode 100644
index 00000000..26abebf9
--- /dev/null
+++ b/google-api-client-servlet/.project
@@ -0,0 +1,23 @@
+
+
+ google-api-client-servlet
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+ org.eclipse.m2e.core.maven2Builder
+
+
+
+
+
+ org.eclipse.jdt.core.javanature
+ org.eclipse.m2e.core.maven2Nature
+
+
diff --git a/google-api-client-servlet/.settings/org.eclipse.jdt.core.prefs b/google-api-client-servlet/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000..511d2482
--- /dev/null
+++ b/google-api-client-servlet/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,380 @@
+#Thu Nov 17 08:38:45 EST 2011
+eclipse.preferences.version=1
+org.eclipse.jdt.core.codeComplete.argumentPrefixes=
+org.eclipse.jdt.core.codeComplete.argumentSuffixes=
+org.eclipse.jdt.core.codeComplete.fieldPrefixes=
+org.eclipse.jdt.core.codeComplete.fieldSuffixes=
+org.eclipse.jdt.core.codeComplete.localPrefixes=
+org.eclipse.jdt.core.codeComplete.localSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=ignore
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
+org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
+org.eclipse.jdt.core.compiler.problem.deadCode=warning
+org.eclipse.jdt.core.compiler.problem.deprecation=warning
+org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
+org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
+org.eclipse.jdt.core.compiler.problem.discouragedReference=ignore
+org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
+org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
+org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
+org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
+org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
+org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
+org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
+org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
+org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
+org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
+org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
+org.eclipse.jdt.core.compiler.problem.nullReference=warning
+org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
+org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
+org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
+org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
+org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
+org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
+org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
+org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
+org.eclipse.jdt.core.compiler.problem.typeParameterHiding=ignore
+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
+org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
+org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=ignore
+org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
+org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.unusedImport=warning
+org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
+org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
+org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
+org.eclipse.jdt.core.compiler.problem.unusedWarningToken=ignore
+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
+org.eclipse.jdt.core.compiler.source=1.5
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_annotations_on_local_variable=569
+org.eclipse.jdt.core.formatter.alignment_for_annotations_on_member=569
+org.eclipse.jdt.core.formatter.alignment_for_annotations_on_package_declaration=569
+org.eclipse.jdt.core.formatter.alignment_for_annotations_on_parameter=24
+org.eclipse.jdt.core.formatter.alignment_for_annotations_on_type_declaration=569
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16|5|80
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16|5|80
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16|5|80
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16|4|80
+org.eclipse.jdt.core.formatter.alignment_for_assignment=16
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=16|5|48
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16|5|80
+org.eclipse.jdt.core.formatter.alignment_for_field_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_for_statement=16
+org.eclipse.jdt.core.formatter.alignment_for_generic_type_arguments=16
+org.eclipse.jdt.core.formatter.alignment_for_local_variable_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_new_anonymous_class=0
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16|5|80
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16|5|80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16|4|48
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16|4|49
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16|4|48
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16|4|48
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16|4|48
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=0
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=0
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=2
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=true
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=false
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=do not insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
+org.eclipse.jdt.core.formatter.comment.line_length=100
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.comment_new_line_at_start_of_html_paragraph=true
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=2
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.force_if_else_statement_brace=true
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=true
+org.eclipse.jdt.core.formatter.join_wrapped_lines=true
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=true
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=100
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=3
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
+org.eclipse.jdt.core.formatter.sort_local_variable_annotations=false
+org.eclipse.jdt.core.formatter.sort_member_annotations=false
+org.eclipse.jdt.core.formatter.sort_package_annotations=false
+org.eclipse.jdt.core.formatter.sort_parameter_annotations=false
+org.eclipse.jdt.core.formatter.sort_type_annotations=false
+org.eclipse.jdt.core.formatter.tabulation.char=space
+org.eclipse.jdt.core.formatter.tabulation.size=2
+org.eclipse.jdt.core.formatter.use_on_off_tags=false
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_comment_inline_tags=false
+org.eclipse.jdt.core.formatter.wrap_non_simple_local_variable_annotation=true
+org.eclipse.jdt.core.formatter.wrap_non_simple_member_annotation=true
+org.eclipse.jdt.core.formatter.wrap_non_simple_package_annotation=true
+org.eclipse.jdt.core.formatter.wrap_non_simple_parameter_annotation=false
+org.eclipse.jdt.core.formatter.wrap_non_simple_type_annotation=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
+org.eclipse.jdt.core.formatter.wrap_prefer_two_fragments=false
diff --git a/google-api-client-servlet/.settings/org.eclipse.jdt.ui.prefs b/google-api-client-servlet/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 00000000..f8d746d3
--- /dev/null
+++ b/google-api-client-servlet/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,118 @@
+cleanup.add_default_serial_version_id=true
+cleanup.add_generated_serial_version_id=false
+cleanup.add_missing_annotations=true
+cleanup.add_missing_deprecated_annotations=true
+cleanup.add_missing_methods=false
+cleanup.add_missing_nls_tags=false
+cleanup.add_missing_override_annotations=true
+cleanup.add_serial_version_id=true
+cleanup.always_use_blocks=true
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.always_use_this_for_non_static_field_access=false
+cleanup.always_use_this_for_non_static_method_access=false
+cleanup.convert_to_enhanced_for_loop=false
+cleanup.correct_indentation=true
+cleanup.format_source_code=true
+cleanup.format_source_code_changes_only=false
+cleanup.make_local_variable_final=true
+cleanup.make_parameters_final=false
+cleanup.make_private_fields_final=true
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.make_variable_declarations_final=false
+cleanup.never_use_blocks=false
+cleanup.never_use_parentheses_in_expressions=true
+cleanup.organize_imports=true
+cleanup.qualify_static_field_accesses_with_declaring_class=false
+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+cleanup.qualify_static_member_accesses_with_declaring_class=true
+cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.remove_private_constructors=true
+cleanup.remove_trailing_whitespaces=true
+cleanup.remove_trailing_whitespaces_all=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_casts=true
+cleanup.remove_unnecessary_nls_tags=true
+cleanup.remove_unused_imports=true
+cleanup.remove_unused_local_variables=false
+cleanup.remove_unused_private_fields=true
+cleanup.remove_unused_private_members=false
+cleanup.remove_unused_private_methods=true
+cleanup.remove_unused_private_types=true
+cleanup.sort_members=false
+cleanup.sort_members_all=false
+cleanup.use_blocks=true
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_parentheses_in_expressions=true
+cleanup.use_this_for_non_static_field_access=true
+cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+cleanup.use_this_for_non_static_method_access=true
+cleanup.use_this_for_non_static_method_access_only_if_necessary=true
+cleanup_profile=_google-api-java-client
+cleanup_settings_version=2
+eclipse.preferences.version=1
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+formatter_profile=_google-api-java-client 100
+formatter_settings_version=12
+org.eclipse.jdt.ui.exception.name=exception
+org.eclipse.jdt.ui.gettersetter.use.is=false
+org.eclipse.jdt.ui.ignorelowercasenames=true
+org.eclipse.jdt.ui.importorder=com.google;;java;javax;
+org.eclipse.jdt.ui.javadoc=true
+org.eclipse.jdt.ui.keywordthis=false
+org.eclipse.jdt.ui.ondemandthreshold=999
+org.eclipse.jdt.ui.overrideannotation=true
+org.eclipse.jdt.ui.staticondemandthreshold=999
+org.eclipse.jdt.ui.text.custom_code_templates=/*\n * Copyright (c) ${year} Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except\n * in compliance with the License. You may obtain a copy of the License at\n *\n * http\://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under the License\n * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express\n * or implied. See the License for the specific language governing permissions and limitations under\n * the License.\n */\n/**\n * @author ${user}@google.com (Your Name Here)\n *\n * ${tags}\n *//**\n * @return the ${bare_field_name}\n *//**\n * @param ${param} the ${bare_field_name} to set\n *//**\n * ${tags}\n *//**\n * \n *//**\n * ${tags}\n *//* (non-Javadoc)\n * ${see_to_overridden}\n *//**\n * ${tags}\n * ${see_to_target}\n */${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}\n\n\n\n// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();// ${todo} Auto-generated method stub\n${body_statement}${body_statement}\n// ${todo} Auto-generated constructor stubreturn ${field};${field} \= ${param};/**\n * @return the ${bare_field_name}\n *//**\n * @param ${param} the ${bare_field_name} to set\n *//**\n * ${tags}\n *//**\n * \n *//**\n * @author Yaniv Inbar\n *\n * ${tags}\n *//**\n * \n *//**\n * ${tags}\n *//* (non-JSDoc)\n * ${see_to_overridden}\n *//**\n * ${tags}\n * ${see_to_target}\n */${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}\n// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();// ${todo} Auto-generated function stub\n${body_statement}${body_statement}\n// ${todo} Auto-generated constructor stubreturn ${field};${field} \= ${param};
+sp_cleanup.add_default_serial_version_id=true
+sp_cleanup.add_generated_serial_version_id=false
+sp_cleanup.add_missing_annotations=true
+sp_cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.add_missing_methods=false
+sp_cleanup.add_missing_nls_tags=false
+sp_cleanup.add_missing_override_annotations=true
+sp_cleanup.add_missing_override_annotations_interface_methods=false
+sp_cleanup.add_serial_version_id=false
+sp_cleanup.always_use_blocks=true
+sp_cleanup.always_use_parentheses_in_expressions=false
+sp_cleanup.always_use_this_for_non_static_field_access=false
+sp_cleanup.always_use_this_for_non_static_method_access=false
+sp_cleanup.convert_to_enhanced_for_loop=false
+sp_cleanup.correct_indentation=false
+sp_cleanup.format_source_code=false
+sp_cleanup.format_source_code_changes_only=true
+sp_cleanup.make_local_variable_final=false
+sp_cleanup.make_parameters_final=false
+sp_cleanup.make_private_fields_final=true
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.make_variable_declarations_final=false
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.organize_imports=true
+sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.remove_private_constructors=true
+sp_cleanup.remove_trailing_whitespaces=true
+sp_cleanup.remove_trailing_whitespaces_all=true
+sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_casts=true
+sp_cleanup.remove_unnecessary_nls_tags=false
+sp_cleanup.remove_unused_imports=false
+sp_cleanup.remove_unused_local_variables=false
+sp_cleanup.remove_unused_private_fields=true
+sp_cleanup.remove_unused_private_members=false
+sp_cleanup.remove_unused_private_methods=true
+sp_cleanup.remove_unused_private_types=true
+sp_cleanup.sort_members=false
+sp_cleanup.sort_members_all=false
+sp_cleanup.use_blocks=false
+sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_parentheses_in_expressions=false
+sp_cleanup.use_this_for_non_static_field_access=false
+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+sp_cleanup.use_this_for_non_static_method_access=false
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/google-api-client-servlet/pom.xml b/google-api-client-servlet/pom.xml
new file mode 100644
index 00000000..778e4a2f
--- /dev/null
+++ b/google-api-client-servlet/pom.xml
@@ -0,0 +1,98 @@
+
+ 4.0.0
+
+ com.google.api-client
+ google-api-client-parent
+ 1.17.1-rc-SNAPSHOT
+ ../pom.xml
+
+ google-api-client-servlet
+ Servlet and JDO extensions to the Google API Client Library for Java.
+
+
+
+ maven-javadoc-plugin
+
+
+ http://download.oracle.com/javase/1.5.0/docs/api/
+ http://javadoc.google-http-java-client.googlecode.com/hg/${project.http.version}
+ http://javadoc.google-oauth-java-client.googlecode.com/hg/${project.oauth.version}
+
+ ${project.name} ${project.version}
+ ${project.artifactId} ${project.version}
+
+
+
+ maven-jar-plugin
+
+
+
+ true
+
+
+
+
+
+ jar
+ compile
+
+ jar
+
+
+
+
+
+ maven-source-plugin
+
+
+ source-jar
+ compile
+
+ jar
+
+
+
+
+
+ org.datanucleus
+ maven-datanucleus-plugin
+ 2.2.1
+
+ true
+
+
+
+ process-classes
+
+ enhance
+
+
+
+
+
+
+
+
+ com.google.oauth-client
+ google-oauth-client-servlet
+
+
+ com.google.api-client
+ google-api-client
+
+
+ junit
+ junit
+ test
+
+
+ javax.servlet
+ servlet-api
+
+
+ javax.jdo
+ jdo2-api
+
+
+
diff --git a/google-api-client-servlet/src/main/java/com/google/api/client/googleapis/extensions/servlet/notifications/NotificationServlet.java b/google-api-client-servlet/src/main/java/com/google/api/client/googleapis/extensions/servlet/notifications/NotificationServlet.java
new file mode 100644
index 00000000..85645d77
--- /dev/null
+++ b/google-api-client-servlet/src/main/java/com/google/api/client/googleapis/extensions/servlet/notifications/NotificationServlet.java
@@ -0,0 +1,135 @@
+/*
+ * Copyright (c) 2013 Google Inc.
+ *
+ * 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.
+ */
+
+package com.google.api.client.googleapis.extensions.servlet.notifications;
+
+import com.google.api.client.googleapis.notifications.StoredChannel;
+import com.google.api.client.util.Beta;
+import com.google.api.client.util.store.DataStore;
+import com.google.api.client.util.store.DataStoreFactory;
+import com.google.api.client.util.store.MemoryDataStoreFactory;
+
+import java.io.IOException;
+
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * {@link Beta}
+ * Thread-safe Webhook Servlet to receive notifications.
+ *
+ *
+ * In order to use this servlet you should create a class inheriting from
+ * {@link NotificationServlet} and register the servlet in your web.xml.
+ *
+ *
+ *
+ * It is a simple wrapper around {@link WebhookUtils#processWebhookNotification}, so if you you may
+ * alternatively call that method instead from your {@link HttpServlet#doPost} with no loss of
+ * functionality.
+ *
+ *
+ * Example usage:
+ *
+ *
+ public class MyNotificationServlet extends NotificationServlet {
+
+ private static final long serialVersionUID = 1L;
+
+ public MyNotificationServlet() throws IOException {
+ super(new SomeDataStoreFactory());
+ }
+ }
+ *
+ * WARNING: by default it uses {@link MemoryDataStoreFactory#getDefaultInstance()} which means it
+ * will NOT persist the notification channels when the servlet process dies, so it is a BAD CHOICE
+ * for a production application. But it is a convenient choice when testing locally, in which case
+ * you don't need to override it, and can simply reference it directly in your web.xml file. For
+ * example:
+ *
+ *
+ * @author Yaniv Inbar
+ * @since 1.16
+ */
+@Beta
+public class NotificationServlet extends HttpServlet {
+
+ private static final long serialVersionUID = 1L;
+
+ /** Notification channel data store. */
+ private final transient DataStore channelDataStore;
+
+ /**
+ * Constructor to be used for testing and demo purposes that uses
+ * {@link MemoryDataStoreFactory#getDefaultInstance()} which means it will NOT persist the
+ * notification channels when the servlet process dies, so it is a bad choice for a production
+ * application.
+ */
+ public NotificationServlet() throws IOException {
+ this(MemoryDataStoreFactory.getDefaultInstance());
+ }
+
+ /**
+ * Constructor which uses {@link StoredChannel#getDefaultDataStore(DataStoreFactory)} on the given
+ * data store factory, which is the normal use case.
+ *
+ * @param dataStoreFactory data store factory
+ */
+ protected NotificationServlet(DataStoreFactory dataStoreFactory) throws IOException {
+ this(StoredChannel.getDefaultDataStore(dataStoreFactory));
+ }
+
+ /**
+ * Constructor that allows a specific notification data store to be specified.
+ *
+ * @param channelDataStore notification channel data store
+ */
+ protected NotificationServlet(DataStore channelDataStore) {
+ this.channelDataStore = channelDataStore;
+ }
+
+ @Override
+ protected void doPost(HttpServletRequest req, HttpServletResponse resp)
+ throws ServletException, IOException {
+ WebhookUtils.processWebhookNotification(req, resp, channelDataStore);
+ }
+}
diff --git a/google-api-client-servlet/src/main/java/com/google/api/client/googleapis/extensions/servlet/notifications/WebhookHeaders.java b/google-api-client-servlet/src/main/java/com/google/api/client/googleapis/extensions/servlet/notifications/WebhookHeaders.java
new file mode 100644
index 00000000..66310ac8
--- /dev/null
+++ b/google-api-client-servlet/src/main/java/com/google/api/client/googleapis/extensions/servlet/notifications/WebhookHeaders.java
@@ -0,0 +1,66 @@
+/*
+ * Copyright (c) 2013 Google Inc.
+ *
+ * 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.
+ */
+
+package com.google.api.client.googleapis.extensions.servlet.notifications;
+
+import com.google.api.client.googleapis.notifications.ResourceStates;
+import com.google.api.client.util.Beta;
+
+/**
+ * {@link Beta}
+ * Headers for Webhook notifications.
+ *
+ * @author Yaniv Inbar
+ * @since 1.16
+ */
+@Beta
+public final class WebhookHeaders {
+
+ /** Name of header for the message number (a monotonically increasing value starting with 1). */
+ public static final String MESSAGE_NUMBER = "X-Goog-Message-Number";
+
+ /** Name of header for the {@link ResourceStates resource state}. */
+ public static final String RESOURCE_STATE = "X-Goog-Resource-State";
+
+ /**
+ * Name of header for the opaque ID for the watched resource that is stable across API versions.
+ */
+ public static final String RESOURCE_ID = "X-Goog-Resource-ID";
+
+ /**
+ * Name of header for the opaque ID (in the form of a canonicalized URI) for the watched resource
+ * that is sensitive to the API version.
+ */
+ public static final String RESOURCE_URI = "X-Goog-Resource-URI";
+
+ /**
+ * Name of header for the notification channel UUID provided by the client in the watch request.
+ */
+ public static final String CHANNEL_ID = "X-Goog-Channel-ID";
+
+ /** Name of header for the notification channel expiration time. */
+ public static final String CHANNEL_EXPIRATION = "X-Goog-Channel-Expiration";
+
+ /**
+ * Name of header for the notification channel token (an opaque string) provided by the client in
+ * the watch request.
+ */
+ public static final String CHANNEL_TOKEN = "X-Goog-Channel-Token";
+
+ /** Name of header for the type of change performed on the resource. */
+ public static final String CHANGED = "X-Goog-Changed";
+
+ private WebhookHeaders() {
+ }
+}
diff --git a/google-api-client-servlet/src/main/java/com/google/api/client/googleapis/extensions/servlet/notifications/WebhookUtils.java b/google-api-client-servlet/src/main/java/com/google/api/client/googleapis/extensions/servlet/notifications/WebhookUtils.java
new file mode 100644
index 00000000..33f25987
--- /dev/null
+++ b/google-api-client-servlet/src/main/java/com/google/api/client/googleapis/extensions/servlet/notifications/WebhookUtils.java
@@ -0,0 +1,166 @@
+/*
+ * Copyright (c) 2013 Google Inc.
+ *
+ * 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.
+ */
+
+package com.google.api.client.googleapis.extensions.servlet.notifications;
+
+import com.google.api.client.googleapis.notifications.StoredChannel;
+import com.google.api.client.googleapis.notifications.UnparsedNotification;
+import com.google.api.client.googleapis.notifications.UnparsedNotificationCallback;
+import com.google.api.client.util.Beta;
+import com.google.api.client.util.LoggingInputStream;
+import com.google.api.client.util.Preconditions;
+import com.google.api.client.util.StringUtils;
+import com.google.api.client.util.store.DataStore;
+import com.google.api.client.util.store.DataStoreFactory;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.Enumeration;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * {@link Beta}
+ * Utilities for Webhook notifications.
+ *
+ * @author Yaniv Inbar
+ * @since 1.16
+ */
+@Beta
+public final class WebhookUtils {
+
+ static final Logger LOGGER = Logger.getLogger(WebhookUtils.class.getName());
+
+ /** Webhook notification channel type to use in the watch request. */
+ public static final String TYPE = "web_hook";
+
+ /**
+ * Utility method to process the webhook notification from {@link HttpServlet#doPost} by finding
+ * the notification channel in the given data store factory.
+ *
+ *
+ * It is a wrapper around
+ * {@link #processWebhookNotification(HttpServletRequest, HttpServletResponse, DataStore)} that
+ * uses the data store from {@link StoredChannel#getDefaultDataStore(DataStoreFactory)}.
+ *
+ *
+ * @param req an {@link HttpServletRequest} object that contains the request the client has made
+ * of the servlet
+ * @param resp an {@link HttpServletResponse} object that contains the response the servlet sends
+ * to the client
+ * @param dataStoreFactory data store factory
+ * @exception IOException if an input or output error is detected when the servlet handles the
+ * request
+ * @exception ServletException if the request for the POST could not be handled
+ */
+ public static void processWebhookNotification(
+ HttpServletRequest req, HttpServletResponse resp, DataStoreFactory dataStoreFactory)
+ throws ServletException, IOException {
+ processWebhookNotification(req, resp, StoredChannel.getDefaultDataStore(dataStoreFactory));
+ }
+
+ /**
+ * Utility method to process the webhook notification from {@link HttpServlet#doPost}.
+ *
+ *
+ * The {@link HttpServletRequest#getInputStream()} is closed in a finally block inside this
+ * method. If it is not detected to be a webhook notification, an
+ * {@link HttpServletResponse#SC_BAD_REQUEST} error will be displayed. If the notification channel
+ * is found in the given notification channel data store, it will call
+ * {@link UnparsedNotificationCallback#onNotification} for the registered notification callback
+ * method.
+ *
+ *
+ * @param req an {@link HttpServletRequest} object that contains the request the client has made
+ * of the servlet
+ * @param resp an {@link HttpServletResponse} object that contains the response the servlet sends
+ * to the client
+ * @param channelDataStore notification channel data store
+ * @exception IOException if an input or output error is detected when the servlet handles the
+ * request
+ * @exception ServletException if the request for the POST could not be handled
+ */
+ public static void processWebhookNotification(
+ HttpServletRequest req, HttpServletResponse resp, DataStore channelDataStore)
+ throws ServletException, IOException {
+ Preconditions.checkArgument("POST".equals(req.getMethod()));
+ InputStream contentStream = req.getInputStream();
+ try {
+ // log headers
+ if (LOGGER.isLoggable(Level.CONFIG)) {
+ StringBuilder builder = new StringBuilder();
+ Enumeration> e = req.getHeaderNames();
+ if (e != null) {
+ while (e.hasMoreElements()) {
+ Object nameObj = e.nextElement();
+ if (nameObj instanceof String) {
+ String name = (String) nameObj;
+ Enumeration> ev = req.getHeaders(name);
+ if (ev != null) {
+ while (ev.hasMoreElements()) {
+ builder.append(name)
+ .append(": ").append(ev.nextElement()).append(StringUtils.LINE_SEPARATOR);
+ }
+ }
+ }
+ }
+ }
+ LOGGER.config(builder.toString());
+ contentStream = new LoggingInputStream(contentStream, LOGGER, Level.CONFIG, 0x4000);
+ // TODO(yanivi): allow to override logging content limit
+ }
+ // parse the relevant headers, and create a notification
+ Long messageNumber;
+ try {
+ messageNumber = Long.valueOf(req.getHeader(WebhookHeaders.MESSAGE_NUMBER));
+ } catch (NumberFormatException e) {
+ messageNumber = null;
+ }
+ String resourceState = req.getHeader(WebhookHeaders.RESOURCE_STATE);
+ String resourceId = req.getHeader(WebhookHeaders.RESOURCE_ID);
+ String resourceUri = req.getHeader(WebhookHeaders.RESOURCE_URI);
+ String channelId = req.getHeader(WebhookHeaders.CHANNEL_ID);
+ String channelExpiration = req.getHeader(WebhookHeaders.CHANNEL_EXPIRATION);
+ String channelToken = req.getHeader(WebhookHeaders.CHANNEL_TOKEN);
+ String changed = req.getHeader(WebhookHeaders.CHANGED);
+ if (messageNumber == null || resourceState == null || resourceId == null
+ || resourceUri == null || channelId == null) {
+ resp.sendError(HttpServletResponse.SC_BAD_REQUEST,
+ "Notification did not contain all required information.");
+ return;
+ }
+ UnparsedNotification notification = new UnparsedNotification(messageNumber, resourceState,
+ resourceId, resourceUri, channelId).setChannelExpiration(channelExpiration)
+ .setChannelToken(channelToken)
+ .setChanged(changed)
+ .setContentType(req.getContentType())
+ .setContentStream(contentStream);
+ // check if we know about the channel, hand over the notification to the notification callback
+ StoredChannel storedChannel = channelDataStore.get(notification.getChannelId());
+ if (storedChannel != null) {
+ storedChannel.getNotificationCallback().onNotification(storedChannel, notification);
+ }
+ } finally {
+ contentStream.close();
+ }
+ }
+
+ private WebhookUtils() {
+ }
+}
diff --git a/google-api-client-servlet/src/main/java/com/google/api/client/googleapis/extensions/servlet/notifications/package-info.java b/google-api-client-servlet/src/main/java/com/google/api/client/googleapis/extensions/servlet/notifications/package-info.java
new file mode 100644
index 00000000..b67c30c9
--- /dev/null
+++ b/google-api-client-servlet/src/main/java/com/google/api/client/googleapis/extensions/servlet/notifications/package-info.java
@@ -0,0 +1,24 @@
+/*
+ * Copyright (c) 2013 Google Inc.
+ *
+ * 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.
+ */
+
+/**
+ * {@link com.google.api.client.util.Beta}
+ * Support for subscribing to topics and receiving notifications on servlet-based platforms.
+ *
+ * @author Yaniv Inbar
+ * @since 1.16
+ */
+@com.google.api.client.util.Beta
+package com.google.api.client.googleapis.extensions.servlet.notifications;
+
diff --git a/google-api-client-xml/.classpath b/google-api-client-xml/.classpath
new file mode 100644
index 00000000..2c81b208
--- /dev/null
+++ b/google-api-client-xml/.classpath
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
diff --git a/google-api-client-xml/.project b/google-api-client-xml/.project
new file mode 100644
index 00000000..58c600c2
--- /dev/null
+++ b/google-api-client-xml/.project
@@ -0,0 +1,23 @@
+
+
+ google-api-client-xml
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+ org.eclipse.m2e.core.maven2Builder
+
+
+
+
+
+ org.eclipse.jdt.core.javanature
+ org.eclipse.m2e.core.maven2Nature
+
+
diff --git a/google-api-client-xml/.settings/org.eclipse.jdt.core.prefs b/google-api-client-xml/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000..56c60d70
--- /dev/null
+++ b/google-api-client-xml/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,418 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.codeComplete.argumentPrefixes=
+org.eclipse.jdt.core.codeComplete.argumentSuffixes=
+org.eclipse.jdt.core.codeComplete.fieldPrefixes=
+org.eclipse.jdt.core.codeComplete.fieldSuffixes=
+org.eclipse.jdt.core.codeComplete.localPrefixes=
+org.eclipse.jdt.core.codeComplete.localSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=ignore
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
+org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
+org.eclipse.jdt.core.compiler.problem.deadCode=warning
+org.eclipse.jdt.core.compiler.problem.deprecation=warning
+org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
+org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
+org.eclipse.jdt.core.compiler.problem.discouragedReference=ignore
+org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
+org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
+org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
+org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
+org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
+org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
+org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
+org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
+org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
+org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
+org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
+org.eclipse.jdt.core.compiler.problem.nullReference=warning
+org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
+org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
+org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
+org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
+org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
+org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
+org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
+org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
+org.eclipse.jdt.core.compiler.problem.typeParameterHiding=ignore
+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
+org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
+org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=ignore
+org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
+org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
+org.eclipse.jdt.core.compiler.problem.unusedImport=warning
+org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
+org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
+org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
+org.eclipse.jdt.core.compiler.problem.unusedWarningToken=ignore
+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
+org.eclipse.jdt.core.compiler.source=1.5
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_annotations_on_field=1585
+org.eclipse.jdt.core.formatter.alignment_for_annotations_on_field.count_dependent=1585|-1|1585
+org.eclipse.jdt.core.formatter.alignment_for_annotations_on_local_variable=569
+org.eclipse.jdt.core.formatter.alignment_for_annotations_on_local_variable.count_dependent=1585|-1|1585
+org.eclipse.jdt.core.formatter.alignment_for_annotations_on_member=569
+org.eclipse.jdt.core.formatter.alignment_for_annotations_on_method=1585
+org.eclipse.jdt.core.formatter.alignment_for_annotations_on_method.count_dependent=1585|-1|1585
+org.eclipse.jdt.core.formatter.alignment_for_annotations_on_package=1585
+org.eclipse.jdt.core.formatter.alignment_for_annotations_on_package.count_dependent=1585|-1|1585
+org.eclipse.jdt.core.formatter.alignment_for_annotations_on_package_declaration=569
+org.eclipse.jdt.core.formatter.alignment_for_annotations_on_parameter=24
+org.eclipse.jdt.core.formatter.alignment_for_annotations_on_parameter.count_dependent=1040|-1|1040
+org.eclipse.jdt.core.formatter.alignment_for_annotations_on_type=1585
+org.eclipse.jdt.core.formatter.alignment_for_annotations_on_type.count_dependent=1585|-1|1585
+org.eclipse.jdt.core.formatter.alignment_for_annotations_on_type_declaration=569
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16|5|80
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression.count_dependent=16|-1|16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation.count_dependent=16|-1|16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant.count_dependent=16|-1|16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16|5|80
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call.count_dependent=16|-1|16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16|5|80
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation.count_dependent=16|-1|16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16|4|80
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression.count_dependent=16|-1|16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=16
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression.count_dependent=16|-1|16
+org.eclipse.jdt.core.formatter.alignment_for_cascading_method_invocation_with_arguments=16
+org.eclipse.jdt.core.formatter.alignment_for_cascading_method_invocation_with_arguments.count_dependent=16|-1|16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=16|5|48
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants.count_dependent=0|-1|0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16|5|80
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer.count_dependent=16|-1|16
+org.eclipse.jdt.core.formatter.alignment_for_field_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_for_statement=16
+org.eclipse.jdt.core.formatter.alignment_for_generic_type_arguments=16
+org.eclipse.jdt.core.formatter.alignment_for_generic_type_arguments.count_dependent=16|-1|16
+org.eclipse.jdt.core.formatter.alignment_for_local_variable_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields.count_dependent=16|-1|16
+org.eclipse.jdt.core.formatter.alignment_for_new_anonymous_class=0
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16|5|80
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration.count_dependent=16|-1|16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16|5|80
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration.count_dependent=16|-1|16
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16|4|48
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation.count_dependent=16|-1|16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16|4|49
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration.count_dependent=16|-1|16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16|4|48
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration.count_dependent=16|-1|16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16|4|48
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration.count_dependent=16|-1|16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16|4|48
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration.count_dependent=16|-1|16
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=0
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=0
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=2
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=true
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=false
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=do not insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
+org.eclipse.jdt.core.formatter.comment.line_length=100
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.comment_new_line_at_start_of_html_paragraph=true
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=2
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.force_if_else_statement_brace=true
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comment_prefix=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=true
+org.eclipse.jdt.core.formatter.join_wrapped_lines=true
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=true
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=100
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=3
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
+org.eclipse.jdt.core.formatter.sort_local_variable_annotations=false
+org.eclipse.jdt.core.formatter.sort_member_annotations=false
+org.eclipse.jdt.core.formatter.sort_package_annotations=false
+org.eclipse.jdt.core.formatter.sort_parameter_annotations=false
+org.eclipse.jdt.core.formatter.sort_type_annotations=false
+org.eclipse.jdt.core.formatter.tabulation.char=space
+org.eclipse.jdt.core.formatter.tabulation.size=2
+org.eclipse.jdt.core.formatter.use_on_off_tags=false
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_comment_inline_tags=false
+org.eclipse.jdt.core.formatter.wrap_non_simple_local_variable_annotation=true
+org.eclipse.jdt.core.formatter.wrap_non_simple_member_annotation=true
+org.eclipse.jdt.core.formatter.wrap_non_simple_package_annotation=true
+org.eclipse.jdt.core.formatter.wrap_non_simple_parameter_annotation=false
+org.eclipse.jdt.core.formatter.wrap_non_simple_type_annotation=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
+org.eclipse.jdt.core.formatter.wrap_prefer_two_fragments=false
diff --git a/google-api-client-xml/.settings/org.eclipse.jdt.ui.prefs b/google-api-client-xml/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 00000000..08ebc976
--- /dev/null
+++ b/google-api-client-xml/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,119 @@
+cleanup.add_default_serial_version_id=true
+cleanup.add_generated_serial_version_id=false
+cleanup.add_missing_annotations=true
+cleanup.add_missing_deprecated_annotations=true
+cleanup.add_missing_methods=false
+cleanup.add_missing_nls_tags=false
+cleanup.add_missing_override_annotations=true
+cleanup.add_missing_override_annotations_interface_methods=false
+cleanup.add_serial_version_id=true
+cleanup.always_use_blocks=true
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.always_use_this_for_non_static_field_access=false
+cleanup.always_use_this_for_non_static_method_access=false
+cleanup.convert_to_enhanced_for_loop=false
+cleanup.correct_indentation=true
+cleanup.format_source_code=true
+cleanup.format_source_code_changes_only=false
+cleanup.make_local_variable_final=true
+cleanup.make_parameters_final=false
+cleanup.make_private_fields_final=true
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.make_variable_declarations_final=false
+cleanup.never_use_blocks=false
+cleanup.never_use_parentheses_in_expressions=true
+cleanup.organize_imports=true
+cleanup.qualify_static_field_accesses_with_declaring_class=false
+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+cleanup.qualify_static_member_accesses_with_declaring_class=true
+cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.remove_private_constructors=true
+cleanup.remove_trailing_whitespaces=true
+cleanup.remove_trailing_whitespaces_all=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_casts=true
+cleanup.remove_unnecessary_nls_tags=true
+cleanup.remove_unused_imports=true
+cleanup.remove_unused_local_variables=false
+cleanup.remove_unused_private_fields=true
+cleanup.remove_unused_private_members=false
+cleanup.remove_unused_private_methods=true
+cleanup.remove_unused_private_types=true
+cleanup.sort_members=false
+cleanup.sort_members_all=false
+cleanup.use_blocks=true
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_parentheses_in_expressions=true
+cleanup.use_this_for_non_static_field_access=true
+cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+cleanup.use_this_for_non_static_method_access=true
+cleanup.use_this_for_non_static_method_access_only_if_necessary=true
+cleanup_profile=_google-api-java-client
+cleanup_settings_version=2
+eclipse.preferences.version=1
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+formatter_profile=_google-api-java-client 100
+formatter_settings_version=12
+org.eclipse.jdt.ui.exception.name=exception
+org.eclipse.jdt.ui.gettersetter.use.is=false
+org.eclipse.jdt.ui.ignorelowercasenames=true
+org.eclipse.jdt.ui.importorder=com.google;;java;javax;
+org.eclipse.jdt.ui.javadoc=true
+org.eclipse.jdt.ui.keywordthis=false
+org.eclipse.jdt.ui.ondemandthreshold=999
+org.eclipse.jdt.ui.overrideannotation=true
+org.eclipse.jdt.ui.staticondemandthreshold=999
+org.eclipse.jdt.ui.text.custom_code_templates=/*\n * Copyright (c) ${year} Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except\n * in compliance with the License. You may obtain a copy of the License at\n *\n * http\://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under the License\n * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express\n * or implied. See the License for the specific language governing permissions and limitations under\n * the License.\n */\n/**\n * @author ${user}@google.com (Your Name Here)\n *\n * ${tags}\n *//**\n * @return the ${bare_field_name}\n *//**\n * @param ${param} the ${bare_field_name} to set\n *//**\n * ${tags}\n *//**\n * \n *//**\n * ${tags}\n *//* (non-Javadoc)\n * ${see_to_overridden}\n *//**\n * ${tags}\n * ${see_to_target}\n */${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}\n\n\n\n// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();// ${todo} Auto-generated method stub\n${body_statement}${body_statement}\n// ${todo} Auto-generated constructor stubreturn ${field};${field} \= ${param};/**\n * @return the ${bare_field_name}\n *//**\n * @param ${param} the ${bare_field_name} to set\n *//**\n * ${tags}\n *//**\n * \n *//**\n * @author Yaniv Inbar\n *\n * ${tags}\n *//**\n * \n *//**\n * ${tags}\n *//* (non-JSDoc)\n * ${see_to_overridden}\n *//**\n * ${tags}\n * ${see_to_target}\n */${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}\n// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();// ${todo} Auto-generated function stub\n${body_statement}${body_statement}\n// ${todo} Auto-generated constructor stubreturn ${field};${field} \= ${param};
+sp_cleanup.add_default_serial_version_id=true
+sp_cleanup.add_generated_serial_version_id=false
+sp_cleanup.add_missing_annotations=true
+sp_cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.add_missing_methods=false
+sp_cleanup.add_missing_nls_tags=false
+sp_cleanup.add_missing_override_annotations=true
+sp_cleanup.add_missing_override_annotations_interface_methods=false
+sp_cleanup.add_serial_version_id=false
+sp_cleanup.always_use_blocks=true
+sp_cleanup.always_use_parentheses_in_expressions=false
+sp_cleanup.always_use_this_for_non_static_field_access=false
+sp_cleanup.always_use_this_for_non_static_method_access=false
+sp_cleanup.convert_to_enhanced_for_loop=false
+sp_cleanup.correct_indentation=false
+sp_cleanup.format_source_code=false
+sp_cleanup.format_source_code_changes_only=true
+sp_cleanup.make_local_variable_final=false
+sp_cleanup.make_parameters_final=false
+sp_cleanup.make_private_fields_final=true
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.make_variable_declarations_final=false
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.organize_imports=true
+sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.remove_private_constructors=true
+sp_cleanup.remove_trailing_whitespaces=true
+sp_cleanup.remove_trailing_whitespaces_all=true
+sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_casts=true
+sp_cleanup.remove_unnecessary_nls_tags=false
+sp_cleanup.remove_unused_imports=false
+sp_cleanup.remove_unused_local_variables=false
+sp_cleanup.remove_unused_private_fields=true
+sp_cleanup.remove_unused_private_members=false
+sp_cleanup.remove_unused_private_methods=true
+sp_cleanup.remove_unused_private_types=true
+sp_cleanup.sort_members=false
+sp_cleanup.sort_members_all=false
+sp_cleanup.use_blocks=false
+sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_parentheses_in_expressions=false
+sp_cleanup.use_this_for_non_static_field_access=false
+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+sp_cleanup.use_this_for_non_static_method_access=false
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/google-api-client-xml/pom.xml b/google-api-client-xml/pom.xml
new file mode 100644
index 00000000..0ded5a16
--- /dev/null
+++ b/google-api-client-xml/pom.xml
@@ -0,0 +1,73 @@
+
+ 4.0.0
+
+ com.google.api-client
+ google-api-client-parent
+ 1.17.1-rc-SNAPSHOT
+ ../pom.xml
+
+ google-api-client-xml
+ XML extensions to the Google APIs Client Library for Java
+
+
+
+ maven-javadoc-plugin
+
+
+ http://download.oracle.com/javase/1.5.0/docs/api/
+ http://javadoc.google-http-java-client.googlecode.com/hg/${project.http.version}
+
+ ${project.name} ${project.version}
+ ${project.artifactId} ${project.version}
+
+
+
+ maven-jar-plugin
+
+
+
+ true
+
+
+
+
+
+ jar
+ compile
+
+ jar
+
+
+
+
+
+ maven-source-plugin
+
+
+ source-jar
+ compile
+
+ jar
+
+
+
+
+
+
+
+
+ com.google.api-client
+ google-api-client
+
+
+ com.google.http-client
+ google-http-client-xml
+
+
+ junit
+ junit
+ test
+
+
+
diff --git a/google-api-client-xml/src/main/java/com/google/api/client/googleapis/xml/atom/AtomPatchContent.java b/google-api-client-xml/src/main/java/com/google/api/client/googleapis/xml/atom/AtomPatchContent.java
new file mode 100644
index 00000000..6755d3fb
--- /dev/null
+++ b/google-api-client-xml/src/main/java/com/google/api/client/googleapis/xml/atom/AtomPatchContent.java
@@ -0,0 +1,70 @@
+/*
+ * Copyright (c) 2010 Google Inc.
+ *
+ * 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.
+ */
+
+package com.google.api.client.googleapis.xml.atom;
+
+import com.google.api.client.http.HttpMediaType;
+import com.google.api.client.http.xml.atom.AtomContent;
+import com.google.api.client.util.Beta;
+import com.google.api.client.xml.Xml;
+import com.google.api.client.xml.XmlNamespaceDictionary;
+
+/**
+ * {@link Beta}
+ * Serializes Atom XML PATCH HTTP content based on the data key/value mapping object for an Atom
+ * entry.
+ *
+ *
+ * Default value for {@link #getType()} is {@link Xml#MEDIA_TYPE}.
+ *
+ *
+ * @since 1.0
+ * @author Yaniv Inbar
+ */
+@Beta
+public final class AtomPatchContent extends AtomContent {
+
+ /**
+ * @param namespaceDictionary XML namespace dictionary
+ * @param patchEntry key/value pair data for the Atom PATCH entry
+ * @since 1.5
+ */
+ public AtomPatchContent(XmlNamespaceDictionary namespaceDictionary, Object patchEntry) {
+ super(namespaceDictionary, patchEntry, true);
+ setMediaType(new HttpMediaType(Xml.MEDIA_TYPE));
+ }
+
+ @Override
+ public AtomPatchContent setMediaType(HttpMediaType mediaType) {
+ super.setMediaType(mediaType);
+ return this;
+ }
+}
diff --git a/google-api-client-xml/src/main/java/com/google/api/client/googleapis/xml/atom/AtomPatchRelativeToOriginalContent.java b/google-api-client-xml/src/main/java/com/google/api/client/googleapis/xml/atom/AtomPatchRelativeToOriginalContent.java
new file mode 100644
index 00000000..0d43c856
--- /dev/null
+++ b/google-api-client-xml/src/main/java/com/google/api/client/googleapis/xml/atom/AtomPatchRelativeToOriginalContent.java
@@ -0,0 +1,100 @@
+/*
+ * Copyright (c) 2010 Google Inc.
+ *
+ * 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.
+ */
+
+package com.google.api.client.googleapis.xml.atom;
+
+import com.google.api.client.http.HttpMediaType;
+import com.google.api.client.http.xml.AbstractXmlHttpContent;
+import com.google.api.client.util.Beta;
+import com.google.api.client.util.Preconditions;
+import com.google.api.client.xml.XmlNamespaceDictionary;
+import com.google.api.client.xml.atom.Atom;
+
+import org.xmlpull.v1.XmlSerializer;
+
+import java.io.IOException;
+import java.util.Map;
+
+/**
+ * {@link Beta}
+ * Serializes an optimal Atom XML PATCH HTTP content based on the data key/value mapping object for
+ * an Atom entry, by comparing the original value to the patched value.
+ *
+ *
+ *
+ * @since 1.0
+ * @author Yaniv Inbar
+ */
+@Beta
+public final class AtomPatchRelativeToOriginalContent extends AbstractXmlHttpContent {
+
+ /** Key/value pair data for the updated/patched Atom entry. */
+ private final Object patchedEntry;
+
+ /** Key/value pair data for the original unmodified Atom entry. */
+ private final Object originalEntry;
+
+ /**
+ * @param namespaceDictionary XML namespace dictionary
+ * @since 1.5
+ */
+ public AtomPatchRelativeToOriginalContent(
+ XmlNamespaceDictionary namespaceDictionary, Object originalEntry, Object patchedEntry) {
+ super(namespaceDictionary);
+ this.originalEntry = Preconditions.checkNotNull(originalEntry);
+ this.patchedEntry = Preconditions.checkNotNull(patchedEntry);
+ }
+
+ @Override
+ protected void writeTo(XmlSerializer serializer) throws IOException {
+ Map patch = GoogleAtom.computePatch(patchedEntry, originalEntry);
+ getNamespaceDictionary().serialize(serializer, Atom.ATOM_NAMESPACE, "entry", patch);
+ }
+
+ @Override
+ public AtomPatchRelativeToOriginalContent setMediaType(HttpMediaType mediaType) {
+ super.setMediaType(mediaType);
+ return this;
+ }
+
+ /**
+ * Returns the data key name/value pairs for the updated/patched Atom entry.
+ *
+ * @since 1.5
+ */
+ public final Object getPatchedEntry() {
+ return patchedEntry;
+ }
+
+ /**
+ * Returns the data key name/value pairs for the original unmodified Atom entry.
+ *
+ * @since 1.5
+ */
+ public final Object getOriginalEntry() {
+ return originalEntry;
+ }
+}
diff --git a/google-api-client-xml/src/main/java/com/google/api/client/googleapis/xml/atom/GoogleAtom.java b/google-api-client-xml/src/main/java/com/google/api/client/googleapis/xml/atom/GoogleAtom.java
new file mode 100644
index 00000000..e3d435ad
--- /dev/null
+++ b/google-api-client-xml/src/main/java/com/google/api/client/googleapis/xml/atom/GoogleAtom.java
@@ -0,0 +1,272 @@
+/*
+ * Copyright (c) 2010 Google Inc.
+ *
+ * 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.
+ */
+
+package com.google.api.client.googleapis.xml.atom;
+
+import com.google.api.client.util.ArrayMap;
+import com.google.api.client.util.Beta;
+import com.google.api.client.util.ClassInfo;
+import com.google.api.client.util.Data;
+import com.google.api.client.util.FieldInfo;
+import com.google.api.client.util.GenericData;
+import com.google.api.client.util.Types;
+
+import java.util.Collection;
+import java.util.Map;
+import java.util.TreeSet;
+
+/**
+ * {@link Beta}
+ * Utilities for working with the Atom XML of Google Data APIs.
+ *
+ * @since 1.0
+ * @author Yaniv Inbar
+ */
+@Beta
+public class GoogleAtom {
+
+ /**
+ * GData namespace.
+ *
+ * @since 1.0
+ */
+ public static final String GD_NAMESPACE = "http://schemas.google.com/g/2005";
+
+ /**
+ * Content type used on an error formatted in XML.
+ *
+ * @since 1.5
+ */
+ public static final String ERROR_CONTENT_TYPE = "application/vnd.google.gdata.error+xml";
+
+ // TODO(yanivi): require XmlNamespaceDictory and include xmlns declarations since there is no
+ // guarantee that there is a match between Google's mapping and the one used by client
+
+ /**
+ * Returns the fields mask to use for the given data class of key/value pairs. It cannot be a
+ * {@link Map}, {@link GenericData} or a {@link Collection}.
+ *
+ * @param dataClass data class of key/value pairs
+ */
+ public static String getFieldsFor(Class> dataClass) {
+ StringBuilder fieldsBuf = new StringBuilder();
+ appendFieldsFor(fieldsBuf, dataClass, new int[1]);
+ return fieldsBuf.toString();
+ }
+
+ /**
+ * Returns the fields mask to use for the given data class of key/value pairs for the feed class
+ * and for the entry class. This should only be used if the feed class does not contain the entry
+ * class as a field. The data classes cannot be a {@link Map}, {@link GenericData} or a
+ * {@link Collection}.
+ *
+ * @param feedClass feed data class
+ * @param entryClass entry data class
+ */
+ public static String getFeedFields(Class> feedClass, Class> entryClass) {
+ StringBuilder fieldsBuf = new StringBuilder();
+ appendFeedFields(fieldsBuf, feedClass, entryClass);
+ return fieldsBuf.toString();
+ }
+
+ private static void appendFieldsFor(
+ StringBuilder fieldsBuf, Class> dataClass, int[] numFields) {
+ if (Map.class.isAssignableFrom(dataClass) || Collection.class.isAssignableFrom(dataClass)) {
+ throw new IllegalArgumentException(
+ "cannot specify field mask for a Map or Collection class: " + dataClass);
+ }
+ ClassInfo classInfo = ClassInfo.of(dataClass);
+ for (String name : new TreeSet(classInfo.getNames())) {
+ FieldInfo fieldInfo = classInfo.getFieldInfo(name);
+ if (fieldInfo.isFinal()) {
+ continue;
+ }
+ if (++numFields[0] != 1) {
+ fieldsBuf.append(',');
+ }
+ fieldsBuf.append(name);
+ // TODO(yanivi): handle Java arrays?
+ Class> fieldClass = fieldInfo.getType();
+ if (Collection.class.isAssignableFrom(fieldClass)) {
+ // TODO(yanivi): handle Java collection of Java collection or Java map?
+ fieldClass = (Class>) Types.getIterableParameter(fieldInfo.getField().getGenericType());
+ }
+ // TODO(yanivi): implement support for map when server implements support for *:*
+ if (fieldClass != null) {
+ if (fieldInfo.isPrimitive()) {
+ if (name.charAt(0) != '@' && !name.equals("text()")) {
+ // TODO(yanivi): wait for bug fix from server to support text() -- already fixed???
+ // buf.append("/text()");
+ }
+ } else if (!Collection.class.isAssignableFrom(fieldClass)
+ && !Map.class.isAssignableFrom(fieldClass)) {
+ int[] subNumFields = new int[1];
+ int openParenIndex = fieldsBuf.length();
+ fieldsBuf.append('(');
+ // TODO(yanivi): abort if found cycle to avoid infinite loop
+ appendFieldsFor(fieldsBuf, fieldClass, subNumFields);
+ updateFieldsBasedOnNumFields(fieldsBuf, openParenIndex, subNumFields[0]);
+ }
+ }
+ }
+ }
+
+ private static void appendFeedFields(
+ StringBuilder fieldsBuf, Class> feedClass, Class> entryClass) {
+ int[] numFields = new int[1];
+ appendFieldsFor(fieldsBuf, feedClass, numFields);
+ if (numFields[0] != 0) {
+ fieldsBuf.append(",");
+ }
+ fieldsBuf.append("entry(");
+ int openParenIndex = fieldsBuf.length() - 1;
+ numFields[0] = 0;
+ appendFieldsFor(fieldsBuf, entryClass, numFields);
+ updateFieldsBasedOnNumFields(fieldsBuf, openParenIndex, numFields[0]);
+ }
+
+ private static void updateFieldsBasedOnNumFields(
+ StringBuilder fieldsBuf, int openParenIndex, int numFields) {
+ switch (numFields) {
+ case 0:
+ fieldsBuf.deleteCharAt(openParenIndex);
+ break;
+ case 1:
+ fieldsBuf.setCharAt(openParenIndex, '/');
+ break;
+ default:
+ fieldsBuf.append(')');
+ }
+ }
+
+ /**
+ * Compute the patch object of key/value pairs from the given original and patched objects, adding
+ * a {@code @gd:fields} key for the fields mask.
+ *
+ * @param patched patched object
+ * @param original original object
+ * @return patch object of key/value pairs
+ */
+ public static Map computePatch(Object patched, Object original) {
+ FieldsMask fieldsMask = new FieldsMask();
+ ArrayMap result = computePatchInternal(fieldsMask, patched, original);
+ if (fieldsMask.numDifferences != 0) {
+ result.put("@gd:fields", fieldsMask.buf.toString());
+ }
+ return result;
+ }
+
+ private static ArrayMap computePatchInternal(
+ FieldsMask fieldsMask, Object patchedObject, Object originalObject) {
+ ArrayMap result = ArrayMap.create();
+ Map patchedMap = Data.mapOf(patchedObject);
+ Map originalMap = Data.mapOf(originalObject);
+ TreeSet fieldNames = new TreeSet();
+ fieldNames.addAll(patchedMap.keySet());
+ fieldNames.addAll(originalMap.keySet());
+ for (String name : fieldNames) {
+ Object originalValue = originalMap.get(name);
+ Object patchedValue = patchedMap.get(name);
+ if (originalValue == patchedValue) {
+ continue;
+ }
+ Class> type = originalValue == null ? patchedValue.getClass() : originalValue.getClass();
+ if (Data.isPrimitive(type)) {
+ if (originalValue != null && originalValue.equals(patchedValue)) {
+ continue;
+ }
+ fieldsMask.append(name);
+ // TODO(yanivi): wait for bug fix from server
+ // if (!name.equals("text()") && name.charAt(0) != '@') {
+ // fieldsMask.buf.append("/text()");
+ // }
+ if (patchedValue != null) {
+ result.add(name, patchedValue);
+ }
+ } else if (Collection.class.isAssignableFrom(type)) {
+ if (originalValue != null && patchedValue != null) {
+ @SuppressWarnings("unchecked")
+ Collection