This is an automated email from the ASF dual-hosted git repository.

thiagohp pushed a commit to branch better-page-invalidation
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git


The following commit(s) were added to refs/heads/better-page-invalidation by 
this push:
     new 7ff7b3e89 TAP-2742: code cleanup
7ff7b3e89 is described below

commit 7ff7b3e894767de2bf525596e0da381390554779
Author: Thiago H. de Paula Figueiredo <thi...@arsmachina.com.br>
AuthorDate: Sat Apr 29 17:30:07 2023 -0300

    TAP-2742: code cleanup
---
 .../internal/bindings/PropBindingFactory.java      |   3 -
 .../internal/renderers/RequestRenderer.java        | 173 ++++++++++-----------
 .../services/ComponentInstantiatorSourceImpl.java  |   3 -
 .../internal/services/RequestErrorFilter.java      | 118 +-------------
 .../rest/DefaultOpenApiDescriptionGenerator.java   |   8 +-
 .../internal/structure/ComponentPageElement.java   |   1 -
 .../PageClassloaderContextManagerImpl.java         |  45 +-----
 7 files changed, 102 insertions(+), 249 deletions(-)

diff --git 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/bindings/PropBindingFactory.java
 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/bindings/PropBindingFactory.java
index e2bcd29e7..acf7448e1 100644
--- 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/bindings/PropBindingFactory.java
+++ 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/bindings/PropBindingFactory.java
@@ -49,7 +49,6 @@ public class PropBindingFactory implements BindingFactory
                               ComponentResources component, String expression, 
Location location)
     {
         
-        // TODO: need to get correct classloader here, probably
         Object target = container.getComponent();
         Class targetClass = target.getClass();
         targetClass = getClassLoaderAppropriateClass(targetClass);
@@ -68,10 +67,8 @@ public class PropBindingFactory implements BindingFactory
         try 
         {
             final PageClassloaderContext context = 
pageClassloaderContextManager.get(className);
-//            System.out.printf("XXXXX Target class (before): %s classloader : 
%s\n", targetClass.getSimpleName(), targetClass.getClassLoader());
             targetClass = context.getProxyFactory()
                     .getClassLoader().loadClass(className);
-//            System.out.printf("XXXXX Target class (after) : %s classloader : 
%s context %s\n", targetClass.getSimpleName(), targetClass.getClassLoader(), 
context.getName());
         } catch (ClassNotFoundException e) 
         {
             throw new TapestryException(e.getMessage(), e);
diff --git 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/renderers/RequestRenderer.java
 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/renderers/RequestRenderer.java
index c0b0e956f..952ef050f 100644
--- 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/renderers/RequestRenderer.java
+++ 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/renderers/RequestRenderer.java
@@ -78,9 +78,8 @@ public class RequestRenderer implements 
ObjectRenderer<Request>
         attributes(request, writer);
         context(writer);
         
-        // TODO: remove methods below
-        pageClassloaderContext(writer);
-        pages(writer);
+//        pageClassloaderContext(writer);
+//        pages(writer);
     }
 
     private void coreProperties(Request request, MarkupWriter writer)
@@ -276,89 +275,89 @@ public class RequestRenderer implements 
ObjectRenderer<Request>
         writer.end(); // dl
     }
 
-    private void pageClassloaderContext(MarkupWriter writer) 
-    {
-        if (!productionMode)
-        {
-            section(writer, "Page Classloader Context");
-            writer.element("ul");
-            render(pageClassloaderContextManager.getRoot(), writer);
-            writer.end(); // ul
-        }
-    }
-
-    private void render(PageClassloaderContext context, MarkupWriter writer) 
-    {
-        if (context != null)
-        {
-        
-            writer.element("li");
-            
-            writer.element("p");
-            writer.element("em");
-            writer.write(context.getName());
-            writer.write(", ");
-            writer.write(context.getClassLoader().toString());
-            writer.end(); // em
-            writer.end(); // p
-            
-            writer.element("p");
-            
writer.write(context.getClassNames().stream().collect(Collectors.joining(", 
")));
-            writer.end(); // p
-            
-            if (!context.getChildren().isEmpty())
-            {
-                writer.element("ul");
-                for (PageClassloaderContext child : context.getChildren())
-                {
-                    render(child, writer);
-                }
-                writer.end(); // ul
-            }
-            writer.end(); // li
-            
-        }
-        
-    }
-    
-    private void pages(MarkupWriter writer) 
-    {
-        if (!productionMode)
-        {
-            section(writer, "Pages");
-            writer.element("table", "class", "table table-condensed 
table-hover table-striped exception-report-threads");
-            writer.element("thead");
-            
-            writer.element("td");
-            writer.write("Name");
-            writer.end(); //td Name
-
-            writer.element("td");
-            writer.write("Context");
-            writer.end(); //td Context
-
-            writer.end(); // thead
-            
-            writer.element("tbody");
-            
-            List<Page> pages = new ArrayList<>(pageSource.getAllPages());
-            Collections.sort(pages, Comparator.comparing(Page::getName));
-            
-            for (Page page : pages) {
-                writer.element("tr");
-                writer.element("td");
-                writer.write(page.getName());
-                writer.end(); // td                
-                writer.element("td");
-                
writer.write(pageClassloaderContextManager.getRoot().findByClassName(componentClassResolver.getClassName(page.getName())).toString());
-                writer.end(); // td                
-                writer.end(); // tr
-            }
-            
-            writer.end(); // tbody
-            
-            writer.end(); // table
-        }        
-    }
+//    private void pageClassloaderContext(MarkupWriter writer) 
+//    {
+//        if (!productionMode)
+//        {
+//            section(writer, "Page Classloader Context");
+//            writer.element("ul");
+//            render(pageClassloaderContextManager.getRoot(), writer);
+//            writer.end(); // ul
+//        }
+//    }
+//
+//    private void render(PageClassloaderContext context, MarkupWriter writer) 
+//    {
+//        if (context != null)
+//        {
+//        
+//            writer.element("li");
+//            
+//            writer.element("p");
+//            writer.element("em");
+//            writer.write(context.getName());
+//            writer.write(", ");
+//            writer.write(context.getClassLoader().toString());
+//            writer.end(); // em
+//            writer.end(); // p
+//            
+//            writer.element("p");
+//            
writer.write(context.getClassNames().stream().collect(Collectors.joining(", 
")));
+//            writer.end(); // p
+//            
+//            if (!context.getChildren().isEmpty())
+//            {
+//                writer.element("ul");
+//                for (PageClassloaderContext child : context.getChildren())
+//                {
+//                    render(child, writer);
+//                }
+//                writer.end(); // ul
+//            }
+//            writer.end(); // li
+//            
+//        }
+//        
+//    }
+//    
+//    private void pages(MarkupWriter writer) 
+//    {
+//        if (!productionMode)
+//        {
+//            section(writer, "Pages");
+//            writer.element("table", "class", "table table-condensed 
table-hover table-striped exception-report-threads");
+//            writer.element("thead");
+//            
+//            writer.element("td");
+//            writer.write("Name");
+//            writer.end(); //td Name
+//
+//            writer.element("td");
+//            writer.write("Context");
+//            writer.end(); //td Context
+//
+//            writer.end(); // thead
+//            
+//            writer.element("tbody");
+//            
+//            List<Page> pages = new ArrayList<>(pageSource.getAllPages());
+//            Collections.sort(pages, Comparator.comparing(Page::getName));
+//            
+//            for (Page page : pages) {
+//                writer.element("tr");
+//                writer.element("td");
+//                writer.write(page.getName());
+//                writer.end(); // td                
+//                writer.element("td");
+//                
writer.write(pageClassloaderContextManager.getRoot().findByClassName(componentClassResolver.getClassName(page.getName())).toString());
+//                writer.end(); // td                
+//                writer.end(); // tr
+//            }
+//            
+//            writer.end(); // tbody
+//            
+//            writer.end(); // table
+//        }        
+//    }
     
 }
diff --git 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentInstantiatorSourceImpl.java
 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentInstantiatorSourceImpl.java
index 63edfcb0b..d1b8f258f 100644
--- 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentInstantiatorSourceImpl.java
+++ 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentInstantiatorSourceImpl.java
@@ -241,7 +241,6 @@ public final class ComponentInstantiatorSourceImpl 
implements ComponentInstantia
             final String className = 
classToInstantiatorIterator.next().getKey();
             if (!className.equals(currentPage) && 
classNames.contains(className))
             {
-//              System.out.println("WWWWW Removing class instantiator " + 
className);
                 classToInstantiatorIterator.remove();
             }
         }
@@ -252,7 +251,6 @@ public final class ComponentInstantiatorSourceImpl 
implements ComponentInstantia
             final String className = classToModelIterator.next().getKey();
             if (!className.equals(currentPage) && 
classNames.contains(className))
             {
-//                System.out.println("WWWWW Removing class model " + 
className);
                 classToModelIterator.remove();
             }
         }
@@ -353,7 +351,6 @@ public final class ComponentInstantiatorSourceImpl 
implements ComponentInstantia
                         {
                             if (!OPEN_INSTANTIATORS.get().contains(dependency))
                             {
-//                                System.out.println("TTTTT calling 
createInstaniatoForClass " + dependency);
                                 createInstantiatorForClass(dependency);
                             }
                         }
diff --git 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/RequestErrorFilter.java
 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/RequestErrorFilter.java
index f1fdc6c87..20dc209ae 100644
--- 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/RequestErrorFilter.java
+++ 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/RequestErrorFilter.java
@@ -1,27 +1,13 @@
 package org.apache.tapestry5.internal.services;
 
 import java.io.IOException;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import org.apache.tapestry5.commons.services.InvalidationEventHub;
-import org.apache.tapestry5.commons.util.DifferentClassVersionsException;
-import org.apache.tapestry5.corelib.pages.ExceptionReport;
-import org.apache.tapestry5.http.Link;
+
+import org.apache.tapestry5.beanmodel.services.*;
 import org.apache.tapestry5.http.services.Request;
 import org.apache.tapestry5.http.services.RequestFilter;
 import org.apache.tapestry5.http.services.RequestHandler;
 import org.apache.tapestry5.http.services.Response;
-import org.apache.tapestry5.ioc.annotations.ComponentClasses;
-import org.apache.tapestry5.services.ComponentEventLinkEncoder;
-import org.apache.tapestry5.services.ComponentEventRequestParameters;
-import org.apache.tapestry5.services.PageRenderRequestParameters;
 import org.apache.tapestry5.services.RequestExceptionHandler;
-import org.apache.tapestry5.services.pageload.PageClassloaderContext;
-import org.apache.tapestry5.services.pageload.PageClassloaderContextManager;
 
 /**
  * Filter for the {@link org.apache.tapestry5.http.services.RequestHandler} 
pipeline used to intercept and report
@@ -31,24 +17,11 @@ public class RequestErrorFilter implements RequestFilter
 {
     private final InternalRequestGlobals internalRequestGlobals;
     private final RequestExceptionHandler exceptionHandler;
-    private final InvalidationEventHub classesInvalidationHub;
-    private final ComponentEventLinkEncoder componentEventLinkEncoder;
-    private final ComponentInstantiatorSource componentInstantiatorSource;
-    private final PageClassloaderContextManager pageClassloaderContextManager;
-    private final static String QUERY_PARAMETER = 
"RequestErrorFilterRedirected";
-    private final static Pattern CCE_PATTERN = Pattern.compile("((.*)\\scannot 
be cast to (.*))(.*)");
-
-    public RequestErrorFilter(InternalRequestGlobals internalRequestGlobals, 
RequestExceptionHandler exceptionHandler,
-            @ComponentClasses InvalidationEventHub classesInvalidationHub, 
ComponentEventLinkEncoder componentEventLinkEncoder,
-            ComponentInstantiatorSource componentInstantiatorSource, 
-            PageClassloaderContextManager pageClassloaderContextManager)
+
+    public RequestErrorFilter(InternalRequestGlobals internalRequestGlobals, 
RequestExceptionHandler exceptionHandler)
     {
         this.internalRequestGlobals = internalRequestGlobals;
         this.exceptionHandler = exceptionHandler;
-        this.classesInvalidationHub = classesInvalidationHub;
-        this.componentEventLinkEncoder = componentEventLinkEncoder;
-        this.componentInstantiatorSource = componentInstantiatorSource;
-        this.pageClassloaderContextManager = pageClassloaderContextManager;
     }
 
     public boolean service(Request request, Response response, RequestHandler 
handler) throws IOException
@@ -64,53 +37,10 @@ public class RequestErrorFilter implements RequestFilter
         }
         catch (Throwable ex)
         {
-            
-            // TODO: evaluate removing this
-            if (request.getParameter(QUERY_PARAMETER) == null)
-            {
-            
-                Throwable rootCause = ex.getCause();
-                String classToInvalidate = getClassToInvalidate(rootCause);
-                
-                if (classToInvalidate != null)
-                {
-                    
-                    final List<String> classesToInvalidate = 
-                            Arrays.asList(classToInvalidate, 
ExceptionReport.class.getName());
-                    
classesInvalidationHub.fireInvalidationEvent(classesToInvalidate);
-
-                    Link link = null;
-                    
-                    final ComponentEventRequestParameters 
componentEventParameters = 
componentEventLinkEncoder.decodeComponentEventRequest(request);
-                    if (componentEventParameters != null)
-                    {
-                        link = 
componentEventLinkEncoder.createComponentEventLink(componentEventParameters, 
false);
-                    }
-                    
-                    final PageRenderRequestParameters pageRenderParameters = 
componentEventLinkEncoder.decodePageRenderRequest(request);
-                    if (pageRenderParameters != null)
-                    {
-                        link = 
componentEventLinkEncoder.createPageRenderLink(pageRenderParameters);
-                    }
-                    
-                    if (link != null)
-                    {
-                        link.addParameter(QUERY_PARAMETER, "true");
-                        response.sendRedirect(link);
-                        return true;
-                    }
-                    
-                }
-                
-            }
-            
             // Most of the time, we've got exception linked up the kazoo ... 
but when ClassLoaders
             // get involved, things go screwy.  Exceptions when transforming 
classes can cause
             // a NoClassDefFoundError with no cause; here we're trying to link 
the cause back in.
             // TAPESTRY-2078
-            
-            System.out.println("YYYYYY" + 
pageClassloaderContextManager.getRoot().toRecursiveString());
-            ex.printStackTrace();
 
             Throwable exceptionToReport = attachNewCause(ex, 
internalRequestGlobals.getClassLoaderException());
 
@@ -123,46 +53,6 @@ public class RequestErrorFilter implements RequestFilter
         }
     }
 
-    private String getClassToInvalidate(Throwable rootCause) {
-        String classToInvalidate = null;
-        while (rootCause != null && rootCause.getCause() != null)
-        {
-            rootCause = rootCause.getCause();
-        }
-        if (rootCause instanceof DifferentClassVersionsException)
-        {
-            DifferentClassVersionsException dcve = 
(DifferentClassVersionsException) rootCause;
-            classToInvalidate = dcve.getClassName();
-        }
-        else if (rootCause instanceof ClassCastException)
-        {
-            String message = rootCause.getMessage();
-            if (message != null)
-            {
-            
-                // Handling both Java 8 and Java 11 messages
-                message = message.replace("class ", "");
-                final int index = message.indexOf(" (");
-                if (index > 0)
-                {
-                    message = message.substring(0, index);
-                }
-                
-                final Matcher matcher = CCE_PATTERN.matcher(message);
-                if (matcher.matches() && matcher.groupCount() >= 3)
-                {
-                    final String class1 = matcher.group(2);
-                    final String class2 = matcher.group(3);
-                    if (class1.equals(class2))
-                    {
-                        classToInvalidate = class1;
-                    }
-                }
-            }
-        }
-        return classToInvalidate;
-    }
-
     private Throwable attachNewCause(Throwable exception, Throwable 
underlyingCause)
     {
         if (underlyingCause == null) return exception;
diff --git 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/rest/DefaultOpenApiDescriptionGenerator.java
 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/rest/DefaultOpenApiDescriptionGenerator.java
index b3bdb539b..d0bd12f66 100644
--- 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/rest/DefaultOpenApiDescriptionGenerator.java
+++ 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/rest/DefaultOpenApiDescriptionGenerator.java
@@ -595,10 +595,10 @@ public class DefaultOpenApiDescriptionGenerator 
implements OpenApiDescriptionGen
                 }
             }
         }
-        if (method == null && 
pageClass.getName().equals("org.apache.tapestry5.integration.app1.pages.rest.RestTypeDescriptionsDemo"))
-        {
-            System.out.println("WTF!");
-        }
+//        if (method == null && 
pageClass.getName().equals("org.apache.tapestry5.integration.app1.pages.rest.RestTypeDescriptionsDemo"))
+//        {
+//            System.out.println("WTF!");
+//        }
         // In case of the same class being loaded from different classloaders,
         // let's try to find the method in a different way.
 //        if (method == null)
diff --git 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/ComponentPageElement.java
 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/ComponentPageElement.java
index 2fdf0b1ff..1e17fe90b 100644
--- 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/ComponentPageElement.java
+++ 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/ComponentPageElement.java
@@ -106,7 +106,6 @@ public interface ComponentPageElement extends 
ComponentResourcesCommon, Internal
      */
     ComponentPageElement getEmbeddedElement(String id);
     
-    // TODO: remove
     /**
      * Returns the ids of all embedded elements defined within the component.
      * @since 5.8.3
diff --git 
a/tapestry-core/src/main/java/org/apache/tapestry5/services/pageload/PageClassloaderContextManagerImpl.java
 
b/tapestry-core/src/main/java/org/apache/tapestry5/services/pageload/PageClassloaderContextManagerImpl.java
index 52fb9300c..d7753876a 100644
--- 
a/tapestry-core/src/main/java/org/apache/tapestry5/services/pageload/PageClassloaderContextManagerImpl.java
+++ 
b/tapestry-core/src/main/java/org/apache/tapestry5/services/pageload/PageClassloaderContextManagerImpl.java
@@ -349,13 +349,7 @@ public class PageClassloaderContextManagerImpl implements 
PageClassloaderContext
         try 
         {
             final ClassLoader classLoader = 
context.getPlasticManager().getClassLoader();
-            final Class<?> clasz = classLoader.loadClass(className);
-            // TODO: do were really need this loop?
-            for (Class<?> c : clasz.getDeclaredClasses()) 
-            {
-                final Class<?> cccc = classLoader.loadClass(c.getName());
-            }
-            return clasz;
+            return classLoader.loadClass(className);
         } catch (Exception e) {
             throw new RuntimeException(e);
         }
@@ -510,7 +504,6 @@ public class PageClassloaderContextManagerImpl implements 
PageClassloaderContext
     
     private List<String> listen(List<String> resources)
     {
-//        System.out.println("XXXXXX Before PageClassloaderContextManager 
listen: " + root.toRecursiveString());
         if (INVALIDATING_CONTEXT.get())
         {
             return Collections.emptyList();
@@ -587,35 +580,13 @@ public class PageClassloaderContextManagerImpl implements 
PageClassloaderContext
         {
             context = get(className);
         }
-//        final String pageClassName = 
componentClassResolver.resolvePageNameToClassName(pageName);
-//        final PageClassloaderContext context = get(pageClassName);
-//        PageClassloaderContext ancestor = context.getParent();
-//        
-//        if (!className.equals(pageClassName))
-//        {
-//        
-//            while (ancestor != null && 
!ancestor.getClassNames().contains(className))
-//            {
-//                ancestor = ancestor.getParent();
-//            }
-//            
-//            if (ancestor == null)
-//            {
-//                ancestor = context;
-//            }
-//            
-//            if (clasz.getSimpleName().equals("TextField"))
-//            {
-//                System.out.printf("XXXXX Target class (before): %s page %s 
context : %s\n", clasz.getSimpleName(), pageName, clasz.getClassLoader());
-//            }
-            try 
-            {
-                clasz = 
context.getProxyFactory().getClassLoader().loadClass(className);
-            } catch (ClassNotFoundException e) 
-            {
-                throw new TapestryException(e.getMessage(), e);
-            }
-//        }
+        try 
+        {
+            clasz = 
context.getProxyFactory().getClassLoader().loadClass(className);
+        } catch (ClassNotFoundException e) 
+        {
+            throw new TapestryException(e.getMessage(), e);
+        }
         return clasz;
     }
     

Reply via email to