Exemplo n.º 1
0
  /** @param args */
  public static void main(String[] args) {
    long startTime = System.currentTimeMillis();

    try {
      Class<?> problemClass = Class.forName("problems.Problem" + args[0]);
      Problem problemInstance = (Problem) problemClass.newInstance();
      problemInstance.solve();
    } catch (ClassNotFoundException
        | SecurityException
        | InstantiationException
        | IllegalAccessException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }

    long endTime = System.currentTimeMillis();
    System.out.println("Done [Elapsed: " + ((endTime - startTime) / 1000.0) + "\"]");
  }
Exemplo n.º 2
0
    public void onTick() {
      String type;
      int delay;
      String description;
      Flight flight;
      CrewMember crew;

      int warningAircraft = 50;
      int warningCrew = 25;
      int warningPax = 35;

      Warning warning;
      CrewProblem crewProblem;
      AircraftProblem airProblem;
      PaxProblem paxProblem;
      Problem problem;
      HashMap<Flight, Problem> problems = new HashMap<Flight, Problem>();
      HashMap<Flight, Warning> warnings = new HashMap<Flight, Warning>();

      warning = null;
      crewProblem = null;
      airProblem = null;
      problem = null;
      paxProblem = null;

      // criar delay na an�lise de eventos

      // ler dados evento
      type = events.get(num_rows).getType();
      System.out.println("Type:" + type);
      delay = events.get(num_rows).getDelay();
      System.out.println("Delay: " + delay);
      description = events.get(num_rows).getDescription();
      System.out.println("Description: " + description);
      flight = events.get(num_rows).getFlight();
      System.out.println("Num voo" + flight.getFlightNumber());

      if (type.equalsIgnoreCase("aircraft")) {
        if (delay < warningAircraft) {

          if (problems.get(flight) == null) {

            warning = new Warning(flight, type, description, delay);

            if (warnings.get(flight) != null) {
              if (warnings.get(flight).getMinutesDelay() < delay) {
                warnings.remove(flight);
                warnings.put(flight, warning);
              }
            } else {
              warnings.put(flight, warning);
            }

            frame_voos.addWarning_Panel(warning);
          }
        } else {
          airProblem = new AircraftProblem(description, delay);

          if (warnings.get(flight) != null) warnings.remove(flight);

          if (problems.get(flight) != null) {
            problem = problems.get(flight);
            problems.remove(flight);
            problem.addAirProbs(airProblem);
          } else {
            problem = new Problem(flight);
            problem.addAirProbs(airProblem);
          }
          problems.put(flight, problem);

          frame_voos.addProblem_Panel(airProblem);
        }

      } else if (type.equalsIgnoreCase("crewmember")) {
        if (delay < warningCrew) {
          if (problems.get(flight) == null) {
            warning = new Warning(flight, type, description, delay);

            if (warnings.get(flight) != null) {
              if (warnings.get(flight).getMinutesDelay() < delay) {
                warnings.remove(flight);
                warnings.put(flight, warning);
              }
            } else {
              warnings.put(flight, warning);
            }
          }
        } else {
          crewProblem = new CrewProblem(events.get(num_rows).getCrewMember(), description, delay);

          if (warnings.get(flight) != null) warnings.remove(flight);

          if (problems.get(flight) != null) {
            problem = problems.get(flight);
            problems.remove(flight);
            problem.addCrewProbs(crewProblem);
          } else {
            problem = new Problem(flight);
            problem.addCrewProbs(crewProblem);
          }

          problems.put(flight, problem);
        }

      } else {
        if (delay < warningPax) {
          if (problems.get(flight) == null) {
            warning = new Warning(flight, type, description, delay);

            if (warnings.get(flight) != null) {
              if (warnings.get(flight).getMinutesDelay() < delay) {
                warnings.remove(flight);
                warnings.put(flight, warning);
              }
            } else {
              warnings.put(flight, warning);
            }
          }
        } else {
          paxProblem = new PaxProblem(description, delay, events.get(num_rows).getNumPax());

          if (warnings.get(flight) != null) warnings.remove(flight);

          if (problems.get(flight) != null) {
            problem = problems.get(flight);
            problems.remove(flight);
            problem.addPaxProbs(paxProblem);
          } else {
            problem = new Problem(flight);
            problem.addPaxProbs(paxProblem);
          }

          problems.put(flight, problem);
        }
      }
      num_rows++;

      Set set = problems.entrySet();

      Iterator i = set.iterator();

      while (i.hasNext()) {
        Map.Entry me = (Map.Entry) i.next();
        ((Problem) me.getValue()).print();
        EnviaProblema envProb = new EnviaProblema(myAgent, (Problem) me.getValue(), esc);
        addBehaviour(envProb);
      }
    }