Merge branch 'Filter'

main
YaFedImYaEatIm 9 years ago
commit b4073723f5

@ -0,0 +1,131 @@
package seng202.group9.Controller;
import seng202.group9.Core.Airline;
import java.util.ArrayList;
/**
* Created by fwy13 on 16/09/16.
*/
public class AirlineFilter extends Filter{
private ArrayList<Airline> baseArray;
private ArrayList<Airline> filteredList;
public AirlineFilter(ArrayList<Airline> baseList){
filteredList = new ArrayList<Airline>();
baseArray = new ArrayList<Airline>();
for (Airline airline: baseList){
baseArray.add(airline);
filteredList.add(airline);
}
}
public void filterName(String name){
String regexCode = "(?i).*"+name+".*";
int index = 0;
while(index < filteredList.size()){
if (!filteredList.get(index).getName().matches(regexCode)){
filteredList.remove(index);
}else{
index++;
}
}
}
public void filterAlias(String alias){
String regexCode = "(?i).*"+alias+".*";
int index = 0;
while(index < filteredList.size()){
if (!filteredList.get(index).getAlias().matches(regexCode)){
filteredList.remove(index);
}else{
index++;
}
}
}
public void filterIATA(String IATA){
String regexCode = "(?i).*"+IATA+".*";
int index = 0;
while(index < filteredList.size()){
if (!filteredList.get(index).getIATA().matches(regexCode)){
filteredList.remove(index);
}else{
index++;
}
}
}
public void filterICAO(String ICAO){
String regexCode = "(?i).*"+ICAO+".*";
int index = 0;
while(index < filteredList.size()){
if (!filteredList.get(index).getICAO().matches(regexCode)){
filteredList.remove(index);
}else{
index++;
}
}
}
public void filterCallsign(String callsign){
String regexCode = "(?i).*"+callsign+".*";
int index = 0;
while(index < filteredList.size()){
if (!filteredList.get(index).getCallSign().matches(regexCode)){
filteredList.remove(index);
}else{
index++;
}
}
}
public void filterCountry(String country){
String regexCode = "(?i).*"+country+".*";
int index = 0;
while(index < filteredList.size()){
if (!filteredList.get(index).getCountryName().matches(regexCode)){
filteredList.remove(index);
}else{
index++;
}
}
}
public void filterActive(String active){
String regexCode = "(?i).*"+active+".*";
int index = 0;
while(index < filteredList.size()){
if (!filteredList.get(index).getActive().matches(regexCode)){
filteredList.remove(index);
}else{
index++;
}
}
}
public void reset() {
filteredList = new ArrayList<Airline>();
for (Airline airline: filteredList){
filteredList.add(airline);
}
}
public ArrayList getFilteredData() {
return filteredList;
}
public void setBaseList(ArrayList<Airline> arrayList) {
baseArray = new ArrayList<Airline>();
for (Airline airline: arrayList){
baseArray.add(airline);
}
}
public void printFilter(){
for (Airline airline: filteredList){
System.out.println(airline);
}
}
}

@ -0,0 +1,180 @@
package seng202.group9.Controller;
import seng202.group9.Core.Airline;
import seng202.group9.Core.Airport;
import java.util.ArrayList;
/**
* Created by fwy13 on 16/09/16.
*/
public class AirportFilter extends Filter{
private ArrayList<Airport> baseArray;
private ArrayList<Airport> filteredList;
public AirportFilter(ArrayList<Airport> baseList){
filteredList = new ArrayList<Airport>();
baseArray = new ArrayList<Airport>();
for (Airport airport: baseList){
baseArray.add(airport);
filteredList.add(airport);
}
}
public void filterName(String name){
String regexCode = "(?i).*"+name+".*";
int index = 0;
while(index < filteredList.size()){
if (!filteredList.get(index).getName().matches(regexCode)){
filteredList.remove(index);
}else{
index++;
}
}
}
public void filterCity(String city){
String regexCode = "(?i).*"+city+".*";
int index = 0;
while(index < filteredList.size()){
if (!filteredList.get(index).getCityName().matches(regexCode)){
filteredList.remove(index);
}else{
index++;
}
}
}
public void filterCountry(String country){
String regexCode = "(?i).*"+country+".*";
int index = 0;
while(index < filteredList.size()){
if (!filteredList.get(index).getCountryName().matches(regexCode)){
filteredList.remove(index);
}else{
index++;
}
}
}
public void filterIATA_FFA(String IATA_FFA){
String regexCode = "(?i).*"+IATA_FFA+".*";
int index = 0;
while(index < filteredList.size()){
if (!filteredList.get(index).getIATA_FFA().matches(regexCode)){
filteredList.remove(index);
}else{
index++;
}
}
}
public void filterICAO(String ICAO){
String regexCode = "(?i).*"+ICAO+".*";
int index = 0;
while(index < filteredList.size()){
if (!filteredList.get(index).getICAO().matches(regexCode)){
filteredList.remove(index);
}else{
index++;
}
}
}
public void filterLatitude(String latitude){
String regexCode = "(?i).*"+latitude+".*";
int index = 0;
while(index < filteredList.size()){
if (!String.valueOf(filteredList.get(index).getLatitude()).matches(regexCode)){
filteredList.remove(index);
}else{
index++;
}
}
}
public void filterLongitude(String longitude){
String regexCode = "(?i).*"+longitude+".*";
int index = 0;
while(index < filteredList.size()){
if (!String.valueOf(filteredList.get(index).getLongitude()).matches(regexCode)){
filteredList.remove(index);
}else{
index++;
}
}
}
public void filterAltitude(String altitude){
String regexCode = "(?i).*"+altitude+".*";
int index = 0;
while(index < filteredList.size()){
if (!String.valueOf(filteredList.get(index).getAltitude()).matches(regexCode)){
filteredList.remove(index);
}else{
index++;
}
}
}
public void filterTimezone(String timezone){
String regexCode = "(?i).*"+timezone+".*";
int index = 0;
while(index < filteredList.size()){
if (!String.valueOf(filteredList.get(index).getCity(). getTimezone()).matches(regexCode)){
filteredList.remove(index);
}else{
index++;
}
}
}
public void filterOlson(String olson){
String regexCode = "(?i).*"+olson+".*";
int index = 0;
while(index < filteredList.size()){
if (!filteredList.get(index).getCity().getTimeOlson().matches(regexCode)){
filteredList.remove(index);
}else{
index++;
}
}
}
public void filterDST(String DST){
String regexCode = "(?i).*"+DST+".*";
int index = 0;
while(index < filteredList.size()){
if (!filteredList.get(index).getCountry().getDST().matches(regexCode)){
filteredList.remove(index);
}else{
index++;
}
}
}
public void reset() {
filteredList = new ArrayList<Airport>();
for (Airport airport: filteredList){
filteredList.add(airport);
}
}
public ArrayList getFilteredData() {
return filteredList;
}
public void setBaseList(ArrayList<Airport> arrayList) {
baseArray = new ArrayList<Airport>();
for (Airport airport: arrayList){
baseArray.add(airport);
}
}
public void printFilter(){
for (Airport airport: filteredList){
System.out.println(airport);
}
}
}

@ -62,6 +62,10 @@ public class App extends Application
e.printStackTrace();
}
AirlineFilter filter = new AirlineFilter(currentDataset.getAirlines());
filter.filterName("NZ");
filter.filterAlias("flight");
filter.printFilter();
/*
//testout single route adding
try {

@ -95,7 +95,7 @@ public class Dataset {
String airCallsign = rs.getString("CallSign");
String airCountry = rs.getString("Country");
String airActive = rs.getString("Active");
Airline airlineToAdd = new Airline(airID, airName, airIATA, airICAO, airAlias, airCallsign, airCountry, airActive);
Airline airlineToAdd = new Airline(airID, airName, airAlias, airIATA, airICAO, airCallsign, airCountry, airActive);
//assuming that all names will be unique
airlineDictionary.put(airName, airlineToAdd);
airlines.add(airlineToAdd);

@ -0,0 +1,11 @@
package seng202.group9.Controller;
import java.util.ArrayList;
/**
* Created by fwy13 on 16/09/16.
*/
public abstract class Filter {
abstract void reset();
abstract ArrayList getFilteredData();
}

@ -0,0 +1,119 @@
package seng202.group9.Controller;
import seng202.group9.Core.Route;
import java.util.ArrayList;
/**
* Created by fwy13 on 16/09/16.
*/
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);
}
}
}

@ -9,7 +9,7 @@ import java.util.ArrayList;
* @author Fan-Wu Yang
*
*/
public class Airline {
public class Airline{
private int ID;
private String IATA;
private String ICAO;

Loading…
Cancel
Save