You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by jo...@apache.org on 2007/05/21 23:04:21 UTC

svn commit: r540296 - /maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/repository/AuditLog.java

Author: joakime
Date: Mon May 21 14:04:20 2007
New Revision: 540296

URL: http://svn.apache.org/viewvc?view=rev&rev=540296
Log:
[MRM-347]: Undefined ${appserver.home} and ${appserver.base} 

Modified:
    maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/repository/AuditLog.java

Modified: maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/repository/AuditLog.java
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/repository/AuditLog.java?view=diff&rev=540296&r1=540295&r2=540296
==============================================================================
--- maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/repository/AuditLog.java (original)
+++ maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/repository/AuditLog.java Mon May 21 14:04:20 2007
@@ -20,6 +20,9 @@
  */
 
 import org.apache.commons.lang.StringUtils;
+import org.codehaus.plexus.evaluator.EvaluatorException;
+import org.codehaus.plexus.evaluator.ExpressionEvaluator;
+import org.codehaus.plexus.evaluator.ExpressionSource;
 import org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable;
 import org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationException;
 import org.codehaus.plexus.webdav.DavServerComponent;
@@ -48,13 +51,25 @@
     /**
      * @plexus.configuration default-value="${appserver.base}/logs/audit.log"
      */
-    private File logFile;
+    private String logFilename;
 
     /**
      * @plexus.configuration default-value="yyyy-MM-dd HH:mm:ss"
      */
     private String timestampFormat;
 
+    /**
+     * @plexus.requirement role-hint="default"
+     */
+    private ExpressionEvaluator expressionEvaluator;
+
+    /**
+     * @plexus.requirement role-hint="sysprops"
+     */
+    private ExpressionSource syspropExprSource;
+
+    private File logFile;
+
     private PrintWriter writer;
 
     private SimpleDateFormat timestamp;
@@ -108,6 +123,19 @@
     public void initialize()
         throws InitializationException
     {
+        String actualFilename;
+        try
+        {
+            expressionEvaluator.addExpressionSource( syspropExprSource );
+            actualFilename = expressionEvaluator.expand( this.logFilename );
+        }
+        catch ( EvaluatorException e1 )
+        {
+            actualFilename = this.logFilename;
+        }
+
+        this.logFile = new File( actualFilename );
+
         File parentDir = logFile.getParentFile();
         if ( parentDir != null )
         {