From 42777153323beeab13abcf19d8b516569cc9b1e9 Mon Sep 17 00:00:00 2001
From: cmaeder <c.maeder@jacobs-university.de>
Date: Wed, 4 Feb 2015 13:20:32 +0100
Subject: [PATCH] make search and routes work for sally and jetty

---
 src/main/scala/BundleStarter.scala |  2 +-
 src/main/scala/SearchDB.scala      | 12 +++++++++---
 2 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/src/main/scala/BundleStarter.scala b/src/main/scala/BundleStarter.scala
index 4c6389f..a301251 100644
--- a/src/main/scala/BundleStarter.scala
+++ b/src/main/scala/BundleStarter.scala
@@ -34,7 +34,7 @@ class BundleStarter {
       .initTemplating("/home/maeder/mmt-errorview/src/main/resource/static/")
       .setDebugTemplating(true)
 */
-    context.addRoutes(new SearchDB("servlet:///error/"))
+    context.addRoutes(new SearchDB("servlet:///error/", false))
     context.start()
   }
 
diff --git a/src/main/scala/SearchDB.scala b/src/main/scala/SearchDB.scala
index 9ea1a96..f6746ef 100644
--- a/src/main/scala/SearchDB.scala
+++ b/src/main/scala/SearchDB.scala
@@ -9,7 +9,7 @@ import org.apache.camel.scala.dsl.builder.RouteBuilder
 import org.apache.camel.util.jndi.JndiContext
 import org.eclipse.jetty.server.handler.ResourceHandler
 
-class SearchDB(prefix: String) extends RouteBuilder {
+class SearchDB(inPrefix: String, addStaticRoute: Boolean) extends RouteBuilder {
 
   def query2HashMap(ex: Exchange): util.HashMap[String, String] = {
     val hm = new util.HashMap[String, String]()
@@ -18,6 +18,13 @@ class SearchDB(prefix: String) extends RouteBuilder {
     hm
   }
 
+  var prefix = inPrefix
+  if (addStaticRoute) {
+    (prefix +
+      "static?matchOnUriPrefix=true&handlers=#staticHandler") -->
+      ("log:lll" + this.getClass + "?showHeaders=true")
+    prefix = inPrefix + "sally/error/"
+  }
   Table.columns.map { col =>
     ((prefix + "count/" + col) transform
       (ex => "%" + ex.getIn.getHeader("text") + "%")) -->
@@ -27,7 +34,6 @@ class SearchDB(prefix: String) extends RouteBuilder {
       ("db:SELECT * FROM errors WHERE " + col + " LIKE :#text LIMIT :#limit") marshal
       new DataFormatDefinition(new JacksonDataFormat())
   }
-  // prefix + "static?matchOnUriPrefix=true&handlers=#staticHandler" --> "log:a"
 }
 
 object SearchDB {
@@ -39,7 +45,7 @@ object SearchDB {
     val jdni = new JndiContext()
     jdni.bind("staticHandler", resHandler)
     context.setJndiContext(jdni)
-    context.addRoutes(new SearchDB("jetty:http://localhost:8383/"))
+    context.addRoutes(new SearchDB("jetty:http://localhost:8383/", true))
     context.start()
   }
 }
-- 
GitLab