summaryrefslogtreecommitdiff
path: root/src/main/java/com/c2kernel/process/AbstractMain.java
diff options
context:
space:
mode:
authorAndrew Branson <andrew.branson@cern.ch>2014-10-07 09:18:11 +0200
committerAndrew Branson <andrew.branson@cern.ch>2014-10-07 09:18:11 +0200
commit0ed2c1124cf1b9e49a2ec1fa0126a8df09f9e758 (patch)
treee3a56cee83865f8c703deb790c15d3e79e871a82 /src/main/java/com/c2kernel/process/AbstractMain.java
parent50aa8aaab42fa62267aa1ae6a6070013096f5082 (diff)
Repackage to org.cristalise
Diffstat (limited to 'src/main/java/com/c2kernel/process/AbstractMain.java')
-rw-r--r--src/main/java/com/c2kernel/process/AbstractMain.java177
1 files changed, 0 insertions, 177 deletions
diff --git a/src/main/java/com/c2kernel/process/AbstractMain.java b/src/main/java/com/c2kernel/process/AbstractMain.java
deleted file mode 100644
index db858a7..0000000
--- a/src/main/java/com/c2kernel/process/AbstractMain.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/**
- * This file is part of the CRISTAL-iSE kernel.
- * Copyright (c) 2001-2014 The CRISTAL Consortium. All rights reserved.
- *
- * This library is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as published
- * by the Free Software Foundation; either version 3 of the License, or (at
- * your option) any later version.
- *
- * This library is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; with out even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
- * License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this library; if not, write to the Free Software Foundation,
- * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
- *
- * http://www.fsf.org/licensing/licenses/lgpl.html
- */
-package com.c2kernel.process;
-
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.PrintStream;
-import java.util.Enumeration;
-import java.util.Properties;
-
-import com.c2kernel.process.resource.BadArgumentsException;
-import com.c2kernel.utils.FileStringUtility;
-import com.c2kernel.utils.Logger;
-
-/**************************************************************************
- *
- * @author $Author: abranson $ $Date: 2004/10/25 15:27:35 $
- * @version $Revision: 1.67 $
- **************************************************************************/
-abstract public class AbstractMain
-{
- public static boolean isServer = false;
- private static ShutdownHandler shutdownHandler;
-
- public static String MAIN_ARG_NONEWLOGSTREAM = "noNewLogStream";
- public static String MAIN_ARG_CONFIG = "config";
- public static String MAIN_ARG_LOGLEVEL = "logLevel";
- public static String MAIN_ARG_LOGFILE = "logFile";
- public static String MAIN_ARG_CONNECT = "connect";
-
-
-
- /**************************************************************************
- * reading and setting input paramaters
- **************************************************************************
- *
- * Known arguments :
- * <ul>
- * <li>logLevel: the log level 0-9 (+10 to have time, +20 to have only one level)</li>
- * <li>logFile: the full path of the target log file. if none, the Logstream is the stdOut</li>
- * <li>noNewLogStream: if present no new Logstream is added to the logger (
- * considers that the Logger is already configured)</li>
- *
- * <li>config</li>
- * <li>connect</li>
- * <li>LocalCentre</li>
- * </ul>
- *
- *
- * @param args
- * @return
- * @throws BadArgumentsException
- */
- public static Properties readC2KArgs( String[] args ) throws BadArgumentsException {
- Properties c2kProps;
- Properties argProps = new Properties();
- int logLevel = 0;
- PrintStream logStream = System.out;
-
- int i = 0;
- while( i < args.length ) {
- if (args[i].startsWith("-") && args[i].length()>1) {
- String key = args[i].substring(1);
- if (argProps.containsKey(key))
- throw new BadArgumentsException("Argument "+args[i]+" given twice");
- String value = "";
- if (!args[i+1].startsWith("-"))
- value = args[++i];
- argProps.put(key, value);
- i++;
- }
- else
- throw new BadArgumentsException("Bad argument: "+args[i]);
-
- }
-
- if (argProps.containsKey("logFile"))
- try {
- logStream = new PrintStream(new FileOutputStream(argProps.getProperty("logFile"), true));
- } catch (FileNotFoundException e) {
- e.printStackTrace();
- throw new BadArgumentsException("Logfile "+argProps.getProperty("logFile")+" cannot be created");
- }
-
-
- // if the optional arg "noNewLogStream" isn't present => add a
- // new LogStream
- boolean wMustAddNewLogStream = !argProps.contains(MAIN_ARG_NONEWLOGSTREAM);
- if (wMustAddNewLogStream) {
-
- // Set up log stream
- if (argProps.containsKey("logLevel"))
- logLevel = Integer.parseInt(argProps.getProperty("logLevel"));
-
- Logger.addLogStream(logStream, logLevel);
- }
- if (wMustAddNewLogStream) Logger.msg(
- String.format("New logStream added at logLevel %d: %s", logLevel, logStream.getClass().getName()));
-
-
- // Dump params if log high enough
-
- if (Logger.doLog(3)) for (Enumeration<?> e = argProps.propertyNames(); e.hasMoreElements();) {
- String next = (String)e.nextElement();
- System.out.println("AbstractMain: Param "+next+": "+argProps.getProperty(next));
- }
-
- String configPath = argProps.getProperty("config");
- if (configPath == null)
- throw new BadArgumentsException("Config file not specified");
-
- if (!new File(configPath).exists())
- throw new BadArgumentsException("Config file "+configPath+" not found");
- else
- Logger.msg(0, "Config file: "+configPath);
-
- // Load config & connect files into c2kprops
- c2kProps = FileStringUtility.loadConfigFile(argProps.getProperty("config") );
- c2kProps.putAll(argProps); // args overlap config
-
- String connectFile = c2kProps.getProperty("connect");
- if (connectFile == null)
- throw new BadArgumentsException("Connect file not specified");
-
- if (!new File(connectFile).exists())
- throw new BadArgumentsException("Connect file "+connectFile+" not found");
- else
- Logger.msg(0, "Connect file: "+connectFile);
-
- FileStringUtility.appendConfigFile( c2kProps, connectFile);
-
- if (!c2kProps.containsKey("LocalCentre")) {
- String connectFileName = new File(connectFile).getName();
- String centreId = connectFileName.substring(0, connectFileName.lastIndexOf(".clc"));
- c2kProps.setProperty("LocalCentre", centreId);
- }
-
- c2kProps.putAll(argProps); // args override connect file too
- Logger.msg(7, "AbstractMain::standardSetUp() - readC2KArgs() DONE.");
-
- return c2kProps;
- }
-
- public static void setShutdownHandler(ShutdownHandler handler) {
- shutdownHandler = handler;
- }
-
- public static void shutdown(int errCode) {
- if (shutdownHandler!= null)
- shutdownHandler.shutdown(errCode, isServer);
- else
- try {
- Gateway.close();
- } catch (Exception ex) {
- Logger.error(ex);
- }
- }
-}