package com.sdl.selenium.web.table;

import com.extjs.selenium.Utils;
import org.apache.log4j.Logger;

public abstract class Row extends Cell {
    private static final Logger logger = Logger.getLogger(Row.class);

    public Row() {
        setClassName("Row");
    }

    protected void setRowCells(Cell... cells) {
        String path = "";
        for (Cell cell : cells) {
            String itemPathText = cell.getItemPathText();
            if (cell.getPosition() != -1 && !"".equals(itemPathText)) {
                path += " and " + getSearchPath(cell.getPosition(), Utils.fixPathSelector(itemPathText));
            } else if (cell.getPosition() == -1 && !"".equals(itemPathText)) {
                path += " and " + getSearchPath(Utils.fixPathSelector(itemPathText));
            } else {
                logger.warn("Please use : new TableCell(3, \"1234\", \"eq\")");
            }
        }
        setElPath("//" + getTag() + "[" + Utils.fixPathSelector(path) + "]");
    }

    protected String getSearchPath(int columnIndex, String textCondition) {
        return "count(td[" + columnIndex + "][" + textCondition + "]) > 0";
    }

    protected String getSearchPath(String textCondition) {
        return "count(td/*[" + textCondition + "]) > 0";
    }
}

@@ -28,17 +28,19 @@
 b.table;
-%0A
+%0D%0A%0D
 %0Aimport 
@@ -64,16 +64,17 @@
 m.Utils;
+%0D
 %0Aimport 
@@ -97,17 +97,19 @@
 .Logger;
-%0A
+%0D%0A%0D
 %0Apublic 
@@ -141,16 +141,17 @@
 s Cell %7B
+%0D
 %0A    pri
@@ -212,17 +212,19 @@
 .class);
-%0A
+%0D%0A%0D
 %0A    pub
@@ -234,16 +234,17 @@
  Row() %7B
+%0D
 %0A       
@@ -264,23 +264,26 @@
 (%22Row%22);
+%0D
 %0A    %7D
-%0A
+%0D%0A%0D
 %0A    pro
@@ -314,32 +314,33 @@
 Cell... cells) %7B
+%0D
 %0A        String 
@@ -349,16 +349,17 @@
 th = %22%22;
+%0D
 %0A       
@@ -384,16 +384,17 @@
 cells) %7B
+%0D
 %0A       
@@ -443,16 +443,17 @@
 hText();
+%0D
 %0A       
@@ -508,32 +508,33 @@
 itemPathText)) %7B
+%0D
 %0A               
@@ -615,32 +615,33 @@
 (itemPathText));
+%0D
 %0A            %7D e
@@ -703,16 +703,17 @@
 Text)) %7B
+%0D
 %0A       
@@ -790,16 +790,17 @@
 hText));
+%0D
 %0A       
@@ -812,16 +812,153 @@
 %7D else %7B
+%0D%0A                logger.warn(%22cell.getPosition()=%22 + cell.getPosition());%0D%0A                logger.warn(%22itemPathText=%22 + itemPathText);%0D
 %0A       
@@ -1029,16 +1029,17 @@
 eq%5C%22)%22);
+%0D
 %0A       
@@ -1036,32 +1036,33 @@
 ;%0D%0A            %7D
+%0D
 %0A        %7D%0A     
@@ -1055,16 +1055,17 @@
        %7D
+%0D
 %0A       
@@ -1134,23 +1134,26 @@
  + %22%5D%22);
+%0D
 %0A    %7D
-%0A
+%0D%0A%0D
 %0A    pro
@@ -1212,32 +1212,33 @@
 textCondition) %7B
+%0D
 %0A        return 
@@ -1297,23 +1297,26 @@
 %5D) %3E 0%22;
+%0D
 %0A    %7D
-%0A
+%0D%0A%0D
 %0A    pro
@@ -1366,16 +1366,17 @@
 ition) %7B
+%0D
 %0A       
@@ -1428,13 +1428,16 @@
  0%22;
+%0D
 %0A    %7D
+%0D
 %0A%7D
+%0D
 %0A

add logs in Row