commit after merge from trunc
[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
7 package eu.etaxonomy.cdm.io.common;
8
9 import java.util.HashSet;
10 import java.util.Set;
11
12 import org.apache.log4j.Logger;
13 import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
14
15 import eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration;
16 import eu.etaxonomy.cdm.common.monitor.IProgressMonitor;
17 import eu.etaxonomy.cdm.common.monitor.NullProgressMonitor;
18 import eu.etaxonomy.cdm.config.Configuration;
19 import eu.etaxonomy.cdm.database.DbSchemaValidation;
20 import eu.etaxonomy.cdm.io.common.events.IIoObserver;
21
22 /**
23 * Base class for all import/export configurators.
24 * @author a.babadshanjan
25 * @created 16.11.2008
26 */
27 public abstract class IoConfiguratorBase extends ObservableBase implements IIoConfigurator, IIoObservable{
28 @SuppressWarnings("unused")
29 private static final Logger logger = Logger.getLogger(IoConfiguratorBase.class);
30
31 //im-/export uses Classification for is_taxonomically_included_in relationships
32 private boolean useClassification = true;
33
34 // protected Class<ICdmIO>[] ioClassList;
35 private DbSchemaValidation dbSchemaValidation = DbSchemaValidation.VALIDATE;
36
37 protected ICdmApplicationConfiguration cdmApp = null;
38
39 //authentification token
40 UsernamePasswordAuthenticationToken authenticationToken;
41
42
43
44 private Set<IIoObserver> observers = new HashSet<IIoObserver>();
45
46 //etc
47 private IProgressMonitor progressMonitor;
48
49
50 /* (non-Javadoc)
51 * @see eu.etaxonomy.cdm.io.common.IIoConfigurator#getDbSchemaValidation()
52 */
53 public DbSchemaValidation getDbSchemaValidation() {
54 return dbSchemaValidation;
55 }
56
57 /* (non-Javadoc)
58 * @see eu.etaxonomy.cdm.io.common.IIoConfigurator#setDbSchemaValidation(eu.etaxonomy.cdm.database.DbSchemaValidation)
59 */
60 public void setDbSchemaValidation(DbSchemaValidation dbSchemaValidation) {
61 this.dbSchemaValidation = dbSchemaValidation;
62 }
63
64 public ICdmApplicationConfiguration getCdmAppController(){
65 return this.cdmApp;
66 }
67
68 /**
69 * @param cdmApp the cdmApp to set
70 */
71 public void setCdmAppController(ICdmApplicationConfiguration cdmApp) {
72 this.cdmApp = cdmApp;
73 }
74
75 /**
76 * @return the useClassification
77 */
78 public boolean isUseClassification() {
79 return useClassification;
80 }
81
82
83 /**
84 * @param useClassification the useClassification to set
85 */
86 public void setUseClassification(boolean useClassification) {
87 this.useClassification = useClassification;
88 }
89
90 @Override
91 public void setProgressMonitor(IProgressMonitor monitor) {
92 this.progressMonitor = monitor;
93 }
94
95 public IProgressMonitor getProgressMonitor(){
96 return progressMonitor != null ? progressMonitor : new NullProgressMonitor();
97 }
98
99 @Override
100 public UsernamePasswordAuthenticationToken getAuthenticationToken() {
101 return this.authenticationToken;
102 }
103
104 @Override
105 public void setAuthenticationToken(UsernamePasswordAuthenticationToken authenticationToken) {
106 this.authenticationToken = authenticationToken;
107
108 }
109
110 @Override
111 public void setAuthentication(String login, String password) {
112 UsernamePasswordAuthenticationToken token = new UsernamePasswordAuthenticationToken(login, password);
113 this.authenticationToken = token;
114 }
115
116 /* (non-Javadoc)
117 * @see eu.etaxonomy.cdm.io.common.IIoConfigurator#authenticateAsDefaultAdmin()
118 */
119 @Override
120 public void authenticateAsDefaultAdmin() {
121 setAuthentication(Configuration.adminLogin, Configuration.adminPassword);
122 }
123
124
125 }