This is an automated email from the ASF dual-hosted git repository. srdo pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/storm.git
The following commit(s) were added to refs/heads/master by this push: new fd34fd6 STORM-3416: Fix checkstyle violations in storm-jdbc-example new b19f28b Merge pull request #3026 from krichter722/checkstyle-jdbc-examples fd34fd6 is described below commit fd34fd69200d207f6e8cbd8c4404003335e0c2c2 Author: Karl-Philipp Richter <krich...@posteo.de> AuthorDate: Fri Jun 14 10:47:51 2019 +0200 STORM-3416: Fix checkstyle violations in storm-jdbc-example --- docs/storm-jdbc.md | 12 +++++----- examples/storm-jdbc-examples/pom.xml | 2 +- .../org/apache/storm/jdbc/spout/UserSpout.java | 10 +++++--- .../storm/jdbc/topology/AbstractUserTopology.java | 22 +++++++++++++----- ...eTopology.java => UserPersistenceTopology.java} | 26 ++++++++++++--------- ...gy.java => UserPersistenceTridentTopology.java} | 27 ++++++++++++++-------- external/storm-jdbc/README.md | 12 +++++----- 7 files changed, 69 insertions(+), 42 deletions(-) diff --git a/docs/storm-jdbc.md b/docs/storm-jdbc.md index 66bedde..0cb2353 100644 --- a/docs/storm-jdbc.md +++ b/docs/storm-jdbc.md @@ -74,11 +74,11 @@ ConnectionProvider connectionProvider = new HikariCPConnectionProvider(hikariCon String tableName = "user_details"; JdbcMapper simpleJdbcMapper = new SimpleJdbcMapper(tableName, connectionProvider); -JdbcInsertBolt userPersistanceBolt = new JdbcInsertBolt(connectionProvider, simpleJdbcMapper) +JdbcInsertBolt userPersistenceBolt = new JdbcInsertBolt(connectionProvider, simpleJdbcMapper) .withTableName("user") .withQueryTimeoutSecs(30); Or -JdbcInsertBolt userPersistanceBolt = new JdbcInsertBolt(connectionProvider, simpleJdbcMapper) +JdbcInsertBolt userPersistenceBolt = new JdbcInsertBolt(connectionProvider, simpleJdbcMapper) .withInsertQuery("insert into user values (?,?)") .withQueryTimeoutSecs(30); ``` @@ -241,8 +241,8 @@ insert into user_department values (4, 4); select dept_name from department, user_department where department.dept_id = user_department.dept_id and user_department.user_id = ?; ``` ### Execution -Run the `org.apache.storm.jdbc.topology.UserPersistanceTopology` class using storm jar command. The class expects 5 args -storm jar org.apache.storm.jdbc.topology.UserPersistanceTopology <dataSourceClassName> <dataSource.url> <user> <password> [topology name] +Run the `org.apache.storm.jdbc.topology.UserPersistenceTopology` class using storm jar command. The class expects 5 args +storm jar org.apache.storm.jdbc.topology.UserPersistenceTopology <dataSourceClassName> <dataSource.url> <user> <password> [topology name] To make it work with Mysql, you can add the following to the pom.xml @@ -276,7 +276,7 @@ You can generate a single jar with dependencies using mvn assembly plugin. To us Mysql Example: ``` -storm jar ~/repo/incubator-storm/external/storm-jdbc/target/storm-jdbc-0.10.0-SNAPSHOT-jar-with-dependencies.jar org.apache.storm.jdbc.topology.UserPersistanceTopology com.mysql.jdbc.jdbc2.optional.MysqlDataSource jdbc:mysql://localhost/test root password UserPersistenceTopology +storm jar ~/repo/incubator-storm/external/storm-jdbc/target/storm-jdbc-0.10.0-SNAPSHOT-jar-with-dependencies.jar org.apache.storm.jdbc.topology.UserPersistenceTopology com.mysql.jdbc.jdbc2.optional.MysqlDataSource jdbc:mysql://localhost/test root password UserPersistenceTopology ``` You can execute a select query against the user table which should show newly inserted rows: @@ -285,4 +285,4 @@ You can execute a select query against the user table which should show newly in select * from user; ``` -For trident you can view `org.apache.storm.jdbc.topology.UserPersistanceTridentTopology`. +For trident you can view `org.apache.storm.jdbc.topology.UserPersistenceTridentTopology`. diff --git a/examples/storm-jdbc-examples/pom.xml b/examples/storm-jdbc-examples/pom.xml index e3278ee..c334379 100644 --- a/examples/storm-jdbc-examples/pom.xml +++ b/examples/storm-jdbc-examples/pom.xml @@ -87,7 +87,7 @@ <artifactId>maven-checkstyle-plugin</artifactId> <!--Note - the version would be inherited--> <configuration> - <maxAllowedViolations>36</maxAllowedViolations> + <maxAllowedViolations>0</maxAllowedViolations> </configuration> </plugin> <plugin> diff --git a/examples/storm-jdbc-examples/src/main/java/org/apache/storm/jdbc/spout/UserSpout.java b/examples/storm-jdbc-examples/src/main/java/org/apache/storm/jdbc/spout/UserSpout.java index 06f107c..fd323c8 100644 --- a/examples/storm-jdbc-examples/src/main/java/org/apache/storm/jdbc/spout/UserSpout.java +++ b/examples/storm-jdbc-examples/src/main/java/org/apache/storm/jdbc/spout/UserSpout.java @@ -15,17 +15,21 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.storm.jdbc.spout; +import com.google.common.collect.Lists; + +import java.util.List; +import java.util.Map; +import java.util.Random; + import org.apache.storm.spout.SpoutOutputCollector; import org.apache.storm.task.TopologyContext; import org.apache.storm.topology.IRichSpout; import org.apache.storm.topology.OutputFieldsDeclarer; import org.apache.storm.tuple.Fields; import org.apache.storm.tuple.Values; -import com.google.common.collect.Lists; - -import java.util.*; public class UserSpout implements IRichSpout { boolean isDistributed; diff --git a/examples/storm-jdbc-examples/src/main/java/org/apache/storm/jdbc/topology/AbstractUserTopology.java b/examples/storm-jdbc-examples/src/main/java/org/apache/storm/jdbc/topology/AbstractUserTopology.java index 492f7f0..76d6c6f 100644 --- a/examples/storm-jdbc-examples/src/main/java/org/apache/storm/jdbc/topology/AbstractUserTopology.java +++ b/examples/storm-jdbc-examples/src/main/java/org/apache/storm/jdbc/topology/AbstractUserTopology.java @@ -15,8 +15,12 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.storm.jdbc.topology; +import com.google.common.collect.Lists; +import com.google.common.collect.Maps; + import java.sql.Types; import java.util.List; import java.util.Map; @@ -35,9 +39,9 @@ import org.apache.storm.jdbc.mapper.SimpleJdbcMapper; import org.apache.storm.jdbc.spout.UserSpout; import org.apache.storm.tuple.Fields; -import com.google.common.collect.Lists; -import com.google.common.collect.Maps; - +/** + * For topology-related code reusage. + */ public abstract class AbstractUserTopology { private static final List<String> setupSqls = Lists.newArrayList( "drop table if exists user", @@ -62,9 +66,15 @@ public abstract class AbstractUserTopology { protected static final String TABLE_NAME = "user"; protected static final String JDBC_CONF = "jdbc.conf"; - protected static final String SELECT_QUERY = "select dept_name from department, user_department where department.dept_id = user_department.dept_id" + - " and user_department.user_id = ?"; + protected static final String SELECT_QUERY = "select dept_name from department, " + + "user_department where department.dept_id = user_department.dept_id " + + "and user_department.user_id = ?"; + /** + * A main method template to extend. + * @param args main method arguments + * @throws Exception any expection occuring durch cluster setup or operation + */ public void execute(String[] args) throws Exception { if (args.length != 4 && args.length != 5) { System.out.println("Usage: " + this.getClass().getSimpleName() + " <dataSourceClassName> <dataSource.url> " @@ -76,7 +86,7 @@ public abstract class AbstractUserTopology { map.put("dataSource.url", args[1]);//jdbc:mysql://localhost/test map.put("dataSource.user", args[2]);//root - if(args.length == 4) { + if (args.length == 4) { map.put("dataSource.password", args[3]);//password } diff --git a/examples/storm-jdbc-examples/src/main/java/org/apache/storm/jdbc/topology/UserPersistanceTopology.java b/examples/storm-jdbc-examples/src/main/java/org/apache/storm/jdbc/topology/UserPersistenceTopology.java similarity index 83% rename from examples/storm-jdbc-examples/src/main/java/org/apache/storm/jdbc/topology/UserPersistanceTopology.java rename to examples/storm-jdbc-examples/src/main/java/org/apache/storm/jdbc/topology/UserPersistenceTopology.java index 1915219..7d41293 100644 --- a/examples/storm-jdbc-examples/src/main/java/org/apache/storm/jdbc/topology/UserPersistanceTopology.java +++ b/examples/storm-jdbc-examples/src/main/java/org/apache/storm/jdbc/topology/UserPersistenceTopology.java @@ -15,28 +15,30 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.storm.jdbc.topology; -import org.apache.storm.generated.StormTopology; -import org.apache.storm.topology.TopologyBuilder; import com.google.common.collect.Lists; + +import java.sql.Types; +import java.util.List; + +import org.apache.storm.generated.StormTopology; import org.apache.storm.jdbc.bolt.JdbcInsertBolt; import org.apache.storm.jdbc.bolt.JdbcLookupBolt; import org.apache.storm.jdbc.common.Column; import org.apache.storm.jdbc.mapper.JdbcMapper; import org.apache.storm.jdbc.mapper.SimpleJdbcMapper; - -import java.sql.Types; -import java.util.List; +import org.apache.storm.topology.TopologyBuilder; -public class UserPersistanceTopology extends AbstractUserTopology { +public class UserPersistenceTopology extends AbstractUserTopology { private static final String USER_SPOUT = "USER_SPOUT"; private static final String LOOKUP_BOLT = "LOOKUP_BOLT"; - private static final String PERSISTANCE_BOLT = "PERSISTANCE_BOLT"; + private static final String PERSISTENCE_BOLT = "PERSISTENCE_BOLT"; public static void main(String[] args) throws Exception { - new UserPersistanceTopology().execute(args); + new UserPersistenceTopology().execute(args); } @Override @@ -45,10 +47,12 @@ public class UserPersistanceTopology extends AbstractUserTopology { //must specify column schema when providing custom query. List<Column> schemaColumns = Lists.newArrayList(new Column("create_date", Types.DATE), - new Column("dept_name", Types.VARCHAR), new Column("user_id", Types.INTEGER), new Column("user_name", Types.VARCHAR)); + new Column("dept_name", Types.VARCHAR), + new Column("user_id", Types.INTEGER), + new Column("user_name", Types.VARCHAR)); JdbcMapper mapper = new SimpleJdbcMapper(schemaColumns); - JdbcInsertBolt userPersistanceBolt = new JdbcInsertBolt(connectionProvider, mapper) + JdbcInsertBolt userPersistenceBolt = new JdbcInsertBolt(connectionProvider, mapper) .withInsertQuery("insert into user (create_date, dept_name, user_id, user_name) values (?,?,?,?)"); // userSpout ==> jdbcBolt @@ -56,7 +60,7 @@ public class UserPersistanceTopology extends AbstractUserTopology { builder.setSpout(USER_SPOUT, this.userSpout, 1); builder.setBolt(LOOKUP_BOLT, departmentLookupBolt, 1).shuffleGrouping(USER_SPOUT); - builder.setBolt(PERSISTANCE_BOLT, userPersistanceBolt, 1).shuffleGrouping(LOOKUP_BOLT); + builder.setBolt(PERSISTENCE_BOLT, userPersistenceBolt, 1).shuffleGrouping(LOOKUP_BOLT); return builder.createTopology(); } } diff --git a/examples/storm-jdbc-examples/src/main/java/org/apache/storm/jdbc/topology/UserPersistanceTridentTopology.java b/examples/storm-jdbc-examples/src/main/java/org/apache/storm/jdbc/topology/UserPersistenceTridentTopology.java similarity index 78% rename from examples/storm-jdbc-examples/src/main/java/org/apache/storm/jdbc/topology/UserPersistanceTridentTopology.java rename to examples/storm-jdbc-examples/src/main/java/org/apache/storm/jdbc/topology/UserPersistenceTridentTopology.java index 11269c3..6f03e0e 100644 --- a/examples/storm-jdbc-examples/src/main/java/org/apache/storm/jdbc/topology/UserPersistanceTridentTopology.java +++ b/examples/storm-jdbc-examples/src/main/java/org/apache/storm/jdbc/topology/UserPersistenceTridentTopology.java @@ -15,11 +15,14 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.storm.jdbc.topology; -import org.apache.storm.generated.StormTopology; -import org.apache.storm.tuple.Fields; import com.google.common.collect.Lists; + +import java.sql.Types; + +import org.apache.storm.generated.StormTopology; import org.apache.storm.jdbc.common.Column; import org.apache.storm.jdbc.mapper.SimpleJdbcLookupMapper; import org.apache.storm.jdbc.spout.UserSpout; @@ -30,13 +33,12 @@ import org.apache.storm.jdbc.trident.state.JdbcUpdater; import org.apache.storm.trident.Stream; import org.apache.storm.trident.TridentState; import org.apache.storm.trident.TridentTopology; +import org.apache.storm.tuple.Fields; -import java.sql.Types; - -public class UserPersistanceTridentTopology extends AbstractUserTopology { +public class UserPersistenceTridentTopology extends AbstractUserTopology { public static void main(String[] args) throws Exception { - new UserPersistanceTridentTopology().execute(args); + new UserPersistenceTridentTopology().execute(args); } @Override @@ -46,7 +48,8 @@ public class UserPersistanceTridentTopology extends AbstractUserTopology { JdbcState.Options options = new JdbcState.Options() .withConnectionProvider(connectionProvider) .withMapper(this.jdbcMapper) - .withJdbcLookupMapper(new SimpleJdbcLookupMapper(new Fields("dept_name"), Lists.newArrayList(new Column("user_id", Types.INTEGER)))) + .withJdbcLookupMapper(new SimpleJdbcLookupMapper(new Fields("dept_name"), + Lists.newArrayList(new Column("user_id", Types.INTEGER)))) .withTableName(TABLE_NAME) .withSelectQuery(SELECT_QUERY); @@ -54,8 +57,14 @@ public class UserPersistanceTridentTopology extends AbstractUserTopology { Stream stream = topology.newStream("userSpout", new UserSpout()); TridentState state = topology.newStaticState(jdbcStateFactory); - stream = stream.stateQuery(state, new Fields("user_id","user_name","create_date"), new JdbcQuery(), new Fields("dept_name")); - stream.partitionPersist(jdbcStateFactory, new Fields("user_id","user_name","dept_name","create_date"), new JdbcUpdater(), new Fields()); + stream = stream.stateQuery(state, + new Fields("user_id","user_name","create_date"), + new JdbcQuery(), + new Fields("dept_name")); + stream.partitionPersist(jdbcStateFactory, + new Fields("user_id","user_name","dept_name","create_date"), + new JdbcUpdater(), + new Fields()); return topology.build(); } } diff --git a/external/storm-jdbc/README.md b/external/storm-jdbc/README.md index b0ac6d0..d1b9d5a 100644 --- a/external/storm-jdbc/README.md +++ b/external/storm-jdbc/README.md @@ -69,11 +69,11 @@ ConnectionProvider connectionProvider = new HikariCPConnectionProvider(hikariCon String tableName = "user_details"; JdbcMapper simpleJdbcMapper = new SimpleJdbcMapper(tableName, connectionProvider); -JdbcInsertBolt userPersistanceBolt = new JdbcInsertBolt(connectionProvider, simpleJdbcMapper) +JdbcInsertBolt userPersistenceBolt = new JdbcInsertBolt(connectionProvider, simpleJdbcMapper) .withTableName("user") .withQueryTimeoutSecs(30); Or -JdbcInsertBolt userPersistanceBolt = new JdbcInsertBolt(connectionProvider, simpleJdbcMapper) +JdbcInsertBolt userPersistenceBolt = new JdbcInsertBolt(connectionProvider, simpleJdbcMapper) .withInsertQuery("insert into user values (?,?)") .withQueryTimeoutSecs(30); ``` @@ -234,8 +234,8 @@ insert into user_department values (4, 4); select dept_name from department, user_department where department.dept_id = user_department.dept_id and user_department.user_id = ?; ``` ### Execution -Run the `org.apache.storm.jdbc.topology.UserPersistanceTopology` class using storm jar command. The class expects 5 args -storm jar org.apache.storm.jdbc.topology.UserPersistanceTopology <dataSourceClassName> <dataSource.url> <user> <password> [topology name] +Run the `org.apache.storm.jdbc.topology.UserPersistenceTopology` class using storm jar command. The class expects 5 args +storm jar org.apache.storm.jdbc.topology.UserPersistenceTopology <dataSourceClassName> <dataSource.url> <user> <password> [topology name] To make it work with Mysql, you can add the following to the pom.xml @@ -268,7 +268,7 @@ You can generate a single jar with dependencies using mvn assembly plugin. To us Mysql Example: ``` -storm jar ~/repo/incubator-storm/external/storm-jdbc/target/storm-jdbc-0.10.0-SNAPSHOT-jar-with-dependencies.jar org.apache.storm.jdbc.topology.UserPersistanceTopology com.mysql.jdbc.jdbc2.optional.MysqlDataSource jdbc:mysql://localhost/test root password UserPersistenceTopology +storm jar ~/repo/incubator-storm/external/storm-jdbc/target/storm-jdbc-0.10.0-SNAPSHOT-jar-with-dependencies.jar org.apache.storm.jdbc.topology.UserPersistenceTopology com.mysql.jdbc.jdbc2.optional.MysqlDataSource jdbc:mysql://localhost/test root password UserPersistenceTopology ``` You can execute a select query against the user table which should show newly inserted rows: @@ -277,7 +277,7 @@ You can execute a select query against the user table which should show newly in select * from user; ``` -For trident you can view `org.apache.storm.jdbc.topology.UserPersistanceTridentTopology`. +For trident you can view `org.apache.storm.jdbc.topology.UserPersistenceTridentTopology`. ## License Licensed to the Apache Software Foundation (ASF) under one