| 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 | 51e5e3f | 2018-10-17 15:10:03 +0200 | [diff] [blame] | 8 | import de.ids_mannheim.korap.annotation.AnnotationParser; |
| margaretha | 2c50c73 | 2018-10-17 18:48:52 +0200 | [diff] [blame] | 9 | import de.ids_mannheim.korap.annotation.FreeResourceParser; |
| margaretha | 3495447 | 2018-10-24 20:05:17 +0200 | [diff] [blame] | 10 | import de.ids_mannheim.korap.config.NamedVCLoader; |
| margaretha | 563aabe | 2018-09-13 20:39:45 +0200 | [diff] [blame] | 11 | import de.ids_mannheim.korap.exceptions.KustvaktException; |
| margaretha | 20f3123 | 2018-07-09 17:49:39 +0200 | [diff] [blame] | 12 | import de.ids_mannheim.korap.oauth2.constant.OAuth2Scope; |
| margaretha | b4ce660 | 2018-04-26 20:23:57 +0200 | [diff] [blame] | 13 | import de.ids_mannheim.korap.oauth2.dao.AccessScopeDao; |
| margaretha | c7196d2 | 2018-08-27 14:20:03 +0200 | [diff] [blame] | 14 | import de.ids_mannheim.korap.util.QueryException; |
| margaretha | b4ce660 | 2018-04-26 20:23:57 +0200 | [diff] [blame] | 15 | |
| margaretha | be4c5c9 | 2018-05-03 18:55:49 +0200 | [diff] [blame] | 16 | /** |
| margaretha | 1b32045 | 2018-08-02 16:56:25 +0200 | [diff] [blame] | 17 | * Initializes values in the database from kustvakt configuration and |
| 18 | * performs named VC caching. |
| margaretha | b4ce660 | 2018-04-26 20:23:57 +0200 | [diff] [blame] | 19 | * |
| 20 | * @author margaretha |
| 21 | * |
| 22 | */ |
| margaretha | 3495447 | 2018-10-24 20:05:17 +0200 | [diff] [blame] | 23 | public class InitializatorImpl implements Initializator { |
| margaretha | b4ce660 | 2018-04-26 20:23:57 +0200 | [diff] [blame] | 24 | |
| margaretha | 1b32045 | 2018-08-02 16:56:25 +0200 | [diff] [blame] | 25 | @Autowired |
| margaretha | b4ce660 | 2018-04-26 20:23:57 +0200 | [diff] [blame] | 26 | private AccessScopeDao accessScopeDao; |
| margaretha | 1b32045 | 2018-08-02 16:56:25 +0200 | [diff] [blame] | 27 | @Autowired |
| 28 | private NamedVCLoader loader; |
| margaretha | 51e5e3f | 2018-10-17 15:10:03 +0200 | [diff] [blame] | 29 | @Autowired |
| 30 | private AnnotationParser annotationParser; |
| margaretha | 2c50c73 | 2018-10-17 18:48:52 +0200 | [diff] [blame] | 31 | @Autowired |
| 32 | private FreeResourceParser resourceParser; |
| 33 | |
| margaretha | 3495447 | 2018-10-24 20:05:17 +0200 | [diff] [blame] | 34 | public InitializatorImpl () {} |
| margaretha | 1b32045 | 2018-08-02 16:56:25 +0200 | [diff] [blame] | 35 | |
| margaretha | 3495447 | 2018-10-24 20:05:17 +0200 | [diff] [blame] | 36 | /* (non-Javadoc) |
| 37 | * @see de.ids_mannheim.de.init.Initializator#init() |
| 38 | */ |
| 39 | @Override |
| margaretha | 563aabe | 2018-09-13 20:39:45 +0200 | [diff] [blame] | 40 | public void init () throws IOException, QueryException, KustvaktException { |
| margaretha | 1b32045 | 2018-08-02 16:56:25 +0200 | [diff] [blame] | 41 | setInitialAccessScope(); |
| 42 | loader.loadVCToCache(); |
| margaretha | b4ce660 | 2018-04-26 20:23:57 +0200 | [diff] [blame] | 43 | } |
| margaretha | be4c5c9 | 2018-05-03 18:55:49 +0200 | [diff] [blame] | 44 | |
| margaretha | 51e5e3f | 2018-10-17 15:10:03 +0200 | [diff] [blame] | 45 | public void initAnnotation () |
| 46 | throws IOException, QueryException, KustvaktException { |
| 47 | setInitialAccessScope(); |
| 48 | loader.loadVCToCache(); |
| 49 | annotationParser.run(); |
| margaretha | 2c50c73 | 2018-10-17 18:48:52 +0200 | [diff] [blame] | 50 | resourceParser.run(); |
| margaretha | 51e5e3f | 2018-10-17 15:10:03 +0200 | [diff] [blame] | 51 | } |
| 52 | |
| margaretha | 3495447 | 2018-10-24 20:05:17 +0200 | [diff] [blame] | 53 | /* (non-Javadoc) |
| 54 | * @see de.ids_mannheim.de.init.Initializator#initTest() |
| 55 | */ |
| 56 | @Override |
| margaretha | 3da7cd3 | 2018-10-22 17:42:52 +0200 | [diff] [blame] | 57 | public void initTest () throws IOException, KustvaktException { |
| margaretha | 1b32045 | 2018-08-02 16:56:25 +0200 | [diff] [blame] | 58 | setInitialAccessScope(); |
| margaretha | 3da7cd3 | 2018-10-22 17:42:52 +0200 | [diff] [blame] | 59 | annotationParser.run(); |
| 60 | resourceParser.run(); |
| margaretha | b4ce660 | 2018-04-26 20:23:57 +0200 | [diff] [blame] | 61 | } |
| margaretha | d7b7d53 | 2018-08-13 17:10:31 +0200 | [diff] [blame] | 62 | |
| margaretha | 1b32045 | 2018-08-02 16:56:25 +0200 | [diff] [blame] | 63 | private void setInitialAccessScope () { |
| margaretha | 835178d | 2018-08-15 19:04:03 +0200 | [diff] [blame] | 64 | EnumSet<OAuth2Scope> scopes = EnumSet.allOf(OAuth2Scope.class); |
| margaretha | 20f3123 | 2018-07-09 17:49:39 +0200 | [diff] [blame] | 65 | accessScopeDao.storeAccessScopes(scopes); |
| margaretha | b4ce660 | 2018-04-26 20:23:57 +0200 | [diff] [blame] | 66 | } |
| 67 | } |