Select Git revision
DisplayFacts.cs
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...")
}
}