diff --git a/populate.sh b/populate.sh new file mode 100755 index 0000000000000000000000000000000000000000..eb7ea111545697bbbd426105c6878b0c9f9d2c9b --- /dev/null +++ b/populate.sh @@ -0,0 +1,3 @@ +#!/bin/sh +mvn -q exec:java -Dexec.mainClass=info.kwarc.mmt.errorview.PopulateDB \ +-Dexec.args="errors.db /var/data/localmh/MathHub/" diff --git a/src/main/resource/static/search.js b/src/main/resource/static/search.js index 664ab5c91e4e80e3ca4873a3fceeb20312cd1ead..265ec8d5b0ec8291f4522f08affb78cda9efbb68 100644 --- a/src/main/resource/static/search.js +++ b/src/main/resource/static/search.js @@ -5,6 +5,7 @@ angular.module('searchApp', []).controller('SearchController', , errLevel : { x : true, long : 'level', search : '' } , errType : { x : false, long : 'error type', search : '' } , fileName : { x : true, long : 'file name', search : '' } + , fileDate : { x : false, long : 'modified', search : '' } , target : { x : true, long : 'target', search : '' } , sourceRef : { x : true, long : 'source', search : '' } , shortMsg : { x : true, long : 'short message', search : '' } diff --git a/src/main/scala/ParseXML.scala b/src/main/scala/ParseXML.scala index 7433002147f752ebeb09ca1d0637228f12e68352..2875c2101fc4fa980499d6f3e203b74e48ee4596 100644 --- a/src/main/scala/ParseXML.scala +++ b/src/main/scala/ParseXML.scala @@ -1,6 +1,8 @@ package info.kwarc.mmt.errorview import java.io.File +import java.text.SimpleDateFormat +import java.util.Date import org.slf4j.{Logger, LoggerFactory} @@ -37,7 +39,7 @@ class ParseXML(db: PopulateDB) { if (errs.isEmpty) log.info("no errors in: " + f) else errs map (x => procErr(f, x)) } - else log.info("skipped: " + f) + else log.debug("skipped: " + f) } def procErr(f: File, x: Node): Unit = { @@ -56,7 +58,9 @@ class ParseXML(db: PopulateDB) { val trace: String = (stacks map (e => (e.child map (_.text)).mkString("\n"))).mkString("\n") val rest: String = (others map (_.text)).mkString // see Table.columns for the proper argument order - val vs = List(f.getPath, tgt, srcRef, errType, shortMsg, level, rest, trace) + val vs = List(f.getPath, + (new SimpleDateFormat("yyyy-MM-dd HH:mm")).format(new Date(f.lastModified)), + tgt, srcRef, errType, shortMsg, level, rest, trace) assert(vs.length == Table.columns.length) db.insertRow(vs) val elems = others filter (_.isInstanceOf[Elem]) diff --git a/src/main/scala/Table.scala b/src/main/scala/Table.scala index 063b7793e10aa19ac322f0dbbae91d76710a11b2..195b5b1e25ae6205e9ea0011af97a9ab5ce8da73 100644 --- a/src/main/scala/Table.scala +++ b/src/main/scala/Table.scala @@ -5,7 +5,7 @@ import org.apache.camel.impl.DefaultCamelContext import org.sqlite.SQLiteDataSource object Table { - val columns = List("fileName", "target", "sourceRef", "errType", "shortMsg", "errLevel", "longMsg", "stackTrace") + val columns = List("fileName", "fileDate", "target", "sourceRef", "errType", "shortMsg", "errLevel", "longMsg", "stackTrace") val name = "errors" def initArgs(args: scala.Array[String]): (DefaultCamelContext, String) = {