major refactoring in io-layer (config -> state)
[cdmlib.git] / cdmlib-io / src / main / java / eu / etaxonomy / cdm / io / excel / distribution / DistributionImportConfigurator.java
1 /**
2 * Copyright (C) 2008 EDIT
3 * European Distributed Institute of Taxonomy
4 * http://www.e-taxonomy.eu
5 *
6 * The contents of this file are subject to the Mozilla Public License Version 1.1
7 * See LICENSE.TXT at the top of this package for the full license terms.
8 */
9 package eu.etaxonomy.cdm.io.excel.distribution;
10
11 import org.apache.log4j.Logger;
12 import eu.etaxonomy.cdm.database.ICdmDataSource;
13 import eu.etaxonomy.cdm.io.common.IImportConfigurator;
14 import eu.etaxonomy.cdm.io.common.ImportConfiguratorBase;
15 import eu.etaxonomy.cdm.io.common.ImportStateBase;
16 import eu.etaxonomy.cdm.io.excel.common.ExcelImportConfiguratorBase;
17 import eu.etaxonomy.cdm.io.excel.common.ExcelImportState;
18 import eu.etaxonomy.cdm.model.reference.Database;
19 import eu.etaxonomy.cdm.model.reference.ReferenceBase;
20
21 /**
22 * @author a.babadshanjan
23 * @created 10.11.2008
24 * @version 1.0
25 */
26 public class DistributionImportConfigurator extends ExcelImportConfiguratorBase implements IImportConfigurator {
27
28 private static final Logger logger = Logger.getLogger(DistributionImportConfigurator.class);
29
30 @SuppressWarnings("unchecked")
31 protected void makeIoClassList() {
32 ioClassList = new Class[] {
33 DistributionImport.class
34 };
35 };
36
37 public static DistributionImportConfigurator NewInstance(String url,
38 ICdmDataSource destination){
39 return new DistributionImportConfigurator(url, destination);
40 }
41
42
43 /**
44 * @param url
45 * @param destination
46 */
47 private DistributionImportConfigurator(String url, ICdmDataSource destination) {
48 super(url, destination);
49 }
50
51
52
53
54 /* (non-Javadoc)
55 * @see eu.etaxonomy.cdm.io.common.IImportConfigurator#getNewState()
56 */
57 public ExcelImportState getNewState() {
58 return new ExcelImportState(this);
59 }
60
61 /* (non-Javadoc)
62 * @see eu.etaxonomy.cdm.io.common.ImportConfiguratorBase#getSource()
63 */
64 public String getSource() {
65 return (String)super.getSource();
66 }
67
68
69 /**
70 * @param file
71 */
72 public void setSource(String fileName) {
73 super.setSource(fileName);
74 }
75
76
77 /* (non-Javadoc)
78 * @see eu.etaxonomy.cdm.io.common.ImportConfiguratorBase#getSourceReference()
79 */
80 @Override
81 public ReferenceBase getSourceReference() {
82 //TODO
83 if (this.sourceReference == null){
84 logger.warn("getSource Reference not yet fully implemented");
85 sourceReference = Database.NewInstance();
86 sourceReference.setTitleCache("Distribution data import");
87 }
88 return sourceReference;
89 }
90
91
92 /* (non-Javadoc)
93 * @see eu.etaxonomy.cdm.io.common.IImportConfigurator#getSourceNameString()
94 */
95 public String getSourceNameString() {
96 if (this.getSource() == null){
97 return null;
98 }else{
99 return this.getSource();
100 }
101 }
102
103 }