<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to Open Infinity Core - documentation</title><link>https://sourceforge.net/p/openinfinity/wiki/Open%2520Infinity%2520Core%2520-%2520documentation/</link><description>Recent changes to Open Infinity Core - documentation</description><atom:link href="https://sourceforge.net/p/openinfinity/wiki/Open%20Infinity%20Core%20-%20documentation/feed" rel="self"/><language>en</language><lastBuildDate>Wed, 02 May 2012 17:51:54 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/openinfinity/wiki/Open%20Infinity%20Core%20-%20documentation/feed" rel="self" type="application/rss+xml"/><item><title>WikiPage Open Infinity Core - documentation modified by Ilkka Leinonen</title><link>https://sourceforge.net/p/openinfinity/wiki/Open%2520Infinity%2520Core%2520-%2520documentation/</link><description>&lt;pre&gt;--- v23 
+++ v24 
@@ -16,12 +16,12 @@
 =================================
 The package includes the following functionality.
 
-Audittrail
+AuditTrail
 -----------
 This annotation represents the metadata added to the runtime method. The metadata executes the org.openinfinity.core.aspect.AuditTrailAspect -aspect when defined. Annotation can be defined in the method level.
 
 ~~~~~~
-@Auditrail
+@AudiTrail
 public SomeObject someMethod(AnotherObject anotherObject() {...}
 
 @AuditTrail(
&lt;/pre&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ilkka Leinonen</dc:creator><pubDate>Wed, 02 May 2012 17:51:54 -0000</pubDate><guid>https://sourceforge.net3dffc0a614c2b523f01f4825f151f26ff1752411</guid></item><item><title>WikiPage Open Infinity Core - documentation modified by Ilkka Leinonen</title><link>https://sourceforge.net/p/openinfinity/wiki/Open%2520Infinity%2520Core%2520-%2520documentation/</link><description>&lt;pre&gt;--- v22 
+++ v23 
@@ -25,7 +25,12 @@
 public SomeObject someMethod(AnotherObject anotherObject() {...}
 
 @AuditTrail(
-isUsernameEnabled=true,isRolesEnabled=false,isTimeStampEnabled=true, value={"auto/tire/screw","personId"}, argumentStrategy=CUSTOM)
+    isUsernameEnabled=true,
+    isRolesEnabled=false,
+    isTimeStampEnabled=true, 
+    value={"auto/tire/screw","personId"}, 
+    argumentStrategy=CUSTOM
+)
 public SomeObject someMethod(AnotherObject anotherObject() {...}
 ~~~~~~
 
&lt;/pre&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ilkka Leinonen</dc:creator><pubDate>Thu, 12 Apr 2012 09:59:21 -0000</pubDate><guid>https://sourceforge.netee3464d16a3b687745004b54044308ef56fb20b4</guid></item><item><title>WikiPage Open Infinity Core - documentation modified by Ilkka Leinonen</title><link>https://sourceforge.net/p/openinfinity/wiki/Open%2520Infinity%2520Core%2520-%2520documentation/</link><description>&lt;pre&gt;--- v21 
+++ v22 
@@ -1,4 +1,4 @@
-Open Infinity Core - 1.0.X
+Open Infinity Core - 1.0.X.RELEASE
 ==================
 
 Open Infinity Core framework is a solution accelerator providing best practices patterns and tactics to overcome cross-cutting concerns like audit trail, logging, standardized and localized exception hierarchy, validation, security and quality. 
&lt;/pre&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ilkka Leinonen</dc:creator><pubDate>Tue, 10 Apr 2012 17:41:43 -0000</pubDate><guid>https://sourceforge.netb5358211c654635a2691751c3ed367f83f4905f2</guid></item><item><title>WikiPage Open Infinity Core - documentation modified by Ilkka Leinonen</title><link>https://sourceforge.net/p/openinfinity/wiki/Open%2520Infinity%2520Core%2520-%2520documentation/</link><description>&lt;pre&gt;--- v20 
+++ v21 
@@ -1,4 +1,4 @@
-Open Infinity Core
+Open Infinity Core - 1.0.X
 ==================
 
 Open Infinity Core framework is a solution accelerator providing best practices patterns and tactics to overcome cross-cutting concerns like audit trail, logging, standardized and localized exception hierarchy, validation, security and quality. 
&lt;/pre&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ilkka Leinonen</dc:creator><pubDate>Tue, 10 Apr 2012 17:40:59 -0000</pubDate><guid>https://sourceforge.net71f6aefc7c0f016cdcdb48bd007deb95a6dc11b8</guid></item><item><title>WikiPage Open Infinity Core - documentation modified by Ilkka Leinonen</title><link>https://sourceforge.net/p/openinfinity/wiki/Open%2520Infinity%2520Core%2520-%2520documentation/</link><description>&lt;pre&gt;--- v19 
+++ v20 
@@ -245,3 +245,24 @@
     StringUtil.toString(this);
 }
 ~~~~~~
+
+
+JdbcPropertyPlaceholderConfigurer
+-----------
+Utility for key-value properties from JDBC datasource.
+
+~~~~~~
+&lt;import resource=“classpath:datasource-definitions.xml"/&gt;
+
+&lt;bean class=” org.openinfinity.core.aspect.JdbcPropertyPlaceholderConfigurer"&gt;
+    &lt;constructor-arg ref=”dataSource” /&gt;
+    &lt;property name="locations"&gt;
+        &lt;list&gt;
+            &lt;value&gt;
+               classpath:/META-INF/properties/logging.properties
+            &lt;/value&gt;
+        &lt;/list&gt;
+    &lt;/property&gt;
+    &lt;property name="ignoreUnresolvablePlaceholders" value="true" /&gt;
+&lt;/bean&gt;
+~~~~~~
&lt;/pre&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ilkka Leinonen</dc:creator><pubDate>Mon, 09 Apr 2012 20:13:51 -0000</pubDate><guid>https://sourceforge.neta67432a6f4080f607c98f10c02a25b91aae1c943</guid></item><item><title>WikiPage Open Infinity Core - documentation modified by Ilkka Leinonen</title><link>https://sourceforge.net/p/openinfinity/wiki/Open%2520Infinity%2520Core%2520-%2520documentation/</link><description>&lt;pre&gt;--- v18 
+++ v19 
@@ -1,7 +1,7 @@
 Open Infinity Core
 ==================
 
-Open Infinity Core framework is a solution accelerator providing best practices patterns and tactics to overcome cross-cutting concerns like audit trail, logging, standardized and localized exception hierarchy, validation, security etc. 
+Open Infinity Core framework is a solution accelerator providing best practices patterns and tactics to overcome cross-cutting concerns like audit trail, logging, standardized and localized exception hierarchy, validation, security and quality. 
 
 Package | Explanation
 --------| -----------
&lt;/pre&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ilkka Leinonen</dc:creator><pubDate>Mon, 09 Apr 2012 20:01:02 -0000</pubDate><guid>https://sourceforge.net7b7f94b7830d9b55e425b34a4706414f75eba799</guid></item><item><title>WikiPage Open Infinity Core - documentation modified by Ilkka Leinonen</title><link>https://sourceforge.net/p/openinfinity/wiki/Open%2520Infinity%2520Core%2520-%2520documentation/</link><description>&lt;pre&gt;--- v17 
+++ v18 
@@ -1,7 +1,7 @@
 Open Infinity Core
 ==================
 
-Open Infinity Core framework is a solution accelerator providing best practices patterns and tactics to overcome boiler plate coding like audit trail, logging, security etc. 
+Open Infinity Core framework is a solution accelerator providing best practices patterns and tactics to overcome cross-cutting concerns like audit trail, logging, standardized and localized exception hierarchy, validation, security etc. 
 
 Package | Explanation
 --------| -----------
&lt;/pre&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ilkka Leinonen</dc:creator><pubDate>Mon, 09 Apr 2012 19:59:45 -0000</pubDate><guid>https://sourceforge.net09f42ffedce540b5e5a60462337ab6b20dd2db26</guid></item><item><title>WikiPage Open Infinity Core - documentation modified by Ilkka Leinonen</title><link>https://sourceforge.net/p/openinfinity/wiki/Open%2520Infinity%2520Core%2520-%2520documentation/</link><description>&lt;pre&gt;--- v16 
+++ v17 
@@ -71,36 +71,42 @@
       &lt;aop:include name="auditTrailAspect“ /&gt;
 &lt;/aop:aspectj-autoproxy&gt;
 
-&lt;bean id="auditTrailAspect" class=“org.openinfinity.core.aspect.AuditTrailAspect" /&gt;
-~~~~~~
-
+&lt;bean 
+    id="auditTrailAspect" 
+    class=“org.openinfinity.core.aspect.AuditTrailAspect" /&gt;
+~~~~~~
+
 ExceptionTranslationAspect
 -----------
 Aspect for handling controller and service level exception translation. Service level exceptions should always be instance of org.openinfinity.core.exception.ApplicationException,org.openinfinity.core.exception.SystemException or org.openinfinity.core.exception.BusinessViolationException. Unknown exceptions will be translated to org.openinfinity.core.exception.SystemException.
 
 ~~~~~~
 &lt;context:component-scan base-package=“org.openinfinity.core"&gt; 
 
 &lt;aop:aspectj-autoproxy&gt;
       &lt;aop:include name=“exceptionTranslatorAspect"/&gt;
 &lt;/aop:aspectj-autoproxy&gt;
 
-&lt;bean id="exceptionTranslatorAspect" class="org.openinfinity.core.aspect.ExceptionTranslatorAspect” /&gt;
+&lt;bean 
+    id="exceptionTranslatorAspect"    
+    class="org.openinfinity.core.aspect.ExceptionTranslatorAspect” /&gt;
 ~~~~~~
 
 
 LogAspect
 -----------
 This class is responsible of the logging. All the incoming parameters will be logged (based on toString() method). Logging storage system can be defined through Log4j property files (JDBCAppender, FileAppender, JMSAppender etc).
 
 ~~~~~~
 &lt;context:component-scan base-package=“org.openinfinity.core"&gt; 
 
 &lt;aop:aspectj-autoproxy&gt;
       &lt;aop:include name=“logAspect"/&gt;
 &lt;/aop:aspectj-autoproxy&gt;
 
-&lt;bean id="logAspect" class="org.openinfinity.core.aspect.LogAspect" /&gt;
+&lt;bean 
+    id="logAspect" 
+    class="org.openinfinity.core.aspect.LogAspect" /&gt;
 ~~~~~~
 
 org.openinfinity.core.exception
&lt;/pre&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ilkka Leinonen</dc:creator><pubDate>Mon, 09 Apr 2012 19:57:35 -0000</pubDate><guid>https://sourceforge.neta4a4dfb28835972d680b115b880afe2e088036b9</guid></item><item><title>WikiPage Open Infinity Core - documentation modified by Ilkka Leinonen</title><link>https://sourceforge.net/p/openinfinity/wiki/Open%2520Infinity%2520Core%2520-%2520documentation/</link><description>&lt;pre&gt;--- v15 
+++ v16 
@@ -29,128 +29,134 @@
 public SomeObject someMethod(AnotherObject anotherObject() {...}
 ~~~~~~
 
+
 Log
 -----------
 This annotation represents the metadata added to the runtime method. The metadata executes the org.openinfinity.core.aspect.LogAspect-aspect when defined. Annotation can be defined in the method level.
 
 ~~~~~~
 @Log
 public SomeObject someMethod(AnotherObject anotherObject() {...}
 
 @Log(level=LogLevel.INFO)
 public SomeObject someMethod(AnotherObject anotherObject() {...}
 ~~~~~~
 
+
 NotScript
 -----------
 Field validator for validating XSS attacks. 
 
 ~~~~~~
 @NotScript
 private String someField;
 
 @NotScript(allowedInputPattern=Person.SSN_XSS)
 private String someField;
 ~~~~~~
 
 org.openinfinity.core.aspect
 =================================
 The package includes the following functionality.
 
+
 AuditTrailAspect
 -----------
 Class is responsible for creating audit trail information. Audit trail storage system can be defined through Log4j property files (JDBCAppender, FileAppender, JMSAppender etc).
 
 ~~~~~~
 &lt;context:component-scan base-package=“org.openinfinity.core"&gt; 
 
 &lt;aop:aspectj-autoproxy&gt;
       &lt;aop:include name="auditTrailAspect“ /&gt;
 &lt;/aop:aspectj-autoproxy&gt;
 
 &lt;bean id="auditTrailAspect" class=“org.openinfinity.core.aspect.AuditTrailAspect" /&gt;
 ~~~~~~
 
 ExceptionTranslationAspect
 -----------
 Aspect for handling controller and service level exception translation. Service level exceptions should always be instance of org.openinfinity.core.exception.ApplicationException,org.openinfinity.core.exception.SystemException or org.openinfinity.core.exception.BusinessViolationException. Unknown exceptions will be translated to org.openinfinity.core.exception.SystemException.
 
 ~~~~~~
 &lt;context:component-scan base-package=“org.openinfinity.core"&gt; 
 
 &lt;aop:aspectj-autoproxy&gt;
       &lt;aop:include name=“exceptionTranslatorAspect"/&gt;
 &lt;/aop:aspectj-autoproxy&gt;
 
 &lt;bean id="exceptionTranslatorAspect" class="org.openinfinity.core.aspect.ExceptionTranslatorAspect” /&gt;
 ~~~~~~
 
+
 LogAspect
 -----------
 This class is responsible of the logging. All the incoming parameters will be logged (based on toString() method). Logging storage system can be defined through Log4j property files (JDBCAppender, FileAppender, JMSAppender etc).
 
 ~~~~~~
 &lt;context:component-scan base-package=“org.openinfinity.core"&gt; 
 
 &lt;aop:aspectj-autoproxy&gt;
       &lt;aop:include name=“logAspect"/&gt;
 &lt;/aop:aspectj-autoproxy&gt;
 
 &lt;bean id="logAspect" class="org.openinfinity.core.aspect.LogAspect" /&gt;
 ~~~~~~
 
 org.openinfinity.core.exception
 =================================
 The package includes the following functionality.
 
+
 BusinessViolationException
 -----------
 Business violation exception is thrown when business rule fails. This kind of behaviour has a fatal impact for the business. Exception is derived from org.openinfinity.core.exception.AbstractCoreException.
 
 Service interface mapped to error properties:
 
 ~~~~~~
 private static final UNIQUE_EXCEPTION = ”bve.exception.not.found”;
 ~~~~~~
 
 Service implementation using localized properties:
 
 ~~~~~~
 if (product.isNotFound()) {
     BusinessViolationException bve = new BusinessViolationException
     (
         ”Product not found”,      
         ExceptionLevel.ERROR,
         UNIQUE_EXCEPTION
     ); 
     throw bve;
 } 
 ~~~~~~
 
 or simply using core utilities:
 
 ~~~~~~
 if (product.isNotFound()) { 
     ExceptionUtil.throwBusinessViolationException(
         ”Product not found”, 
         ExceptionLevel.ERROR, 
     UNIQUE_EXCEPTION);
 }
 ~~~~~~
 
+
 SystemException
 -----------
 This class holds information about the system errors.This exception will be thrown when system level exception occurs (connection failure etc). Exception is derived from org.openinfinity.core.exception.AbstractCoreException.
 
 ~~~~~~
 private static final UNIQUE_EXCEPTION = ”se.exception.cf”;
 if (connection.isInFailureState()) {
    SystemException se = new SystemException
    (
        ”Connection failure occurred”,
        ExceptionLevel.WARNING,
        UNIQUE_EXCEPTION
    ); 
    throw se;
 }
 ~~~~~~
@@ -159,64 +165,69 @@
 
 ~~~~~~
 if (product.isNotFound()) { 
        ExceptionUtil.throwSystemException
        (
            ”Connection failure occurred”,
             ExceptionLevel.WARNING,
             UNIQUE_EXCEPTION
        );
 }
 ~~~~~~
 
+
 ApplicationException
 -----------
 This class holds information about application error. This exception should be thrown when application (use cases) specific problems occurs. 
 Exception is derived from org.openinfinity.core.exception.AbstractCoreException.
 
 ~~~~~~
 if (product.ifContainsIllegalInformation()) {    
    ExceptionUtil.throwApplicationException
    (
       ”Product contains illegal information”,   
       ExceptionLevel.INFORMATIVE, 
       UNIQUE_EXCEPTION
    );
 }
 ~~~~~~
 
+
 AspectUtil
 -----------
 Utility for handling aspect specific features.
 
 ~~~~~~
 Log logAnnotation = AspectUtil.getAnnotation(joinPoint, Log.class);
 ~~~~~~
 
+
 ExceptionUtil
 -----------
 Exception utility class which offers basic methods for exception throwing and stack trace resolving.
 
 ~~~~~~
 String stackTrace = ExceptionUtil.getStackTraceString(throwable);
 ~~~~~~
 
 or:
 
 ~~~~~~
 ExceptionUtil.throwBusinessViolationException(cause);
 ~~~~~~
 
+
 IOUtil
 -----------
 Utility for handling stream, reader and writer objects.
 
 ~~~~~~
 IOUtil.copyStream(inputStream, outputStream);
 IOUtil.getBytes(object);
 IOUtil.closeReader(reader);
 IOUtil.closeWriter(writer);
 IOUtil.closeStream(stream);
 ~~~~~~
+
 
 StringUtil
 -----------
&lt;/pre&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ilkka Leinonen</dc:creator><pubDate>Mon, 09 Apr 2012 19:55:45 -0000</pubDate><guid>https://sourceforge.nete16fec24f83091047f693eb100cfd85d0bfd945c</guid></item><item><title>WikiPage Open Infinity Core - documentation modified by Ilkka Leinonen</title><link>https://sourceforge.net/p/openinfinity/wiki/Open%2520Infinity%2520Core%2520-%2520documentation/</link><description>&lt;pre&gt;--- v14 
+++ v15 
@@ -205,3 +205,26 @@
 ~~~~~~
 ExceptionUtil.throwBusinessViolationException(cause);
 ~~~~~~
+
+IOUtil
+-----------
+Utility for handling stream, reader and writer objects.
+
+~~~~~~
+IOUtil.copyStream(inputStream, outputStream);
+IOUtil.getBytes(object);
+IOUtil.closeReader(reader);
+IOUtil.closeWriter(writer);
+IOUtil.closeStream(stream);
+~~~~~~
+
+StringUtil
+-----------
+Helper class for handling Strings.
+
+~~~~~~
+@Override
+Public String toString() {
+    StringUtil.toString(this);
+}
+~~~~~~
&lt;/pre&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ilkka Leinonen</dc:creator><pubDate>Mon, 09 Apr 2012 19:54:17 -0000</pubDate><guid>https://sourceforge.net2fed7695f15b601eab2a5e46fc001a290b0e81e2</guid></item></channel></rss>