From 2f2aa7d344d41c6d4083149b1ea6b41e7fb1f683 Mon Sep 17 00:00:00 2001 From: undisclosed Date: Sat, 07 Jan 2023 15:24:26 +0000 Subject: [PATCH] Baustelle: Calypso 'ins Reine' bauen --- src/de/uhilger/calypso/neu/AppProperties.java | 93 +++++++++++++++++++++++++++++++ src/de/uhilger/calypso/neu/App.java | 27 +++++++++ src/de/uhilger/calypso/neu/Server.java | 35 +++++++++++ 3 files changed, 155 insertions(+), 0 deletions(-) diff --git a/src/de/uhilger/calypso/neu/App.java b/src/de/uhilger/calypso/neu/App.java new file mode 100644 index 0000000..603f4ea --- /dev/null +++ b/src/de/uhilger/calypso/neu/App.java @@ -0,0 +1,27 @@ +package de.uhilger.calypso.neu; + +import java.util.HashMap; + +/** + * + * @author Ulrich Hilger + */ +public class App { + /** + * @param args the command line arguments + */ + public static void main(String[] args) { + HashMap<String, String> initParams = new HashMap(); + for (String arg : args) { + String[] argParts = arg.split(Server.EQUAL); + initParams.put(argParts[0], argParts[1]); + } + String conf = initParams.get(Server.CONF); + AppProperties einst = new AppProperties(); + einst.readFile(conf); + Server server; + server = new Server(); + server.start(einst); + } + +} diff --git a/src/de/uhilger/calypso/neu/AppProperties.java b/src/de/uhilger/calypso/neu/AppProperties.java new file mode 100644 index 0000000..f80c4b8 --- /dev/null +++ b/src/de/uhilger/calypso/neu/AppProperties.java @@ -0,0 +1,93 @@ +/* + Helix - Dateiverwaltung + 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.calypso.neu; + +import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.io.InputStream; +import java.util.Properties; +import java.util.logging.Level; +import java.util.logging.Logger; + +/** + * + * @author Ulrich Hilger + * @version 1, 01.06.2021 + */ +public class AppProperties extends Properties { + + public static final String EMPTY_STR = ""; + public static final int INT_ZERO = 0; + + public String getString(String key) { + Object o = this.get(key); + if(o instanceof String) { + return (String) o; + } else { + return EMPTY_STR; + } + } + + public int getInt(String key) { + Object o = this.get(key); + if(o instanceof String) { + String intStr = (String) o; + return Integer.parseInt(intStr); + } else { + return INT_ZERO; + } + } + + public void readFile(String fName) { + Logger.getLogger(AppProperties.class.getName()).log(Level.INFO, fName); + InputStream in = null; + try { + // Einstellungen aus Datei lesen + //AppProperties einst = new AppProperties(); + File einstellungenDatei = new File(fName); + in = new FileInputStream(einstellungenDatei); + + //BufferedReader br = new BufferedReader(new InputStreamReader(in)); + //String line = br.readLine(); + //while(line != null) { + // System.out.println(line); + // line = br.readLine(); + //} + //br.close(); + + + load(in); + in.close(); + } catch (FileNotFoundException ex) { + Logger.getLogger(AppProperties.class.getName()).log(Level.SEVERE, null, ex); + } catch (IOException ex) { + Logger.getLogger(AppProperties.class.getName()).log(Level.SEVERE, null, ex); + } finally { + try { + in.close(); + } catch (IOException ex) { + Logger.getLogger(AppProperties.class.getName()).log(Level.SEVERE, null, ex); + } + } + + + } + +} diff --git a/src/de/uhilger/calypso/neu/Server.java b/src/de/uhilger/calypso/neu/Server.java new file mode 100644 index 0000000..db467ba --- /dev/null +++ b/src/de/uhilger/calypso/neu/Server.java @@ -0,0 +1,35 @@ +package de.uhilger.calypso.neu; + +import java.io.File; +import java.util.logging.Level; +import java.util.logging.Logger; + +/** + * + * @author Ulrich Hilger + */ +public class Server { + + private static final Logger logger = Logger.getLogger(de.uhilger.calypso.Server.class.getName()); + + public static final String CONF = "conf"; + public static final String PORT = "port"; + public static final String SKRIPTE = "skripte"; + + public static final String EQUAL = "="; + + private AppProperties einst; + + public void start(AppProperties einst) { + logger.log(Level.INFO, "Server startet auf Port {0}", einst.getString(PORT)); + this.einst = einst; + String skripte = einst.getString(SKRIPTE); + File playSkript = new File(skripte, "play"); + if(playSkript.exists()) { + logger.log(Level.INFO, "Skripte gefunden in {0}", playSkript.getParentFile().getAbsolutePath()); + } else { + logger.log(Level.INFO, "Skripte nicht gefunden, Ordner laut Einstellungen: {0}", skripte); + } + } + +} -- Gitblit v1.9.3