/* * Copyright (C) 2013 Martin Fousek & Mert Caliskan * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program 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. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ package javaone.con3638.primetheme; import java.io.Serializable; import java.util.ArrayList; import java.util.List; import java.util.UUID; import javax.inject.Named; import javax.enterprise.context.SessionScoped; import javax.faces.event.ActionEvent; @Named(value = "tableBean") @SessionScoped public class TableBean implements Serializable { private List<Car> cars; private List<Car> filteredCars; private Car newCar; private Car selectedCar; private final static String[] colors; private final static String[] manufacturers; static { colors = new String[10]; colors[0] = "Black"; colors[1] = "White"; colors[2] = "Green"; colors[3] = "Red"; colors[4] = "Blue"; colors[5] = "Orange"; colors[6] = "Silver"; colors[7] = "Yellow"; colors[8] = "Brown"; colors[9] = "Maroon"; manufacturers = new String[10]; manufacturers[0] = "Mercedes"; manufacturers[1] = "BMW"; manufacturers[2] = "Volvo"; manufacturers[3] = "Audi"; manufacturers[4] = "Renault"; manufacturers[5] = "Opel"; manufacturers[6] = "Volkswagen"; manufacturers[7] = "Chrysler"; manufacturers[8] = "Ferrari"; manufacturers[9] = "Ford"; } public TableBean() { newCar = new Car(); cars = new ArrayList<Car>(); populateRandomCars(cars, 50); } public void saveCar(ActionEvent actionEvent){ cars.add(newCar); newCar = new Car(); } public void emptyList(ActionEvent actionEvent){ cars = new ArrayList<Car>(); } private void populateRandomCars(List<Car> list, int size) { for (int i = 0; i < size; i++) { list.add(new Car(getRandomModel(), getRandomYear(), getRandomManufacturer(), getRandomColor())); } } private String getRandomModel() { return UUID.randomUUID().toString().substring(0, 8); } private String getRandomColor() { return colors[(int) (Math.random() * 10)]; } private String getRandomManufacturer() { return manufacturers[(int) (Math.random() * 10)]; } private int getRandomYear() { return (int) (Math.random() * 50 + 1960); } public Car getNewCar() { return newCar; } public void setNewCar(Car newCar) { this.newCar = newCar; } public List<Car> getCars() { return cars; } public void setCars(List<Car> cars) { this.cars = cars; } public Car getSelectedCar() { return selectedCar; } public void setSelectedCar(Car selectedCar) { this.selectedCar = selectedCar; } public List<Car> getFilteredCars() { return filteredCars; } public void setFilteredCars(List<Car> filteredCars) { this.filteredCars = filteredCars; } }