You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by yz...@apache.org on 2015/06/15 09:32:40 UTC

[47/50] incubator-ignite git commit: sprint-6 - Fixed broken Externalizable classes + added check

sprint-6 - Fixed broken Externalizable classes + added check


Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/40f826bf
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/40f826bf
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/40f826bf

Branch: refs/heads/ignite-1009-v4
Commit: 40f826bf9037e4341904e87b90f20e3eb0388f85
Parents: 2f7b253
Author: Valentin Kulichenko <vk...@gridgain.com>
Authored: Fri Jun 12 17:05:07 2015 -0700
Committer: Valentin Kulichenko <vk...@gridgain.com>
Committed: Fri Jun 12 17:05:07 2015 -0700

----------------------------------------------------------------------
 .../rest/client/message/GridRouterRequest.java    | 18 ++++++++++++++++++
 .../rest/client/message/GridRouterResponse.java   | 18 ++++++++++++++++++
 .../ignite/tools/classgen/ClassesGenerator.java   | 12 ++++++++++++
 3 files changed, 48 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/40f826bf/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/client/message/GridRouterRequest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/client/message/GridRouterRequest.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/client/message/GridRouterRequest.java
index 6dcbf92..7839e22 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/client/message/GridRouterRequest.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/client/message/GridRouterRequest.java
@@ -17,6 +17,7 @@
 
 package org.apache.ignite.internal.processors.rest.client.message;
 
+import java.io.*;
 import java.util.*;
 
 /**
@@ -30,6 +31,13 @@ public class GridRouterRequest extends GridClientAbstractMessage {
     private final byte[] body;
 
     /**
+     * For {@link Externalizable} (not supported).
+     */
+    public GridRouterRequest() {
+        throw new UnsupportedOperationException();
+    }
+
+    /**
      * @param body Message in raw form.
      * @param clientId Client id.
      * @param reqId Request id.
@@ -51,6 +59,16 @@ public class GridRouterRequest extends GridClientAbstractMessage {
     }
 
     /** {@inheritDoc} */
+    @Override public void writeExternal(ObjectOutput out) throws IOException {
+        throw new UnsupportedOperationException();
+    }
+
+    /** {@inheritDoc} */
+    @Override public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
+        throw new UnsupportedOperationException();
+    }
+
+    /** {@inheritDoc} */
     @Override public String toString() {
         return "GridRouterRequest [clientId=" + clientId() + ", reqId=" + requestId() + ", " +
             "destId=" + destinationId() + ", length=" + body.length + "]";

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/40f826bf/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/client/message/GridRouterResponse.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/client/message/GridRouterResponse.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/client/message/GridRouterResponse.java
index 2ff3e21..9054d8e 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/client/message/GridRouterResponse.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/client/message/GridRouterResponse.java
@@ -17,6 +17,7 @@
 
 package org.apache.ignite.internal.processors.rest.client.message;
 
+import java.io.*;
 import java.util.*;
 
 /**
@@ -36,6 +37,13 @@ public class GridRouterResponse extends GridClientAbstractMessage {
     private final int status;
 
     /**
+     * For {@link Externalizable} (not supported).
+     */
+    public GridRouterResponse() {
+        throw new UnsupportedOperationException();
+    }
+
+    /**
      * @param body Message in raw form.
      * @param clientId Client id.
      * @param reqId Request id.
@@ -73,6 +81,16 @@ public class GridRouterResponse extends GridClientAbstractMessage {
     }
 
     /** {@inheritDoc} */
+    @Override public void writeExternal(ObjectOutput out) throws IOException {
+        throw new UnsupportedOperationException();
+    }
+
+    /** {@inheritDoc} */
+    @Override public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
+        throw new UnsupportedOperationException();
+    }
+
+    /** {@inheritDoc} */
     @Override public String toString() {
         return "GridRouterResponse [" +
             "clientId=" + clientId() +

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/40f826bf/modules/tools/src/main/java/org/apache/ignite/tools/classgen/ClassesGenerator.java
----------------------------------------------------------------------
diff --git a/modules/tools/src/main/java/org/apache/ignite/tools/classgen/ClassesGenerator.java b/modules/tools/src/main/java/org/apache/ignite/tools/classgen/ClassesGenerator.java
index feb2d9d..20dcc7f 100644
--- a/modules/tools/src/main/java/org/apache/ignite/tools/classgen/ClassesGenerator.java
+++ b/modules/tools/src/main/java/org/apache/ignite/tools/classgen/ClassesGenerator.java
@@ -215,6 +215,18 @@ public class ClassesGenerator {
                     catch (NoSuchFieldException ignored) {
                         errs.add("No serialVersionUID field in class: " + cls.getName());
                     }
+
+                    if (Externalizable.class.isAssignableFrom(cls)) {
+                        try {
+                            Constructor<?> cons = cls.getConstructor();
+
+                            if (!Modifier.isPublic(cons.getModifiers()))
+                                errs.add("Default constructor in Externalizable class is not public: " + cls.getName());
+                        }
+                        catch (NoSuchMethodException e) {
+                            errs.add("No default constructor in Externalizable class: " + cls.getName());
+                        }
+                    }
                 }
 
                 classes.add((Class)cls);