package de.superx.servlet; import java.io.File; import java.io.IOException; import java.io.PrintWriter; import java.lang.reflect.InvocationTargetException; import java.sql.Driver; import java.sql.DriverManager; import java.sql.SQLException; import java.text.ParseException; import java.util.Date; import java.util.Enumeration; import java.util.Set; import javax.servlet.ServletConfig; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.xml.parsers.FactoryConfigurationError; import javax.xml.parsers.ParserConfigurationException; import javax.xml.transform.TransformerConfigurationException; import javax.xml.transform.TransformerException; import org.apache.log4j.Logger; import org.dom4j.DocumentException; import org.pentaho.di.core.KettleEnvironment; import org.pentaho.di.core.database.DataSourceProviderFactory; import org.pentaho.di.core.exception.KettleException; import org.pentaho.di.core.logging.KettleLogStore; import org.xml.sax.SAXException; import de.memtext.db.NichtAngemeldetException; import de.memtext.tree.KeyParentEqualException; import de.memtext.util.DateUtils; import de.memtext.util.ServletHelper; import de.memtext.util.TimeUtils; import de.memtext.util.TransletUtils; import de.memtext.util.XMLUtils; import de.superx.common.DBServletException; import de.superx.common.SxUser; import de.superx.common.TransletCache; import de.superx.sec.HttpGetAccessGuard; import de.superx.sec.HttpGetAccessListParser; import de.superx.sec.InputCheckRegistry; import de.superx.util.SqlStringUtils; /** * A servlet which can be advised to reload static resources */ public class SuperXManager extends HttpServlet { private static Logger logger = Logger.getLogger(SuperXManager.class); public static final String QIS_CONTEXT = "QIS_CONTEXT"; private static final long serialVersionUID = 2L; public static final long maxMillisWaitingTime = 60000 * 15; // 15 minutes should be sufficient public static String his1_refapp=""; private SuperXInitThread initThread; public static boolean isZukuenftigerStandErlaubt = true; public static int maxRows = 20000; public static String defaultMaskXsl = "maske_html.xsl"; public static String defaultTableHtmlXsl = "tabelle_html.xsl"; public static String defaultTableXlsXsl = "tabelle_xls.xsl"; public static String defaultTablePdfXsl = "tabelle_fo_pdf.xsl"; public static String csvEncoding = null; public static String sharedSecret = ""; private static String xmenu, xmask, xtablehtml, xtablexsl, xtablepdf; public static boolean isSichtenCachingWanted = true; public static String sxversion="@version@"; public static String builddatum="@sxtimestamp@"; public static HttpGetAccessGuard httpGetAccessGuard; private static final String ADMIN_ONLY = de.superx.servlet.SuperXManager.htmlPageHead("Admin-Bereich")+"