package com.sdl.bootstrap.form;

import com.sdl.selenium.web.WebLocator;
import org.apache.log4j.Logger;

public class SelectPicker extends WebLocator {
    private static final Logger logger = Logger.getLogger(SelectPicker.class);

    public SelectPicker() {
        setClassName("SelectPicker");
        setBaseCls("btn dropdown-toggle");
        setTag("button");
    }

    public SelectPicker(WebLocator container) {
        this();
        setContainer(container);
    }

    public SelectPicker(WebLocator container, String label) {
        this(container);
        setLabel(label);
    }

    public boolean select(String value) {
        if (click()) {
            WebLocator select = new WebLocator(this, "//following-sibling::*[contains(@class, 'dropdown-menu')]//span[text()='" + value + "']").setInfoMessage("SelectPicker");
            return select.click();
        }
        return false;
    }

    public String getValue() {
        return getHtmlText().trim();
    }
}
@@ -24,17 +24,19 @@
 ap.form;
-%0A
+%0D%0A%0D
 %0Aimport 
@@ -67,16 +67,17 @@
 Locator;
+%0D
 %0Aimport 
@@ -100,17 +100,19 @@
 .Logger;
-%0A
+%0D%0A%0D
 %0Apublic 
@@ -150,16 +150,17 @@
 ocator %7B
+%0D
 %0A    pri
@@ -230,17 +230,19 @@
 .class);
-%0A
+%0D%0A%0D
 %0A    pub
@@ -257,24 +257,25 @@
 ctPicker() %7B
+%0D
 %0A        set
@@ -292,32 +292,33 @@
 %22SelectPicker%22);
+%0D
 %0A        setBase
@@ -344,16 +344,17 @@
 oggle%22);
+%0D
 %0A       
@@ -371,23 +371,26 @@
 utton%22);
+%0D
 %0A    %7D
-%0A
+%0D%0A%0D
 %0A    pub
@@ -429,16 +429,17 @@
 ainer) %7B
+%0D
 %0A       
@@ -446,16 +446,17 @@
  this();
+%0D
 %0A       
@@ -480,23 +480,26 @@
 tainer);
+%0D
 %0A    %7D
-%0A
+%0D%0A%0D
 %0A    pub
@@ -552,16 +552,17 @@
 label) %7B
+%0D
 %0A       
@@ -578,16 +578,17 @@
 tainer);
+%0D
 %0A       
@@ -604,23 +604,26 @@
 (label);
+%0D
 %0A    %7D
-%0A
+%0D%0A%0D
 %0A    pub
@@ -656,16 +656,17 @@
 value) %7B
+%0D
 %0A       
@@ -680,16 +680,17 @@
 ick()) %7B
+%0D
 %0A       
@@ -825,16 +825,38 @@
  + %22'%5D%22)
+%0D%0A                    
 .setInfo
@@ -864,31 +864,43 @@
 essage(%22
-S
+s
 elect
-Picker
+: '%22 + value + %22'
 %22);
+%0D
 %0A       
@@ -926,16 +926,17 @@
 click();
+%0D
 %0A       
@@ -937,16 +937,17 @@
        %7D
+%0D
 %0A       
@@ -960,23 +960,26 @@
 n false;
+%0D
 %0A    %7D
-%0A
+%0D%0A%0D
 %0A    pub
@@ -1001,16 +1001,17 @@
 alue() %7B
+%0D
 %0A       
@@ -1039,16 +1039,18 @@
 .trim();
+%0D
 %0A    %7D
+%0D
 %0A%7D

add log for select Picker