Repository: incubator-wave Updated Branches: refs/heads/master b29549612 -> 786405704
WAVE-439 - Changes source compatibility to Java1.8 and fixes weird issues with code that 1.8 was not backward compatible. Some of the issues were resolved by updating to newer Java1.8 JDK version. Project: http://git-wip-us.apache.org/repos/asf/incubator-wave/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-wave/commit/4f50ce8c Tree: http://git-wip-us.apache.org/repos/asf/incubator-wave/tree/4f50ce8c Diff: http://git-wip-us.apache.org/repos/asf/incubator-wave/diff/4f50ce8c Branch: refs/heads/master Commit: 4f50ce8c64b4d0bd736aab66f760ea7a3d83b6b8 Parents: ed4feb7 Author: Yuri Zelikov <[email protected]> Authored: Fri May 6 23:30:37 2016 +0300 Committer: Yuri Zelikov <[email protected]> Committed: Sat May 7 00:14:53 2016 +0300 ---------------------------------------------------------------------- pst/build.gradle | 4 ++-- wave/build.gradle | 4 ++-- .../box/server/rpc/FetchProfilesServlet.java | 3 ++- .../org/waveprotocol/box/server/rpc/FetchServlet.java | 3 ++- .../waveprotocol/box/server/rpc/ProtoSerializer.java | 8 ++++---- .../org/waveprotocol/box/server/rpc/SearchServlet.java | 3 ++- .../doodad/attachment/render/ImageThumbnailWrapper.java | 5 +++-- .../model/adt/docbased/DocumentBasedBasicMapTest.java | 12 +++++++----- .../model/adt/docbased/DocumentBasedBasicSetTest.java | 12 +++++++----- .../model/adt/docbased/DocumentBasedBasicValueTest.java | 8 +++++--- .../adt/docbased/DocumentBasedMonotonicMapTest.java | 8 +++++--- .../adt/docbased/DocumentBasedMonotonicValueTest.java | 10 ++++++---- .../adt/docbased/DocumentBasedStructuredValueTest.java | 12 +++++++----- 13 files changed, 54 insertions(+), 38 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/4f50ce8c/pst/build.gradle ---------------------------------------------------------------------- diff --git a/pst/build.gradle b/pst/build.gradle index b49cd85..d32385a 100644 --- a/pst/build.gradle +++ b/pst/build.gradle @@ -28,8 +28,8 @@ apply plugin: 'com.google.protobuf' // Project Level Settings //============================================================================= version = 0.1 -sourceCompatibility = 1.7 -targetCompatibility = 1.7 +sourceCompatibility = 1.8 +targetCompatibility = 1.8 def title = 'Apache Wave PST Compiler' def vendor = 'The Apache Software Foundation' http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/4f50ce8c/wave/build.gradle ---------------------------------------------------------------------- diff --git a/wave/build.gradle b/wave/build.gradle index f09b059..8e7b6e4 100644 --- a/wave/build.gradle +++ b/wave/build.gradle @@ -38,8 +38,8 @@ applicationDefaultJvmArgs = [ "-Djava.util.logging.config.file=config/wiab-logging.conf", "-Djava.security.auth.login.config=config/jaas.config" ] -sourceCompatibility = 1.7 -targetCompatibility = 1.7 +sourceCompatibility = 1.8 +targetCompatibility = 1.8 compileJava { options.incremental = true } http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/4f50ce8c/wave/src/main/java/org/waveprotocol/box/server/rpc/FetchProfilesServlet.java ---------------------------------------------------------------------- diff --git a/wave/src/main/java/org/waveprotocol/box/server/rpc/FetchProfilesServlet.java b/wave/src/main/java/org/waveprotocol/box/server/rpc/FetchProfilesServlet.java index 0033ff5..3118372 100644 --- a/wave/src/main/java/org/waveprotocol/box/server/rpc/FetchProfilesServlet.java +++ b/wave/src/main/java/org/waveprotocol/box/server/rpc/FetchProfilesServlet.java @@ -24,6 +24,7 @@ import com.google.common.collect.Lists; import com.google.inject.Inject; import com.google.inject.Singleton; import com.google.inject.name.Named; +import com.google.protobuf.Message; import com.google.protobuf.MessageLite; import com.google.wave.api.FetchProfilesRequest; import com.google.wave.api.FetchProfilesResult; @@ -183,7 +184,7 @@ public final class FetchProfilesServlet extends HttpServlet { /** * Writes the json with profile results to Response. */ - private void printJson(MessageLite message, HttpServletResponse resp) + private <P extends Message> void printJson(P message, HttpServletResponse resp) throws IOException { if (message == null) { resp.setStatus(HttpServletResponse.SC_FORBIDDEN); http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/4f50ce8c/wave/src/main/java/org/waveprotocol/box/server/rpc/FetchServlet.java ---------------------------------------------------------------------- diff --git a/wave/src/main/java/org/waveprotocol/box/server/rpc/FetchServlet.java b/wave/src/main/java/org/waveprotocol/box/server/rpc/FetchServlet.java index 303915c..b23fa29 100644 --- a/wave/src/main/java/org/waveprotocol/box/server/rpc/FetchServlet.java +++ b/wave/src/main/java/org/waveprotocol/box/server/rpc/FetchServlet.java @@ -21,6 +21,7 @@ package org.waveprotocol.box.server.rpc; import com.google.common.annotations.VisibleForTesting; import com.google.inject.Inject; +import com.google.protobuf.Message; import com.google.protobuf.MessageLite; import org.waveprotocol.box.common.comms.WaveClientRpc.DocumentSnapshot; @@ -103,7 +104,7 @@ public final class FetchServlet extends HttpServlet { renderSnapshot(waveref, user, response); } - private void serializeObjectToServlet(MessageLite message, HttpServletResponse dest) + private <P extends Message> void serializeObjectToServlet(P message, HttpServletResponse dest) throws IOException { if (message == null) { // Snapshot is null. It would be nice to 404 here, but we can't let http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/4f50ce8c/wave/src/main/java/org/waveprotocol/box/server/rpc/ProtoSerializer.java ---------------------------------------------------------------------- diff --git a/wave/src/main/java/org/waveprotocol/box/server/rpc/ProtoSerializer.java b/wave/src/main/java/org/waveprotocol/box/server/rpc/ProtoSerializer.java index 07b8bba..2599fde 100644 --- a/wave/src/main/java/org/waveprotocol/box/server/rpc/ProtoSerializer.java +++ b/wave/src/main/java/org/waveprotocol/box/server/rpc/ProtoSerializer.java @@ -178,12 +178,12 @@ public final class ProtoSerializer { * @throws SerializationException if there is no serializer for * {@code protoClass}. */ - private <P> ProtoImplSerializer<? extends P, ?> getSerializer(Class<P> protoClass) + private <P extends Message, D extends ProtoWrapper<P> & GsonSerializable> ProtoImplSerializer<P, D> getSerializer(Class<P> protoClass) throws SerializationException { @SuppressWarnings("unchecked") // use of serializers map is safe. - ProtoImplSerializer<? extends P, ?> serializer = - (ProtoImplSerializer<? extends P, ?>) byClass.get(protoClass); + ProtoImplSerializer<P, D> serializer = + (ProtoImplSerializer<P, D>) byClass.get(protoClass); if (serializer == null) { throw new SerializationException("Unknown proto class: " + protoClass.getName()); } @@ -214,7 +214,7 @@ public final class ProtoSerializer { * @throws SerializationException if the class of {@code message} has not been * registered. */ - public JsonElement toJson(MessageLite message) throws SerializationException { + public <P extends Message>JsonElement toJson(P message) throws SerializationException { return getSerializer(message.getClass()).toGson(message, null, gson); } http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/4f50ce8c/wave/src/main/java/org/waveprotocol/box/server/rpc/SearchServlet.java ---------------------------------------------------------------------- diff --git a/wave/src/main/java/org/waveprotocol/box/server/rpc/SearchServlet.java b/wave/src/main/java/org/waveprotocol/box/server/rpc/SearchServlet.java index b4c1252..cf875b1 100644 --- a/wave/src/main/java/org/waveprotocol/box/server/rpc/SearchServlet.java +++ b/wave/src/main/java/org/waveprotocol/box/server/rpc/SearchServlet.java @@ -23,6 +23,7 @@ import com.google.common.annotations.VisibleForTesting; import com.google.inject.Inject; import com.google.inject.Singleton; import com.google.inject.name.Named; +import com.google.protobuf.Message; import com.google.protobuf.MessageLite; import com.google.wave.api.SearchResult; import com.google.wave.api.SearchResult.Digest; @@ -157,7 +158,7 @@ public class SearchServlet extends AbstractSearchServlet { /** * Writes the json with search results to Response. */ - private void serializeObjectToServlet(MessageLite message, HttpServletResponse resp) + private <P extends Message> void serializeObjectToServlet(P message, HttpServletResponse resp) throws IOException { if (message == null) { resp.sendError(HttpServletResponse.SC_FORBIDDEN); http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/4f50ce8c/wave/src/main/java/org/waveprotocol/wave/client/doodad/attachment/render/ImageThumbnailWrapper.java ---------------------------------------------------------------------- diff --git a/wave/src/main/java/org/waveprotocol/wave/client/doodad/attachment/render/ImageThumbnailWrapper.java b/wave/src/main/java/org/waveprotocol/wave/client/doodad/attachment/render/ImageThumbnailWrapper.java index 1c4d6be..a91012b 100644 --- a/wave/src/main/java/org/waveprotocol/wave/client/doodad/attachment/render/ImageThumbnailWrapper.java +++ b/wave/src/main/java/org/waveprotocol/wave/client/doodad/attachment/render/ImageThumbnailWrapper.java @@ -23,6 +23,7 @@ import org.waveprotocol.wave.client.doodad.attachment.ImageThumbnail; import org.waveprotocol.wave.client.editor.content.CMutableDocument; import org.waveprotocol.wave.client.editor.content.ContentElement; import org.waveprotocol.wave.client.editor.content.ContentNode; +import org.waveprotocol.wave.client.editor.content.ContentTextNode; import org.waveprotocol.wave.client.editor.content.misc.Caption; import org.waveprotocol.wave.media.model.Attachment; import org.waveprotocol.wave.model.document.util.DocHelper; @@ -118,8 +119,8 @@ public class ImageThumbnailWrapper { * or null if this wrapper should produce a builder * @return resulting XML builder. */ - public XmlStringBuilderDoc<? super ContentElement, ContentElement, ?> - appendInto(XmlStringBuilderDoc<? super ContentElement, ContentElement, ?> builder) { + public XmlStringBuilderDoc<ContentNode, ContentElement, ContentTextNode> appendInto + (XmlStringBuilderDoc<ContentNode, ContentElement, ContentTextNode> builder) { if (builder == null) { builder = XmlStringBuilderDoc.createEmpty(element.getMutableDoc()); } http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/4f50ce8c/wave/src/test/java/org/waveprotocol/wave/model/adt/docbased/DocumentBasedBasicMapTest.java ---------------------------------------------------------------------- diff --git a/wave/src/test/java/org/waveprotocol/wave/model/adt/docbased/DocumentBasedBasicMapTest.java b/wave/src/test/java/org/waveprotocol/wave/model/adt/docbased/DocumentBasedBasicMapTest.java index bac6fa2..dbfb743 100644 --- a/wave/src/test/java/org/waveprotocol/wave/model/adt/docbased/DocumentBasedBasicMapTest.java +++ b/wave/src/test/java/org/waveprotocol/wave/model/adt/docbased/DocumentBasedBasicMapTest.java @@ -204,9 +204,11 @@ public class DocumentBasedBasicMapTest extends TestCase { * @param values list of entries to include in the document state * @return a map-context view of the document state */ - private static ValueContext<?, ?> substrate(ListBuilder<String, Integer> values) { - return substrate(BasicFactories.observableDocumentProvider().create("data", - Collections.<String, String>emptyMap()), values); + @SuppressWarnings("unchecked") + private static <N, E extends N> ValueContext<N, E> substrate(ListBuilder<String, Integer> values) { + ObservableMutableDocument doc = + BasicFactories.observableDocumentProvider().create("data",Collections.<String, String>emptyMap()); + return substrate(doc, values); } /** @@ -214,8 +216,8 @@ public class DocumentBasedBasicMapTest extends TestCase { * * @return a map-context view of the document state. */ - private static <N, E extends N> ValueContext<N, E> substrate( - ObservableMutableDocument<N, E, ?> doc, + private static <N, E extends N, T extends N> ValueContext<N, E> substrate( + ObservableMutableDocument<N, E, T> doc, ListBuilder<String, Integer> values) { // Insert container element E container = doc.createChildElement(doc.getDocumentElement(), CONTAINER_TAG, http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/4f50ce8c/wave/src/test/java/org/waveprotocol/wave/model/adt/docbased/DocumentBasedBasicSetTest.java ---------------------------------------------------------------------- diff --git a/wave/src/test/java/org/waveprotocol/wave/model/adt/docbased/DocumentBasedBasicSetTest.java b/wave/src/test/java/org/waveprotocol/wave/model/adt/docbased/DocumentBasedBasicSetTest.java index 33fd9b9..ca6cece 100644 --- a/wave/src/test/java/org/waveprotocol/wave/model/adt/docbased/DocumentBasedBasicSetTest.java +++ b/wave/src/test/java/org/waveprotocol/wave/model/adt/docbased/DocumentBasedBasicSetTest.java @@ -121,9 +121,11 @@ public class DocumentBasedBasicSetTest extends TestCase { * @param value list of entries to include in the document state * @return a map-context view of the document state */ - private static ValueContext<?, ?> substrate(int ... value) { - return substrate(BasicFactories.observableDocumentProvider().create("data", - Collections.<String, String>emptyMap()), value); + @SuppressWarnings("unchecked") + private static <N, E extends N> ValueContext<N, E> substrate(int ... value) { + ObservableMutableDocument doc = + BasicFactories.observableDocumentProvider().create("data",Collections.<String, String>emptyMap()); + return substrate(doc, value); } /** @@ -131,8 +133,8 @@ public class DocumentBasedBasicSetTest extends TestCase { * * @return a map-context view of the document state. */ - private static <N, E extends N> ValueContext<N, E> substrate( - ObservableMutableDocument<N, E, ?> doc, + private static <N, E extends N, T extends N> ValueContext<N, E> substrate( + ObservableMutableDocument<N, E, T> doc, int ... values) { // Insert container element E container = doc.createChildElement(doc.getDocumentElement(), CONTAINER_TAG, http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/4f50ce8c/wave/src/test/java/org/waveprotocol/wave/model/adt/docbased/DocumentBasedBasicValueTest.java ---------------------------------------------------------------------- diff --git a/wave/src/test/java/org/waveprotocol/wave/model/adt/docbased/DocumentBasedBasicValueTest.java b/wave/src/test/java/org/waveprotocol/wave/model/adt/docbased/DocumentBasedBasicValueTest.java index 61b6b3e..a975c6e 100644 --- a/wave/src/test/java/org/waveprotocol/wave/model/adt/docbased/DocumentBasedBasicValueTest.java +++ b/wave/src/test/java/org/waveprotocol/wave/model/adt/docbased/DocumentBasedBasicValueTest.java @@ -116,9 +116,11 @@ public class DocumentBasedBasicValueTest extends TestCase { * @param value list of entries to include in the document state * @return a map-context view of the document state */ - private static ValueContext<?, ?> substrate(int value) { - return substrate(BasicFactories.observableDocumentProvider().create("data", - Collections.<String, String>emptyMap()), value); + @SuppressWarnings("unchecked") + private static <N, E extends N> ValueContext<N, E>substrate(int value) { + ObservableMutableDocument doc = + BasicFactories.observableDocumentProvider().create("data",Collections.<String, String>emptyMap()); + return substrate(doc, value); } /** http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/4f50ce8c/wave/src/test/java/org/waveprotocol/wave/model/adt/docbased/DocumentBasedMonotonicMapTest.java ---------------------------------------------------------------------- diff --git a/wave/src/test/java/org/waveprotocol/wave/model/adt/docbased/DocumentBasedMonotonicMapTest.java b/wave/src/test/java/org/waveprotocol/wave/model/adt/docbased/DocumentBasedMonotonicMapTest.java index ca05075..1f1a15d 100644 --- a/wave/src/test/java/org/waveprotocol/wave/model/adt/docbased/DocumentBasedMonotonicMapTest.java +++ b/wave/src/test/java/org/waveprotocol/wave/model/adt/docbased/DocumentBasedMonotonicMapTest.java @@ -187,9 +187,11 @@ public class DocumentBasedMonotonicMapTest extends TestCase { * @param values list of entries to include in the document state * @return a map-context view of the document state */ - private static ValueContext<?, ?> substrate(ListBuilder<String, Integer> values) { - return substrate(BasicFactories.observableDocumentProvider().create("data", - Collections.<String, String>emptyMap()), values); + @SuppressWarnings("unchecked") + private static <N, E extends N> ValueContext<N, E> substrate(ListBuilder<String, Integer> values) { + ObservableMutableDocument doc = + BasicFactories.observableDocumentProvider().create("data",Collections.<String, String>emptyMap()); + return substrate(doc, values); } /** http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/4f50ce8c/wave/src/test/java/org/waveprotocol/wave/model/adt/docbased/DocumentBasedMonotonicValueTest.java ---------------------------------------------------------------------- diff --git a/wave/src/test/java/org/waveprotocol/wave/model/adt/docbased/DocumentBasedMonotonicValueTest.java b/wave/src/test/java/org/waveprotocol/wave/model/adt/docbased/DocumentBasedMonotonicValueTest.java index 304b97d..b3a99fa 100644 --- a/wave/src/test/java/org/waveprotocol/wave/model/adt/docbased/DocumentBasedMonotonicValueTest.java +++ b/wave/src/test/java/org/waveprotocol/wave/model/adt/docbased/DocumentBasedMonotonicValueTest.java @@ -162,10 +162,12 @@ public class DocumentBasedMonotonicValueTest extends TestCase { * @param values list of entries to include in the document state * @return a map-context view of the document state */ - private static ValueContext<?, ?> substrate(Integer ... values) { - return substrate(BasicFactories.observableDocumentProvider().create("data", - Collections.<String, String>emptyMap()), - values); + @SuppressWarnings("unchecked") + private static <N, E extends N> ValueContext<N, E> substrate(Integer ... values) { + ObservableMutableDocument doc = + BasicFactories.observableDocumentProvider().create("data",Collections.<String, String>emptyMap()); + + return substrate(doc, values); } /** http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/4f50ce8c/wave/src/test/java/org/waveprotocol/wave/model/adt/docbased/DocumentBasedStructuredValueTest.java ---------------------------------------------------------------------- diff --git a/wave/src/test/java/org/waveprotocol/wave/model/adt/docbased/DocumentBasedStructuredValueTest.java b/wave/src/test/java/org/waveprotocol/wave/model/adt/docbased/DocumentBasedStructuredValueTest.java index a5c0008..96fd674 100644 --- a/wave/src/test/java/org/waveprotocol/wave/model/adt/docbased/DocumentBasedStructuredValueTest.java +++ b/wave/src/test/java/org/waveprotocol/wave/model/adt/docbased/DocumentBasedStructuredValueTest.java @@ -272,9 +272,11 @@ public class DocumentBasedStructuredValueTest extends TestCase { * * @return a map-context view of the document state */ - private static ValueContext<?, ?> substrate(Map<Key, Integer> values) { - return substrate(BasicFactories.observableDocumentProvider().create("tagname", - Collections.<String, String>emptyMap()), values); + @SuppressWarnings("unchecked") + private static <N, E extends N> ValueContext<N, E> substrate(Map<Key, Integer> values) { + ObservableMutableDocument doc = + BasicFactories.observableDocumentProvider().create("tagname",Collections.<String, String>emptyMap()); + return substrate(doc, values); } /** @@ -282,8 +284,8 @@ public class DocumentBasedStructuredValueTest extends TestCase { * * @return a map-context view of the document state. */ - private static <N, E extends N> ValueContext<N, E> substrate( - ObservableMutableDocument<N, E, ?> doc, Map<Key, Integer> values) { + private static <N, E extends N, T extends N> ValueContext<N, E> substrate( + ObservableMutableDocument<N, E, T> doc, Map<Key, Integer> values) { // Insert container element. E container = doc.createChildElement(doc.getDocumentElement(), CONTAINER_TAG, Collections.<String,String>emptyMap());
