Package controllers

Source Code of controllers.Helper

package controllers;

import java.awt.Point;
import java.util.LinkedList;
import java.util.concurrent.Callable;

import javax.swing.Action;

import models.Databases;
import models.Locations;
import models.StarDatabase;
import models.StarStorage;
import models.Stars;
import models.coordinates.LocationCoordinates;
import views.Star;
import controllers.Front.LocationAction;

/**
* Tools for controllers
*
* @author francois
*
*/
public class Helper {
 
  protected static Iterable<Action> userLocationsToMenuActions() {
    LinkedList<Action> lac = new LinkedList<Action>();
    for (LocationCoordinates lc : Locations.getLocations())
      lac.add(new LocationAction(lc));

    return lac;
  }
 
  protected static void loadAllStars() {
    for (StarDatabase db : Databases.getDatabases())
      Stars.loadAndRegisterDatabaseFromFile(db);
  }
 
  protected static void loadStars(StarDatabase db) {
    Stars.loadAndRegisterDatabaseFromFile(db);
  }
 
  protected static void loadDefaultStars() {
    loadStars(Databases.getDefaultDb());
  }
 
  protected static void unloadStars(StarDatabase db) {
    Stars.unloadStarsFromDatabase(db);
  }
 
  protected static Star getNearestStarFromPosition(Point position) {
  // Algorithme ultra naif
      StarStorage st = Stars.getStars();
      double dist;
      double min = Double.MAX_VALUE;
      Star nearestStar = null;

      for (Star currentStar : st)
        if (currentStar.getPoint() != null) { // l'étoile est visible
          dist = position.distance(currentStar.getPoint());
          if(min > dist){
            min = dist;
            nearestStar = currentStar;
          }
        }
      return nearestStar;

  }
 
  private static LinkedList<Callable<Integer>> stopActions = new LinkedList<>();
 
  public static void registerStopAction(Callable<Integer> stopAction) {
    stopActions.add(stopAction);
  }
 
  public static int stop() {
    int ret = 0;
    int reta = 0;
    for (Callable<Integer> stopAction : stopActions) {
      try {
        reta = stopAction.call();
        if (reta > ret)
          ret = reta;
      } catch (Exception e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
      }
    }
    System.exit(0);
    return ret;
  }
}
TOP

Related Classes of controllers.Helper

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.