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]

Reply via email to