Repository: samza
Updated Branches:
  refs/heads/master b706ecebe -> a8ddede18


SAMZA-1752: Pass full config to the IO resolver

SQL IO Resolver needs full configs so that it can filter out the configs 
specific to the source that the SQL application is interested in. This change 
provides the IO resolver with the full config.

Author: Srinivasulu Punuru <spun...@linkedin.com>

Reviewers: Aditya Toomula <atoom...@linkedin.com>

Closes #557 from srinipunuru/fullconfig.1


Project: http://git-wip-us.apache.org/repos/asf/samza/repo
Commit: http://git-wip-us.apache.org/repos/asf/samza/commit/a8ddede1
Tree: http://git-wip-us.apache.org/repos/asf/samza/tree/a8ddede1
Diff: http://git-wip-us.apache.org/repos/asf/samza/diff/a8ddede1

Branch: refs/heads/master
Commit: a8ddede18af49d7d1c45fbb2728d375f9ce31210
Parents: b706ece
Author: Srinivasulu Punuru <spun...@linkedin.com>
Authored: Fri Aug 10 16:45:12 2018 -0700
Committer: Prateek Maheshwari <pmaheshw...@apache.org>
Committed: Fri Aug 10 16:45:12 2018 -0700

----------------------------------------------------------------------
 .../org/apache/samza/sql/impl/ConfigBasedIOResolverFactory.java | 4 ++--
 .../org/apache/samza/sql/interfaces/SqlIOResolverFactory.java   | 5 +++--
 .../org/apache/samza/sql/runner/SamzaSqlApplicationConfig.java  | 2 +-
 .../org/apache/samza/sql/testutil/TestIOResolverFactory.java    | 2 +-
 4 files changed, 7 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/samza/blob/a8ddede1/samza-sql/src/main/java/org/apache/samza/sql/impl/ConfigBasedIOResolverFactory.java
----------------------------------------------------------------------
diff --git 
a/samza-sql/src/main/java/org/apache/samza/sql/impl/ConfigBasedIOResolverFactory.java
 
b/samza-sql/src/main/java/org/apache/samza/sql/impl/ConfigBasedIOResolverFactory.java
index c604e71..1ada813 100644
--- 
a/samza-sql/src/main/java/org/apache/samza/sql/impl/ConfigBasedIOResolverFactory.java
+++ 
b/samza-sql/src/main/java/org/apache/samza/sql/impl/ConfigBasedIOResolverFactory.java
@@ -47,8 +47,8 @@ public class ConfigBasedIOResolverFactory implements 
SqlIOResolverFactory {
   public static final String CFG_FMT_SAMZA_PREFIX = "systems.%s.";
 
   @Override
-  public SqlIOResolver create(Config config) {
-    return new ConfigBasedIOResolver(config);
+  public SqlIOResolver create(Config resolverConfig, Config fullConfig) {
+    return new ConfigBasedIOResolver(resolverConfig);
   }
 
   private class ConfigBasedIOResolver implements SqlIOResolver {

http://git-wip-us.apache.org/repos/asf/samza/blob/a8ddede1/samza-sql/src/main/java/org/apache/samza/sql/interfaces/SqlIOResolverFactory.java
----------------------------------------------------------------------
diff --git 
a/samza-sql/src/main/java/org/apache/samza/sql/interfaces/SqlIOResolverFactory.java
 
b/samza-sql/src/main/java/org/apache/samza/sql/interfaces/SqlIOResolverFactory.java
index 6efa57c..aa9fe48 100644
--- 
a/samza-sql/src/main/java/org/apache/samza/sql/interfaces/SqlIOResolverFactory.java
+++ 
b/samza-sql/src/main/java/org/apache/samza/sql/interfaces/SqlIOResolverFactory.java
@@ -29,8 +29,9 @@ public interface SqlIOResolverFactory {
 
   /**
    * Create the {@link SqlIOResolver}. This is called during the application 
initialization.
-   * @param config config for the SqlIOResolver
+   * @param resolverConfig config specifically supplied for this SqlIOResolver
+   * @param fullConfig the full config object received by the application.
    * @return Returns the created {@link SqlIOResolver}
    */
-  SqlIOResolver create(Config config);
+  SqlIOResolver create(Config resolverConfig, Config fullConfig);
 }

http://git-wip-us.apache.org/repos/asf/samza/blob/a8ddede1/samza-sql/src/main/java/org/apache/samza/sql/runner/SamzaSqlApplicationConfig.java
----------------------------------------------------------------------
diff --git 
a/samza-sql/src/main/java/org/apache/samza/sql/runner/SamzaSqlApplicationConfig.java
 
b/samza-sql/src/main/java/org/apache/samza/sql/runner/SamzaSqlApplicationConfig.java
index b7d9a59..316d174 100644
--- 
a/samza-sql/src/main/java/org/apache/samza/sql/runner/SamzaSqlApplicationConfig.java
+++ 
b/samza-sql/src/main/java/org/apache/samza/sql/runner/SamzaSqlApplicationConfig.java
@@ -187,7 +187,7 @@ public class SamzaSqlApplicationConfig {
     String sourceResolveValue = config.get(CFG_IO_RESOLVER);
     Validate.notEmpty(sourceResolveValue, "ioResolver config is not set or 
empty");
     return initializePlugin("SqlIOResolver", sourceResolveValue, config, 
CFG_FMT_SOURCE_RESOLVER_DOMAIN,
-        (o, c) -> ((SqlIOResolverFactory) o).create(c));
+        (o, c) -> ((SqlIOResolverFactory) o).create(c, config));
   }
 
   private UdfResolver createUdfResolver(Map<String, String> config) {

http://git-wip-us.apache.org/repos/asf/samza/blob/a8ddede1/samza-sql/src/test/java/org/apache/samza/sql/testutil/TestIOResolverFactory.java
----------------------------------------------------------------------
diff --git 
a/samza-sql/src/test/java/org/apache/samza/sql/testutil/TestIOResolverFactory.java
 
b/samza-sql/src/test/java/org/apache/samza/sql/testutil/TestIOResolverFactory.java
index 7068e9b..574076e 100644
--- 
a/samza-sql/src/test/java/org/apache/samza/sql/testutil/TestIOResolverFactory.java
+++ 
b/samza-sql/src/test/java/org/apache/samza/sql/testutil/TestIOResolverFactory.java
@@ -52,7 +52,7 @@ public class TestIOResolverFactory implements 
SqlIOResolverFactory {
   public static final String TEST_TABLE_ID = "testDbId";
 
   @Override
-  public SqlIOResolver create(Config config) {
+  public SqlIOResolver create(Config config, Config fullConfig) {
     return new TestIOResolver(config);
   }
 

Reply via email to