IGNITE-1409: PlatformEventFilterListenerImpl is now Externalizable.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/09339ded Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/09339ded Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/09339ded Branch: refs/heads/ignite-1770 Commit: 09339dedb3e1565522d1d114d08d17850606fc87 Parents: 85787be Author: vozerov-gridgain <[email protected]> Authored: Fri Oct 30 11:44:05 2015 +0300 Committer: vozerov-gridgain <[email protected]> Committed: Fri Oct 30 11:44:05 2015 +0300 ---------------------------------------------------------------------- .../events/PlatformEventFilterListenerImpl.java | 31 +++++++++++++++++--- 1 file changed, 27 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/09339ded/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/events/PlatformEventFilterListenerImpl.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/events/PlatformEventFilterListenerImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/events/PlatformEventFilterListenerImpl.java index b2dfd1c..bbcb60f 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/events/PlatformEventFilterListenerImpl.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/events/PlatformEventFilterListenerImpl.java @@ -26,29 +26,40 @@ import org.apache.ignite.internal.processors.platform.memory.PlatformMemory; import org.apache.ignite.internal.processors.platform.memory.PlatformOutputStream; import org.apache.ignite.internal.processors.platform.utils.PlatformUtils; +import java.io.Externalizable; +import java.io.IOException; +import java.io.ObjectInput; +import java.io.ObjectOutput; import java.util.UUID; /** * Platform event filter. Delegates apply to native platform. */ -public class PlatformEventFilterListenerImpl implements PlatformEventFilterListener +public class PlatformEventFilterListenerImpl implements PlatformEventFilterListener, Externalizable { /** */ private static final long serialVersionUID = 0L; /** */ - private final Object pred; + private Object pred; /** Event types. */ - private final int[] types; + private int[] types; /** */ - protected transient long hnd; + private transient long hnd; /** */ private transient PlatformContext ctx; /** + * {@link Externalizable} support. + */ + public PlatformEventFilterListenerImpl() { + // No-op. + } + + /** * Constructor. * * @param hnd Handle in the native platform. @@ -160,4 +171,16 @@ public class PlatformEventFilterListenerImpl implements PlatformEventFilterListe @Override public int hashCode() { return (int)(hnd ^ (hnd >>> 32)); } + + /** {@inheritDoc} */ + @Override public void writeExternal(ObjectOutput out) throws IOException { + out.writeObject(pred); + out.writeObject(types); + } + + /** {@inheritDoc} */ + @Override public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException { + pred = in.readObject(); + types = (int[])in.readObject(); + } } \ No newline at end of file
