Implementation is thread-safe, and sub-classes must be thread-safe. For maximum efficiency, - * applications should use a single globally-shared instance of the JSON factory. - * - * @since 1.3 - * @author Yaniv Inbar - * @deprecated As of release 1.28, please use Jackson2 and google-http-client-jackson2. - */ -@Deprecated -public final class JacksonFactory extends JsonFactory { - - /** JSON factory. */ - private final org.codehaus.jackson.JsonFactory factory = new org.codehaus.jackson.JsonFactory(); - - { - // don't auto-close JSON content in order to ensure consistent behavior across JSON factories - // TODO(rmistry): Should we disable the JsonGenerator.Feature.AUTO_CLOSE_TARGET feature? - factory.configure(org.codehaus.jackson.JsonGenerator.Feature.AUTO_CLOSE_JSON_CONTENT, false); - } - - @Override - public JsonGenerator createJsonGenerator(OutputStream out, Charset enc) throws IOException { - return new JacksonGenerator( - this, factory.createJsonGenerator(out, org.codehaus.jackson.JsonEncoding.UTF8)); - } - - @Override - public JsonGenerator createJsonGenerator(Writer writer) throws IOException { - return new JacksonGenerator(this, factory.createJsonGenerator(writer)); - } - - @Override - public JsonParser createJsonParser(Reader reader) throws IOException { - Preconditions.checkNotNull(reader); - return new JacksonParser(this, factory.createJsonParser(reader)); - } - - @Override - public JsonParser createJsonParser(InputStream in) throws IOException { - Preconditions.checkNotNull(in); - return new JacksonParser(this, factory.createJsonParser(in)); - } - - @Override - public JsonParser createJsonParser(InputStream in, Charset charset) throws IOException { - Preconditions.checkNotNull(in); - return new JacksonParser(this, factory.createJsonParser(in)); - } - - @Override - public JsonParser createJsonParser(String value) throws IOException { - Preconditions.checkNotNull(value); - return new JacksonParser(this, factory.createJsonParser(value)); - } - - static JsonToken convert(org.codehaus.jackson.JsonToken token) { - if (token == null) { - return null; - } - switch (token) { - case END_ARRAY: - return JsonToken.END_ARRAY; - case START_ARRAY: - return JsonToken.START_ARRAY; - case END_OBJECT: - return JsonToken.END_OBJECT; - case START_OBJECT: - return JsonToken.START_OBJECT; - case VALUE_FALSE: - return JsonToken.VALUE_FALSE; - case VALUE_TRUE: - return JsonToken.VALUE_TRUE; - case VALUE_NULL: - return JsonToken.VALUE_NULL; - case VALUE_STRING: - return JsonToken.VALUE_STRING; - case VALUE_NUMBER_FLOAT: - return JsonToken.VALUE_NUMBER_FLOAT; - case VALUE_NUMBER_INT: - return JsonToken.VALUE_NUMBER_INT; - case FIELD_NAME: - return JsonToken.FIELD_NAME; - default: - return JsonToken.NOT_AVAILABLE; - } - } -} diff --git a/google-http-client-jackson/src/main/java/com/google/api/client/json/jackson/JacksonGenerator.java b/google-http-client-jackson/src/main/java/com/google/api/client/json/jackson/JacksonGenerator.java deleted file mode 100644 index 096b892ac..000000000 --- a/google-http-client-jackson/src/main/java/com/google/api/client/json/jackson/JacksonGenerator.java +++ /dev/null @@ -1,134 +0,0 @@ -/* - * 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.json.jackson; - -import com.google.api.client.json.JsonGenerator; -import java.io.IOException; -import java.math.BigDecimal; -import java.math.BigInteger; - -/** - * Low-level JSON serializer implementation based on Jackson. - * - *
Implementation is not thread-safe. - * - * @author Yaniv Inbar - * @deprecated As of release 1.28, please use Jackson2 and google-http-client-jackson2. - */ -@Deprecated -final class JacksonGenerator extends JsonGenerator { - private final org.codehaus.jackson.JsonGenerator generator; - private final JacksonFactory factory; - - @Override - public JacksonFactory getFactory() { - return factory; - } - - JacksonGenerator(JacksonFactory factory, org.codehaus.jackson.JsonGenerator generator) { - this.factory = factory; - this.generator = generator; - } - - @Override - public void flush() throws IOException { - generator.flush(); - } - - @Override - public void close() throws IOException { - generator.close(); - } - - @Override - public void writeBoolean(boolean state) throws IOException { - generator.writeBoolean(state); - } - - @Override - public void writeEndArray() throws IOException { - generator.writeEndArray(); - } - - @Override - public void writeEndObject() throws IOException { - generator.writeEndObject(); - } - - @Override - public void writeFieldName(String name) throws IOException { - generator.writeFieldName(name); - } - - @Override - public void writeNull() throws IOException { - generator.writeNull(); - } - - @Override - public void writeNumber(int v) throws IOException { - generator.writeNumber(v); - } - - @Override - public void writeNumber(long v) throws IOException { - generator.writeNumber(v); - } - - @Override - public void writeNumber(BigInteger v) throws IOException { - generator.writeNumber(v); - } - - @Override - public void writeNumber(double v) throws IOException { - generator.writeNumber(v); - } - - @Override - public void writeNumber(float v) throws IOException { - generator.writeNumber(v); - } - - @Override - public void writeNumber(BigDecimal v) throws IOException { - generator.writeNumber(v); - } - - @Override - public void writeNumber(String encodedValue) throws IOException { - generator.writeNumber(encodedValue); - } - - @Override - public void writeStartArray() throws IOException { - generator.writeStartArray(); - } - - @Override - public void writeStartObject() throws IOException { - generator.writeStartObject(); - } - - @Override - public void writeString(String value) throws IOException { - generator.writeString(value); - } - - @Override - public void enablePrettyPrint() throws IOException { - generator.useDefaultPrettyPrinter(); - } -} diff --git a/google-http-client-jackson/src/main/java/com/google/api/client/json/jackson/JacksonParser.java b/google-http-client-jackson/src/main/java/com/google/api/client/json/jackson/JacksonParser.java deleted file mode 100644 index 529582075..000000000 --- a/google-http-client-jackson/src/main/java/com/google/api/client/json/jackson/JacksonParser.java +++ /dev/null @@ -1,117 +0,0 @@ -/* - * 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.json.jackson; - -import com.google.api.client.json.JsonParser; -import com.google.api.client.json.JsonToken; -import java.io.IOException; -import java.math.BigDecimal; -import java.math.BigInteger; - -/** - * Low-level JSON serializer implementation based on Jackson. - * - *
Implementation is not thread-safe.
- *
- * @author Yaniv Inbar
- * @deprecated As of release 1.28, please use Jackson2 and google-http-client-jackson2.
- */
-@Deprecated
-final class JacksonParser extends JsonParser {
-
- private final org.codehaus.jackson.JsonParser parser;
- private final JacksonFactory factory;
-
- @Override
- public JacksonFactory getFactory() {
- return factory;
- }
-
- JacksonParser(JacksonFactory factory, org.codehaus.jackson.JsonParser parser) {
- this.factory = factory;
- this.parser = parser;
- }
-
- @Override
- public void close() throws IOException {
- parser.close();
- }
-
- @Override
- public JsonToken nextToken() throws IOException {
- return JacksonFactory.convert(parser.nextToken());
- }
-
- @Override
- public String getCurrentName() throws IOException {
- return parser.getCurrentName();
- }
-
- @Override
- public JsonToken getCurrentToken() {
- return JacksonFactory.convert(parser.getCurrentToken());
- }
-
- @Override
- public JsonParser skipChildren() throws IOException {
- parser.skipChildren();
- return this;
- }
-
- @Override
- public String getText() throws IOException {
- return parser.getText();
- }
-
- @Override
- public byte getByteValue() throws IOException {
- return parser.getByteValue();
- }
-
- @Override
- public float getFloatValue() throws IOException {
- return parser.getFloatValue();
- }
-
- @Override
- public int getIntValue() throws IOException {
- return parser.getIntValue();
- }
-
- @Override
- public short getShortValue() throws IOException {
- return parser.getShortValue();
- }
-
- @Override
- public BigInteger getBigIntegerValue() throws IOException {
- return parser.getBigIntegerValue();
- }
-
- @Override
- public BigDecimal getDecimalValue() throws IOException {
- return parser.getDecimalValue();
- }
-
- @Override
- public double getDoubleValue() throws IOException {
- return parser.getDoubleValue();
- }
-
- @Override
- public long getLongValue() throws IOException {
- return parser.getLongValue();
- }
-}
diff --git a/google-http-client-jackson/src/main/java/com/google/api/client/json/jackson/package-info.java b/google-http-client-jackson/src/main/java/com/google/api/client/json/jackson/package-info.java
deleted file mode 100644
index eabec34a6..000000000
--- a/google-http-client-jackson/src/main/java/com/google/api/client/json/jackson/package-info.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * 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.
- */
-
-/**
- * Low-level implementation of the JSON parser library based on the Jackson JSON library.
- *
- * @since 1.3
- * @author Yaniv Inbar
- * @deprecated As of release 1.28, please use Jackson2 and google-http-client-jackson2.
- */
-package com.google.api.client.json.jackson;
diff --git a/google-http-client-jackson/src/test/java/com/google/api/client/json/jackson/JacksonFactoryTest.java b/google-http-client-jackson/src/test/java/com/google/api/client/json/jackson/JacksonFactoryTest.java
deleted file mode 100644
index 892d5b3b6..000000000
--- a/google-http-client-jackson/src/test/java/com/google/api/client/json/jackson/JacksonFactoryTest.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * 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.json.jackson;
-
-import com.google.api.client.json.JsonFactory;
-import com.google.api.client.json.JsonParser;
-import com.google.api.client.test.json.AbstractJsonFactoryTest;
-import com.google.api.client.util.StringUtils;
-import com.google.common.base.Charsets;
-import java.io.ByteArrayInputStream;
-import java.util.ArrayList;
-
-/**
- * Tests {@link JacksonFactory}.
- *
- * @author Yaniv Inbar
- */
-public class JacksonFactoryTest extends AbstractJsonFactoryTest {
-
- private static final String JSON_ENTRY_PRETTY =
- "{" + StringUtils.LINE_SEPARATOR + " \"title\" : \"foo\"" + StringUtils.LINE_SEPARATOR + "}";
- private static final String JSON_FEED_PRETTY =
- "{"
- + StringUtils.LINE_SEPARATOR
- + " \"entries\" : [ {"
- + StringUtils.LINE_SEPARATOR
- + " \"title\" : \"foo\""
- + StringUtils.LINE_SEPARATOR
- + " }, {"
- + StringUtils.LINE_SEPARATOR
- + " \"title\" : \"bar\""
- + StringUtils.LINE_SEPARATOR
- + " } ]"
- + StringUtils.LINE_SEPARATOR
- + "}";
-
- public JacksonFactoryTest(String name) {
- super(name);
- }
-
- @Override
- protected JsonFactory newFactory() {
- return new JacksonFactory();
- }
-
- public final void testToPrettyString_entry() throws Exception {
- Entry entry = new Entry();
- entry.title = "foo";
- assertEquals(JSON_ENTRY_PRETTY, newFactory().toPrettyString(entry));
- }
-
- public final void testToPrettyString_Feed() throws Exception {
- Feed feed = new Feed();
- Entry entryFoo = new Entry();
- entryFoo.title = "foo";
- Entry entryBar = new Entry();
- entryBar.title = "bar";
- feed.entries = new ArrayList