From 4bbb9f05ba12894477e611eb9b75113e3e3cce29 Mon Sep 17 00:00:00 2001 From: ulrich Date: Sat, 24 Apr 2021 10:53:26 +0000 Subject: [PATCH] Umbenannt zu Calypso --- src/de/uhilger/mediaz/App.java | 93 ++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 77 insertions(+), 16 deletions(-) diff --git a/src/de/uhilger/mediaz/App.java b/src/de/uhilger/mediaz/App.java index 170258e..042fcdf 100644 --- a/src/de/uhilger/mediaz/App.java +++ b/src/de/uhilger/mediaz/App.java @@ -1,57 +1,110 @@ /* - * 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. + Mediazentrale - Personal Media Center + Copyright (C) 2021 Ulrich Hilger + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. */ package de.uhilger.mediaz; +import java.io.File; import java.io.IOException; import java.util.HashMap; +import java.util.ResourceBundle; import java.util.logging.Level; import java.util.logging.Logger; /** - * - * @author ulrich + * Die Hauptklasse der Mediazentrale mit der Methode <code>main</code>. + * + * + * args + * ctx=mz port=9090 conf=conf www-data=www + * + * -Djava.util.logging.config.file=/pfad/zu/logging.properties + * + * @author Ulrich Hilger + * @version 1, 25.3.2021 */ public class App { private static final Logger logger = Logger.getLogger(App.class.getName()); - public static final String IP_PORT = "port"; - public static final String IP_WWW_DATA = "www-data"; - public static final String IP_CTX = "ctx"; - private static HashMap initParams; + + /* ResourceBundle dieser App */ + private static ResourceBundle rb; + + /* Name des ResourceBundles dieser App */ + private static final String RB_NAME = "mediaz"; + + /* Der Server dieser App */ + private static Server server; + + /* ResourceBundle-Kennungen */ + public static final String RB_PARAM_FEHLT = "msgParamFehlt"; + public static final String RB_AP_PORT = "appParamPort"; + public static final String RB_AP_CONF = "appParamConf"; + public static final String RB_AP_WWW_DATA = "appParamWWWData"; + public static final String RB_AP_CTX = "appParamCtx"; + public static final String RB_AP_UI = "appParamUi"; + public static final String RB_EP_LISTE = "epliste"; + public static final String RB_EP_LISTE_ALLES = "eplisteAlles"; + public static final String RB_AUDIOEXTS = "audioexts"; + public static final String RB_VIDEOEXTS = "videoexts"; + public static final String RB_PLAYERPARAMS = "playerparams"; + public static final String RB_HOST = "host"; /** * <p>Start-Methode dieser Anwendung</p> * * @param args Kommandozeilenparameter + * @throws java.lang.ClassNotFoundException */ - public static void main(String[] args) { + public static void main(String[] args) throws ClassNotFoundException { + rb = ResourceBundle.getBundle(RB_NAME); + logger.fine(new File(".").getAbsolutePath()); + initParams = new HashMap(); for (String arg : args) { String[] argParts = arg.split("="); initParams.put(argParts[0], argParts[1]); } - String portStr = getInitParameter(IP_PORT); + String portStr = getInitParameter(getRs(RB_AP_PORT)); if (portStr != null) { - Server server = new Server(Integer.parseInt(portStr)); + //Server server = new Server(Integer.parseInt(portStr)); + server = new Server(Integer.parseInt(portStr)); try { - String ctxName = getInitParameter(IP_CTX); + String ctxName = getInitParameter(getRs(RB_AP_CTX)); if (ctxName != null) { server.setContextName(ctxName); server.start(); } else { - logger.severe("Der Parameter " + IP_CTX + " muss angegeben werden."); + logger.log(Level.INFO, getRs(RB_PARAM_FEHLT), getRs(RB_AP_CTX)); + } + String conf = getInitParameter(getRs(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)); } } catch (IOException ex) { - Logger.getLogger(App.class.getName()).log(Level.SEVERE, null, ex); + logger.log(Level.SEVERE, null, ex); } } else { - logger.severe("Der Parameter " + IP_PORT + " muss angegeben werden."); + logger.log(Level.INFO, App.getRs(RB_PARAM_FEHLT), getRs(RB_AP_PORT)); } } @@ -77,5 +130,13 @@ } return param; } + + public static String getRs(String key) { + return rb.getString(key); + } + + public static Server getServer() { + return server; + } } -- Gitblit v1.9.3