[ 
https://issues.apache.org/jira/browse/TAP5-2838?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18128202#comment-18128202
 ] 

Hudson commented on TAP5-2838:
------------------------------

FAILURE: Integrated in Jenkins build Tapestry ยป tapestry-5.9.x-freestyle #3 
(See 
[https://ci-builds.apache.org/job/Tapestry/job/tapestry-5.9.x-freestyle/3/])
TAP5-2838: Make pipeline structure visible at runtime via toString() (#68) 
(thiago: rev a237b3426d4244641974aabc4cfacf3b470a046f)
* (add) 
tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/internal/services/PipelineBuilderImplTest.java
* (add) 
tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/internal/services/BridgeBuilderTest.java
* (delete) tapestry-ioc/src/test/groovy/ioc/specs/PipelineBuilderImplSpec.groovy
* (add) 
tapestry-core/src/main/java/org/apache/tapestry5/corelib/pages/Pipelines.java
* (edit) 
tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/services/PipelineBuilderImpl.java
* (edit) 
tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/services/BridgeBuilder.java
* (add) 
tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/services/PipelineStep.java
* (edit) 
tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/services/PipelineBuilder.java
* (add) 
tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/test/RecordingLogger.java
* (edit) 
tapestry-core/src/main/java/org/apache/tapestry5/modules/DashboardModule.java
* (delete) tapestry-ioc/src/test/groovy/ioc/specs/BridgeBuilderSpec.groovy
* (add) 
tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/services/PipelineDescriber.java
* (add) 
tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/services/AssembledPipeline.java
* (add) 
tapestry-core/src/main/resources/org/apache/tapestry5/corelib/pages/Pipelines.tml
* (edit) 
tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/CoreBehaviorsTests.java


> Make pipeline structure visible at runtime via toString()
> ---------------------------------------------------------
>
>                 Key: TAP5-2838
>                 URL: https://issues.apache.org/jira/browse/TAP5-2838
>             Project: Tapestry 5
>          Issue Type: Improvement
>          Components: tapestry-ioc
>            Reporter: Ben Weidig
>            Assignee: Ben Weidig
>            Priority: Minor
>             Fix For: 5.9.2
>
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> h2. Context
> {{PipelineBuilder}} creates filter chains using dynamically generated bridge 
> proxies.
> Currently, calling {{toString()}} on a bridge returns only a simple 
> description (e.g. {{{}<PipelineBridge from (serviceInterface) to 
> (filterInterface)>{}}}).
> There's no way to inspect the full pipeline at runtime.
> To provide more insight in what the pipeline actually does, especially how 
> the ordering has resolved, pipelines should output the full chain in 
> {{toString()}}
> h2. Design
> Dynamically generate a {{toString()}} implementation for bridge instances 
> that formats the bridge's filter and recursively invokes {{toString()}} on the
> {{next}} step (either the next bridge or the terminator).
> Calling {{toString()}} on the pipeline head will automatically compose and 
> output the complete pipeline chain at runtime, e.g.:
> {noformat}
> <PipelineBridge from (serviceInterface) to (filterInterface): 
> com.example.LoggingFilter@4a3f1c1b com.example.SecurityFilter@1d2e3f>
> {noformat}
> Or something similar.
> h2. Possible Additions / Enhancements
>  - Build-time / Startup Logging: Log the assembled pipeline string at 
> {{DEBUG}} level when a pipeline is built in {{PipelineBuilderImpl}}
>  - Tapestry 5 Dashboard: Expose the formatted pipeline structure on the 
> dashboard for easier access



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to