Skip to content
Snippets Groups Projects
Select Git revision
  • 2dce385c9776f7403f0a11e75a1c0a8fde57188a
  • master default protected
  • no_scala_DSL
3 results

BundleStarter.scala

Blame
  • BundleStarter.scala 1.28 KiB
    package info.kwarc.mmt.errorview
    
    import info.kwarc.sally4.servlet.SallyServlet
    import org.apache.camel.component.sql.SqlComponent
    import org.apache.camel.impl.DefaultCamelContext
    import org.apache.felix.ipojo.annotations._
    import org.slf4j.{Logger, LoggerFactory}
    import org.sqlite.SQLiteDataSource
    
    @Component
    @Instantiate
    class BundleStarter {
    
      @Requires
      var sallyServlet : SallyServlet = null
    
      val log : Logger = LoggerFactory.getLogger(getClass)
      
      @Validate
      def start(): Unit = {
        log.info("Starting ... " + sallyServlet)
        val sqlComponent: SqlComponent = new SqlComponent()
        val ds: SQLiteDataSource = new SQLiteDataSource()
        val dbName = "errors.db"
        ds.setDatabaseName(dbName)
        ds.setUrl("jdbc:sqlite:" + dbName)
        sqlComponent.setDataSource(ds)
        val context = new DefaultCamelContext()
        context.addComponent("db", sqlComponent)
        context.addComponent("servlet", sallyServlet.getCamelComponent)
        sallyServlet.init(context, getClass.getClassLoader)
          .serveStaticFiles("errorview", "static")
    /*
          .initTemplating("/home/maeder/mmt-errorview/src/main/resource/static/")
          .setDebugTemplating(true)
    */
        context.addRoutes(new SearchDB("servlet:///error/"))
        context.start()
      }
    
      @Invalidate
      def stop(): Unit = {
        log.info("Stopping...")
      }
    
    }