Skip to content

Rest filter for contact by regexp. All filter logic in Java level.

License

Notifications You must be signed in to change notification settings

ArtemMurk/ContactFilter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Contact Filter

Technology Badge
License LICENSE
Travis CI Build Status
Codacy Codacy Badge

Project Information

This is filter for contacts. It takes regexp from REST and process it in java layer. Architecture of application is based on REST principle. Construct with Spring and Postgres as main DB.

Build

Use Maven for build this project. This project package in war file, you need some Servlet Container to deploy it.

Build command.

mvn clean package

Configuration

Forbidden characters

Before you start the program you must to encode your regex pattern OR allow forbidden characters in your servlet container.

Tomcat servlet example configuration. Put this line in your ** catalina.properties**

tomcat.util.http.parser.HttpParser.requestTargetAllow=|{}

DB

Configure your db connection in jdbc.properites

Init database table by script init_db.sql

MapReduce

Configure main mapReduce properties in main.properties

Example:

Total num threads is active in module

slots=15

Max Mapper count for one proceess

maxMappers=5

Min Mapper count for one proceess

minMappers=3

Batch rows in table for one mapper

batch=50000

API

Get contacts by regexp. Method GET.

http://localhost:8080/hello/contacts?nameFilter={YourRegexpHere}

Technologies

Serialization

  • Jackson

DB

  • Apache Connection Pool
  • JDBC

Logging

  • Slf4j
  • Logback

Test

  • JUnit
  • AssertJ
  • Mockito
  • Hamcrest
  • Spring Test
  • Jsonpath

Spring

  • Spring MVC

Other

  • Lombok

My Contact's

If you have any questions I will be happy to answer it.

About

Rest filter for contact by regexp. All filter logic in Java level.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages