static { try { props = CfgReader.readCfg("server"); jdo = new JDO(); dbname = props.getProperty("db-name"); if (dbname == null) throw new IllegalArgumentException("Can't get server-property 'db-name'"); jdo.setDatabaseName(dbname); { Writer writer = new StringWriter(); String m_props = props.getProperty("db-mgr-props"); String m_jdocfg = props.getProperty("db-mgr-jdocfg"); if (m_props == null) throw new IllegalArgumentException("Can't get server-property 'db-mgr-props'"); if (m_jdocfg == null) throw new IllegalArgumentException("Can't get server-property 'db-mgr-jdocfg'"); CfgReader.evaluateTemplate(m_props, writer, CfgReader.getXmlFileReader(m_jdocfg)); writer.flush(); Reader reader = new StringReader(writer.toString()); EntityResolver resolver = new CfgEntityResolver(); jdo.loadConfiguration(new org.xml.sax.InputSource(reader), resolver, null); } jdo.setClassLoader(jdo.getClass().getClassLoader()); jdo.setDatabasePooling(props.getProperty("db-mgr-pooling") == "enabled"); try { timeDiff = Long.parseLong(props.getProperty("db-time-diff")); } catch (NumberFormatException e) { timeDiff = 0; System.err.println("db-time-diff not specified. Set to 0."); } System.err.println("TIME-DIFF:" + timeDiff); } catch (Exception e) { e.printStackTrace(System.err); System.err.println(e.getLocalizedMessage()); System.err.println("Can't initialize Castor JDO. I die."); System.exit(1); } }