| | |
| | | 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; |
| | |
| | | |
| | | 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"; |
| | |
| | | * @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; |
| | | } |
| | | |
| | | } |