Persoenliche Mediazentrale
ulrich
2021-05-06 f70acbb491c6421623cca57292a75f1820efad4d
src/de/uhilger/tango/App.java
@@ -20,6 +20,7 @@
import java.io.File;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import java.util.ResourceBundle;
import java.util.logging.Level;
import java.util.logging.Logger;
@@ -40,16 +41,8 @@
  private static final Logger logger = Logger.getLogger(App.class.getName());
  private static HashMap initParams;
  /* ResourceBundle dieser App */
  private static ResourceBundle rb;
  /* Name des ResourceBundles dieser App */
  private static final String RB_NAME = "tango";
  /* Der Server dieser App */
  private static Server server;
  public static final String RB_NAME = "tango";
  
  /* ResourceBundle-Kennungen */
  public static final String RB_PARAM_FEHLT = "msgParamFehlt";
@@ -72,71 +65,41 @@
   * @throws java.lang.ClassNotFoundException
   */
  public static void main(String[] args) throws ClassNotFoundException {
    rb = ResourceBundle.getBundle(RB_NAME);
    ResourceBundle rb = ResourceBundle.getBundle(RB_NAME);
    logger.fine(new File(".").getAbsolutePath());
    
    initParams = new HashMap();
    HashMap<String,String> initParams = new HashMap();
    for (String arg : args) {
      String[] argParts = arg.split("=");
      initParams.put(argParts[0], argParts[1]);
    }
    String portStr = getInitParameter(getRs(RB_AP_PORT));
    String portStr = initParams.get(rb.getString(RB_AP_PORT));
    if (portStr != null) {
      //Server server = new Server(Integer.parseInt(portStr));
      server = new Server(Integer.parseInt(portStr));
      Server server = new Server(Integer.parseInt(portStr));
      try {
        String ctxName = getInitParameter(getRs(RB_AP_CTX));
        String ctxName = initParams.get(rb.getString(RB_AP_CTX));
        if (ctxName != null) {
          server.setContextName(ctxName);
          server.start();
          server.start(initParams.get(rb.getString(RB_AP_WWW_DATA)),
                  initParams.get(rb.getString(RB_AP_CONF)));
        } else {
          logger.log(Level.INFO, getRs(RB_PARAM_FEHLT), getRs(RB_AP_CTX));
          logger.log(Level.INFO, rb.getString(RB_PARAM_FEHLT), rb.getString(RB_AP_CTX));
        }
        String conf = getInitParameter(getRs(RB_AP_CONF));
        String conf = initParams.get(rb.getString(RB_AP_CONF));
        if(conf != null) {
          File confDir = new File(conf);
          confDir.mkdirs();
        } else {
          logger.log(Level.INFO, App.getRs(RB_PARAM_FEHLT), getRs(RB_AP_CONF));
          logger.log(Level.INFO, rb.getString(RB_PARAM_FEHLT), rb.getString(RB_AP_CONF));
        }
      } catch (IOException ex) {
        logger.log(Level.SEVERE, null, ex);
      }
    } else {
      logger.log(Level.INFO, App.getRs(RB_PARAM_FEHLT), getRs(RB_AP_PORT));
      logger.log(Level.INFO, rb.getString(RB_PARAM_FEHLT), rb.getString(RB_AP_PORT));
    }
  }
  /**
   * Diese Anwendung stoppen
   */
  public static void stop() {
    System.exit(0);
  }
  /**
   * Einen Kommandozeilenparameter ermitteln
   *
   * @param pname Names des Parameters
   * @return Inhalt des Parameters oder null, wenn der Parameter nicht gefunden
   * wurde
   */
  public static String getInitParameter(String pname) {
    String param = null;
    Object o = initParams.get(pname);
    if (o != null) {
      param = o.toString();
    }
    return param;
  }
  public static String getRs(String key) {
    return rb.getString(key);
  }
  public static Server getServer() {
    return server;
  }
}