Author: andyhot
Date: Fri Sep 28 03:26:27 2007
New Revision: 580288

URL: http://svn.apache.org/viewvc?rev=580288&view=rev
Log:
TAPESTRY-1787: Support hightlighting packages in stacktraces.

Modified:
    
tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/pages/Exception.html
    
tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/pages/Exception.java
    
tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/pages/Exception.page

Modified: 
tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/pages/Exception.html
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/pages/Exception.html?rev=580288&r1=580287&r2=580288&view=diff
==============================================================================
--- 
tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/pages/Exception.html
 (original)
+++ 
tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/pages/Exception.html
 Fri Sep 28 03:26:27 2007
@@ -30,46 +30,11 @@
 <p>You may continue by <b><a jwcid="restart">restarting</a></b> the 
session.</p>
 </span>
 
-<span jwcid="@ExceptionDisplay" exceptions="ognl:exceptions"/>
+<span jwcid="@ExceptionDisplay" exceptions="ognl:exceptions" 
packages="ognl:packages"/>
 
 <span jwcid="@RequestDisplay"/>
-
-<script type="text/javascript">
-dojo.require("dojo.html.style");
-
-var blockCount=0;
-
-function toggleLink(link){
-       if(!link){return;}
-       if(dojo.html.hasClass(link, "toggleSelected")){
-               dojo.html.removeClass(link, "toggleSelected");
-               return;
-       } else {
-               dojo.html.addClass(link, "toggleSelected");
-               return;
-       }
-}
-
-function toggleDisplay(id, link){
-       dojo.html.toggleShowing(dojo.byId(id));
-       toggleLink(link);
-       return false;
-}
-
-(function(){
-       var elms=dojo.html.getElementsByClass('toggleContent');
-       if(elms && elms.length > 0){
-               for(var i=0;i<elms.length;i++){
-                       toggleDisplay(elms[i]);
-               }
-       }
-       elms=dojo.html.getElementsByClass('exception-display');
-       if(elms && elms.length > 0){
-               toggleDisplay(elms[elms.length-1]);
-       }
-})();
-</script>
-
+<script type="text/javascript">tapestry.html.enhanceExceptionPage();</script>
+    
 </body>
 </html>
 </span>

Modified: 
tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/pages/Exception.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/pages/Exception.java?rev=580288&r1=580287&r2=580288&view=diff
==============================================================================
--- 
tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/pages/Exception.java
 (original)
+++ 
tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/pages/Exception.java
 Fri Sep 28 03:26:27 2007
@@ -14,6 +14,8 @@
 
 package org.apache.tapestry.pages;
 
+import org.apache.tapestry.INamespace;
+import org.apache.tapestry.TapestryUtils;
 import org.apache.tapestry.event.PageDetachListener;
 import org.apache.tapestry.html.BasePage;
 import org.apache.tapestry.util.exception.ExceptionAnalyzer;
@@ -27,6 +29,10 @@
 
 public abstract class Exception extends BasePage implements PageDetachListener
 {
+    /** @since 4.1.4 */
+    public abstract String getPagePackages();
+    /** @since 4.1.4 */
+    public abstract String getComponentPackages();
 
     /** Transient property. */
     public abstract void setExceptions(ExceptionDescription[] exceptions);
@@ -43,5 +49,17 @@
     public boolean isDynamic()
     {
         return getRequestCycle().getResponseBuilder().isDynamic();
+    }
+    
+    public String[] getPackages() {
+        INamespace namespace = 
getRequestCycle().getInfrastructure().getSpecificationSource().getApplicationNamespace();
+        String pages = namespace.getPropertyValue(getPagePackages());
+        String comps = namespace.getPropertyValue(getComponentPackages());
+        StringBuffer sb = new StringBuffer();
+        if (pages!=null) 
+            sb.append(pages);
+        if (comps!=null)
+            sb.append(",").append(comps);
+        return TapestryUtils.split(sb.toString(), ',');
     }
 }

Modified: 
tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/pages/Exception.page
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/pages/Exception.page?rev=580288&r1=580287&r2=580288&view=diff
==============================================================================
--- 
tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/pages/Exception.page
 (original)
+++ 
tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/pages/Exception.page
 Fri Sep 28 03:26:27 2007
@@ -21,6 +21,9 @@
        
 <page-specification class="org.apache.tapestry.pages.Exception">
   
+   <property name="pagePackages" 
initial-value="literal:org.apache.tapestry.page-class-packages"/> 
+   <property name="componentPackages" 
initial-value="literal:org.apache.tapestry.component-class-packages"/> 
+    
   <component id="restart" type="ServiceLink">
     <binding name="service" value="ognl:@[EMAIL PROTECTED]"/>
   </component>


Reply via email to