From e0a8d893311baf0ed2d151ef1424e63145580e6a Mon Sep 17 00:00:00 2001 From: felmer <felmer> Date: Wed, 21 Apr 2010 06:41:45 +0000 Subject: [PATCH] SE-236 bug fixed SVN: 15542 --- .../dss/genedata/FeatureStorageProcessor.java | 25 +++++++++++++------ 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/genedata/FeatureStorageProcessor.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/genedata/FeatureStorageProcessor.java index 2b3442fbaed..aab66ff7655 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/dss/genedata/FeatureStorageProcessor.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/genedata/FeatureStorageProcessor.java @@ -48,14 +48,10 @@ public class FeatureStorageProcessor extends DefaultStorageProcessor public void startNewColumn(String columnName) { - if (tableBuilder != null) - { - columns.addAll(tableBuilder.getColumns()); - } + addColumn(); tableBuilder = new TableBuilder(columnName); - } - + public void checkColumnsLine(int lineIndex, String line) { int columnCount = new StringTokenizer(line).countTokens(); @@ -94,6 +90,11 @@ public class FeatureStorageProcessor extends DefaultStorageProcessor } } + public void finish() + { + addColumn(); + } + public int getNumberOfWells() { return numberOfColumns * rowLetters.size(); @@ -101,7 +102,7 @@ public class FeatureStorageProcessor extends DefaultStorageProcessor public String getRowLetter(int index) { - return rowLetters.get(index % rowLetters.size()); + return rowLetters.get((index / numberOfColumns) % rowLetters.size()); } public int getColumnNumber(int index) @@ -113,6 +114,15 @@ public class FeatureStorageProcessor extends DefaultStorageProcessor { return columns; } + + private void addColumn() + { + if (tableBuilder != null) + { + columns.addAll(tableBuilder.getColumns()); + } + } + } public FeatureStorageProcessor(Properties properties) @@ -149,6 +159,7 @@ public class FeatureStorageProcessor extends DefaultStorageProcessor columnsBuilder.addRow(i, line); } } + columnsBuilder.finish(); List<Column> columns = columnsBuilder.getColumns(); StringBuilder builder = new StringBuilder(); builder.append("barcode").append(DELIMITER).append("row").append(DELIMITER).append("col"); -- GitLab