diff --git a/src/main/scala/util/TransactionFilter.scala b/src/main/scala/util/TransactionFilter.scala
new file mode 100644
index 0000000..499a62f
--- /dev/null
+++ b/src/main/scala/util/TransactionFilter.scala
@@ -0,0 +1,30 @@
+package util
+
+import javax.servlet._
+import org.slf4j.LoggerFactory
+import javax.servlet.http.HttpServletRequest
+
+/**
+ * Controls the transaction with the open session in view pattern.
+ */
+class TransactionFilter extends Filter {
+
+ private val logger = LoggerFactory.getLogger(classOf[TransactionFilter])
+
+ def init(config: FilterConfig) = {}
+
+ def destroy(): Unit = {}
+
+ def doFilter(req: ServletRequest, res: ServletResponse, chain: FilterChain): Unit = {
+ if(req.asInstanceOf[HttpServletRequest].getRequestURI().startsWith("/assets/")){
+ // assets don't need transaction
+ chain.doFilter(req, res)
+ } else {
+ // TODO begin transaction!
+ logger.debug("TODO begin transaction")
+ chain.doFilter(req, res)
+ logger.debug("TODO end transaction")
+ }
+ }
+
+}
\ No newline at end of file
diff --git a/src/main/webapp/WEB-INF/web.xml b/src/main/webapp/WEB-INF/web.xml
index 9799689..cb33996 100644
--- a/src/main/webapp/WEB-INF/web.xml
+++ b/src/main/webapp/WEB-INF/web.xml
@@ -22,6 +22,16 @@
+ TransactionFilter
+ util.TransactionFilter
+
+
+
+ TransactionFilter
+ /*
+
+
+
BasicAuthenticationFilter
util.BasicAuthenticationFilter