You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flume.apache.org by ar...@apache.org on 2011/12/16 01:31:25 UTC

svn commit: r1215007 - in /incubator/flume/branches/flume-728: flume-ng-channels/flume-jdbc-channel/src/main/java/org/apache/flume/channel/jdbc/ flume-ng-channels/flume-jdbc-channel/src/main/java/org/apache/flume/channel/jdbc/impl/ flume-ng-channels/fl...

Author: arvind
Date: Fri Dec 16 00:31:24 2011
New Revision: 1215007

URL: http://svn.apache.org/viewvc?rev=1215007&view=rev
Log:
FLUME-869. Allow location of derby.log to be configured.

Modified:
    incubator/flume/branches/flume-728/flume-ng-channels/flume-jdbc-channel/src/main/java/org/apache/flume/channel/jdbc/ConfigurationConstants.java
    incubator/flume/branches/flume-728/flume-ng-channels/flume-jdbc-channel/src/main/java/org/apache/flume/channel/jdbc/impl/JdbcChannelProviderImpl.java
    incubator/flume/branches/flume-728/flume-ng-channels/flume-jdbc-channel/src/test/java/org/apache/flume/channel/jdbc/TestJdbcChannelProvider.java
    incubator/flume/branches/flume-728/flume-ng-core/src/main/java/org/apache/flume/Context.java

Modified: incubator/flume/branches/flume-728/flume-ng-channels/flume-jdbc-channel/src/main/java/org/apache/flume/channel/jdbc/ConfigurationConstants.java
URL: http://svn.apache.org/viewvc/incubator/flume/branches/flume-728/flume-ng-channels/flume-jdbc-channel/src/main/java/org/apache/flume/channel/jdbc/ConfigurationConstants.java?rev=1215007&r1=1215006&r2=1215007&view=diff
==============================================================================
--- incubator/flume/branches/flume-728/flume-ng-channels/flume-jdbc-channel/src/main/java/org/apache/flume/channel/jdbc/ConfigurationConstants.java (original)
+++ incubator/flume/branches/flume-728/flume-ng-channels/flume-jdbc-channel/src/main/java/org/apache/flume/channel/jdbc/ConfigurationConstants.java Fri Dec 16 00:31:24 2011
@@ -24,6 +24,9 @@ public final class ConfigurationConstant
 
   public static final String PREFIX = "org.apache.flume.channel.jdbc.";
 
+  public static final String CONFIG_JDBC_SYSPRO_PREFIX =
+      PREFIX + "sysprop.";
+
   public static final String CONFIG_JDBC_DRIVER_CLASS =
       PREFIX + "driver.class";
 

Modified: incubator/flume/branches/flume-728/flume-ng-channels/flume-jdbc-channel/src/main/java/org/apache/flume/channel/jdbc/impl/JdbcChannelProviderImpl.java
URL: http://svn.apache.org/viewvc/incubator/flume/branches/flume-728/flume-ng-channels/flume-jdbc-channel/src/main/java/org/apache/flume/channel/jdbc/impl/JdbcChannelProviderImpl.java?rev=1215007&r1=1215006&r2=1215007&view=diff
==============================================================================
--- incubator/flume/branches/flume-728/flume-ng-channels/flume-jdbc-channel/src/main/java/org/apache/flume/channel/jdbc/impl/JdbcChannelProviderImpl.java (original)
+++ incubator/flume/branches/flume-728/flume-ng-channels/flume-jdbc-channel/src/main/java/org/apache/flume/channel/jdbc/impl/JdbcChannelProviderImpl.java Fri Dec 16 00:31:24 2011
@@ -25,6 +25,7 @@ import java.sql.Connection;
 import java.sql.DriverManager;
 import java.sql.SQLException;
 import java.util.Enumeration;
+import java.util.Map;
 import java.util.Properties;
 
 import javax.sql.DataSource;
@@ -95,11 +96,26 @@ public class JdbcChannelProviderImpl imp
           + context);
     }
 
+    initializeSystemProperties(context);
     initializeDataSource(context);
     initializeSchema(context);
     initializeChannelState(context);
   }
 
+  private void initializeSystemProperties(Context context) {
+    Map<String, Object> sysProps = context.getSubProperties(
+        ConfigurationConstants.CONFIG_JDBC_SYSPRO_PREFIX);
+
+    for (String key: sysProps.keySet()) {
+      Object object = sysProps.get(key);
+      String value = "";
+      if (object != null) {
+        value = object.toString();
+      }
+      System.setProperty(key, value);
+    }
+  }
+
   private void initializeChannelState(Context context) {
     String maxCapacityStr = context.getString(
         ConfigurationConstants.CONFIG_MAX_CAPACITY, "0");

Modified: incubator/flume/branches/flume-728/flume-ng-channels/flume-jdbc-channel/src/test/java/org/apache/flume/channel/jdbc/TestJdbcChannelProvider.java
URL: http://svn.apache.org/viewvc/incubator/flume/branches/flume-728/flume-ng-channels/flume-jdbc-channel/src/test/java/org/apache/flume/channel/jdbc/TestJdbcChannelProvider.java?rev=1215007&r1=1215006&r2=1215007&view=diff
==============================================================================
--- incubator/flume/branches/flume-728/flume-ng-channels/flume-jdbc-channel/src/test/java/org/apache/flume/channel/jdbc/TestJdbcChannelProvider.java (original)
+++ incubator/flume/branches/flume-728/flume-ng-channels/flume-jdbc-channel/src/test/java/org/apache/flume/channel/jdbc/TestJdbcChannelProvider.java Fri Dec 16 00:31:24 2011
@@ -67,6 +67,12 @@ public class TestJdbcChannelProvider {
     File tmpDir = new File("target/test");
     tmpDir.mkdirs();
 
+    File derbyLogFile = new File(tmpDir, "derbytest.log");
+    String derbyLogFilePath = derbyLogFile.getCanonicalPath();
+
+    derbyCtx.put(ConfigurationConstants.CONFIG_JDBC_SYSPRO_PREFIX
+        + "derby.stream.error.file", derbyLogFilePath);
+
     // Use a temp file to create a temporary directory
     File tempFile = File.createTempFile("temp", "_db", tmpDir);
     String absFileName = tempFile.getCanonicalPath();

Modified: incubator/flume/branches/flume-728/flume-ng-core/src/main/java/org/apache/flume/Context.java
URL: http://svn.apache.org/viewvc/incubator/flume/branches/flume-728/flume-ng-core/src/main/java/org/apache/flume/Context.java?rev=1215007&r1=1215006&r2=1215007&view=diff
==============================================================================
--- incubator/flume/branches/flume-728/flume-ng-core/src/main/java/org/apache/flume/Context.java (original)
+++ incubator/flume/branches/flume-728/flume-ng-core/src/main/java/org/apache/flume/Context.java Fri Dec 16 00:31:24 2011
@@ -30,6 +30,19 @@ public class Context {
     parameters = new HashMap<String, Object>();
   }
 
+  public Map<String, Object> getSubProperties(String prefix) {
+    Map<String, Object> result = new HashMap<String, Object>();
+
+    for (String key : parameters.keySet()) {
+      if (key.startsWith(prefix)) {
+        String name = key.substring(prefix.length());
+        result.put(name, parameters.get(key));
+      }
+    }
+
+    return result;
+  }
+
   public void put(String key, Object value) {
     parameters.put(key, value);
   }