2 * Copyright (C) 2008 EDIT
3 * European Distributed Institute of Taxonomy
4 * http://www.e-taxonomy.eu
7 package eu
.etaxonomy
.cdm
.io
.common
;
9 import java
.util
.HashSet
;
12 import org
.apache
.log4j
.Logger
;
13 import org
.springframework
.security
.authentication
.UsernamePasswordAuthenticationToken
;
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
;
23 * Base class for all import/export configurators.
24 * @author a.babadshanjan
27 public abstract class IoConfiguratorBase
extends ObservableBase
implements IIoConfigurator
, IIoObservable
{
28 @SuppressWarnings("unused")
29 private static final Logger logger
= Logger
.getLogger(IoConfiguratorBase
.class);
31 //im-/export uses Classification for is_taxonomically_included_in relationships
32 private boolean useClassification
= true;
34 // protected Class<ICdmIO>[] ioClassList;
35 private DbSchemaValidation dbSchemaValidation
= DbSchemaValidation
.VALIDATE
;
37 protected ICdmApplicationConfiguration cdmApp
= null;
39 //authentification token
40 UsernamePasswordAuthenticationToken authenticationToken
;
44 private Set
<IIoObserver
> observers
= new HashSet
<IIoObserver
>();
47 private IProgressMonitor progressMonitor
;
51 * @see eu.etaxonomy.cdm.io.common.IIoConfigurator#getDbSchemaValidation()
53 public DbSchemaValidation
getDbSchemaValidation() {
54 return dbSchemaValidation
;
58 * @see eu.etaxonomy.cdm.io.common.IIoConfigurator#setDbSchemaValidation(eu.etaxonomy.cdm.database.DbSchemaValidation)
60 public void setDbSchemaValidation(DbSchemaValidation dbSchemaValidation
) {
61 this.dbSchemaValidation
= dbSchemaValidation
;
64 public ICdmApplicationConfiguration
getCdmAppController(){
69 * @param cdmApp the cdmApp to set
71 public void setCdmAppController(ICdmApplicationConfiguration cdmApp
) {
76 * @return the useClassification
78 public boolean isUseClassification() {
79 return useClassification
;
84 * @param useClassification the useClassification to set
86 public void setUseClassification(boolean useClassification
) {
87 this.useClassification
= useClassification
;
91 public void setProgressMonitor(IProgressMonitor monitor
) {
92 this.progressMonitor
= monitor
;
95 public IProgressMonitor
getProgressMonitor(){
96 return progressMonitor
!= null ? progressMonitor
: new NullProgressMonitor();
100 public UsernamePasswordAuthenticationToken
getAuthenticationToken() {
101 return this.authenticationToken
;
105 public void setAuthenticationToken(UsernamePasswordAuthenticationToken authenticationToken
) {
106 this.authenticationToken
= authenticationToken
;
111 public void setAuthentication(String login
, String password
) {
112 UsernamePasswordAuthenticationToken token
= new UsernamePasswordAuthenticationToken(login
, password
);
113 this.authenticationToken
= token
;
117 * @see eu.etaxonomy.cdm.io.common.IIoConfigurator#authenticateAsDefaultAdmin()
120 public void authenticateAsDefaultAdmin() {
121 setAuthentication(Configuration
.adminLogin
, Configuration
.adminPassword
);