parent
462f2304e4
commit
42592edfa1
@ -1,8 +1,119 @@
|
|||||||
package seng202.group9.Controller;
|
package seng202.group9.Controller;
|
||||||
|
|
||||||
|
import seng202.group9.Core.Route;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by fwy13 on 16/09/16.
|
* Created by fwy13 on 16/09/16.
|
||||||
*/
|
*/
|
||||||
public class RouteFilter {
|
public class RouteFilter extends Filter{
|
||||||
|
|
||||||
|
private ArrayList<Route> baseArray;
|
||||||
|
private ArrayList<Route> filteredList;
|
||||||
|
|
||||||
|
public RouteFilter(ArrayList<Route> baseList){
|
||||||
|
filteredList = new ArrayList<Route>();
|
||||||
|
baseArray = new ArrayList<Route>();
|
||||||
|
for (Route route: baseList){
|
||||||
|
baseArray.add(route);
|
||||||
|
filteredList.add(route);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void filterAirline(String airline){
|
||||||
|
String regexCode = "(?i).*"+airline+".*";
|
||||||
|
int index = 0;
|
||||||
|
while(index < filteredList.size()){
|
||||||
|
if (!filteredList.get(index).getAirlineName().matches(regexCode)){
|
||||||
|
filteredList.remove(index);
|
||||||
|
}else{
|
||||||
|
index++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void filterSourceAirport(String airport){
|
||||||
|
String regexCode = "(?i).*"+airport+".*";
|
||||||
|
int index = 0;
|
||||||
|
while(index < filteredList.size()){
|
||||||
|
if (!filteredList.get(index).getDepartureAirport().matches(regexCode)){
|
||||||
|
filteredList.remove(index);
|
||||||
|
}else{
|
||||||
|
index++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void filterDestinationAirport(String airport){
|
||||||
|
String regexCode = "(?i).*"+airport+".*";
|
||||||
|
int index = 0;
|
||||||
|
while(index < filteredList.size()){
|
||||||
|
if (!filteredList.get(index).getArrivalAirport().matches(regexCode)){
|
||||||
|
filteredList.remove(index);
|
||||||
|
}else{
|
||||||
|
index++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void filterCodeshare(String code){
|
||||||
|
String regexCode = "(?i).*"+code+".*";
|
||||||
|
int index = 0;
|
||||||
|
while(index < filteredList.size()){
|
||||||
|
if (!filteredList.get(index).getCode().matches(regexCode)){
|
||||||
|
filteredList.remove(index);
|
||||||
|
}else{
|
||||||
|
index++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void filterDestinationStops(String stops){
|
||||||
|
String regexCode = "(?i).*"+stops+".*";
|
||||||
|
int index = 0;
|
||||||
|
while(index < filteredList.size()){
|
||||||
|
if (!filteredList.get(index).getArrivalAirport().matches(regexCode)){
|
||||||
|
filteredList.remove(index);
|
||||||
|
}else{
|
||||||
|
index++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void filterEquipment(String equipment){
|
||||||
|
String regexCode = "(?i).*"+equipment+".*";
|
||||||
|
int index = 0;
|
||||||
|
while(index < filteredList.size()){
|
||||||
|
if (!filteredList.get(index).getEquipment().matches(regexCode)){
|
||||||
|
filteredList.remove(index);
|
||||||
|
}else{
|
||||||
|
index++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void reset() {
|
||||||
|
filteredList = new ArrayList<Route>();
|
||||||
|
for (Route airline: filteredList){
|
||||||
|
filteredList.add(airline);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public ArrayList getFilteredData() {
|
||||||
|
return filteredList;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setBaseList(ArrayList<Route> arrayList) {
|
||||||
|
baseArray = new ArrayList<Route>();
|
||||||
|
for (Route route: arrayList){
|
||||||
|
baseArray.add(route);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void printFilter(){
|
||||||
|
for (Route route: filteredList){
|
||||||
|
System.out.println(route);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in new issue