You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stanbol.apache.org by bd...@apache.org on 2011/04/07 13:15:31 UTC
svn commit: r1089825 - in
/incubator/stanbol/trunk/enhancer/benchmark/src/main:
java/org/apache/stanbol/enhancer/benchmark/
java/org/apache/stanbol/enhancer/benchmark/impl/ resources/velocity/
Author: bdelacretaz
Date: Thu Apr 7 11:15:30 2011
New Revision: 1089825
URL: http://svn.apache.org/viewvc?rev=1089825&view=rev
Log:
STANBOL-138 - display output on benchmark results page
Modified:
incubator/stanbol/trunk/enhancer/benchmark/src/main/java/org/apache/stanbol/enhancer/benchmark/Benchmark.java
incubator/stanbol/trunk/enhancer/benchmark/src/main/java/org/apache/stanbol/enhancer/benchmark/BenchmarkResult.java
incubator/stanbol/trunk/enhancer/benchmark/src/main/java/org/apache/stanbol/enhancer/benchmark/impl/BenchmarkImpl.java
incubator/stanbol/trunk/enhancer/benchmark/src/main/java/org/apache/stanbol/enhancer/benchmark/impl/BenchmarkServlet.java
incubator/stanbol/trunk/enhancer/benchmark/src/main/resources/velocity/benchmark-results.html
incubator/stanbol/trunk/enhancer/benchmark/src/main/resources/velocity/benchmark.css
Modified: incubator/stanbol/trunk/enhancer/benchmark/src/main/java/org/apache/stanbol/enhancer/benchmark/Benchmark.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/enhancer/benchmark/src/main/java/org/apache/stanbol/enhancer/benchmark/Benchmark.java?rev=1089825&r1=1089824&r2=1089825&view=diff
==============================================================================
--- incubator/stanbol/trunk/enhancer/benchmark/src/main/java/org/apache/stanbol/enhancer/benchmark/Benchmark.java (original)
+++ incubator/stanbol/trunk/enhancer/benchmark/src/main/java/org/apache/stanbol/enhancer/benchmark/Benchmark.java Thu Apr 7 11:15:30 2011
@@ -18,6 +18,7 @@ package org.apache.stanbol.enhancer.benc
import java.util.List;
+import org.apache.clerezza.rdf.core.Graph;
import org.apache.stanbol.enhancer.servicesapi.EngineException;
import org.apache.stanbol.enhancer.servicesapi.EnhancementJobManager;
@@ -32,4 +33,7 @@ public interface Benchmark extends List<
/** Execute the benchmark and return results
* @return null */
List<BenchmarkResult> execute(EnhancementJobManager jobManager) throws EngineException;
+
+ /** Return the enhanced Graph of our input text */
+ Graph getGraph(EnhancementJobManager jobManager) throws EngineException;
}
Modified: incubator/stanbol/trunk/enhancer/benchmark/src/main/java/org/apache/stanbol/enhancer/benchmark/BenchmarkResult.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/enhancer/benchmark/src/main/java/org/apache/stanbol/enhancer/benchmark/BenchmarkResult.java?rev=1089825&r1=1089824&r2=1089825&view=diff
==============================================================================
--- incubator/stanbol/trunk/enhancer/benchmark/src/main/java/org/apache/stanbol/enhancer/benchmark/BenchmarkResult.java (original)
+++ incubator/stanbol/trunk/enhancer/benchmark/src/main/java/org/apache/stanbol/enhancer/benchmark/BenchmarkResult.java Thu Apr 7 11:15:30 2011
@@ -18,6 +18,7 @@ package org.apache.stanbol.enhancer.benc
import java.util.Set;
+import org.apache.clerezza.rdf.core.Graph;
import org.apache.clerezza.rdf.core.UriRef;
/** Benchmark result for a single TripleMatcherGroup */
Modified: incubator/stanbol/trunk/enhancer/benchmark/src/main/java/org/apache/stanbol/enhancer/benchmark/impl/BenchmarkImpl.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/enhancer/benchmark/src/main/java/org/apache/stanbol/enhancer/benchmark/impl/BenchmarkImpl.java?rev=1089825&r1=1089824&r2=1089825&view=diff
==============================================================================
--- incubator/stanbol/trunk/enhancer/benchmark/src/main/java/org/apache/stanbol/enhancer/benchmark/impl/BenchmarkImpl.java (original)
+++ incubator/stanbol/trunk/enhancer/benchmark/src/main/java/org/apache/stanbol/enhancer/benchmark/impl/BenchmarkImpl.java Thu Apr 7 11:15:30 2011
@@ -19,6 +19,7 @@ package org.apache.stanbol.enhancer.benc
import java.util.LinkedList;
import java.util.List;
+import org.apache.clerezza.rdf.core.Graph;
import org.apache.stanbol.enhancer.benchmark.Benchmark;
import org.apache.stanbol.enhancer.benchmark.BenchmarkResult;
import org.apache.stanbol.enhancer.benchmark.TripleMatcherGroup;
@@ -32,6 +33,7 @@ public class BenchmarkImpl extends Linke
private String name;
private String inputText;
+ private Graph graph;
/** Not public: meant to be constructed by parsing */
BenchmarkImpl() {
@@ -67,12 +69,20 @@ public class BenchmarkImpl extends Linke
}
final List<BenchmarkResult> result = new LinkedList<BenchmarkResult>();
- final ContentItem ci = new InMemoryContentItem(inputText.getBytes(), "text/plain");
- jobManager.enhanceContent(ci);
for(TripleMatcherGroup g : this) {
- result.add(new BenchmarkResultImpl(g, ci.getMetadata().getGraph()));
+ result.add(new BenchmarkResultImpl(g, getGraph(jobManager)));
}
return result;
}
+
+ /** @inheritDoc */
+ public Graph getGraph(EnhancementJobManager jobManager) throws EngineException {
+ if(graph == null) {
+ final ContentItem ci = new InMemoryContentItem(inputText.getBytes(), "text/plain");
+ jobManager.enhanceContent(ci);
+ graph = ci.getMetadata().getGraph();
+ }
+ return graph;
+ }
}
Modified: incubator/stanbol/trunk/enhancer/benchmark/src/main/java/org/apache/stanbol/enhancer/benchmark/impl/BenchmarkServlet.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/enhancer/benchmark/src/main/java/org/apache/stanbol/enhancer/benchmark/impl/BenchmarkServlet.java?rev=1089825&r1=1089824&r2=1089825&view=diff
==============================================================================
--- incubator/stanbol/trunk/enhancer/benchmark/src/main/java/org/apache/stanbol/enhancer/benchmark/impl/BenchmarkServlet.java (original)
+++ incubator/stanbol/trunk/enhancer/benchmark/src/main/java/org/apache/stanbol/enhancer/benchmark/impl/BenchmarkServlet.java Thu Apr 7 11:15:30 2011
@@ -16,10 +16,11 @@
*/
package org.apache.stanbol.enhancer.benchmark.impl;
+import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.StringReader;
-import java.io.StringWriter;
+import java.io.UnsupportedEncodingException;
import java.util.LinkedList;
import java.util.List;
import java.util.Properties;
@@ -29,6 +30,8 @@ import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
+import org.apache.clerezza.rdf.core.Graph;
+import org.apache.clerezza.rdf.core.serializedform.Serializer;
import org.apache.commons.io.IOUtils;
import org.apache.commons.io.LineIterator;
import org.apache.felix.scr.annotations.Component;
@@ -62,6 +65,9 @@ public class BenchmarkServlet extends Ht
@Reference
private EnhancementJobManager jobManager;
+ @Reference
+ private Serializer graphSerializer;
+
public static final String PARAM_CONTENT = "content";
public static final String DEFAULT_MOUNT_PATH = "/benchmark";
public static final String DEFAULT_BENCHMARK = "default.txt";
@@ -71,6 +77,21 @@ public class BenchmarkServlet extends Ht
public static final String MOUNT_PATH_PROPERTY = "mount.path";
private String mountPath;
private final VelocityEngine velocity = new VelocityEngine();
+
+ // Formatter for benchmark graphs
+ public static class GraphFormatter {
+ private final Serializer serializer;
+
+ GraphFormatter(Serializer s) {
+ serializer = s;
+ }
+
+ public String format(Graph g, String mimeType) throws UnsupportedEncodingException {
+ final ByteArrayOutputStream bos = new ByteArrayOutputStream();
+ serializer.serialize(bos, g, mimeType);
+ return bos.toString("UTF-8");
+ }
+ };
/** Register with HttpService when activated */
public void activate(ComponentContext ctx) throws ServletException, NamespaceException {
@@ -181,6 +202,7 @@ public class BenchmarkServlet extends Ht
final VelocityContext ctx = getVelocityContext(request, "Benchmark Results");
ctx.put("jobManager", jobManager);
ctx.put("benchmarks", parser.parse(new StringReader(content)));
+ ctx.put("graphFormatter", new GraphFormatter(graphSerializer));
response.setContentType("text/html");
response.setCharacterEncoding("UTF-8");
Modified: incubator/stanbol/trunk/enhancer/benchmark/src/main/resources/velocity/benchmark-results.html
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/enhancer/benchmark/src/main/resources/velocity/benchmark-results.html?rev=1089825&r1=1089824&r2=1089825&view=diff
==============================================================================
--- incubator/stanbol/trunk/enhancer/benchmark/src/main/resources/velocity/benchmark-results.html (original)
+++ incubator/stanbol/trunk/enhancer/benchmark/src/main/resources/velocity/benchmark-results.html Thu Apr 7 11:15:30 2011
@@ -2,6 +2,7 @@
<head>
<title>$title</title>
<link rel="stylesheet" href="$cssPath"/>
+ <script type="text/javascript" src="$contextPath/static/enhancer/scripts/jquery-1.4.2.js"></script>
</head>
<body>
<div class="home">
@@ -20,8 +21,21 @@
#set($index = 0)
#foreach($benchmark in $benchmarks)
<div class="benchmark">
- #set($index = $index + 1)
+ #set($index = $index + 1)
+
<div class="input"><span class="label">Benchmark $index input: </span>$benchmark.getInputText()</div>
+
+ <div class="outputGraph">
+ <div class="collapsed">
+ <p class="collapseheader">
+ EnhancementEngines output:
+ </p>
+ <div class="collapsable">
+ <pre>$esc.html($graphFormatter.format($benchmark.getGraph($jobManager), "text/turtle"))</pre>
+ </div>
+ </div>
+ </div>
+
#foreach($result in $benchmark.execute($jobManager))
<div class="result">
<div class="description">
@@ -52,5 +66,10 @@
#end
</div>
</div>
+ <script>
+ $(".outputGraph p").click(function () {
+ $(this).parents("div").toggleClass("collapsed");
+ });
+ </script>
</body>
</html>
\ No newline at end of file
Modified: incubator/stanbol/trunk/enhancer/benchmark/src/main/resources/velocity/benchmark.css
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/enhancer/benchmark/src/main/resources/velocity/benchmark.css?rev=1089825&r1=1089824&r2=1089825&view=diff
==============================================================================
--- incubator/stanbol/trunk/enhancer/benchmark/src/main/resources/velocity/benchmark.css (original)
+++ incubator/stanbol/trunk/enhancer/benchmark/src/main/resources/velocity/benchmark.css Thu Apr 7 11:15:30 2011
@@ -36,4 +36,17 @@
.result .matchers {
margin-left: 2em;
font-size: 90%;
-}
\ No newline at end of file
+}
+
+.outputGraph .collapseheader {
+ margin: 0.1em;
+ cursor: pointer;
+ background: url("$contextPath/static/home/images/foldable_unfolded.png") no-repeat scroll right center transparent;
+}
+
+.outputGraph .collapsed .collapseheader {
+ background: url("$contextPath/static/home/images/foldable_folded.png") no-repeat scroll right center transparent;
+}
+.outputGraph .collapsed .collapsable {
+ display: none;
+}