@@ -0,0 +1,2048 @@
+package innovimax.mixthem.operation;%0A%0Aimport innovimax.mixthem.MixException;%0Aimport innovimax.mixthem.arguments.RuleParam;%0Aimport innovimax.mixthem.arguments.ParamValue;%0A%0Aimport java.util.Arrays;%0Aimport java.util.Collections;%0Aimport java.util.Iterator;%0Aimport java.util.List;%0Aimport java.util.Map;%0A%0A/**%0A* %3Cp%3EZips two lines cell by cell.%3C/p%3E%0A* @see ILineOperation%0A* @author Innovimax%0A* @version 1.0%0A*/%0Apublic class DefaultCellZipping extends DefaultLineZipping %7B%0A%09%0A%09/**%0A%09* Constructor%09%0A %09* @param params The list of parameters (maybe empty)%0A%09* @see innovimax.mixthem.arguments.RuleParam%0A%09* @see innovimax.mixthem.arguments.ParamValue%0A%09*/%0A%09public DefaultCellZipping(final Map%3CRuleParam, ParamValue%3E params) %7B%0A%09%09super(params);%09%09%0A%09%7D%0A%09%0A%09@Override%0A%09public void process(final String line1, final String line2, final LineResult result) throws MixException %7B%0A%09%09result.reset();%0A%09%09final Iterator%3CString%3E iterator1 = line1 != null ? Arrays.asList(line1.split(CellOperation.DEFAULT_SPLIT_CELL_REGEX.getValue().asString())).iterator() : Collections.emptyIterator();%0A%09%09final Iterator%3CString%3E iterator2 = line2 != null ? Arrays.asList(line2.split(CellOperation.DEFAULT_SPLIT_CELL_REGEX.getValue().asString())).iterator() : Collections.emptyIterator();%0A%09%09final StringBuffer buf = new StringBuffer();%0A%09%09while (iterator1.hasNext() %7C%7C iterator2.hasNext()) %7B%0A%09%09%09final String cell1 = iterator1.hasNext() ? iterator1.next() : %22%22;%0A%09%09%09final String cell2 = iterator2.hasNext() ? iterator2.next() : %22%22;%0A%09%09%09if (buf.length() %3E 0) %7B%0A%09%09%09%09buf.append(CellOperation.DEFAULT_CELL_SEPARATOR.getValue().asString());%0A%09%09%09%7D%0A%09%09%09buf.append(cell1 + this.sep + cell2);%0A%09%09%7D%0A%09%09result.setResult(buf.toString());%0A%09%7D%0A%09%0A%09@Override%0A%09public void process(final List%3CString%3E lineRange, final LineResult result) throws MixException %7B%0A%09%09//process(lineRange.get(0), lineRange.get(1), result);%0A%09%09result.reset();%0A%09%09System.out.println(%22RANGE=%22+lineRange.toString());%0A%09%09//if (cellZipable(lineRange)) %7B%0A%09%09%09//TODO%0A%09%09//%7D%0A%09%7D%0A%0A%09/*private boolean cellZipable(final List%3CString%3E lineRange) %7B%0A%09%09return false;%0A%09%7D*/%0A%0A%7D%0A

Create DefaultCellZipping.java