You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by lo...@apache.org on 2016/08/10 15:35:13 UTC

svn commit: r1755771 - /myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/SheetFilter.java

Author: lofwyr
Date: Wed Aug 10 15:35:13 2016
New Revision: 1755771

URL: http://svn.apache.org/viewvc?rev=1755771&view=rev
Log:
fix filter example (was a problem with the converter)

Modified:
    myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/SheetFilter.java

Modified: myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/SheetFilter.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/SheetFilter.java?rev=1755771&r1=1755770&r2=1755771&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/SheetFilter.java (original)
+++ myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/SheetFilter.java Wed Aug 10 15:35:13 2016
@@ -23,6 +23,8 @@ import org.apache.commons.lang.StringUti
 import org.apache.myfaces.tobago.example.data.SolarObject;
 import org.apache.myfaces.tobago.model.SelectItem;
 import org.apache.myfaces.tobago.model.SheetState;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import javax.enterprise.context.RequestScoped;
 import javax.faces.component.UIComponent;
@@ -39,6 +41,8 @@ import java.util.List;
 @Named
 public class SheetFilter {
 
+  private static final Logger LOG = LoggerFactory.getLogger(SheetFilter.class);
+
   private static final DistanceRange ANY = new DistanceRange(0, Integer.MAX_VALUE);
 
   private String name;
@@ -68,14 +72,14 @@ public class SheetFilter {
         new DistanceRange(1000000, Integer.MAX_VALUE)
     );
     distanceItems = new SelectItem[]{
-        new SelectItem(Integer.toString(0), "any"),
-        new SelectItem(Integer.toString(1), "≤ 10"),
-        new SelectItem(Integer.toString(2), "10 < x ≤ 100"),
-        new SelectItem(Integer.toString(3), "100 < x ≤ 1000"),
-        new SelectItem(Integer.toString(4), "1000 < x ≤ 10000"),
-        new SelectItem(Integer.toString(5), "10000 < x ≤ 100000"),
-        new SelectItem(Integer.toString(6), "100000 < x ≤ 1000000"),
-        new SelectItem(Integer.toString(7), "1000000 < x"),
+        new SelectItem(distanceRangeList.get(0), "any"),
+        new SelectItem(distanceRangeList.get(1), "≤ 10"),
+        new SelectItem(distanceRangeList.get(2), "10 < x ≤ 100"),
+        new SelectItem(distanceRangeList.get(3), "100 < x ≤ 1000"),
+        new SelectItem(distanceRangeList.get(4), "1000 < x ≤ 10000"),
+        new SelectItem(distanceRangeList.get(5), "10000 < x ≤ 100000"),
+        new SelectItem(distanceRangeList.get(6), "100000 < x ≤ 1000000"),
+        new SelectItem(distanceRangeList.get(7), "1000000 < x"),
     };
 
     converter = new DistanceRangeConverter();
@@ -196,20 +200,25 @@ public class SheetFilter {
     @Override
     public Object getAsObject(final FacesContext context, final UIComponent component, final String value)
         throws ConverterException {
-      if (StringUtils.isBlank(value)) {
+      try {
+        if (StringUtils.isBlank(value)) {
+          return distanceRangeList.get(0);
+        } else {
+          return distanceRangeList.get(Integer.valueOf(value));
+        }
+      } catch (RuntimeException e) {
+        LOG.warn("unknown value='" + value + "'", e);
         return distanceRangeList.get(0);
-      } else {
-        return distanceRangeList.get(Integer.valueOf(value));
       }
     }
 
     @Override
     public String getAsString(
         final FacesContext context, final UIComponent component, final Object value) throws ConverterException {
-      if (value == null) {
-        return Integer.toString(0);
-      } else {
+      if (value instanceof DistanceRange) {
         return Integer.toString(distanceRangeList.indexOf(value));
+      } else {
+        return Integer.toString(0);
       }
     }
   }