| margaretha | 3495447 | 2018-10-24 20:05:17 +0200 | [diff] [blame] | 1 | package de.ids_mannheim.de.init; |
| margaretha | b4ce660 | 2018-04-26 20:23:57 +0200 | [diff] [blame] | 2 | |
| margaretha | 1b32045 | 2018-08-02 16:56:25 +0200 | [diff] [blame] | 3 | import java.io.IOException; |
| margaretha | 835178d | 2018-08-15 19:04:03 +0200 | [diff] [blame] | 4 | import java.util.EnumSet; |
| margaretha | b4ce660 | 2018-04-26 20:23:57 +0200 | [diff] [blame] | 5 | |
| margaretha | 1b32045 | 2018-08-02 16:56:25 +0200 | [diff] [blame] | 6 | import org.springframework.beans.factory.annotation.Autowired; |
| 7 | |||||
| margaretha | 2c50c73 | 2018-10-17 18:48:52 +0200 | [diff] [blame] | 8 | import de.ids_mannheim.korap.annotation.FreeResourceParser; |
| margaretha | 3495447 | 2018-10-24 20:05:17 +0200 | [diff] [blame] | 9 | import de.ids_mannheim.korap.config.NamedVCLoader; |
| margaretha | 2df0660 | 2018-11-14 19:10:30 +0100 | [diff] [blame] | 10 | import de.ids_mannheim.korap.constant.OAuth2Scope; |
| margaretha | 563aabe | 2018-09-13 20:39:45 +0200 | [diff] [blame] | 11 | import de.ids_mannheim.korap.exceptions.KustvaktException; |
| margaretha | b4ce660 | 2018-04-26 20:23:57 +0200 | [diff] [blame] | 12 | import de.ids_mannheim.korap.oauth2.dao.AccessScopeDao; |
| margaretha | c7196d2 | 2018-08-27 14:20:03 +0200 | [diff] [blame] | 13 | import de.ids_mannheim.korap.util.QueryException; |
| margaretha | b4ce660 | 2018-04-26 20:23:57 +0200 | [diff] [blame] | 14 | |
| margaretha | be4c5c9 | 2018-05-03 18:55:49 +0200 | [diff] [blame] | 15 | /** |
| margaretha | 1b32045 | 2018-08-02 16:56:25 +0200 | [diff] [blame] | 16 | * Initializes values in the database from kustvakt configuration and |
| 17 | * performs named VC caching. | ||||
| margaretha | b4ce660 | 2018-04-26 20:23:57 +0200 | [diff] [blame] | 18 | * |
| 19 | * @author margaretha | ||||
| 20 | * | ||||
| 21 | */ | ||||
| margaretha | fc5fab2 | 2021-07-26 12:17:39 +0200 | [diff] [blame] | 22 | public class Initializator{ |
| margaretha | b4ce660 | 2018-04-26 20:23:57 +0200 | [diff] [blame] | 23 | |
| margaretha | 1b32045 | 2018-08-02 16:56:25 +0200 | [diff] [blame] | 24 | @Autowired |
| margaretha | b4ce660 | 2018-04-26 20:23:57 +0200 | [diff] [blame] | 25 | private AccessScopeDao accessScopeDao; |
| margaretha | 1b32045 | 2018-08-02 16:56:25 +0200 | [diff] [blame] | 26 | @Autowired |
| margaretha | 0b90391 | 2019-01-08 17:41:39 +0100 | [diff] [blame] | 27 | private NamedVCLoader vcLoader; |
| margaretha | 51e5e3f | 2018-10-17 15:10:03 +0200 | [diff] [blame] | 28 | @Autowired |
| margaretha | 2c50c73 | 2018-10-17 18:48:52 +0200 | [diff] [blame] | 29 | private FreeResourceParser resourceParser; |
| 30 | |||||
| margaretha | fc5fab2 | 2021-07-26 12:17:39 +0200 | [diff] [blame] | 31 | public Initializator () {} |
| margaretha | 1b32045 | 2018-08-02 16:56:25 +0200 | [diff] [blame] | 32 | |
| margaretha | 563aabe | 2018-09-13 20:39:45 +0200 | [diff] [blame] | 33 | public void init () throws IOException, QueryException, KustvaktException { |
| margaretha | 1b32045 | 2018-08-02 16:56:25 +0200 | [diff] [blame] | 34 | setInitialAccessScope(); |
| margaretha | 2c50c73 | 2018-10-17 18:48:52 +0200 | [diff] [blame] | 35 | resourceParser.run(); |
| margaretha | 0b90391 | 2019-01-08 17:41:39 +0100 | [diff] [blame] | 36 | Thread t = new Thread(vcLoader); |
| 37 | t.start(); | ||||
| margaretha | 51e5e3f | 2018-10-17 15:10:03 +0200 | [diff] [blame] | 38 | } |
| 39 | |||||
| margaretha | fc5fab2 | 2021-07-26 12:17:39 +0200 | [diff] [blame] | 40 | public void initTest () throws IOException, KustvaktException { |
| margaretha | 2df0660 | 2018-11-14 19:10:30 +0100 | [diff] [blame] | 41 | setInitialAccessScope(); |
| 42 | } | ||||
| 43 | |||||
| margaretha | fc5fab2 | 2021-07-26 12:17:39 +0200 | [diff] [blame] | 44 | public void initResourceTest () throws IOException, KustvaktException { |
| margaretha | 1b32045 | 2018-08-02 16:56:25 +0200 | [diff] [blame] | 45 | setInitialAccessScope(); |
| margaretha | 3da7cd3 | 2018-10-22 17:42:52 +0200 | [diff] [blame] | 46 | resourceParser.run(); |
| margaretha | b4ce660 | 2018-04-26 20:23:57 +0200 | [diff] [blame] | 47 | } |
| margaretha | d7b7d53 | 2018-08-13 17:10:31 +0200 | [diff] [blame] | 48 | |
| margaretha | 1b32045 | 2018-08-02 16:56:25 +0200 | [diff] [blame] | 49 | private void setInitialAccessScope () { |
| margaretha | 835178d | 2018-08-15 19:04:03 +0200 | [diff] [blame] | 50 | EnumSet<OAuth2Scope> scopes = EnumSet.allOf(OAuth2Scope.class); |
| margaretha | 20f3123 | 2018-07-09 17:49:39 +0200 | [diff] [blame] | 51 | accessScopeDao.storeAccessScopes(scopes); |
| margaretha | b4ce660 | 2018-04-26 20:23:57 +0200 | [diff] [blame] | 52 | } |
| 53 | } | ||||