Example #1
0
  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);
    }
  }