factory.utils.Utils.java Source code

Java tutorial

Introduction

Here is the source code for factory.utils.Utils.java

Source

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package factory.utils;

import org.joda.time.DateTime;
import org.joda.time.Period;
import org.lorecraft.phparser.SerializedPhpParser;

import java.time.ZoneId;
import java.time.ZoneOffset;
import java.time.ZonedDateTime;
import java.time.format.TextStyle;
import java.util.*;

import static parser.Parser.BUSINESS;
import static parser.Parser.BUSINESS_FIRST;
import static parser.Parser.ECONOMY;
import static parser.Parser.ECONOMY_BUSINESS;
import static parser.Parser.FIRST;
import static parser.Parser.PREMIUM_ECONOMY;
import static parser.Parser.UPPER_CLASS;
import static parser.dl.DLParser.*;

/**
 * @author Gulya
 */
public class Utils {

    public static final int AC = 0;
    public static final int UA = 1;
    public static final int NH = 2;
    public static final int SQ = 3;
    public static final int BA = 4;
    public static final int QF = 5;
    public static final int CX = 6;
    public static final int JL = 7;
    public static final int QR = 8;
    public static final int DL = 9;
    public static final int AF = 10;
    public static final int VS = 11;
    public static final int EY = 12;
    public static final int EK = 13;
    public static final int MM = 14;

    public static List<String> getCabins(String cabinValue) {

        List<String> result = new LinkedList<>();

        if (cabinValue != null) {

            SerializedPhpParser serializedPhpParser = new SerializedPhpParser(cabinValue);

            Object serializedCabins = serializedPhpParser.parse();

            Map<Object, String> cabinMap = (Map<Object, String>) serializedCabins;

            Iterator<Object> www = cabinMap.keySet().iterator();

            while (www.hasNext()) {

                Object key = www.next();
                String value = cabinMap.get(key);

                if (value.equals(ECONOMY)) {

                    result.add(ECONOMY);

                } else if (value.equals("P")) {

                    result.add(PREMIUM_ECONOMY);

                } else if (value.equals(BUSINESS)) {

                    result.add(BUSINESS);

                } else if (value.equals(FIRST)) {

                    result.add(FIRST);
                }
            }
        }

        return result;
    }

    public static void main(String[] argc) {

        Set<String> zoneIds = ZoneId.getAvailableZoneIds();

        for (String zoneId : zoneIds) {

            ZoneId zone = ZoneId.of(zoneId);
            ZonedDateTime zonedDateTime = ZonedDateTime.now(zone);

            ZoneOffset offset = zonedDateTime.getOffset();
            String longName = zone.getDisplayName(TextStyle.FULL, Locale.ENGLISH);

            System.out.println("(" + offset + ") " + zoneId + ", " + longName);
        }
    }

    public static String getHoursBetweenDays(Date startDate, Date endDate) throws Exception {

        if (startDate == null) {

            startDate = endDate;
        }

        DateTime dt1 = new DateTime(startDate.getTime());
        DateTime dt2 = new DateTime(endDate.getTime());

        Period p = new Period(dt1, dt2);
        long hours = p.getDays() * 24 + p.getHours();
        long minutes = p.getMinutes();

        String format = String.format("%%0%dd", 2);

        return String.format(format, hours) + ":" + String.format(format, minutes);
    }

    public static String getAirCompany(String flight) {

        flight = flight.replaceAll(" ", "");

        String result = flight.substring(0, 2);

        if (result.contains("9E")) {

            result = "DL";
        }

        return result;
    }

    public static String getAward(String award, String currAward) {

        if (currAward == SAVER) {

            if (award == STANDART) {

                return award;

            } else if (award == FULL) {

                return award;

            } else if (award == SAVER_STANDART) {

                return award;

            } else if (award == STANDART_FULL) {

                return award;
            }

        } else if (currAward == STANDART) {

            if (award == FULL) {

                return award;

            } else if (award == STANDART_FULL) {

                return award;
            }

        } else if (currAward == SAVER_STANDART) {

            if (award == STANDART) {

                return award;

            } else if (award == FULL) {

                return award;

            } else if (award == STANDART_FULL) {

                return award;
            }

        } else if (currAward == STANDART_FULL) {

            if (award == FULL) {

                return award;
            }
        }

        return currAward;
    }

    //    public static final String ECONOMY = "E";
    //    public static final String BUSINESS = "B";
    //    public static final String FIRST = "F";
    //    public static final String PREMIUM_ECONOMY = "PE";
    //    public static final String UPPER_CLASS = "B";
    //    public static final String ECONOMY_BUSINESS = "MB";
    //    public static final String BUSINESS_FIRST = "MF";
    public static String getMixedCabinClass(String cabin) {

        if (cabin.toUpperCase().contains("BUSINESS") && cabin.toUpperCase().contains("ECONOMY")) {

            return BUSINESS;

        } else if (cabin.toUpperCase().contains("BUSINESS") && cabin.toUpperCase().contains("FIRST")) {

            return FIRST;

        } else if (cabin.toUpperCase().contains("ECONOMY") && !cabin.toUpperCase().contains("PREMIUM")) {

            return ECONOMY;

        } else if (cabin.toUpperCase().contains("BUSINESS")) {

            return BUSINESS;

        } else if (cabin.toUpperCase().contains("FIRST")) {

            return FIRST;

        } else if (cabin.toUpperCase().contains("PREMIUM")) {

            return PREMIUM_ECONOMY;

        } else if (cabin.toUpperCase().contains("UPPER")) {

            return UPPER_CLASS;

        }

        return cabin;
    }

    public static String getCabin(String cabin, String currCabin) {

        if (currCabin == ECONOMY) {

            if (cabin == BUSINESS) {

                return cabin;

            } else if (cabin == FIRST) {

                return cabin;

            } else if (cabin == PREMIUM_ECONOMY) {

                return cabin;

            } else if (cabin == UPPER_CLASS) {

                return cabin;

            } else if (cabin == ECONOMY_BUSINESS) {

                return cabin;

            } else if (cabin == BUSINESS_FIRST) {

                return cabin;
            }

        } else if (currCabin == BUSINESS) {

            if (cabin == FIRST) {

                return cabin;

            } else if (cabin == UPPER_CLASS) {

                return cabin;

            } else if (cabin == BUSINESS_FIRST) {

                return cabin;
            }

        } else if (currCabin == FIRST) {

            return currCabin;

        } else if (currCabin == PREMIUM_ECONOMY) {

            if (cabin == BUSINESS) {

                return cabin;

            } else if (cabin == FIRST) {

                return cabin;

            } else if (cabin == UPPER_CLASS) {

                return cabin;

            } else if (cabin == ECONOMY_BUSINESS) {

                return cabin;

            } else if (cabin == BUSINESS_FIRST) {

                return cabin;
            }

        } else if (currCabin == UPPER_CLASS) {

            return cabin;

        } else if (currCabin == ECONOMY_BUSINESS) {

            if (cabin == BUSINESS) {

                return cabin;

            } else if (cabin == FIRST) {

                return cabin;

            } else if (cabin == PREMIUM_ECONOMY) {

                return cabin;

            } else if (cabin == UPPER_CLASS) {

                return cabin;

            } else if (cabin == BUSINESS_FIRST) {

                return cabin;
            }

        } else if (currCabin == BUSINESS_FIRST) {

            if (cabin == FIRST) {

                return cabin;

            } else if (cabin == UPPER_CLASS) {

                return cabin;
            }
        }

        return currCabin;
    }

    public static String[] checkAirport(String airport, int parser) {

        // NYC - JFK, EWR,  PAR-CDG, LON-LHR, MOW-DME, TYO-NRT, MIL-MXP,BUE-EZE, RIO-GIG, WAS-IAD 
        if (parser == AC) {

            if (airport.contains("NYC")) {

                return new String[] { "JFK", "EWR" };

            } else if (airport.contains("PAR")) {

                return new String[] { "CDG" };

            } else if (airport.contains("LON")) {

                return new String[] { "LHR" };

            } else if (airport.contains("MOW")) {

                return new String[] { "DME" };

            } else if (airport.contains("TYO")) {

                return new String[] { "NRT" };

            } else if (airport.contains("MIL")) {

                return new String[] { "MXP" };

            } else if (airport.contains("BUE")) {

                return new String[] { "EZE" };

            } else if (airport.contains("RIO")) {

                return new String[] { "GIG" };

            } else if (airport.contains("WAS")) {

                return new String[] { "IAD" };
            }

            return new String[] { airport };

        } else if (parser == EK) {

            if (airport.contains("NYC")) {

                return new String[] { "JFK" };

            } else if (airport.contains("PAR")) {

                return new String[] { "CDG" };

            } else if (airport.contains("MOW")) {

                return new String[] { "DME" };

            } else if (airport.contains("MIL")) {

                return new String[] { "MXP" };

            } else if (airport.contains("BUE")) {

                return new String[] { "EZE" };

            } else if (airport.contains("WAS")) {

                return new String[] { "IAD" };

            } else if (airport.contains("TYO")) {

                return new String[] { "NRT" };

            } else if (airport.contains("LON")) {

                return new String[] { "LHR", "LGW" };
            }

            return new String[] { airport };

        } else if (parser == MM) {

            //BUE - EZE
            //LON - LHR
            //MIL - MXP
            //MOW - DME
            //NYC - JFK,EWR
            //PAR - CDG,ORY
            //RIO - GIG
            //TYO - NRT
            //WAS - IAD
            if (airport.contains("BUE")) {

                return new String[] { "EZE" };

            } else if (airport.contains("LON")) {

                return new String[] { "LHR" };

            } else if (airport.contains("MIL")) {

                return new String[] { "MXP" };

            } else if (airport.contains("MOW")) {

                return new String[] { "DME" };

            } else if (airport.contains("NYC")) {

                return new String[] { "JFK", "EWR" };

            } else if (airport.contains("PAR")) {

                return new String[] { "CDG", " ORY" };

            } else if (airport.contains("RIO")) {

                return new String[] { "GIG" };

            } else if (airport.contains("TYO")) {

                return new String[] { "NRT" };

            } else if (airport.contains("WAS")) {

                return new String[] { "IAD" };

            }

            //            else if(airport.contains("KBP")){
            //                
            //                return new String[]{"IEV"};
            //            }
            return new String[] { airport };
        }

        //13)  EK - NYC-JFK, PAR-CDG, LON-LHR LGW, MOW-DME, TYO-NRT, MIL-MXP, BUE-EZE, WAS-IAD
        return new String[] { airport };
    }

    public static String replaceAirport(String airport, int parser) {

        if (parser == AC) {

            return airport;

        } else if (parser == UA) {

            if (airport.contains("PAR")) {

                return "CDG";
            }

            return airport;

        } else if (parser == NH) {

            if (airport.contains("MOW")) {

                return "DME";
            }

            return airport;

        } else if (parser == SQ) {

            if (airport.contains("NYC")) {

                return "JFK";

            } else if (airport.contains("PAR")) {

                return "CDG";

            } else if (airport.contains("LON")) {

                return "LHR";

            } else if (airport.contains("MOW")) {

                return "DME";

            } else if (airport.contains("MIL")) {

                return "MXP";

            } else if (airport.contains("TYO")) {

                return "NRT";
            }

            return airport;

        } else if (parser == BA) {

            if (airport.contains("MOW")) {

                return "SVO";
            }

            return airport;

        } else if (parser == QF) {

            //NYC- JFK, PAR-CDG, LON-LHR, MOW-DME, TYO-NRT, MIL-MXP,BUE-EZE, RIO-GIG,WAS-IAD
            if (airport.contains("MOW")) {

                return "DME";

            } else if (airport.contains("NYC")) {

                return "JFK";

            } else if (airport.contains("PAR")) {

                return "CDG";

            } else if (airport.contains("LON")) {

                return "LHR";

            } else if (airport.contains("TYO")) {

                return "NRT";

            } else if (airport.contains("MIL")) {

                return "MXP";

            } else if (airport.contains("BUE")) {

                return "EZE";

            } else if (airport.contains("RIO")) {

                return "GIG";

            } else if (airport.contains("WAS")) {

                return "IAD";
            }

            return airport;

        } else if (parser == CX) {

            //NYC - JFK, PAR-CDG, TYO - NRT
            if (airport.contains("LON")) {

                return "LHR";

            } else if (airport.contains("MOW")) {

                return "DME";

            } else if (airport.contains("MIL")) {

                return "MXP";

            } else if (airport.contains("NYC")) {

                return "JFK";

            } else if (airport.contains("PAR")) {

                return "CDG";

            } else if (airport.contains("TYO")) {

                return "NRT";
            }

            return airport;

        } else if (parser == JL) {

            if (airport.contains("NYC")) {

                return "JFK";

            } else if (airport.contains("PAR")) {

                return "CDG";

            } else if (airport.contains("LON")) {

                return "LHR";

            } else if (airport.contains("MOW")) {

                return "DME";

            } else if (airport.contains("TYO")) {

                return "NRT";
            }

            return airport;

        } else if (parser == QR) {

            if (airport.contains("NYC")) {

                return "JFK";

            } else if (airport.contains("PAR")) {

                return "CDG";

            } else if (airport.contains("LON")) {

                return "LHR";

            } else if (airport.contains("MOW")) {

                return "DME";

            } else if (airport.contains("MIL")) {

                return "MXP";

            } else if (airport.contains("BUE")) {

                return "EZE";

            } else if (airport.contains("WAS")) {

                return "IAD";

            } else if (airport.contains("TYO")) {

                return "NRT";
            }

            return airport;

        } else if (parser == DL) {

            if (airport.contains("PAR")) {

                return "CDG";

            } else if (airport.contains("MOW")) {

                return "SVO";

            } else if (airport.contains("MIL")) {

                return "MXP";

            } else if (airport.contains("RIO")) {

                return "GIG";
            }

            return airport;

        } else if (parser == AF) {

            if (airport.contains("NYC")) {

                return "EWR";

            } else if (airport.contains("LON")) {

                return "LGW";

            } else if (airport.contains("MOW")) {

                return "SVO";
            }

            return airport;

        } else if (parser == EY) {

            if (airport.contains("NYC")) {

                return "JFK";

            } else if (airport.contains("PAR")) {

                return "CDG";

            } else if (airport.contains("LON")) {

                return "LHR";

            } else if (airport.contains("MOW")) {

                return "DME";

            } else if (airport.contains("TYO")) {

                return "NRT";

            } else if (airport.contains("MIL")) {

                return "MXP";

            } else if (airport.contains("WAS")) {

                return "IAD";
            }

            return airport;

        } else if (parser == EK) {

            if (airport.contains("NYC")) {

                return "JFK";

            } else if (airport.contains("PAR")) {

                return "CDG";

            } else if (airport.contains("MOW")) {

                return "DME";

            } else if (airport.contains("MIL")) {

                return "MXP";

            } else if (airport.contains("BUE")) {

                return "EZE";

            } else if (airport.contains("WAS")) {

                return "IAD";
            }

            return airport;
        }

        return airport;
    }

}