Author: hasan
Date: Wed Feb 24 10:17:06 2010
New Revision: 915738
URL: http://svn.apache.org/viewvc?rev=915738&view=rev
Log:
CLEREZZA-128: closing issue (Show class of the Exception and stack trace in
RenderingException in org.apache.clerezza.platform.typerendering)
Modified:
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering.scalaserverpages/
(props changed)
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering.scalaserverpages/src/main/java/org/apache/clerezza/platform/typerendering/scalaserverpages/ScalaServerPagesRenderlet.java
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering.scalaserverpages/src/main/resources/org/apache/clerezza/platform/typerendering/scalaserverpages/implicit-header.txt
Propchange:
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering.scalaserverpages/
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Wed Feb 24 10:17:06 2010
@@ -0,0 +1 @@
+/incubator/clerezza/issues/CLEREZZA-128/org.apache.clerezza.platform.typerendering.scalaserverpages:910457-915732
Modified:
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering.scalaserverpages/src/main/java/org/apache/clerezza/platform/typerendering/scalaserverpages/ScalaServerPagesRenderlet.java
URL:
http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering.scalaserverpages/src/main/java/org/apache/clerezza/platform/typerendering/scalaserverpages/ScalaServerPagesRenderlet.java?rev=915738&r1=915737&r2=915738&view=diff
==============================================================================
---
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering.scalaserverpages/src/main/java/org/apache/clerezza/platform/typerendering/scalaserverpages/ScalaServerPagesRenderlet.java
(original)
+++
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering.scalaserverpages/src/main/java/org/apache/clerezza/platform/typerendering/scalaserverpages/ScalaServerPagesRenderlet.java
Wed Feb 24 10:17:06 2010
@@ -62,6 +62,7 @@
*/
private ScalaService scalaService;
private static final Logger logger =
LoggerFactory.getLogger(ScalaServerPagesRenderlet.class);
+ private int byteHeaderLines = 0;
/**
* Default constructor as for usage as OSGi service
@@ -121,12 +122,11 @@
map.put("res", GraphNode.class);
map.put("context", GraphNode.class);
map.put("renderer", CallbackRenderer.class);
- map.put("mode", String.class);
- logger.debug("compiling script");
-
+ map.put("mode", String.class);
+ String scriptName =
extractFileName(renderingSpecification);
+ logger.debug("compiling script: " + scriptName);
CompiledScript cs = scalaService.interpretScalaScript(
- new String(baos.toByteArray(),
"UTF-8"), map);
-
+ new String(baos.toByteArray(),
"UTF-8"), map, scriptName, getByteHeaderLines());
logger.debug("compiled");
final Map<String, Object> values = new HashMap<String,
Object>();
values.put("res", res);
@@ -148,22 +148,25 @@
throw new RenderingException(cause,
renderingSpecification, res, context);
}
throw new
RenderingspecificationException(ex.getMessage(), renderingSpecification,
- ex.getLineNumber() -
getLines(byteHeader), ex.getColumnNumber(), res, context);
+ ex.getLineNumber(),
ex.getColumnNumber(), res, context);
}
}
- private int getLines(byte[] bytes) {
- int count = 0;
- LineNumberReader ln = new LineNumberReader(
- new InputStreamReader(new
ByteArrayInputStream(bytes)));
- try {
- while (ln.readLine() != null) {
- count++;
+ private int getByteHeaderLines() {
+ if (byteHeaderLines == 0) {
+ int count = 0;
+ LineNumberReader ln = new LineNumberReader(
+ new InputStreamReader(new
ByteArrayInputStream(byteHeader)));
+ try {
+ while (ln.readLine() != null) {
+ count++;
+ }
+ } catch (IOException ex) {
+ throw new RuntimeException(ex);
}
- } catch (IOException ex) {
- throw new RuntimeException(ex);
+ byteHeaderLines = count;
}
- return count;
+ return byteHeaderLines;
}
private String toString(Object object) {
@@ -173,4 +176,9 @@
return object.toString();
}
}
+
+ private String extractFileName(URI renderingSpecification) {
+ String path = renderingSpecification.getPath();
+ return path.substring(path.lastIndexOf("/") + 1,
path.lastIndexOf("."));
+ }
}
Modified:
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering.scalaserverpages/src/main/resources/org/apache/clerezza/platform/typerendering/scalaserverpages/implicit-header.txt
URL:
http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering.scalaserverpages/src/main/resources/org/apache/clerezza/platform/typerendering/scalaserverpages/implicit-header.txt?rev=915738&r1=915737&r2=915738&view=diff
==============================================================================
---
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering.scalaserverpages/src/main/resources/org/apache/clerezza/platform/typerendering/scalaserverpages/implicit-header.txt
(original)
+++
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering.scalaserverpages/src/main/resources/org/apache/clerezza/platform/typerendering/scalaserverpages/implicit-header.txt
Wed Feb 24 10:17:06 2010
@@ -5,7 +5,7 @@
def render(resource : GraphNode, mode : String) = {
def parseNodeSeq(string : String) = {
- scala.xml.XML.loadString("<elem>"+string+"</elem>").child
+ _root_.scala.xml.XML.loadString("<elem>"+string+"</elem>").child
}
val baos = new java.io.ByteArrayOutputStream
renderer.render(resource, context, mode, baos)