All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.sta.cts.ConvRunnerHelper Maven / Gradle / Ivy


package com.sta.cts;

import java.io.PrintWriter;
import java.lang.reflect.Method;
import java.util.Hashtable;

import org.apache.xalan.xslt.EnvironmentCheck;

import com.sta.mlogger.MLogger;

/**
 * 

Name: ConvRunnerHelper

*

Description: Hilfsklasse f?r ConvRunner zur Informations- und Versions- * Ermittlung. *

*

Comment: Diese Klasse dient ausschlie?lich dazu, zu verhindern, dass beim * Laden der Klasse ConvRunner auch alle Klassen (und das sind sehr viele) * geladen werden, die nur im Falle von Informations- bzw. Versions-Ermittlugnen * ben?tigt werden. *

*

Copyright: Copyright (c) 2014, 2016, 2017-2019, 2021

*

Company: >StA-Soft<

* @author StA * @version 1.0 */ public final class ConvRunnerHelper { /** * Xalan-Umgebung ermitteln. * @return Xalan-Umgebung */ public static Hashtable getEnvironmentHash() { return new EnvironmentCheck().getEnvironmentHash(); } /** * Xalan-Umgebung in Print-Writer schreiben. * @param pw Print-Writer * @return true: falls erfolgreich, false: falls Problem */ public static boolean checkEnvironment(PrintWriter pw) { return new EnvironmentCheck().checkEnvironment(pw); } /** * Schl?ssel-Pr?fix f?r Versionsangabe(n) ermitteln. * @return Schl?ssel-Pr?fix f?r Versionsangabe(n) */ public static String getVersionKey() { return EnvironmentCheck.VERSION; } //=========================================================================== /** * Pr?fix von Versionsangabe abschneiden. * @param v Versionsangabe * @param mask Pr?fix * @return Versionsangabe ohne Pr?fix */ private static String cutVersion(String v, String mask) { if (v != null) { int i = v.toUpperCase().indexOf(mask.toUpperCase()); if (i >= 0) { v = v.substring(i + mask.length()).trim(); while (v.length() > 0) { char ch = v.charAt(0); if ((ch >= '0') && (ch <= '9')) { break; } v = v.substring(1); } } v = v.replace('_', '.'); } return v; } /** * Xerces-Version zum Zweck der Ausgabe ermitteln. * @return Xerces-Version */ public static String getXercesVersion() { String res = "???"; try { Class version; version = Class.forName("org.apache.xerces.impl.Version"); Method m = version.getMethod("getVersion"); res = (String) m.invoke(null); res = cutVersion(res, "Xerces-J"); } catch (Exception ex) { MLogger.err("Error(Xerces): " + ex.getClass().getName() + " " + ex.getMessage()); } return res; } /** * Xalan-Version zum Zweck der Ausgabe ermitteln. * @return Xalan-Version */ public static String getXalanVersion() { String res = "???"; try { Class version; version = Class.forName("org.apache.xalan.Version"); Method m = version.getMethod("getVersion"); res = (String) m.invoke(null); res = cutVersion(res, "Xalan Java"); } catch (Exception ex) { MLogger.err("Error(Xalan): " + ex.getClass().getName() + " " + ex.getMessage()); } return res; } /** * Batik-Version zum Zweck der Ausgabe ermitteln. * @return Batik-Version */ public static String getBatikVersion() { String res = "???"; try { Class version; version = Class.forName("org.apache.batik.Version"); Method m = version.getMethod("getVersion"); res = (String) m.invoke(null); String prefix = "null; batik-"; if ((res != null) && res.startsWith(prefix)) { res = res.substring(prefix.length()).replace('_', '.'); } } catch (Exception ex) { MLogger.err("Error(Batik): " + ex.getClass().getName() + " " + ex.getMessage()); } return res; } /** * FOP-Version zum Zweck der Ausgabe ermitteln. * @return FOP-Version */ public static String getFOPVersion() { String res = "???"; try { Class version; try { version = Class.forName("org.apache.fop.Version"); } catch (Exception ex) { Class.forName("org.apache.fop.apps.Options").newInstance(); version = Class.forName("org.apache.fop.apps.Version"); } Method m = version.getMethod("getVersion"); res = (String) m.invoke(null); res = cutVersion(res, "FOP"); } catch (Exception ex) { MLogger.err("Error(FOP): " + ex.getClass().getName() + " " + ex.getMessage()); } return res; } //=========================================================================== /** * Dummy-Constructor. */ private ConvRunnerHelper() { } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy