# Renaming

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

Branch: refs/heads/master
Commit: f1061709b115413c83beadc68ed491e08b19a74a
Parents: bf07cfa
Author: sboikov <sboi...@gridgain.com>
Authored: Fri Dec 5 11:33:09 2014 +0300
Committer: sboikov <sboi...@gridgain.com>
Committed: Fri Dec 5 11:33:09 2014 +0300

----------------------------------------------------------------------
 .../examples/ggfs/GgfsMapReduceExample.java     |   2 +-
 .../fs/mapreduce/IgniteFsRecordResolver.java    |   8 +-
 .../IgniteFsByteDelimiterRecordResolver.java    | 340 +++++++++++++++++++
 .../IgniteFsFixedLengthRecordResolver.java      |  79 +++++
 .../records/IgniteFsNewLineRecordResolver.java  |  58 ++++
 .../IgniteFsStringDelimiterRecordResolver.java  |  76 +++++
 .../ignite/fs/mapreduce/records/package.html    |  15 +
 .../IgniteFsByteDelimiterRecordResolver.java    | 340 -------------------
 .../IgniteFsFixedLengthRecordResolver.java      |  79 -----
 .../records/IgniteFsNewLineRecordResolver.java  |  58 ----
 .../IgniteFsStringDelimiterRecordResolver.java  |  76 -----
 .../grid/ggfs/mapreduce/records/package.html    |  15 -
 .../processors/ggfs/GridGgfsTaskSelfTest.java   |   2 +-
 ...GgfsByteDelimiterRecordResolverSelfTest.java |   2 +-
 ...idGgfsFixedLengthRecordResolverSelfTest.java |   2 +-
 ...sNewLineDelimiterRecordResolverSelfTest.java |   4 +-
 ...fsStringDelimiterRecordResolverSelfTest.java |   2 +-
 17 files changed, 579 insertions(+), 579 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f1061709/examples/src/main/java/org/gridgain/examples/ggfs/GgfsMapReduceExample.java
----------------------------------------------------------------------
diff --git 
a/examples/src/main/java/org/gridgain/examples/ggfs/GgfsMapReduceExample.java 
b/examples/src/main/java/org/gridgain/examples/ggfs/GgfsMapReduceExample.java
index 10913b0..2de576a 100644
--- 
a/examples/src/main/java/org/gridgain/examples/ggfs/GgfsMapReduceExample.java
+++ 
b/examples/src/main/java/org/gridgain/examples/ggfs/GgfsMapReduceExample.java
@@ -13,8 +13,8 @@ import org.apache.ignite.*;
 import org.apache.ignite.compute.*;
 import org.apache.ignite.fs.*;
 import org.apache.ignite.fs.mapreduce.*;
+import org.apache.ignite.fs.mapreduce.records.*;
 import org.gridgain.grid.*;
-import org.gridgain.grid.ggfs.mapreduce.records.*;
 
 import java.io.*;
 import java.util.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f1061709/modules/core/src/main/java/org/apache/ignite/fs/mapreduce/IgniteFsRecordResolver.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/fs/mapreduce/IgniteFsRecordResolver.java
 
b/modules/core/src/main/java/org/apache/ignite/fs/mapreduce/IgniteFsRecordResolver.java
index 3e347b7..3e96dcf 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/fs/mapreduce/IgniteFsRecordResolver.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/fs/mapreduce/IgniteFsRecordResolver.java
@@ -27,10 +27,10 @@ import java.io.*;
  * <p>
  * The following record resolvers are available out of the box:
  * <ul>
- *     <li>{@link 
org.gridgain.grid.ggfs.mapreduce.records.IgniteFsFixedLengthRecordResolver}</li>
- *     <li>{@link 
org.gridgain.grid.ggfs.mapreduce.records.IgniteFsByteDelimiterRecordResolver}</li>
- *     <li>{@link 
org.gridgain.grid.ggfs.mapreduce.records.IgniteFsStringDelimiterRecordResolver}</li>
- *     <li>{@link 
org.gridgain.grid.ggfs.mapreduce.records.IgniteFsNewLineRecordResolver}</li>
+ *     <li>{@link 
org.apache.ignite.fs.mapreduce.records.IgniteFsFixedLengthRecordResolver}</li>
+ *     <li>{@link 
org.apache.ignite.fs.mapreduce.records.IgniteFsByteDelimiterRecordResolver}</li>
+ *     <li>{@link 
org.apache.ignite.fs.mapreduce.records.IgniteFsStringDelimiterRecordResolver}</li>
+ *     <li>{@link 
org.apache.ignite.fs.mapreduce.records.IgniteFsNewLineRecordResolver}</li>
  * </ul>
  */
 public interface IgniteFsRecordResolver extends Serializable {

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f1061709/modules/core/src/main/java/org/apache/ignite/fs/mapreduce/records/IgniteFsByteDelimiterRecordResolver.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/fs/mapreduce/records/IgniteFsByteDelimiterRecordResolver.java
 
b/modules/core/src/main/java/org/apache/ignite/fs/mapreduce/records/IgniteFsByteDelimiterRecordResolver.java
new file mode 100644
index 0000000..0d35621
--- /dev/null
+++ 
b/modules/core/src/main/java/org/apache/ignite/fs/mapreduce/records/IgniteFsByteDelimiterRecordResolver.java
@@ -0,0 +1,340 @@
+/* @java.file.header */
+
+/*  _________        _____ __________________        _____
+ *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
+ *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
+ *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
+ *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
+ */
+
+package org.apache.ignite.fs.mapreduce.records;
+
+import org.apache.ignite.*;
+import org.apache.ignite.fs.*;
+import org.apache.ignite.fs.mapreduce.*;
+import org.apache.ignite.lang.*;
+import org.gridgain.grid.*;
+import org.gridgain.grid.util.typedef.*;
+import org.gridgain.grid.util.typedef.internal.*;
+import org.gridgain.grid.util.tostring.*;
+import org.jetbrains.annotations.*;
+
+import java.io.*;
+import java.util.*;
+
+/**
+ * Record resolver which adjusts records based on provided delimiters. Both 
start position and length are
+ * shifted to the right, based on delimiter positions.
+ * <p>
+ * Note that you can use {@link IgniteFsStringDelimiterRecordResolver} if your 
delimiter is a plain string.
+ */
+public class IgniteFsByteDelimiterRecordResolver implements 
IgniteFsRecordResolver, Externalizable {
+    /** */
+    private static final long serialVersionUID = 0L;
+
+    /** Delimiters. */
+    private byte[][] delims;
+
+    /** Maximum delimiter length. */
+    @GridToStringExclude
+    private int maxDelimLen;
+
+    /**
+     * Empty constructor required for {@link Externalizable} support.
+     */
+    public IgniteFsByteDelimiterRecordResolver() {
+        // No-op.
+    }
+
+    /**
+     * Creates delimiter-based record resolver.
+     *
+     * @param delims Delimiters.
+     */
+    public IgniteFsByteDelimiterRecordResolver(byte[]... delims) {
+        if (delims == null || delims.length == 0)
+            throw new IllegalArgumentException("Delimiters cannot be null or 
empty.");
+
+        this.delims = delims;
+
+        int maxDelimLen = 0;
+
+        for (byte[] delim : delims) {
+            if (delim == null)
+                throw new IllegalArgumentException("Delimiter cannot be 
null.");
+            else if (maxDelimLen < delim.length)
+                maxDelimLen = delim.length;
+        }
+
+        this.maxDelimLen = maxDelimLen;
+    }
+
+    /** {@inheritDoc} */
+    @Override public IgniteFsFileRange resolveRecords(IgniteFs ggfs, 
IgniteFsInputStream stream,
+        IgniteFsFileRange suggestedRecord) throws GridException, IOException {
+        long suggestedStart = suggestedRecord.start();
+        long suggestedEnd = suggestedStart + suggestedRecord.length();
+
+        IgniteBiTuple<State, Delimiter> firstDelim = 
findFirstDelimiter(stream, suggestedStart);
+
+        State state = firstDelim != null ? firstDelim.getKey() : new State();
+
+        Delimiter curDelim = firstDelim.getValue();
+
+        while (curDelim != null && curDelim.end < suggestedStart)
+            curDelim = nextDelimiter(stream, state);
+
+        if (curDelim != null && (curDelim.end >= suggestedStart && 
curDelim.end < suggestedEnd) ||
+            suggestedStart == 0 ) {
+            // We found start delimiter.
+            long start = suggestedStart == 0 ? 0 : curDelim.end;
+
+            if (curDelim == null || curDelim.end < suggestedEnd) {
+                IgniteBiTuple<State, Delimiter> lastDelim = 
findFirstDelimiter(stream, suggestedEnd);
+
+                state = lastDelim != null ? firstDelim.getKey() : new State();
+
+                curDelim = lastDelim.getValue();
+
+                while (curDelim != null && curDelim.end < suggestedEnd)
+                    curDelim = nextDelimiter(stream, state);
+            }
+
+            long end = curDelim != null ? curDelim.end : stream.position();
+
+            return new IgniteFsFileRange(suggestedRecord.path(), start, end - 
start);
+        }
+        else
+            // We failed to find any delimiters up to the EOS.
+            return null;
+    }
+
+    /**
+     * Calculate maximum delimiters length.
+     *
+     * @param delims Delimiters.
+     * @return Maximum delimiter length.
+     */
+    private int maxDelimiterLength(byte[][] delims) {
+        int maxDelimLen = 0;
+
+        for (byte[] delim : delims) {
+            if (delim == null)
+                throw new IllegalArgumentException("Delimiter cannot be 
null.");
+            else if (maxDelimLen < delim.length)
+                maxDelimLen = delim.length;
+        }
+
+        return maxDelimLen;
+    }
+
+    /**
+     * Find first delimiter. In order to achieve this we have to rewind the 
stream until we find the delimiter
+     * which stands at least [maxDelimLen] from the start search position or 
until we faced stream start.
+     * Otherwise we cannot be sure that delimiter position is determined 
correctly.
+     *
+     * @param stream GGFS input stream.
+     * @param startPos Start search position.
+     * @return The first found delimiter.
+     * @throws IOException In case of IO exception.
+     */
+    @Nullable private IgniteBiTuple<State, Delimiter> 
findFirstDelimiter(IgniteFsInputStream stream, long startPos)
+        throws IOException {
+        State state;
+        Delimiter delim;
+
+        long curPos = Math.max(0, startPos - maxDelimLen);
+
+        while (true) {
+            stream.seek(curPos);
+
+            state = new State();
+
+            delim = nextDelimiter(stream, state);
+
+            if (curPos == 0 || delim == null || delim.start - curPos > 
maxDelimLen - 1)
+                break;
+            else
+                curPos = Math.max(0, curPos - maxDelimLen);
+        }
+
+        return F.t(state, delim);
+    }
+
+    /**
+     * Resolve next delimiter.
+     *
+     * @param is GGFS input stream.
+     * @param state Current state.
+     * @return Next delimiter and updated map.
+     * @throws IOException In case of exception.
+     */
+    private Delimiter nextDelimiter(IgniteFsInputStream is, State state) 
throws IOException {
+        assert is != null;
+        assert state != null;
+
+        Map<Integer, Integer> parts = state.parts;
+        LinkedList<Delimiter> delimQueue = state.delims;
+
+        int nextByte = is.read();
+
+        while (nextByte != -1) {
+            // Process read byte.
+            for (int idx = 0; idx < delims.length; idx++) {
+                byte[] delim = delims[idx];
+
+                int val = parts.containsKey(idx) ? parts.get(idx) : 0;
+
+                if (delim[val] == nextByte) {
+                    if (val == delim.length - 1) {
+                        // Full delimiter is found.
+                        parts.remove(idx);
+
+                        Delimiter newDelim = new Delimiter(is.position() - 
delim.length, is.position());
+
+                        // Read queue from the end looking for the "inner" 
delimiters.
+                        boolean ignore = false;
+
+                        int replaceIdx = -1;
+
+                        for (int i = delimQueue.size() - 1; i >= 0; i--) {
+                            Delimiter prevDelim = delimQueue.get(i);
+
+                            if (prevDelim.start < newDelim.start) {
+                                if (prevDelim.end > newDelim.start) {
+                                    // Ignore this delimiter.
+                                    ignore = true;
+
+                                    break;
+                                }
+                            }
+                            else if (prevDelim.start == newDelim.start) {
+                                // Ok, we found matching delimiter.
+                                replaceIdx = i;
+
+                                break;
+                            }
+                        }
+
+                        if (!ignore) {
+                            if (replaceIdx >= 0)
+                                
delimQueue.removeAll(delimQueue.subList(replaceIdx, delimQueue.size()));
+
+                            delimQueue.add(newDelim);
+                        }
+                    }
+                    else
+                        parts.put(idx, ++val);
+                }
+                else if (val != 0) {
+                    if (delim[0] == nextByte) {
+                        boolean shift = true;
+
+                        for (int k = 1; k < val; k++) {
+                            if (delim[k] != nextByte) {
+                                shift = false;
+
+                                break;
+                            }
+                        }
+
+                        if (!shift)
+                            parts.put(idx, 1);
+                    }
+                    else
+                        // Delimiter sequence is totally broken.
+                        parts.remove(idx);
+                }
+            }
+
+            // Check whether we can be sure that the first delimiter will not 
change.
+            if (!delimQueue.isEmpty()) {
+                Delimiter delim = delimQueue.get(0);
+
+                if (is.position() - delim.end >= maxDelimLen)
+                    return delimQueue.poll();
+            }
+
+            nextByte = is.read();
+        }
+
+        return delimQueue.poll();
+    }
+
+    /** {@inheritDoc} */
+    @Override public String toString() {
+        return S.toString(IgniteFsByteDelimiterRecordResolver.class, this);
+    }
+
+    /** {@inheritDoc} */
+    @Override public void writeExternal(ObjectOutput out) throws IOException {
+        if (delims != null) {
+            out.writeBoolean(true);
+
+            out.writeInt(delims.length);
+
+            for (byte[] delim : delims)
+                U.writeByteArray(out, delim);
+        }
+        else
+            out.writeBoolean(false);
+    }
+
+    /** {@inheritDoc} */
+    @Override public void readExternal(ObjectInput in) throws IOException, 
ClassNotFoundException {
+        if (in.readBoolean()) {
+            int len = in.readInt();
+
+            delims = new byte[len][];
+
+            for (int i = 0; i < len; i++)
+                delims[i] = U.readByteArray(in);
+
+            maxDelimLen = maxDelimiterLength(delims);
+        }
+    }
+
+    /**
+     * Delimiter descriptor.
+     */
+    private static class Delimiter {
+        /** Delimiter start position. */
+        private final long start;
+
+        /** Delimiter end position. */
+        private final long end;
+
+        /**
+         * Constructor.
+         *
+         * @param start Delimiter start position.
+         * @param end Delimiter end position.
+         */
+        private Delimiter(long start, long end) {
+            assert start >= 0 && end >= 0 && start <= end;
+
+            this.start = start;
+            this.end = end;
+        }
+    }
+
+    /**
+     * Current resolution state.
+     */
+    private static class State {
+        /** Partially resolved delimiters. */
+        private final Map<Integer, Integer> parts;
+
+        /** Resolved delimiters which could potentially be merged. */
+        private final LinkedList<Delimiter> delims;
+
+        /**
+         * Constructor.
+         */
+        private State() {
+            parts = new HashMap<>();
+
+            delims = new LinkedList<>();
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f1061709/modules/core/src/main/java/org/apache/ignite/fs/mapreduce/records/IgniteFsFixedLengthRecordResolver.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/fs/mapreduce/records/IgniteFsFixedLengthRecordResolver.java
 
b/modules/core/src/main/java/org/apache/ignite/fs/mapreduce/records/IgniteFsFixedLengthRecordResolver.java
new file mode 100644
index 0000000..70091cf
--- /dev/null
+++ 
b/modules/core/src/main/java/org/apache/ignite/fs/mapreduce/records/IgniteFsFixedLengthRecordResolver.java
@@ -0,0 +1,79 @@
+/* @java.file.header */
+
+/*  _________        _____ __________________        _____
+ *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
+ *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
+ *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
+ *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
+ */
+
+package org.apache.ignite.fs.mapreduce.records;
+
+import org.apache.ignite.*;
+import org.apache.ignite.fs.*;
+import org.apache.ignite.fs.mapreduce.*;
+import org.gridgain.grid.*;
+import org.gridgain.grid.util.typedef.internal.*;
+
+import java.io.*;
+
+/**
+ * Record resolver which adjusts records to fixed length. That is, start 
offset of the record is shifted to the
+ * nearest position so that {@code newStart % length == 0}.
+ */
+public class IgniteFsFixedLengthRecordResolver implements 
IgniteFsRecordResolver, Externalizable {
+    /** */
+    private static final long serialVersionUID = 0L;
+
+    /** Record length. */
+    private long recLen;
+
+    /**
+     * Empty constructor required for {@link Externalizable} support.
+     */
+    public IgniteFsFixedLengthRecordResolver() {
+        // No-op.
+    }
+
+    /**
+     * Creates fixed-length record resolver.
+     *
+     * @param recLen Record length.
+     */
+    public IgniteFsFixedLengthRecordResolver(long recLen) {
+        this.recLen = recLen;
+    }
+
+    /** {@inheritDoc} */
+    @Override public IgniteFsFileRange resolveRecords(IgniteFs ggfs, 
IgniteFsInputStream stream,
+        IgniteFsFileRange suggestedRecord)
+        throws GridException, IOException {
+        long suggestedEnd = suggestedRecord.start() + suggestedRecord.length();
+
+        long startRem = suggestedRecord.start() % recLen;
+        long endRem = suggestedEnd % recLen;
+
+        long start = Math.min(suggestedRecord.start() + (startRem != 0 ? 
(recLen - startRem) : 0),
+            stream.length());
+        long end = Math.min(suggestedEnd + (endRem != 0 ? (recLen - endRem) : 
0), stream.length());
+
+        assert end >= start;
+
+        return start != end ? new IgniteFsFileRange(suggestedRecord.path(), 
start, end - start) : null;
+    }
+
+    /** {@inheritDoc} */
+    @Override public String toString() {
+        return S.toString(IgniteFsFixedLengthRecordResolver.class, this);
+    }
+
+    /** {@inheritDoc} */
+    @Override public void writeExternal(ObjectOutput out) throws IOException {
+        out.writeLong(recLen);
+    }
+
+    /** {@inheritDoc} */
+    @Override public void readExternal(ObjectInput in) throws IOException, 
ClassNotFoundException {
+        recLen = in.readLong();
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f1061709/modules/core/src/main/java/org/apache/ignite/fs/mapreduce/records/IgniteFsNewLineRecordResolver.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/fs/mapreduce/records/IgniteFsNewLineRecordResolver.java
 
b/modules/core/src/main/java/org/apache/ignite/fs/mapreduce/records/IgniteFsNewLineRecordResolver.java
new file mode 100644
index 0000000..14fbedd
--- /dev/null
+++ 
b/modules/core/src/main/java/org/apache/ignite/fs/mapreduce/records/IgniteFsNewLineRecordResolver.java
@@ -0,0 +1,58 @@
+/* @java.file.header */
+
+/*  _________        _____ __________________        _____
+ *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
+ *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
+ *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
+ *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
+ */
+
+package org.apache.ignite.fs.mapreduce.records;
+
+import org.gridgain.grid.util.typedef.internal.*;
+
+import java.io.*;
+
+/**
+ * Record resolver based on new line detection. This resolver can detect new 
lines based on '\n' or '\r\n' sequences.
+ * <p>
+ * Note that this resolver cannot be created and has one constant 
implementations: {@link #NEW_LINE}.
+ */
+public class IgniteFsNewLineRecordResolver extends 
IgniteFsByteDelimiterRecordResolver {
+    /** */
+    private static final long serialVersionUID = 0L;
+
+    /**
+     * Singleton new line resolver. This resolver will resolve records based 
on new lines
+     * regardless if they have '\n' or '\r\n' patterns.
+     */
+    public static final IgniteFsNewLineRecordResolver NEW_LINE = new 
IgniteFsNewLineRecordResolver(true);
+
+    /** CR symbol. */
+    public static final byte SYM_CR = 0x0D;
+
+    /** LF symbol. */
+    public static final byte SYM_LF = 0x0A;
+
+    /**
+     * Empty constructor required for {@link Externalizable} support.
+     */
+    public IgniteFsNewLineRecordResolver() {
+        // No-op.
+    }
+
+    /**
+     * Creates new-line record resolver.
+     *
+     * @param b Artificial flag to differentiate from empty constructor.
+     */
+    @SuppressWarnings("UnusedParameters")
+    private IgniteFsNewLineRecordResolver(boolean b) {
+        super(new byte[] { SYM_CR, SYM_LF }, new byte[] { SYM_LF });
+    }
+
+    /** {@inheritDoc} */
+    @Override public String toString() {
+        return S.toString(IgniteFsNewLineRecordResolver.class, this);
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f1061709/modules/core/src/main/java/org/apache/ignite/fs/mapreduce/records/IgniteFsStringDelimiterRecordResolver.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/fs/mapreduce/records/IgniteFsStringDelimiterRecordResolver.java
 
b/modules/core/src/main/java/org/apache/ignite/fs/mapreduce/records/IgniteFsStringDelimiterRecordResolver.java
new file mode 100644
index 0000000..c617529
--- /dev/null
+++ 
b/modules/core/src/main/java/org/apache/ignite/fs/mapreduce/records/IgniteFsStringDelimiterRecordResolver.java
@@ -0,0 +1,76 @@
+/* @java.file.header */
+
+/*  _________        _____ __________________        _____
+ *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
+ *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
+ *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
+ *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
+ */
+
+package org.apache.ignite.fs.mapreduce.records;
+
+import org.gridgain.grid.util.typedef.internal.*;
+import org.jetbrains.annotations.*;
+
+import java.io.*;
+import java.nio.charset.*;
+
+/**
+ * Record resolver based on delimiters represented as strings. Works in the 
same way as
+ * {@link IgniteFsByteDelimiterRecordResolver}, but uses strings as delimiters 
instead of byte arrays.
+ */
+public class IgniteFsStringDelimiterRecordResolver extends 
IgniteFsByteDelimiterRecordResolver {
+    /** */
+    private static final long serialVersionUID = 0L;
+
+    /**
+     * Converts string delimiters to byte delimiters.
+     *
+     * @param charset Charset.
+     * @param delims String delimiters.
+     * @return Byte delimiters.
+     */
+    @Nullable private static byte[][] toBytes(Charset charset, @Nullable 
String... delims) {
+        byte[][] res = null;
+
+        if (delims != null) {
+            res = new byte[delims.length][];
+
+            for (int i = 0; i < delims.length; i++)
+                res[i] = delims[i].getBytes(charset);
+        }
+
+        return res;
+    }
+
+    /**
+     * Empty constructor required for {@link Externalizable} support.
+     */
+    public IgniteFsStringDelimiterRecordResolver() {
+        // No-op.
+    }
+
+    /**
+     * Creates record resolver from given string and given charset.
+     *
+     * @param delims Delimiters.
+     * @param charset Charset.
+     */
+    public IgniteFsStringDelimiterRecordResolver(Charset charset, String... 
delims) {
+        super(toBytes(charset, delims));
+    }
+
+    /**
+     * Creates record resolver based on given string with default charset.
+     *
+     * @param delims Delimiters.
+     */
+    public IgniteFsStringDelimiterRecordResolver(String... delims) {
+        super(toBytes(Charset.defaultCharset(), delims));
+    }
+
+    /** {@inheritDoc} */
+    @Override public String toString() {
+        return S.toString(IgniteFsStringDelimiterRecordResolver.class, this);
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f1061709/modules/core/src/main/java/org/apache/ignite/fs/mapreduce/records/package.html
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/fs/mapreduce/records/package.html
 
b/modules/core/src/main/java/org/apache/ignite/fs/mapreduce/records/package.html
new file mode 100644
index 0000000..815ecd0
--- /dev/null
+++ 
b/modules/core/src/main/java/org/apache/ignite/fs/mapreduce/records/package.html
@@ -0,0 +1,15 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd";>
+<!--
+    @html.file.header
+    _________        _____ __________________        _____
+    __  ____/___________(_)______  /__  ____/______ ____(_)_______
+    _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
+    / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
+    \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
+-->
+<html>
+<body>
+    <!-- Package description. -->
+    Contains record resolvers for In-Memory MapReduce over GGFS.
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f1061709/modules/core/src/main/java/org/gridgain/grid/ggfs/mapreduce/records/IgniteFsByteDelimiterRecordResolver.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/ggfs/mapreduce/records/IgniteFsByteDelimiterRecordResolver.java
 
b/modules/core/src/main/java/org/gridgain/grid/ggfs/mapreduce/records/IgniteFsByteDelimiterRecordResolver.java
deleted file mode 100644
index 480e574..0000000
--- 
a/modules/core/src/main/java/org/gridgain/grid/ggfs/mapreduce/records/IgniteFsByteDelimiterRecordResolver.java
+++ /dev/null
@@ -1,340 +0,0 @@
-/* @java.file.header */
-
-/*  _________        _____ __________________        _____
- *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
- *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
- *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
- *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
- */
-
-package org.gridgain.grid.ggfs.mapreduce.records;
-
-import org.apache.ignite.*;
-import org.apache.ignite.fs.*;
-import org.apache.ignite.fs.mapreduce.*;
-import org.apache.ignite.lang.*;
-import org.gridgain.grid.*;
-import org.gridgain.grid.util.typedef.*;
-import org.gridgain.grid.util.typedef.internal.*;
-import org.gridgain.grid.util.tostring.*;
-import org.jetbrains.annotations.*;
-
-import java.io.*;
-import java.util.*;
-
-/**
- * Record resolver which adjusts records based on provided delimiters. Both 
start position and length are
- * shifted to the right, based on delimiter positions.
- * <p>
- * Note that you can use {@link IgniteFsStringDelimiterRecordResolver} if your 
delimiter is a plain string.
- */
-public class IgniteFsByteDelimiterRecordResolver implements 
IgniteFsRecordResolver, Externalizable {
-    /** */
-    private static final long serialVersionUID = 0L;
-
-    /** Delimiters. */
-    private byte[][] delims;
-
-    /** Maximum delimiter length. */
-    @GridToStringExclude
-    private int maxDelimLen;
-
-    /**
-     * Empty constructor required for {@link Externalizable} support.
-     */
-    public IgniteFsByteDelimiterRecordResolver() {
-        // No-op.
-    }
-
-    /**
-     * Creates delimiter-based record resolver.
-     *
-     * @param delims Delimiters.
-     */
-    public IgniteFsByteDelimiterRecordResolver(byte[]... delims) {
-        if (delims == null || delims.length == 0)
-            throw new IllegalArgumentException("Delimiters cannot be null or 
empty.");
-
-        this.delims = delims;
-
-        int maxDelimLen = 0;
-
-        for (byte[] delim : delims) {
-            if (delim == null)
-                throw new IllegalArgumentException("Delimiter cannot be 
null.");
-            else if (maxDelimLen < delim.length)
-                maxDelimLen = delim.length;
-        }
-
-        this.maxDelimLen = maxDelimLen;
-    }
-
-    /** {@inheritDoc} */
-    @Override public IgniteFsFileRange resolveRecords(IgniteFs ggfs, 
IgniteFsInputStream stream,
-        IgniteFsFileRange suggestedRecord) throws GridException, IOException {
-        long suggestedStart = suggestedRecord.start();
-        long suggestedEnd = suggestedStart + suggestedRecord.length();
-
-        IgniteBiTuple<State, Delimiter> firstDelim = 
findFirstDelimiter(stream, suggestedStart);
-
-        State state = firstDelim != null ? firstDelim.getKey() : new State();
-
-        Delimiter curDelim = firstDelim.getValue();
-
-        while (curDelim != null && curDelim.end < suggestedStart)
-            curDelim = nextDelimiter(stream, state);
-
-        if (curDelim != null && (curDelim.end >= suggestedStart && 
curDelim.end < suggestedEnd) ||
-            suggestedStart == 0 ) {
-            // We found start delimiter.
-            long start = suggestedStart == 0 ? 0 : curDelim.end;
-
-            if (curDelim == null || curDelim.end < suggestedEnd) {
-                IgniteBiTuple<State, Delimiter> lastDelim = 
findFirstDelimiter(stream, suggestedEnd);
-
-                state = lastDelim != null ? firstDelim.getKey() : new State();
-
-                curDelim = lastDelim.getValue();
-
-                while (curDelim != null && curDelim.end < suggestedEnd)
-                    curDelim = nextDelimiter(stream, state);
-            }
-
-            long end = curDelim != null ? curDelim.end : stream.position();
-
-            return new IgniteFsFileRange(suggestedRecord.path(), start, end - 
start);
-        }
-        else
-            // We failed to find any delimiters up to the EOS.
-            return null;
-    }
-
-    /**
-     * Calculate maximum delimiters length.
-     *
-     * @param delims Delimiters.
-     * @return Maximum delimiter length.
-     */
-    private int maxDelimiterLength(byte[][] delims) {
-        int maxDelimLen = 0;
-
-        for (byte[] delim : delims) {
-            if (delim == null)
-                throw new IllegalArgumentException("Delimiter cannot be 
null.");
-            else if (maxDelimLen < delim.length)
-                maxDelimLen = delim.length;
-        }
-
-        return maxDelimLen;
-    }
-
-    /**
-     * Find first delimiter. In order to achieve this we have to rewind the 
stream until we find the delimiter
-     * which stands at least [maxDelimLen] from the start search position or 
until we faced stream start.
-     * Otherwise we cannot be sure that delimiter position is determined 
correctly.
-     *
-     * @param stream GGFS input stream.
-     * @param startPos Start search position.
-     * @return The first found delimiter.
-     * @throws IOException In case of IO exception.
-     */
-    @Nullable private IgniteBiTuple<State, Delimiter> 
findFirstDelimiter(IgniteFsInputStream stream, long startPos)
-        throws IOException {
-        State state;
-        Delimiter delim;
-
-        long curPos = Math.max(0, startPos - maxDelimLen);
-
-        while (true) {
-            stream.seek(curPos);
-
-            state = new State();
-
-            delim = nextDelimiter(stream, state);
-
-            if (curPos == 0 || delim == null || delim.start - curPos > 
maxDelimLen - 1)
-                break;
-            else
-                curPos = Math.max(0, curPos - maxDelimLen);
-        }
-
-        return F.t(state, delim);
-    }
-
-    /**
-     * Resolve next delimiter.
-     *
-     * @param is GGFS input stream.
-     * @param state Current state.
-     * @return Next delimiter and updated map.
-     * @throws IOException In case of exception.
-     */
-    private Delimiter nextDelimiter(IgniteFsInputStream is, State state) 
throws IOException {
-        assert is != null;
-        assert state != null;
-
-        Map<Integer, Integer> parts = state.parts;
-        LinkedList<Delimiter> delimQueue = state.delims;
-
-        int nextByte = is.read();
-
-        while (nextByte != -1) {
-            // Process read byte.
-            for (int idx = 0; idx < delims.length; idx++) {
-                byte[] delim = delims[idx];
-
-                int val = parts.containsKey(idx) ? parts.get(idx) : 0;
-
-                if (delim[val] == nextByte) {
-                    if (val == delim.length - 1) {
-                        // Full delimiter is found.
-                        parts.remove(idx);
-
-                        Delimiter newDelim = new Delimiter(is.position() - 
delim.length, is.position());
-
-                        // Read queue from the end looking for the "inner" 
delimiters.
-                        boolean ignore = false;
-
-                        int replaceIdx = -1;
-
-                        for (int i = delimQueue.size() - 1; i >= 0; i--) {
-                            Delimiter prevDelim = delimQueue.get(i);
-
-                            if (prevDelim.start < newDelim.start) {
-                                if (prevDelim.end > newDelim.start) {
-                                    // Ignore this delimiter.
-                                    ignore = true;
-
-                                    break;
-                                }
-                            }
-                            else if (prevDelim.start == newDelim.start) {
-                                // Ok, we found matching delimiter.
-                                replaceIdx = i;
-
-                                break;
-                            }
-                        }
-
-                        if (!ignore) {
-                            if (replaceIdx >= 0)
-                                
delimQueue.removeAll(delimQueue.subList(replaceIdx, delimQueue.size()));
-
-                            delimQueue.add(newDelim);
-                        }
-                    }
-                    else
-                        parts.put(idx, ++val);
-                }
-                else if (val != 0) {
-                    if (delim[0] == nextByte) {
-                        boolean shift = true;
-
-                        for (int k = 1; k < val; k++) {
-                            if (delim[k] != nextByte) {
-                                shift = false;
-
-                                break;
-                            }
-                        }
-
-                        if (!shift)
-                            parts.put(idx, 1);
-                    }
-                    else
-                        // Delimiter sequence is totally broken.
-                        parts.remove(idx);
-                }
-            }
-
-            // Check whether we can be sure that the first delimiter will not 
change.
-            if (!delimQueue.isEmpty()) {
-                Delimiter delim = delimQueue.get(0);
-
-                if (is.position() - delim.end >= maxDelimLen)
-                    return delimQueue.poll();
-            }
-
-            nextByte = is.read();
-        }
-
-        return delimQueue.poll();
-    }
-
-    /** {@inheritDoc} */
-    @Override public String toString() {
-        return S.toString(IgniteFsByteDelimiterRecordResolver.class, this);
-    }
-
-    /** {@inheritDoc} */
-    @Override public void writeExternal(ObjectOutput out) throws IOException {
-        if (delims != null) {
-            out.writeBoolean(true);
-
-            out.writeInt(delims.length);
-
-            for (byte[] delim : delims)
-                U.writeByteArray(out, delim);
-        }
-        else
-            out.writeBoolean(false);
-    }
-
-    /** {@inheritDoc} */
-    @Override public void readExternal(ObjectInput in) throws IOException, 
ClassNotFoundException {
-        if (in.readBoolean()) {
-            int len = in.readInt();
-
-            delims = new byte[len][];
-
-            for (int i = 0; i < len; i++)
-                delims[i] = U.readByteArray(in);
-
-            maxDelimLen = maxDelimiterLength(delims);
-        }
-    }
-
-    /**
-     * Delimiter descriptor.
-     */
-    private static class Delimiter {
-        /** Delimiter start position. */
-        private final long start;
-
-        /** Delimiter end position. */
-        private final long end;
-
-        /**
-         * Constructor.
-         *
-         * @param start Delimiter start position.
-         * @param end Delimiter end position.
-         */
-        private Delimiter(long start, long end) {
-            assert start >= 0 && end >= 0 && start <= end;
-
-            this.start = start;
-            this.end = end;
-        }
-    }
-
-    /**
-     * Current resolution state.
-     */
-    private static class State {
-        /** Partially resolved delimiters. */
-        private final Map<Integer, Integer> parts;
-
-        /** Resolved delimiters which could potentially be merged. */
-        private final LinkedList<Delimiter> delims;
-
-        /**
-         * Constructor.
-         */
-        private State() {
-            parts = new HashMap<>();
-
-            delims = new LinkedList<>();
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f1061709/modules/core/src/main/java/org/gridgain/grid/ggfs/mapreduce/records/IgniteFsFixedLengthRecordResolver.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/ggfs/mapreduce/records/IgniteFsFixedLengthRecordResolver.java
 
b/modules/core/src/main/java/org/gridgain/grid/ggfs/mapreduce/records/IgniteFsFixedLengthRecordResolver.java
deleted file mode 100644
index b360483..0000000
--- 
a/modules/core/src/main/java/org/gridgain/grid/ggfs/mapreduce/records/IgniteFsFixedLengthRecordResolver.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/* @java.file.header */
-
-/*  _________        _____ __________________        _____
- *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
- *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
- *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
- *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
- */
-
-package org.gridgain.grid.ggfs.mapreduce.records;
-
-import org.apache.ignite.*;
-import org.apache.ignite.fs.*;
-import org.apache.ignite.fs.mapreduce.*;
-import org.gridgain.grid.*;
-import org.gridgain.grid.util.typedef.internal.*;
-
-import java.io.*;
-
-/**
- * Record resolver which adjusts records to fixed length. That is, start 
offset of the record is shifted to the
- * nearest position so that {@code newStart % length == 0}.
- */
-public class IgniteFsFixedLengthRecordResolver implements 
IgniteFsRecordResolver, Externalizable {
-    /** */
-    private static final long serialVersionUID = 0L;
-
-    /** Record length. */
-    private long recLen;
-
-    /**
-     * Empty constructor required for {@link Externalizable} support.
-     */
-    public IgniteFsFixedLengthRecordResolver() {
-        // No-op.
-    }
-
-    /**
-     * Creates fixed-length record resolver.
-     *
-     * @param recLen Record length.
-     */
-    public IgniteFsFixedLengthRecordResolver(long recLen) {
-        this.recLen = recLen;
-    }
-
-    /** {@inheritDoc} */
-    @Override public IgniteFsFileRange resolveRecords(IgniteFs ggfs, 
IgniteFsInputStream stream,
-        IgniteFsFileRange suggestedRecord)
-        throws GridException, IOException {
-        long suggestedEnd = suggestedRecord.start() + suggestedRecord.length();
-
-        long startRem = suggestedRecord.start() % recLen;
-        long endRem = suggestedEnd % recLen;
-
-        long start = Math.min(suggestedRecord.start() + (startRem != 0 ? 
(recLen - startRem) : 0),
-            stream.length());
-        long end = Math.min(suggestedEnd + (endRem != 0 ? (recLen - endRem) : 
0), stream.length());
-
-        assert end >= start;
-
-        return start != end ? new IgniteFsFileRange(suggestedRecord.path(), 
start, end - start) : null;
-    }
-
-    /** {@inheritDoc} */
-    @Override public String toString() {
-        return S.toString(IgniteFsFixedLengthRecordResolver.class, this);
-    }
-
-    /** {@inheritDoc} */
-    @Override public void writeExternal(ObjectOutput out) throws IOException {
-        out.writeLong(recLen);
-    }
-
-    /** {@inheritDoc} */
-    @Override public void readExternal(ObjectInput in) throws IOException, 
ClassNotFoundException {
-        recLen = in.readLong();
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f1061709/modules/core/src/main/java/org/gridgain/grid/ggfs/mapreduce/records/IgniteFsNewLineRecordResolver.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/ggfs/mapreduce/records/IgniteFsNewLineRecordResolver.java
 
b/modules/core/src/main/java/org/gridgain/grid/ggfs/mapreduce/records/IgniteFsNewLineRecordResolver.java
deleted file mode 100644
index 81f359e..0000000
--- 
a/modules/core/src/main/java/org/gridgain/grid/ggfs/mapreduce/records/IgniteFsNewLineRecordResolver.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/* @java.file.header */
-
-/*  _________        _____ __________________        _____
- *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
- *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
- *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
- *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
- */
-
-package org.gridgain.grid.ggfs.mapreduce.records;
-
-import org.gridgain.grid.util.typedef.internal.*;
-
-import java.io.*;
-
-/**
- * Record resolver based on new line detection. This resolver can detect new 
lines based on '\n' or '\r\n' sequences.
- * <p>
- * Note that this resolver cannot be created and has one constant 
implementations: {@link #NEW_LINE}.
- */
-public class IgniteFsNewLineRecordResolver extends 
IgniteFsByteDelimiterRecordResolver {
-    /** */
-    private static final long serialVersionUID = 0L;
-
-    /**
-     * Singleton new line resolver. This resolver will resolve records based 
on new lines
-     * regardless if they have '\n' or '\r\n' patterns.
-     */
-    public static final IgniteFsNewLineRecordResolver NEW_LINE = new 
IgniteFsNewLineRecordResolver(true);
-
-    /** CR symbol. */
-    public static final byte SYM_CR = 0x0D;
-
-    /** LF symbol. */
-    public static final byte SYM_LF = 0x0A;
-
-    /**
-     * Empty constructor required for {@link Externalizable} support.
-     */
-    public IgniteFsNewLineRecordResolver() {
-        // No-op.
-    }
-
-    /**
-     * Creates new-line record resolver.
-     *
-     * @param b Artificial flag to differentiate from empty constructor.
-     */
-    @SuppressWarnings("UnusedParameters")
-    private IgniteFsNewLineRecordResolver(boolean b) {
-        super(new byte[] { SYM_CR, SYM_LF }, new byte[] { SYM_LF });
-    }
-
-    /** {@inheritDoc} */
-    @Override public String toString() {
-        return S.toString(IgniteFsNewLineRecordResolver.class, this);
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f1061709/modules/core/src/main/java/org/gridgain/grid/ggfs/mapreduce/records/IgniteFsStringDelimiterRecordResolver.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/ggfs/mapreduce/records/IgniteFsStringDelimiterRecordResolver.java
 
b/modules/core/src/main/java/org/gridgain/grid/ggfs/mapreduce/records/IgniteFsStringDelimiterRecordResolver.java
deleted file mode 100644
index 3a42333..0000000
--- 
a/modules/core/src/main/java/org/gridgain/grid/ggfs/mapreduce/records/IgniteFsStringDelimiterRecordResolver.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/* @java.file.header */
-
-/*  _________        _____ __________________        _____
- *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
- *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
- *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
- *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
- */
-
-package org.gridgain.grid.ggfs.mapreduce.records;
-
-import org.gridgain.grid.util.typedef.internal.*;
-import org.jetbrains.annotations.*;
-
-import java.io.*;
-import java.nio.charset.*;
-
-/**
- * Record resolver based on delimiters represented as strings. Works in the 
same way as
- * {@link IgniteFsByteDelimiterRecordResolver}, but uses strings as delimiters 
instead of byte arrays.
- */
-public class IgniteFsStringDelimiterRecordResolver extends 
IgniteFsByteDelimiterRecordResolver {
-    /** */
-    private static final long serialVersionUID = 0L;
-
-    /**
-     * Converts string delimiters to byte delimiters.
-     *
-     * @param charset Charset.
-     * @param delims String delimiters.
-     * @return Byte delimiters.
-     */
-    @Nullable private static byte[][] toBytes(Charset charset, @Nullable 
String... delims) {
-        byte[][] res = null;
-
-        if (delims != null) {
-            res = new byte[delims.length][];
-
-            for (int i = 0; i < delims.length; i++)
-                res[i] = delims[i].getBytes(charset);
-        }
-
-        return res;
-    }
-
-    /**
-     * Empty constructor required for {@link Externalizable} support.
-     */
-    public IgniteFsStringDelimiterRecordResolver() {
-        // No-op.
-    }
-
-    /**
-     * Creates record resolver from given string and given charset.
-     *
-     * @param delims Delimiters.
-     * @param charset Charset.
-     */
-    public IgniteFsStringDelimiterRecordResolver(Charset charset, String... 
delims) {
-        super(toBytes(charset, delims));
-    }
-
-    /**
-     * Creates record resolver based on given string with default charset.
-     *
-     * @param delims Delimiters.
-     */
-    public IgniteFsStringDelimiterRecordResolver(String... delims) {
-        super(toBytes(Charset.defaultCharset(), delims));
-    }
-
-    /** {@inheritDoc} */
-    @Override public String toString() {
-        return S.toString(IgniteFsStringDelimiterRecordResolver.class, this);
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f1061709/modules/core/src/main/java/org/gridgain/grid/ggfs/mapreduce/records/package.html
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/ggfs/mapreduce/records/package.html
 
b/modules/core/src/main/java/org/gridgain/grid/ggfs/mapreduce/records/package.html
deleted file mode 100644
index 815ecd0..0000000
--- 
a/modules/core/src/main/java/org/gridgain/grid/ggfs/mapreduce/records/package.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd";>
-<!--
-    @html.file.header
-    _________        _____ __________________        _____
-    __  ____/___________(_)______  /__  ____/______ ____(_)_______
-    _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
-    / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
-    \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
--->
-<html>
-<body>
-    <!-- Package description. -->
-    Contains record resolvers for In-Memory MapReduce over GGFS.
-</body>
-</html>

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f1061709/modules/core/src/test/java/org/gridgain/grid/kernal/processors/ggfs/GridGgfsTaskSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/ggfs/GridGgfsTaskSelfTest.java
 
b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/ggfs/GridGgfsTaskSelfTest.java
index c6d6f24..89e814c 100644
--- 
a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/ggfs/GridGgfsTaskSelfTest.java
+++ 
b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/ggfs/GridGgfsTaskSelfTest.java
@@ -14,11 +14,11 @@ import org.apache.ignite.compute.*;
 import org.apache.ignite.configuration.*;
 import org.apache.ignite.fs.*;
 import org.apache.ignite.fs.mapreduce.*;
+import org.apache.ignite.fs.mapreduce.records.*;
 import org.apache.ignite.lang.*;
 import org.apache.ignite.resources.*;
 import org.gridgain.grid.*;
 import org.gridgain.grid.cache.*;
-import org.gridgain.grid.ggfs.mapreduce.records.*;
 import org.gridgain.grid.spi.discovery.tcp.*;
 import org.gridgain.grid.spi.discovery.tcp.ipfinder.*;
 import org.gridgain.grid.spi.discovery.tcp.ipfinder.vm.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f1061709/modules/core/src/test/java/org/gridgain/grid/kernal/processors/ggfs/split/GridGgfsByteDelimiterRecordResolverSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/ggfs/split/GridGgfsByteDelimiterRecordResolverSelfTest.java
 
b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/ggfs/split/GridGgfsByteDelimiterRecordResolverSelfTest.java
index bd9712a..193d61b 100644
--- 
a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/ggfs/split/GridGgfsByteDelimiterRecordResolverSelfTest.java
+++ 
b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/ggfs/split/GridGgfsByteDelimiterRecordResolverSelfTest.java
@@ -11,7 +11,7 @@ package org.gridgain.grid.kernal.processors.ggfs.split;
 
 import org.apache.ignite.fs.*;
 import org.apache.ignite.fs.mapreduce.*;
-import org.gridgain.grid.ggfs.mapreduce.records.*;
+import org.apache.ignite.fs.mapreduce.records.*;
 import org.gridgain.grid.util.typedef.*;
 
 /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f1061709/modules/core/src/test/java/org/gridgain/grid/kernal/processors/ggfs/split/GridGgfsFixedLengthRecordResolverSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/ggfs/split/GridGgfsFixedLengthRecordResolverSelfTest.java
 
b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/ggfs/split/GridGgfsFixedLengthRecordResolverSelfTest.java
index 7bebc96..cdc89e1 100644
--- 
a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/ggfs/split/GridGgfsFixedLengthRecordResolverSelfTest.java
+++ 
b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/ggfs/split/GridGgfsFixedLengthRecordResolverSelfTest.java
@@ -11,7 +11,7 @@ package org.gridgain.grid.kernal.processors.ggfs.split;
 
 import org.apache.ignite.fs.*;
 import org.apache.ignite.fs.mapreduce.*;
-import org.gridgain.grid.ggfs.mapreduce.records.*;
+import org.apache.ignite.fs.mapreduce.records.*;
 import org.gridgain.grid.util.typedef.*;
 
 /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f1061709/modules/core/src/test/java/org/gridgain/grid/kernal/processors/ggfs/split/GridGgfsNewLineDelimiterRecordResolverSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/ggfs/split/GridGgfsNewLineDelimiterRecordResolverSelfTest.java
 
b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/ggfs/split/GridGgfsNewLineDelimiterRecordResolverSelfTest.java
index 93d7286..c7b8544 100644
--- 
a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/ggfs/split/GridGgfsNewLineDelimiterRecordResolverSelfTest.java
+++ 
b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/ggfs/split/GridGgfsNewLineDelimiterRecordResolverSelfTest.java
@@ -11,10 +11,10 @@ package org.gridgain.grid.kernal.processors.ggfs.split;
 
 import org.apache.ignite.fs.*;
 import org.apache.ignite.fs.mapreduce.*;
-import org.gridgain.grid.ggfs.mapreduce.records.*;
+import org.apache.ignite.fs.mapreduce.records.*;
 import org.gridgain.grid.util.typedef.*;
 
-import static 
org.gridgain.grid.ggfs.mapreduce.records.IgniteFsNewLineRecordResolver.*;
+import static 
org.apache.ignite.fs.mapreduce.records.IgniteFsNewLineRecordResolver.*;
 
 /**
  * New line split resolver self test.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f1061709/modules/core/src/test/java/org/gridgain/grid/kernal/processors/ggfs/split/GridGgfsStringDelimiterRecordResolverSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/ggfs/split/GridGgfsStringDelimiterRecordResolverSelfTest.java
 
b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/ggfs/split/GridGgfsStringDelimiterRecordResolverSelfTest.java
index efa044a..c9e1fd9 100644
--- 
a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/ggfs/split/GridGgfsStringDelimiterRecordResolverSelfTest.java
+++ 
b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/ggfs/split/GridGgfsStringDelimiterRecordResolverSelfTest.java
@@ -11,7 +11,7 @@ package org.gridgain.grid.kernal.processors.ggfs.split;
 
 import org.apache.ignite.fs.*;
 import org.apache.ignite.fs.mapreduce.*;
-import org.gridgain.grid.ggfs.mapreduce.records.*;
+import org.apache.ignite.fs.mapreduce.records.*;
 import org.gridgain.grid.util.typedef.*;
 
 import java.nio.charset.*;

Reply via email to