Skip to content
Snippets Groups Projects
Commit dc56cf50 authored by felmer's avatar felmer
Browse files

LMS-1231 TableModel refactored to allow ImageTableCell. Using ImageTableCell...

LMS-1231 TableModel refactored to allow ImageTableCell. Using ImageTableCell in demo reporting plugin

SVN: 13022
parent dff11e09
No related branches found
No related tags found
No related merge requests found
Showing with 135 additions and 74 deletions
...@@ -25,6 +25,8 @@ import java.util.Properties; ...@@ -25,6 +25,8 @@ import java.util.Properties;
import ch.systemsx.cisd.openbis.dss.generic.server.plugins.standard.AbstractDatastorePlugin; import ch.systemsx.cisd.openbis.dss.generic.server.plugins.standard.AbstractDatastorePlugin;
import ch.systemsx.cisd.openbis.dss.generic.server.plugins.tasks.IReportingPluginTask; import ch.systemsx.cisd.openbis.dss.generic.server.plugins.tasks.IReportingPluginTask;
import ch.systemsx.cisd.openbis.dss.generic.server.plugins.tasks.SimpleTableModelBuilder; import ch.systemsx.cisd.openbis.dss.generic.server.plugins.tasks.SimpleTableModelBuilder;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ISerializableComparable;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.StringTableCell;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.TableModel; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.TableModel;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.TableModel.TableModelColumnType; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.TableModel.TableModelColumnType;
import ch.systemsx.cisd.openbis.generic.shared.dto.DatasetDescription; import ch.systemsx.cisd.openbis.generic.shared.dto.DatasetDescription;
...@@ -54,7 +56,9 @@ public class DatasetModificationReportingPlugin extends AbstractDatastorePlugin ...@@ -54,7 +56,9 @@ public class DatasetModificationReportingPlugin extends AbstractDatastorePlugin
{ {
File file = getDataSubDir(dataset); File file = getDataSubDir(dataset);
String datasetCode = dataset.getDatasetCode(); String datasetCode = dataset.getDatasetCode();
List<String> row = Arrays.asList(datasetCode, new Date(file.lastModified()).toString()); List<ISerializableComparable> row =
Arrays.<ISerializableComparable> asList(new StringTableCell(datasetCode),
new StringTableCell(new Date(file.lastModified()).toString()));
builder.addRow(row); builder.addRow(row);
} }
return builder.getTableModel(); return builder.getTableModel();
......
...@@ -27,6 +27,10 @@ import ch.systemsx.cisd.common.filesystem.FileUtilities; ...@@ -27,6 +27,10 @@ import ch.systemsx.cisd.common.filesystem.FileUtilities;
import ch.systemsx.cisd.openbis.dss.generic.server.plugins.standard.AbstractDatastorePlugin; import ch.systemsx.cisd.openbis.dss.generic.server.plugins.standard.AbstractDatastorePlugin;
import ch.systemsx.cisd.openbis.dss.generic.server.plugins.tasks.IReportingPluginTask; import ch.systemsx.cisd.openbis.dss.generic.server.plugins.tasks.IReportingPluginTask;
import ch.systemsx.cisd.openbis.dss.generic.server.plugins.tasks.SimpleTableModelBuilder; import ch.systemsx.cisd.openbis.dss.generic.server.plugins.tasks.SimpleTableModelBuilder;
import ch.systemsx.cisd.openbis.dss.generic.shared.utils.ImageUtil;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ISerializableComparable;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ImageTableCell;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.StringTableCell;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.TableModel; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.TableModel;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.TableModel.TableModelColumnType; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.TableModel.TableModelColumnType;
import ch.systemsx.cisd.openbis.generic.shared.dto.DatasetDescription; import ch.systemsx.cisd.openbis.generic.shared.dto.DatasetDescription;
...@@ -48,7 +52,8 @@ public class DemoReportingPlugin extends AbstractDatastorePlugin implements IRep ...@@ -48,7 +52,8 @@ public class DemoReportingPlugin extends AbstractDatastorePlugin implements IRep
public TableModel createReport(List<DatasetDescription> datasets) public TableModel createReport(List<DatasetDescription> datasets)
{ {
SimpleTableModelBuilder builder = new SimpleTableModelBuilder(); SimpleTableModelBuilder builder = new SimpleTableModelBuilder();
builder.addHeader("Dataset code", TableModelColumnType.TEXT); builder.addHeader("Dataset Code", TableModelColumnType.TEXT);
builder.addHeader("Thumbnail", TableModelColumnType.THUMBNAIL);
builder.addHeader("Name", TableModelColumnType.TEXT); builder.addHeader("Name", TableModelColumnType.TEXT);
builder.addHeader("Size", TableModelColumnType.INTEGER); builder.addHeader("Size", TableModelColumnType.INTEGER);
for (DatasetDescription dataset : datasets) for (DatasetDescription dataset : datasets)
...@@ -83,15 +88,33 @@ public class DemoReportingPlugin extends AbstractDatastorePlugin implements IRep ...@@ -83,15 +88,33 @@ public class DemoReportingPlugin extends AbstractDatastorePlugin implements IRep
private void describeUnknown(SimpleTableModelBuilder builder, DatasetDescription dataset, File file) private void describeUnknown(SimpleTableModelBuilder builder, DatasetDescription dataset, File file)
{ {
String datasetCode = dataset.getDatasetCode(); String datasetCode = dataset.getDatasetCode();
List<String> row = Arrays.asList(datasetCode, file.getName(), "[does not exist]"); ISerializableComparable image = createImageCell(dataset, file);
List<ISerializableComparable> row =
Arrays.<ISerializableComparable> asList(new StringTableCell(datasetCode), image,
new StringTableCell(file.getName()),
new StringTableCell("[does not exist]"));
builder.addRow(row); builder.addRow(row);
} }
private static ISerializableComparable createImageCell(DatasetDescription dataset, File file)
{
if (ImageUtil.isImageFile(file))
{
String code = dataset.getDatasetCode();
String location = dataset.getDataSetLocation();
return new ImageTableCell(code, location, file.getPath(), 100, 60);
}
return new StringTableCell(file.getName());
}
private static void describeFile(SimpleTableModelBuilder builder, DatasetDescription dataset, private static void describeFile(SimpleTableModelBuilder builder, DatasetDescription dataset,
File file) File file)
{ {
List<String> row = ISerializableComparable image = createImageCell(dataset, file);
Arrays.asList(dataset.getDatasetCode(), file.getName(), "" + getSize(file)); List<ISerializableComparable> row =
Arrays.<ISerializableComparable> asList(new StringTableCell(dataset
.getDatasetCode()), image, new StringTableCell(file.getName()),
new StringTableCell("" + getSize(file)));
builder.addRow(row); builder.addRow(row);
} }
......
...@@ -21,7 +21,6 @@ import java.io.FileReader; ...@@ -21,7 +21,6 @@ import java.io.FileReader;
import java.io.IOException; import java.io.IOException;
import java.io.Reader; import java.io.Reader;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.Properties; import java.util.Properties;
...@@ -35,6 +34,8 @@ import ch.systemsx.cisd.common.parser.ParsingException; ...@@ -35,6 +34,8 @@ import ch.systemsx.cisd.common.parser.ParsingException;
import ch.systemsx.cisd.openbis.dss.generic.server.plugins.tasks.DatasetFileLines; import ch.systemsx.cisd.openbis.dss.generic.server.plugins.tasks.DatasetFileLines;
import ch.systemsx.cisd.openbis.dss.generic.server.plugins.tasks.IReportingPluginTask; import ch.systemsx.cisd.openbis.dss.generic.server.plugins.tasks.IReportingPluginTask;
import ch.systemsx.cisd.openbis.dss.generic.server.plugins.tasks.SimpleTableModelBuilder; import ch.systemsx.cisd.openbis.dss.generic.server.plugins.tasks.SimpleTableModelBuilder;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ISerializableComparable;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.StringTableCell;
import ch.systemsx.cisd.openbis.generic.shared.dto.DatasetDescription; import ch.systemsx.cisd.openbis.generic.shared.dto.DatasetDescription;
/** /**
...@@ -90,9 +91,12 @@ public abstract class AbstractDataMergingReportingPlugin extends AbstractDatasto ...@@ -90,9 +91,12 @@ public abstract class AbstractDataMergingReportingPlugin extends AbstractDatasto
protected static void addDataRow(SimpleTableModelBuilder builder, String datasetCode, protected static void addDataRow(SimpleTableModelBuilder builder, String datasetCode,
String[] dataTokens) String[] dataTokens)
{ {
List<String> row = new ArrayList<String>(); List<ISerializableComparable> row = new ArrayList<ISerializableComparable>();
row.add(datasetCode); row.add(new StringTableCell(datasetCode));
row.addAll(Arrays.asList(dataTokens)); for (String token : dataTokens)
{
row.add(new StringTableCell(token));
}
builder.addRow(row); builder.addRow(row);
} }
......
...@@ -30,6 +30,8 @@ import org.apache.log4j.Logger; ...@@ -30,6 +30,8 @@ import org.apache.log4j.Logger;
import ch.systemsx.cisd.common.logging.LogCategory; import ch.systemsx.cisd.common.logging.LogCategory;
import ch.systemsx.cisd.common.logging.LogFactory; import ch.systemsx.cisd.common.logging.LogFactory;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ISerializableComparable;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.StringTableCell;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.TableModel; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.TableModel;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.TableModelRow; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.TableModelRow;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.TableModel.TableModelColumnHeader; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.TableModel.TableModelColumnHeader;
...@@ -180,11 +182,11 @@ public class IterativeTableModelBuilder ...@@ -180,11 +182,11 @@ public class IterativeTableModelBuilder
} }
for (String rowId : rowIdentifiers) for (String rowId : rowIdentifiers)
{ {
final List<String> rowValues = new ArrayList<String>(headers.size()); final List<ISerializableComparable> rowValues = new ArrayList<ISerializableComparable>(headers.size());
for (TableModelColumnHeader header : headers) for (TableModelColumnHeader header : headers)
{ {
final String valueOrNull = columnMap.get(header.getTitle()).get(rowId); final String valueOrNull = columnMap.get(header.getTitle()).get(rowId);
rowValues.add((valueOrNull == null) ? "" : valueOrNull); rowValues.add(new StringTableCell((valueOrNull == null) ? "" : valueOrNull));
} }
rows.add(new TableModelRow(rowValues)); rows.add(new TableModelRow(rowValues));
} }
......
...@@ -19,6 +19,7 @@ package ch.systemsx.cisd.openbis.dss.generic.server.plugins.tasks; ...@@ -19,6 +19,7 @@ package ch.systemsx.cisd.openbis.dss.generic.server.plugins.tasks;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ISerializableComparable;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.TableModel; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.TableModel;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.TableModelRow; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.TableModelRow;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.TableModel.TableModelColumnHeader; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.TableModel.TableModelColumnHeader;
...@@ -46,7 +47,7 @@ public class SimpleTableModelBuilder ...@@ -46,7 +47,7 @@ public class SimpleTableModelBuilder
header.add(new TableModelColumnHeader(title, type, header.size())); header.add(new TableModelColumnHeader(title, type, header.size()));
} }
public void addRow(List<String> values) public void addRow(List<ISerializableComparable> values)
{ {
assert values.size() == header.size() : "header has different number of columns than a row"; assert values.size() == header.size() : "header has different number of columns than a row";
rows.add(new TableModelRow(values)); rows.add(new TableModelRow(values));
......
...@@ -20,6 +20,10 @@ import java.awt.Graphics2D; ...@@ -20,6 +20,10 @@ import java.awt.Graphics2D;
import java.awt.RenderingHints; import java.awt.RenderingHints;
import java.awt.image.BufferedImage; import java.awt.image.BufferedImage;
import java.io.File; import java.io.File;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashSet;
import java.util.Set;
import javax.media.jai.JAI; import javax.media.jai.JAI;
import javax.media.jai.PlanarImage; import javax.media.jai.PlanarImage;
...@@ -31,6 +35,28 @@ import javax.media.jai.PlanarImage; ...@@ -31,6 +35,28 @@ import javax.media.jai.PlanarImage;
*/ */
public class ImageUtil public class ImageUtil
{ {
private static final Set<String> FILE_TYPES =
Collections.unmodifiableSet(new HashSet<String>(Arrays.asList("gif", "jpg", "jpeg",
"tif", "tiff")));
/**
* Returns <code>true</code> if the specified file is a supported image file. Supported formats
* are GIF, JPG, PNG, TIFF. Only file type is taken into account for figuring out the image
* format. Following file types are recognized:
* <code>.gif, .jpg, .jpeg, .png, .tif, .tiff</code>
*/
public static boolean isImageFile(File file)
{
String name = file.getName();
int lastIndexOfDot = name.lastIndexOf('.');
if (lastIndexOfDot < 0)
{
return false;
}
String fileType = name.substring(lastIndexOfDot + 1).toLowerCase();
return FILE_TYPES.contains(fileType);
}
/** /**
* Loads an image from specified file. Supported file formats are GIF, JPG, PNG, and TIFF. * Loads an image from specified file. Supported file formats are GIF, JPG, PNG, and TIFF.
* *
......
...@@ -26,6 +26,7 @@ import org.testng.annotations.BeforeTest; ...@@ -26,6 +26,7 @@ import org.testng.annotations.BeforeTest;
import org.testng.annotations.Test; import org.testng.annotations.Test;
import ch.systemsx.cisd.common.logging.LogInitializer; import ch.systemsx.cisd.common.logging.LogInitializer;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ISerializableComparable;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.TableModel; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.TableModel;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.TableModelRow; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.TableModelRow;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.TableModel.TableModelColumnHeader; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.TableModel.TableModelColumnHeader;
...@@ -62,18 +63,18 @@ public class IterativeTableModelBuilderTest ...@@ -62,18 +63,18 @@ public class IterativeTableModelBuilderTest
assertEquals(1, headers.get(1).getIndex()); assertEquals(1, headers.get(1).getIndex());
final List<TableModelRow> rows = model.getRows(); final List<TableModelRow> rows = model.getRows();
assertEquals(3, rows.size()); assertEquals(3, rows.size());
final List<String> row0 = rows.get(0).getValues(); final List<ISerializableComparable> row0 = rows.get(0).getValues();
assertEquals(2, row0.size()); assertEquals(2, row0.size());
assertEquals("a", row0.get(0)); assertEquals("a", row0.get(0).toString());
assertEquals("A", row0.get(1)); assertEquals("A", row0.get(1).toString());
final List<String> row1 = rows.get(1).getValues(); final List<ISerializableComparable> row1 = rows.get(1).getValues();
assertEquals(2, row1.size()); assertEquals(2, row1.size());
assertEquals("b", row1.get(0)); assertEquals("b", row1.get(0).toString());
assertEquals("B", row1.get(1)); assertEquals("B", row1.get(1).toString());
final List<String> row2 = rows.get(2).getValues(); final List<ISerializableComparable> row2 = rows.get(2).getValues();
assertEquals(2, row2.size()); assertEquals(2, row2.size());
assertEquals("c", row2.get(0)); assertEquals("c", row2.get(0).toString());
assertEquals("C", row2.get(1)); assertEquals("C", row2.get(1).toString());
} }
private DatasetDescription createDatasetDescription() private DatasetDescription createDatasetDescription()
...@@ -107,21 +108,21 @@ public class IterativeTableModelBuilderTest ...@@ -107,21 +108,21 @@ public class IterativeTableModelBuilderTest
assertEquals(2, headers.get(2).getIndex()); assertEquals(2, headers.get(2).getIndex());
final List<TableModelRow> rows = model.getRows(); final List<TableModelRow> rows = model.getRows();
assertEquals(3, rows.size()); assertEquals(3, rows.size());
final List<String> row0 = rows.get(0).getValues(); final List<ISerializableComparable> row0 = rows.get(0).getValues();
assertEquals(3, row0.size()); assertEquals(3, row0.size());
assertEquals("a", row0.get(0)); assertEquals("a", row0.get(0).toString());
assertEquals("A", row0.get(1)); assertEquals("A", row0.get(1).toString());
assertEquals("D", row0.get(2)); assertEquals("D", row0.get(2).toString());
final List<String> row1 = rows.get(1).getValues(); final List<ISerializableComparable> row1 = rows.get(1).getValues();
assertEquals(3, row1.size()); assertEquals(3, row1.size());
assertEquals("b", row1.get(0)); assertEquals("b", row1.get(0).toString());
assertEquals("B", row1.get(1)); assertEquals("B", row1.get(1).toString());
assertEquals("E", row1.get(2)); assertEquals("E", row1.get(2).toString());
final List<String> row2 = rows.get(2).getValues(); final List<ISerializableComparable> row2 = rows.get(2).getValues();
assertEquals(3, row2.size()); assertEquals(3, row2.size());
assertEquals("c", row2.get(0)); assertEquals("c", row2.get(0).toString());
assertEquals("C", row2.get(1)); assertEquals("C", row2.get(1).toString());
assertEquals("F", row2.get(2)); assertEquals("F", row2.get(2).toString());
} }
@Test @Test
...@@ -149,31 +150,31 @@ public class IterativeTableModelBuilderTest ...@@ -149,31 +150,31 @@ public class IterativeTableModelBuilderTest
assertEquals(2, headers.get(2).getIndex()); assertEquals(2, headers.get(2).getIndex());
final List<TableModelRow> rows = model.getRows(); final List<TableModelRow> rows = model.getRows();
assertEquals(5, rows.size()); assertEquals(5, rows.size());
final List<String> row0 = rows.get(0).getValues(); final List<ISerializableComparable> row0 = rows.get(0).getValues();
assertEquals(3, row0.size()); assertEquals(3, row0.size());
assertEquals("a", row0.get(0)); assertEquals("a", row0.get(0).toString());
assertEquals("A", row0.get(1)); assertEquals("A", row0.get(1).toString());
assertEquals("", row0.get(2)); assertEquals("", row0.get(2).toString());
final List<String> row1 = rows.get(1).getValues(); final List<ISerializableComparable> row1 = rows.get(1).getValues();
assertEquals(3, row1.size()); assertEquals(3, row1.size());
assertEquals("b", row1.get(0)); assertEquals("b", row1.get(0).toString());
assertEquals("B", row1.get(1)); assertEquals("B", row1.get(1).toString());
assertEquals("E", row1.get(2)); assertEquals("E", row1.get(2).toString());
final List<String> row2 = rows.get(2).getValues(); final List<ISerializableComparable> row2 = rows.get(2).getValues();
assertEquals(3, row2.size()); assertEquals(3, row2.size());
assertEquals("c", row2.get(0)); assertEquals("c", row2.get(0).toString());
assertEquals("C", row2.get(1)); assertEquals("C", row2.get(1).toString());
assertEquals("", row2.get(2)); assertEquals("", row2.get(2).toString());
final List<String> row3 = rows.get(3).getValues(); final List<ISerializableComparable> row3 = rows.get(3).getValues();
assertEquals(3, row3.size()); assertEquals(3, row3.size());
assertEquals("d", row3.get(0)); assertEquals("d", row3.get(0).toString());
assertEquals("", row3.get(1)); assertEquals("", row3.get(1).toString());
assertEquals("D", row3.get(2)); assertEquals("D", row3.get(2).toString());
final List<String> row4 = rows.get(4).getValues(); final List<ISerializableComparable> row4 = rows.get(4).getValues();
assertEquals(3, row4.size()); assertEquals(3, row4.size());
assertEquals("f", row4.get(0)); assertEquals("f", row4.get(0).toString());
assertEquals("", row4.get(1)); assertEquals("", row4.get(1).toString());
assertEquals("F", row4.get(2)); assertEquals("F", row4.get(2).toString());
} }
@Test @Test
...@@ -198,21 +199,21 @@ public class IterativeTableModelBuilderTest ...@@ -198,21 +199,21 @@ public class IterativeTableModelBuilderTest
assertEquals(2, headers.get(2).getIndex()); assertEquals(2, headers.get(2).getIndex());
final List<TableModelRow> rows = model.getRows(); final List<TableModelRow> rows = model.getRows();
assertEquals(3, rows.size()); assertEquals(3, rows.size());
final List<String> row0 = rows.get(0).getValues(); final List<ISerializableComparable> row0 = rows.get(0).getValues();
assertEquals(3, row0.size()); assertEquals(3, row0.size());
assertEquals("a", row0.get(0)); assertEquals("a", row0.get(0).toString());
assertEquals("A", row0.get(1)); assertEquals("A", row0.get(1).toString());
assertEquals("A", row0.get(2)); assertEquals("A", row0.get(2).toString());
final List<String> row1 = rows.get(1).getValues(); final List<ISerializableComparable> row1 = rows.get(1).getValues();
assertEquals(3, row1.size()); assertEquals(3, row1.size());
assertEquals("b", row1.get(0)); assertEquals("b", row1.get(0).toString());
assertEquals("B", row1.get(1)); assertEquals("B", row1.get(1).toString());
assertEquals("B", row1.get(2)); assertEquals("B", row1.get(2).toString());
final List<String> row2 = rows.get(2).getValues(); final List<ISerializableComparable> row2 = rows.get(2).getValues();
assertEquals(3, row2.size()); assertEquals(3, row2.size());
assertEquals("c", row2.get(0)); assertEquals("c", row2.get(0).toString());
assertEquals("C", row2.get(1)); assertEquals("C", row2.get(1).toString());
assertEquals("C", row2.get(2)); assertEquals("C", row2.get(2).toString());
} }
@Test @Test
...@@ -253,17 +254,17 @@ public class IterativeTableModelBuilderTest ...@@ -253,17 +254,17 @@ public class IterativeTableModelBuilderTest
assertEquals(1, headers.get(1).getIndex()); assertEquals(1, headers.get(1).getIndex());
final List<TableModelRow> rows = model.getRows(); final List<TableModelRow> rows = model.getRows();
assertEquals(3, rows.size()); assertEquals(3, rows.size());
final List<String> row0 = rows.get(0).getValues(); final List<ISerializableComparable> row0 = rows.get(0).getValues();
assertEquals(2, row0.size()); assertEquals(2, row0.size());
assertEquals("a", row0.get(0)); assertEquals("a", row0.get(0).toString());
assertEquals("A", row0.get(1)); assertEquals("A", row0.get(1).toString());
final List<String> row1 = rows.get(1).getValues(); final List<ISerializableComparable> row1 = rows.get(1).getValues();
assertEquals(2, row1.size()); assertEquals(2, row1.size());
assertEquals("b", row1.get(0)); assertEquals("b", row1.get(0).toString());
assertEquals("B", row1.get(1)); assertEquals("B", row1.get(1).toString());
final List<String> row2 = rows.get(2).getValues(); final List<ISerializableComparable> row2 = rows.get(2).getValues();
assertEquals(2, row2.size()); assertEquals(2, row2.size());
assertEquals("c", row2.get(0)); assertEquals("c", row2.get(0).toString());
assertEquals("C", row2.get(1)); assertEquals("C", row2.get(1).toString());
} }
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment