Author: sgoeschl
Date: Fri Nov 11 08:47:07 2005
New Revision: 332596
URL: http://svn.apache.org/viewcvs?rev=332596&view=rev
Log:
+) added Fulcrum Advice Service
+) added Fulcrum JAMon Interceptor Service
+) improved test coverage
+) fixed a few more javadoc complaints by Eclipse
Added:
jakarta/turbine/fulcrum/trunk/yaafi/xdocs/interceptors/jamoninterceptor.xml
jakarta/turbine/fulcrum/trunk/yaafi/xdocs/services/adviceservice.xml
Modified:
jakarta/turbine/fulcrum/trunk/yaafi/xdocs/changes.xml
jakarta/turbine/fulcrum/trunk/yaafi/xdocs/index.xml
jakarta/turbine/fulcrum/trunk/yaafi/xdocs/interceptors/logginginterceptor.xml
jakarta/turbine/fulcrum/trunk/yaafi/xdocs/navigation.xml
jakarta/turbine/fulcrum/trunk/yaafi/xdocs/services/index.xml
Modified: jakarta/turbine/fulcrum/trunk/yaafi/xdocs/changes.xml
URL:
http://svn.apache.org/viewcvs/jakarta/turbine/fulcrum/trunk/yaafi/xdocs/changes.xml?rev=332596&r1=332595&r2=332596&view=diff
==============================================================================
--- jakarta/turbine/fulcrum/trunk/yaafi/xdocs/changes.xml (original)
+++ jakarta/turbine/fulcrum/trunk/yaafi/xdocs/changes.xml Fri Nov 11 08:47:07
2005
@@ -7,6 +7,20 @@
<body>
<release version="1.0.5-dev" date="as in SVN">
+ <action dev="sgoeschl" type="add">
+ Added JamonInterceptorService to capture statistical performance data
+ </action>
+ <action dev="sgoeschl" type="update">
+ The SmartToStringBuilder was renamed to ArgumentStringBuilder
+ </action>
+ <action dev="sgoeschl" type="add">
+ Added AdviceService to provide interceptors for any
+ arbitrary object.
+ </action>
+ <action dev="sgoeschl" type="add">
+ Added SmartToStringBuilder to get more information out
+ of the LoggingInterceptorService.
+ </action>
<action dev="sgoeschl" type="fix">
Fixed a few JavaDoc warnings
</action>
@@ -46,7 +60,7 @@
layout is messed up.
</action>
</release>
- <release version="1.0.4" date="as in CVS">
+ <release version="1.0.4" date="2005-05-13">
<action dev="sgoeschl" type="add">
Added a simple tutorial
</action>
Modified: jakarta/turbine/fulcrum/trunk/yaafi/xdocs/index.xml
URL:
http://svn.apache.org/viewcvs/jakarta/turbine/fulcrum/trunk/yaafi/xdocs/index.xml?rev=332596&r1=332595&r2=332596&view=diff
==============================================================================
--- jakarta/turbine/fulcrum/trunk/yaafi/xdocs/index.xml (original)
+++ jakarta/turbine/fulcrum/trunk/yaafi/xdocs/index.xml Fri Nov 11 08:47:07 2005
@@ -42,7 +42,7 @@
<subsection name="What we actually implemented">
<p>
<ul>
- <li>a light-weight Avalon container only depending an the Avalone
Framwork libraries</li>
+ <li>a light-weight Avalon container only depending an the Avalon
Framework libraries</li>
<li>a container which can run components written for ECM,
Fortress, Phoenix and Merlin</li>
<li>ability to be embedded in other Avalon containers such as
Phoenix</li>
<li>automatic reconfiguration for the whole Avalon container or
individual services</li>
Added:
jakarta/turbine/fulcrum/trunk/yaafi/xdocs/interceptors/jamoninterceptor.xml
URL:
http://svn.apache.org/viewcvs/jakarta/turbine/fulcrum/trunk/yaafi/xdocs/interceptors/jamoninterceptor.xml?rev=332596&view=auto
==============================================================================
--- jakarta/turbine/fulcrum/trunk/yaafi/xdocs/interceptors/jamoninterceptor.xml
(added)
+++ jakarta/turbine/fulcrum/trunk/yaafi/xdocs/interceptors/jamoninterceptor.xml
Fri Nov 11 08:47:07 2005
@@ -0,0 +1,95 @@
+<?xml version="1.0"?>
+<document>
+ <properties>
+ <title>Fulcrum YAAFI Avalon Container Interceptors</title>
+ <author email="[EMAIL PROTECTED]">Siegfried Goeschl</author>
+ </properties>
+ <body>
+ <section name="Overview">
+ <p> This service uses <a
href="http://jamonapi.sourceforge.net/">JAMon</a> to capture statistical
performance
+ data. This performance data can be exported as HTML report into the
file system or viewed using a browser when
+ your application runs in a servlet container. </p>
+ <p> Have a look at an a <a
href="http://jamonapi.sourceforge.net/JAMonAdmin.html"> HTML example report</a>
+ available from the JAMon homepage. </p>
+ <p> The implementation uses reflection to invoke the JAMon library to
avoid compile-time coupling. If the
+ interceptor is enabled while the JAMON library is not found in the
classpath the implementation silently ignores
+ all intercepted calls. </p>
+ <p> The service is by default disabled since the JAMon library are
currently not hosted on IBIBLIO</p>
+ </section>
+ <section name="Configuration">
+ <subsection name="Component Configuration">
+ <table>
+ <tr>
+ <th>Item</th>
+ <th>Datatype</th>
+ <th>Cardinality</th>
+ <th>Description</th>
+ </tr>
+ <tr>
+ <td>isEnabled</td>
+ <td>Boolean</td>
+ <td>[0|1]</td>
+ <td> Turn the interceptor. If no value is supplied then "false" is
used thereby disabling all interceptor
+ invocations. </td>
+ </tr>
+ <tr>
+ <td>reportTimeout</td>
+ <td>Long</td>
+ <td>[0|1]</td>
+ <td> The report timeout to generate a HTML report. If the value
"0" is used than no periodic reports are
+ generated. If no value is supplied than "0" is used. </td>
+ </tr>
+ <tr>
+ <td>reportFile</td>
+ <td>String</td>
+ <td>[0|1]</td>
+ <td> The report file being used. If a relative file name is used
it will be resolved relative to application
+ directory. </td>
+ </tr>
+ <tr>
+ <td>reportOnExit</td>
+ <td>Boolean</td>
+ <td>[0|1]</td>
+ <td> Dump a HTML report when disposing the service, e.g. during
shutdown of your application. </td>
+ </tr>
+ <tr>
+ <td>services</td>
+ <td>Tree</td>
+ <td>[0|1]</td>
+ <td> Contains a list of services to be monitored. </td>
+ </tr>
+ <tr>
+ <td>services/[EMAIL PROTECTED]</td>
+ <td>String</td>
+ <td>[1..n]</td>
+ <td> The name of an individual service to be monitored. </td>
+ </tr>
+ </table>
+ </subsection>
+ <subsection name="Role Configuration">
+ <source><![CDATA[
+<role
+ name="org.apache.fulcrum.yaafi.interceptor.jamon.JamonInterceptorService"
+ shorthand="JamonInterceptorService"
+
default-class="org.apache.fulcrum.yaafi.interceptor.jamon.JamonInterceptorServiceImpl"
+/>]]>
+ </source>
+ </subsection>
+ </section>
+ <section name="Usage">
+ <p> The JamonInterceptorService is enabled and monitors all services.
The service writes every minute a HTML
+ report and in addition when disposing the service </p>
+ <source><![CDATA[
+<JamonInterceptorService>
+ <isEnabled>true</isEnabled>
+ <reportTimeout>60000</reportTimeout>
+ <reportFile>./temp/jamon.html</reportFile>
+ <reportOnExit>true</reportOnExit>
+ <services>
+ <service name="*"/>
+ </services>
+</JamonInterceptorService>]]>
+ </source>
+ </section>
+ </body>
+</document>
Modified:
jakarta/turbine/fulcrum/trunk/yaafi/xdocs/interceptors/logginginterceptor.xml
URL:
http://svn.apache.org/viewcvs/jakarta/turbine/fulcrum/trunk/yaafi/xdocs/interceptors/logginginterceptor.xml?rev=332596&r1=332595&r2=332596&view=diff
==============================================================================
---
jakarta/turbine/fulcrum/trunk/yaafi/xdocs/interceptors/logginginterceptor.xml
(original)
+++
jakarta/turbine/fulcrum/trunk/yaafi/xdocs/interceptors/logginginterceptor.xml
Fri Nov 11 08:47:07 2005
@@ -18,6 +18,33 @@
</p>
</section>
+ <section name="Filtering using the Logger">
+ <p>
+ The service implementation uses the trace level of its logger to
control
+ the generated output. E.g. setting the tracelevel to INFO would result
in
+ tracing method invocations and exceptions but would ignore the results
from
+ the mehtod invocation.
+ <table>
+ <tr>
+ <th>Trace Level</th>
+ <th>Description</th>
+ </tr>
+ <tr>
+ <td>ERROR</td>
+ <td>Dumps the context information for an onError invocation</td>
+ </tr>
+ <tr>
+ <td>INFO</td>
+ <td>Dumps the context information for an onEntry invocation</td>
+ </tr>
+ <tr>
+ <td>DEBUG</td>
+ <td>Dumps the context information for an onExit invocation</td>
+ </tr>
+ </table>
+ </p>
+ </section>
+
<section name="Captured Information">
<p>
During the execution the service captures the following information for
@@ -149,7 +176,7 @@
</tr>
<tr>
<td>maxArgLength</td>
- <td>Integrer</td>
+ <td>Integer</td>
<td>[0|1]</td>
<td>
The maximum length of an method argument to avoid dumping
megabytes
@@ -157,14 +184,13 @@
</td>
</tr>
<tr>
- <td>useReflection</td>
- <td>Boolean</td>
+ <td>toStringBuilderClass</td>
+ <td>String</td>
<td>[0|1]</td>
<td>
- Enabling this flags results in using
- org.apache.commons.lang.ReflectionToSTringBuilder instead
- of Object.toString() if commons-lang is found in the classpath.
- If no value is supplied then "false" is used.
+ The class name of the string builder to use to format the method
+ parematers and the result. If no value is supplied the
+ SmartToStringBuilder is used.
</td>
</tr>
<tr>
@@ -247,12 +273,12 @@
<LoggingInterceptorService>
<isEnabled>true</isEnabled>
<maxArgLength>2000</maxArgLength>
- <useReflection>true</useReflection>
- <monitorAllExceptions>false</monitorAllExceptions>
+
<toStringBuilderClass>org.apache.fulcrum.yaafi.interceptor.util.SmartToStringBuilderImpl</toStringBuilderClass>
+ <monitorAllExceptions>true</monitorAllExceptions>
<services>
<service name="*"/>
</services>
-</LoggingInterceptorService>
+</LoggingInterceptorService>
]]>
</source>
</section>
Modified: jakarta/turbine/fulcrum/trunk/yaafi/xdocs/navigation.xml
URL:
http://svn.apache.org/viewcvs/jakarta/turbine/fulcrum/trunk/yaafi/xdocs/navigation.xml?rev=332596&r1=332595&r2=332596&view=diff
==============================================================================
--- jakarta/turbine/fulcrum/trunk/yaafi/xdocs/navigation.xml (original)
+++ jakarta/turbine/fulcrum/trunk/yaafi/xdocs/navigation.xml Fri Nov 11
08:47:07 2005
@@ -21,12 +21,14 @@
<item name="Interceptors"
href="/interceptors/index.html" collapse="true">
<item name="Logging"
href="/interceptors/logginginterceptor.html"/>
<item name="Performance"
href="/interceptors/performanceinterceptor.html"/>
+ <item name="JAMon"
href="/interceptors/jamoninterceptor.html"/>
</item>
<item name="Services" href="/services/index.html"
collapse="true">
<item name="ServiceManager"
href="/services/servicemanagerservice.html"/>
<item name="SystemProperty"
href="/services/systempropertyservice.html"/>
<item name="Reconfiguration"
href="/services/reconfigurationservice.html"/>
<item name="Shutdown"
href="/services/shutdownservice.html"/>
+ <item name="Advice"
href="/services/adviceservice.html"/>
</item>
<item name="Specification"
href="/specification/index.html" collapse="true">
<item name="Container Configuration"
href="/specification/container.html"/>
Added: jakarta/turbine/fulcrum/trunk/yaafi/xdocs/services/adviceservice.xml
URL:
http://svn.apache.org/viewcvs/jakarta/turbine/fulcrum/trunk/yaafi/xdocs/services/adviceservice.xml?rev=332596&view=auto
==============================================================================
--- jakarta/turbine/fulcrum/trunk/yaafi/xdocs/services/adviceservice.xml (added)
+++ jakarta/turbine/fulcrum/trunk/yaafi/xdocs/services/adviceservice.xml Fri
Nov 11 08:47:07 2005
@@ -0,0 +1,57 @@
+<?xml version="1.0"?>
+<document>
+
+ <properties>
+ <title>Fulcrum YAAFI Avalon Container AdviceService</title>
+ <author email="[EMAIL PROTECTED]">Siegfried Goeschl</author>
+ </properties>
+
+ <body>
+
+ <section name="Overview">
+ <p>
+ The service reuses YAAFI infrastructure to add Avalon interceptor
services
+ to any Java object. This service is useful if you would like to extend
the
+ existing interceptor services (e.g. logging) to non-Avalon services.
+ </p>
+ </section>
+
+ <section name="Configuration">
+ <subsection name="Role Configuration">
+ <source><![CDATA[
+<role
+ name="org.apache.fulcrum.yaafi.service.advice.AdviceService"
+ shorthand="AdviceService"
+ default-class="org.apache.fulcrum.yaafi.service.advice.AdviceServiceImpl"
+ has-proxy="false"
+/>
+ ]]></source>
+ </subsection>
+
+ <subsection name="Component Configuration">
+ <table>
+ <tr>
+ <th>Item</th>
+ <th>Datatype</th>
+ <th>Optional</th>
+ <th>Description</th>
+ </tr>
+ <tr>
+ <td>interceptors</td>
+ <td>Tree</td>
+ <td>Y</td>
+ <td>Contains a list of interceptors</td>
+ </tr>
+ <tr>
+ <td>interceptors/interceptor</td>
+ <td>String</td>
+ <td>Y</td>
+ <td>The name of the interceptor</td>
+ </tr>
+ </table>
+ </subsection>
+
+ </section>
+
+ </body>
+</document>
Modified: jakarta/turbine/fulcrum/trunk/yaafi/xdocs/services/index.xml
URL:
http://svn.apache.org/viewcvs/jakarta/turbine/fulcrum/trunk/yaafi/xdocs/services/index.xml?rev=332596&r1=332595&r2=332596&view=diff
==============================================================================
--- jakarta/turbine/fulcrum/trunk/yaafi/xdocs/services/index.xml (original)
+++ jakarta/turbine/fulcrum/trunk/yaafi/xdocs/services/index.xml Fri Nov 11
08:47:07 2005
@@ -12,10 +12,10 @@
<section name="YAAFI Services">
<p>
-
+
YAAFI comes already with the following services since they are
generally useful and
do not add any dependencies
-
+
<table>
<tr>
<th>Name</th>
@@ -45,10 +45,16 @@
Automatic shutdown after changes of an arbitrary configuration
file
</td>
</tr>
+ <tr>
+ <td><a href="adviceservice.html">AdviceService</a></td>
+ <td>
+ Using dynamic proxies for arbtrary Java object to add
interceptor support
+ </td>
+ </tr>
</table>
-
+
</p>
-
+
</section>
</body>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]