Merge branch 'release/5.45.0'
[cdmlib.git] / cdmlib-io / src / main / java / eu / etaxonomy / cdm / io / common / IoConfiguratorBase.java
1 /**
2 * Copyright (C) 2008 EDIT
3 * European Distributed Institute of Taxonomy
4 * http://www.e-taxonomy.eu
5 */
6 package eu.etaxonomy.cdm.io.common;
7
8 import org.apache.logging.log4j.LogManager;
9 import org.apache.logging.log4j.Logger;
10 import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
11
12 import eu.etaxonomy.cdm.api.application.ICdmApplication;
13 import eu.etaxonomy.cdm.common.monitor.IProgressMonitor;
14 import eu.etaxonomy.cdm.common.monitor.NullProgressMonitor;
15 import eu.etaxonomy.cdm.config.Configuration;
16 import eu.etaxonomy.cdm.database.DbSchemaValidation;
17 import eu.etaxonomy.cdm.persistence.dao.hibernate.common.DaoBase;
18 import eu.etaxonomy.cdm.persistence.hibernate.HibernateConfiguration;
19
20 /**
21 * Base class for all import/export configurators.
22 *
23 * @author a.babadshanjan
24 * @since 16.11.2008
25 */
26 public abstract class IoConfiguratorBase extends ObservableBase implements IIoConfigurator{
27
28 private static final long serialVersionUID = -2254648962451309933L;
29
30 @SuppressWarnings("unused")
31 private static final Logger logger = LogManager.getLogger();
32
33 public static final boolean NO_UNPUBLISHED = DaoBase.NO_UNPUBLISHED;
34 public static final boolean INCLUDE_UNPUBLISHED = DaoBase.INCLUDE_UNPUBLISHED;
35
36 // protected Class<ICdmIO>[] ioClassList;
37 private DbSchemaValidation dbSchemaValidation = DbSchemaValidation.VALIDATE;
38
39 protected ICdmApplication cdmApp = null;
40
41 //authentification token
42 protected UsernamePasswordAuthenticationToken authenticationToken;
43
44 protected HibernateConfiguration hibernateConfig = HibernateConfiguration.NewDefaultInstance();
45
46 //etc
47 private IProgressMonitor progressMonitor;
48 private String userFriendlyIOName;
49
50 @Override
51 public String getUserFriendlyIOName() {
52 return userFriendlyIOName;
53 }
54 public void setUserFriendlyIOName(String userFriendlyIOName) {
55 this.userFriendlyIOName = userFriendlyIOName;
56 }
57
58 @Override
59 public DbSchemaValidation getDbSchemaValidation() {
60 return dbSchemaValidation;
61 }
62
63 @Override
64 public void setDbSchemaValidation(DbSchemaValidation dbSchemaValidation) {
65 this.dbSchemaValidation = dbSchemaValidation;
66 }
67
68 @Override
69 public ICdmApplication getCdmAppController(){
70 return this.cdmApp;
71 }
72 @Override
73 public void setCdmAppController(ICdmApplication cdmApp) {
74 this.cdmApp = cdmApp;
75 }
76
77 @Override
78 public void setProgressMonitor(IProgressMonitor monitor) {
79 this.progressMonitor = monitor;
80 }
81
82 @Override
83 public IProgressMonitor getProgressMonitor(){
84 return progressMonitor != null ? progressMonitor : new NullProgressMonitor();
85 }
86
87 @Override
88 public UsernamePasswordAuthenticationToken getAuthenticationToken() {
89 return this.authenticationToken;
90 }
91 @Override
92 public void setAuthenticationToken(UsernamePasswordAuthenticationToken authenticationToken) {
93 this.authenticationToken = authenticationToken;
94 }
95
96 @Override
97 public void setAuthentication(String login, String password) {
98 UsernamePasswordAuthenticationToken token = new UsernamePasswordAuthenticationToken(login, password);
99 this.authenticationToken = token;
100 }
101
102 @Override
103 public void authenticateAsDefaultAdmin() {
104 setAuthenticationToken(new UsernamePasswordAuthenticationToken(Configuration.adminLogin, Configuration.adminPassword));
105 }
106
107 @Override
108 public HibernateConfiguration getHibernateConfig() {
109 return hibernateConfig;
110 }
111 }