Skip to content

Instantly share code, notes, and snippets.

View fmbenhassine's full-sized avatar

Mahmoud Ben Hassine fmbenhassine

View GitHub Profile
@fmbenhassine
fmbenhassine / Benchmark.java
Last active May 24, 2018 20:53
easy rules benchmark #EasyRules
package org.easyrules.samples.bench;
import org.easyrules.core.AnnotatedRulesEngine;
import org.easyrules.core.DefaultRulesEngine;
import java.util.Random;
public class Benchmark {
public static final int NB_ITERATION = 20000; //should be even
package org.easybatch.jdbc;
import org.easybatch.core.api.Record;
import org.easybatch.core.api.RecordMapper;
import org.easybatch.core.api.RecordProcessor;
import org.easybatch.core.dispatcher.PoisonRecordBroadcaster;
import org.easybatch.core.dispatcher.RoundRobinRecordDispatcher;
import org.easybatch.core.filter.PoisonRecordFilter;
import org.easybatch.core.impl.Engine;
import org.easybatch.core.mapper.GenericRecordMapper;
@fmbenhassine
fmbenhassine / Tree.java
Last active May 24, 2018 20:54
Use Easy Batch to do some data mining on paris trees data #EasyBatch
package org.easybatch.flatfile;
public class Tree {
private String adresse;
private float hauteur;
public Tree() {
}
@fmbenhassine
fmbenhassine / JobRule.java
Last active May 24, 2018 20:55
Easy (Batch|Rules) inception #EasyBatch #EasyRules
import org.easybatch.core.api.Engine;
import org.easyrules.core.BasicRule;
public class JobRule extends BasicRule {
private ReportHolder reportHolder;
private ReportPredicate reportPredicate;
private Engine engine;
@fmbenhassine
fmbenhassine / JmxJob.java
Last active May 24, 2018 21:00
Easy Batch Jmx push notification sample #EasyBatch
import org.easybatch.core.job.Job;
import org.easybatch.core.job.JobBuilder;
import org.easybatch.core.job.JobExecutor;
import org.easybatch.core.job.JobReport;
import org.easybatch.core.processor.RecordProcessor;
import org.easybatch.core.reader.IterableRecordReader;
import org.easybatch.core.record.Record;
import static java.util.Arrays.asList;
@fmbenhassine
fmbenhassine / DispatchAggregateSample.java
Last active February 7, 2021 17:17
Easy Batch sample to dispatch/aggregate records using blocking queues #EasyBatch
import org.easybatch.core.dispatcher.PoisonRecordBroadcaster;
import org.easybatch.core.dispatcher.RoundRobinRecordDispatcher;
import org.easybatch.core.filter.PoisonRecordFilter;
import org.easybatch.core.job.Job;
import org.easybatch.core.processor.RecordProcessingException;
import org.easybatch.core.processor.RecordProcessor;
import org.easybatch.core.reader.BlockingQueueRecordReader;
import org.easybatch.core.reader.IterableRecordReader;
import org.easybatch.core.record.Record;
import org.easybatch.core.writer.BlockingQueueRecordWriter;
@fmbenhassine
fmbenhassine / post-install.sh
Last active February 27, 2021 18:44
Cloud9 workspace post install script for Java development
sudo apt-get autoremove
sudo apt-get update
echo "Checking git version"
git --version
echo "Installing Jekyll"
gem install jekyll
cd ~/ && mkdir tools && cd tools
@fmbenhassine
fmbenhassine / Main.java
Last active May 24, 2018 20:56
easy rules 1.3 with java 6 sample #EasyRules
import org.easyrules.annotation.Action;
import org.easyrules.annotation.Condition;
import org.easyrules.annotation.Rule;
import org.easyrules.api.RulesEngine;
import org.easyrules.core.AnnotatedRulesEngine;
public class Main {
public static void main(String[] args) {
RulesEngine rulesEngine = new AnnotatedRulesEngine();
rulesEngine.registerRule(new MyRule());
public class Main {
public static void main(String[] args) throws FileNotFoundException {
Engine engine = new EngineBuilder()
.reader(new FlatFileRecordReader(new File("/path/tp/ChessData-master/data.pgn")))
.filter(new GrepFilter("[Result"))
.processor(new ComputationalRecordProcessor<StringRecord, StringRecord, Map<String, Integer>>() {
Map<String, Integer> results = new HashMap<String, Integer>();
import java.sql.*;
public class DatabaseUtil {
private static final String DATABASE_URL = "jdbc:hsqldb:mem";
private static final String USER = "sa";
private static final String PASSWORD = "pwd";
public static Connection getConnection() throws SQLException {
return DriverManager.getConnection(DATABASE_URL, USER, PASSWORD);