/testApp/core/source/org/openfaces/testapp/suggestionfield/SuggestionFieldBean.java
https://github.com/grb123/OpenFaces · Java · 193 lines · 147 code · 32 blank · 14 comment · 18 complexity · b28657b253e620cf3e731f42c3d1be6e MD5 · raw file
- /*
- * OpenFaces - JSF Component Library 2.0
- * Copyright (C) 2007-2011, TeamDev Ltd.
- * licensing@openfaces.org
- * Unless agreed in writing the contents of this file are subject to
- * the GNU Lesser General Public License Version 2.1 (the "LGPL" License).
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- * Please visit http://openfaces.org/licensing/ for more details.
- */
- package org.openfaces.testapp.suggestionfield;
-
- import org.openfaces.util.Faces;
- import org.openfaces.testapp.datatable.Color;
- import org.openfaces.testapp.datatable.ColorDB;
- import org.openfaces.testapp.dropdown.DropDownBean;
-
- import javax.faces.component.UIComponent;
- import javax.faces.context.FacesContext;
- import javax.faces.convert.Converter;
- import javax.faces.convert.ConverterException;
- import javax.faces.event.ValueChangeEvent;
- import java.io.BufferedReader;
- import java.io.IOException;
- import java.io.InputStream;
- import java.io.InputStreamReader;
- import java.io.Serializable;
- import java.util.ArrayList;
- import java.util.Arrays;
- import java.util.List;
-
- /**
- * @author Darya Shumilina
- */
- public class SuggestionFieldBean {
-
- private String testSelectedValue;
- private String testSelectedValue2;
- private List<String> plants = new ArrayList<String>();
- private Color selectedBGColor = new Color("AliceBlue", 240, 248, 255, "#F0F8FF");
-
- private Converter colorConverter = new ColorConverter();
- private ColorDB colors = new ColorDB();
- private boolean disabled = false;
- private String selectedValue = "";
-
- private int valueChangeListenerCounter = 0;
- public static boolean testValueChangeListener;
-
- public SuggestionFieldBean() {
- try {
- InputStream resource = DropDownBean.class.getResourceAsStream("houseplants.txt");
- BufferedReader reader = new BufferedReader(new InputStreamReader(resource));
- String currentString;
- while (true) {
- currentString = reader.readLine();
- if (currentString == null) break;
- plants.add(new String(currentString.getBytes(), "UTF-8"));
- }
- reader.close();
- } catch (IOException e) {
- throw new RuntimeException(e);
- }
-
- }
-
- public String getTestSelectedValue() {
- return testSelectedValue;
- }
-
- public void setTestSelectedValue(String testSelectedValue) {
- this.testSelectedValue = testSelectedValue;
- }
-
- public List<String> getSimpleTestCollection() {
- return Arrays.asList("Red", "Yellow", "Blue");
- }
-
- public String getTestSelectedValue2() {
- return testSelectedValue2;
- }
-
- public void setTestSelectedValue2(String testSelectedValue2) {
- this.testSelectedValue2 = testSelectedValue2;
- }
-
- public List<String> getSuggestedPlants() {
- List<String> suggestedPlants = new ArrayList<String>();
- String typedValue = (String) Faces.var("searchString");
- if (typedValue != null) {
- for (Object myPlant : plants) {
- String plant = (String) myPlant;
- String plantForComparison = plant.toLowerCase();
- String typedValueForComparison = typedValue.toLowerCase();
- if (plantForComparison.startsWith(typedValueForComparison))
- suggestedPlants.add(plant);
- }
- } else {
- for (int i = 0; i < plants.size(); i++) {
- if (i % 20 == 0) {
- String plant = plants.get(i);
- suggestedPlants.add(plant);
- }
- }
- }
- return suggestedPlants;
- }
-
- public List<String> getPlants() {
- return plants;
- }
-
- public Color getSelectedBGColor() {
- return selectedBGColor;
- }
-
- public void setSelectedBGColor(Color selectedBGColor) {
- this.selectedBGColor = selectedBGColor;
- }
-
- public String getSelectedValue() {
- return selectedValue;
- }
-
- public void setSelectedValue(String selectedValue) {
- this.selectedValue = selectedValue;
- }
-
- private class ColorConverter implements Converter, Serializable {
- public Object getAsObject(FacesContext context, UIComponent component, String value) throws ConverterException {
- return colors.getColorByText(value);
- }
-
- public String getAsString(FacesContext context, UIComponent component, Object value) throws ConverterException {
- if (value == null)
- return "";
- return ((Color) value).getName();
- }
- }
-
- public List<Color> getColors() {
- List<Color> allColors = colors.getColors();
- String searchString = (String) Faces.var("searchString");
- if (searchString == null)
- return allColors;
- List<Color> result = new ArrayList<Color>();
- for (Object allColor : allColors) {
- Color color = (Color) allColor;
- String colorName = color.getName();
- if (colorName.toUpperCase().indexOf(searchString.toUpperCase()) != -1)
- result.add(color);
- }
- return result;
- }
-
- public Converter getColorConverter() {
- return colorConverter;
- }
-
- public boolean isDisabled() {
- return disabled;
- }
-
- public void setDisabled(boolean disabled) {
- this.disabled = disabled;
- }
-
- public void makeDisabled() {
- setDisabled(true);
- }
-
- public void valueChangedAttribute(ValueChangeEvent event) {
- valueChangeListenerCounter++;
- }
-
- public int getValueChangeListenerCounter() {
- return valueChangeListenerCounter;
- }
-
- public void setValueChangeListenerCounter(int valueChangeListenerCounter) {
- this.valueChangeListenerCounter = valueChangeListenerCounter;
- }
-
- public String getValueChangeListenerFlag() {
- return String.valueOf(valueChangeListenerCounter);
- }
-
- public boolean isTestValueChangeListener() {
- return testValueChangeListener;
- }
-
- }