Merge branch 'Filter'
This commit is contained in:
@@ -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();
|
e.printStackTrace();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
AirlineFilter filter = new AirlineFilter(currentDataset.getAirlines());
|
||||||
|
filter.filterName("NZ");
|
||||||
|
filter.filterAlias("flight");
|
||||||
|
filter.printFilter();
|
||||||
/*
|
/*
|
||||||
//testout single route adding
|
//testout single route adding
|
||||||
try {
|
try {
|
||||||
|
|||||||
@@ -95,7 +95,7 @@ public class Dataset {
|
|||||||
String airCallsign = rs.getString("CallSign");
|
String airCallsign = rs.getString("CallSign");
|
||||||
String airCountry = rs.getString("Country");
|
String airCountry = rs.getString("Country");
|
||||||
String airActive = rs.getString("Active");
|
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
|
//assuming that all names will be unique
|
||||||
airlineDictionary.put(airName, airlineToAdd);
|
airlineDictionary.put(airName, airlineToAdd);
|
||||||
airlines.add(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
|
* @author Fan-Wu Yang
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public class Airline {
|
public class Airline{
|
||||||
private int ID;
|
private int ID;
|
||||||
private String IATA;
|
private String IATA;
|
||||||
private String ICAO;
|
private String ICAO;
|
||||||
|
|||||||
Reference in New Issue
Block a user