Implemented configurable resource filters for search and match info APIs

Added tests and settings for ICC scenario.

Change-Id: If22b96cd12f2a39c134a45f9e3e4b2da8bcd36dc
diff --git a/full/src/test/resources/kustvakt-test.conf b/full/src/test/resources/kustvakt-test.conf
index e72b1fd..430ad5f 100644
--- a/full/src/test/resources/kustvakt-test.conf
+++ b/full/src/test/resources/kustvakt-test.conf
@@ -1,36 +1,43 @@
-## index dir
+# Krill settings
+#
 krill.indexDir = ../sample-index
 
 krill.index.commit.count = 134217000
 krill.index.commit.log = log/krill.commit.log
 krill.index.commit.auto = 500
 krill.index.relations.max = 100
-## Directory path of virtual corpora to cache
+# Directory path of virtual corpora to cache
 krill.namedVC = vc
 krill.test = true
 
-#LDAP
+# LDAP configuration file
+#
 ldap.config = src/test/resources/test-ldap.conf
 
-# Kustvakt
+# Kustvakt versions
+#
 # multiple versions separated by space
 current.api.version = v1.0
 supported.api.version = v0.1 v1.0
 
-## server
+# Server
+#
 server.port=8089
 server.host=localhost
 
-## mail settings
+# Mail settings
+#
 mail.enabled = false
 mail.receiver = test@localhost
 mail.sender = noreply@ids-mannheim.de
 mail.address.retrieval = test
 
-## mail.templates
+# Mail.templates
+#
 template.group.invitation = notification.vm
 
-## default foundries for specific layers
+# Default foundries for specific layers (optional)
+#
 default.foundry.partOfSpeech = tt
 default.foundry.lemma = tt
 default.foundry.orthography = opennlp
@@ -39,22 +46,35 @@
 default.foundry.morphology = marmot
 default.foundry.surface = base
 
-## delete configuration (default hard)
+# Delete configuration (default hard)
+#
 # delete.auto.group = hard
 delete.group = soft
 delete.group.member = soft
 
-## availability regex
-## only support |
+# Availability regex only support |
+# It should be removed/commented when the data doesn't contain availability field.
+# 
 availability.regex.free = CC-BY.*
 availability.regex.public = ACA.*|QAO-NC
 availability.regex.all = QAO.*
 
-## options referring to the security module!
 
-## OAuth
-### (see de.ids_mannheim.korap.constant.AuthenticationMethod for possible 
-### oauth.password.authentication values)
+# Define resource filters for search and match info API
+# AuthenticationFilter activates authentication using OAuth2 tokens
+# DemoUserFilter allows access to API without login
+# 
+# Default values: AuthenticationFilter,DemoUserFilter
+#
+search.resource.filters=AuthenticationFilter,DemoUserFilter
+
+
+# options referring to the security module!
+
+# OAuth
+# (see de.ids_mannheim.korap.constant.AuthenticationMethod for possible 
+# oauth.password.authentication values)
+#
 oauth2.password.authentication = TEST
 oauth2.native.client.host = korap.ids-mannheim.de
 oauth2.max.attempts = 2
@@ -68,8 +88,8 @@
 
 oauth2.initial.super.client=true
 
-## OpenId
-### multiple values are separated by space
+# OpenId
+# multiple values are separated by space
 openid.grant.types = authorization_code
 openid.response.types = code
 openid.response.modes = query
@@ -86,29 +106,30 @@
 #openid.term.of.service =
 openid.service.doc = https://github.com/KorAP/Kustvakt/wiki
 
-## JWK
-## must be set for openid
+# JWK
+# must be set for openid
 rsa.private = kustvakt_rsa.key
 rsa.public = kustvakt_rsa_public.key
 rsa.key.id = 74caa3a9-217c-49e6-94e9-2368fdd02c35
 
-## see SecureRandom Number Generation Algorithms
-## optional
+# see SecureRandom Number Generation Algorithms
+# optional
 security.secure.random.algorithm=SHA1PRNG
 
-## see MessageDigest Algorithms
-## default MD5
+# see MessageDigest Algorithms
+# default MD5
 security.md.algoritm = SHA-256  
 
-### secure hash support: BCRYPT
+# secure hash support: BCRYPT
 security.secure.hash.algorithm=BCRYPT
 security.encryption.loadFactor = 10
 
-## JWT
+# DEPRECATED
+# JWT
 security.jwt.issuer=https://korap.ids-mannheim.de
 security.sharedSecret=this-is-shared-secret-code-for-JWT-Signing.It-must-contains-minimum-256-bits
 
-## token expiration time
+# token expiration time
 security.longTokenTTL = 1D
 security.tokenTTL = 2S
 security.shortTokenTTL = 1S
@@ -118,7 +139,3 @@
 security.multipleLogIn = true
 security.loginAttemptNum = 3
 security.authAttemptTTL = 45M
-
-#EM: deprecated and not used
-security.validation.stringLength = 150
-security.validation.emailLength = 50