Project

General

Profile

Download (4.59 KB) Statistics
| Branch: | Tag: | Revision:
1
/**
2
* Copyright (C) 2009 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

    
10
package eu.etaxonomy.cdm.io.eflora.sapindaceae;
11

    
12
import java.io.InputStream;
13
import java.lang.reflect.Method;
14
import java.net.MalformedURLException;
15
import java.net.URL;
16

    
17
import org.apache.log4j.Logger;
18
import org.jdom.Element;
19
import org.jdom.Namespace;
20
import org.springframework.stereotype.Component;
21

    
22
import eu.etaxonomy.cdm.common.XmlHelp;
23
import eu.etaxonomy.cdm.database.ICdmDataSource;
24
import eu.etaxonomy.cdm.io.common.IImportConfigurator;
25
import eu.etaxonomy.cdm.io.common.ImportConfiguratorBase;
26
import eu.etaxonomy.cdm.io.common.ImportStateBase;
27
import eu.etaxonomy.cdm.io.common.mapping.IInputTransformer;
28
import eu.etaxonomy.cdm.io.tcsxml.DefaultTcsXmlPlaceholders;
29
import eu.etaxonomy.cdm.io.tcsxml.ITcsXmlPlaceholderClass;
30
import eu.etaxonomy.cdm.model.reference.IDatabase;
31
import eu.etaxonomy.cdm.model.reference.ReferenceBase;
32
import eu.etaxonomy.cdm.model.reference.ReferenceFactory;
33

    
34
@Component
35
public class SapindaceaeImportConfigurator extends ImportConfiguratorBase<SapindaceaeImportState> implements IImportConfigurator {
36
	private static final Logger logger = Logger.getLogger(SapindaceaeImportConfigurator.class);
37
	
38
	//TODO
39
	private static IInputTransformer defaultTransformer = null;
40

    
41
	
42
//	@Autowired
43
//	TcsXmlMetaDataImport tcsXmlMetaDataImport;
44
//	@Autowired
45
//	TcsXmlSpecimensImport tcsXmlSpecimensIO;
46
//	@Autowired
47
//	TcsXmlPublicationsImport tcsXmlPublicationsIO;
48
//	@Autowired
49
//	TcsXmlTaxonNameImport tcsXmlTaxonNameIO;
50
//	@Autowired
51
//	TcsXmlTaxonNameRelationsImport tcsXmlTaxonNameRelationsIO;
52
//	@Autowired
53
//	TcsXmlTaxonImport tcsXmlTaxonIO;
54
//	@Autowired
55
//	TcsXmlTaxonRelationsImport tcsXmlTaxonRelationsIO;
56
	
57
	protected void makeIoClassList(){
58
//		ioBeans = new String[]{
59
//				"tcsXmlMetaDataImport"
60
//				, "tcsXmlSpecimensIO"
61
//				, "tcsXmlPublicationsIO"
62
//				, "tcsXmlTaxonNameIO"
63
//				, "tcsXmlTaxonNameRelationsIO"
64
//				, "tcsXmlTaxonIO"
65
//				, "tcsXmlTaxonRelationsIO"	
66
//		};
67
		
68
		ioClassList = new Class[]{
69
			SapindaceaeTaxonImport.class
70
		};
71
	};
72
	
73
	public static SapindaceaeImportConfigurator NewInstance(String url,
74
			ICdmDataSource destination){
75
		return new SapindaceaeImportConfigurator(url, destination);
76
	}
77
	
78
	/**
79
	 * @param berlinModelSource
80
	 * @param sourceReference
81
	 * @param destination
82
	 */
83
	private SapindaceaeImportConfigurator() {
84
		super(defaultTransformer);
85
//		setSource(url);
86
//		setDestination(destination);
87
	}
88
	
89
	/**
90
	 * @param berlinModelSource
91
	 * @param sourceReference
92
	 * @param destination
93
	 */
94
	private SapindaceaeImportConfigurator(String url, ICdmDataSource destination) {
95
		super(defaultTransformer);
96
		setSource(url);
97
		setDestination(destination);
98
	}
99
	
100
	
101

    
102
	/* (non-Javadoc)
103
	 * @see eu.etaxonomy.cdm.io.common.IImportConfigurator#getNewState()
104
	 */
105
	public SapindaceaeImportState getNewState() {
106
		return new SapindaceaeImportState(this);
107
	}
108

    
109
	/* (non-Javadoc)
110
	 * @see eu.etaxonomy.cdm.io.common.ImportConfiguratorBase#getSource()
111
	 */
112
	public String getSource() {
113
		return (String)super.getSource();
114
	}
115
	
116
	/**
117
	 * @param file
118
	 */
119
	public void setSource(String file) {
120
		super.setSource(file);
121
	}
122
	
123
	/**
124
	 * @return
125
	 */
126
	public Element getSourceRoot(){
127
		String source = getSource();
128
		try {
129
			URL url;
130
			url = new URL(source);
131
			Object o = url.getContent();
132
			InputStream is = (InputStream)o;
133
			Element root = XmlHelp.getRoot(is);
134
//			makeNamespaces(root);
135
			return root;
136
		} catch (MalformedURLException e) {
137
			e.printStackTrace();
138
		}catch (Exception e) {
139
			// TODO Auto-generated catch block
140
			e.printStackTrace();
141
		}
142
		return null;
143
	}
144
	
145

    
146
	/* (non-Javadoc)
147
	 * @see eu.etaxonomy.cdm.io.common.ImportConfiguratorBase#getSourceReference()
148
	 */
149
	@Override
150
	public ReferenceBase getSourceReference() {
151
		//TODO
152
		if (this.sourceReference == null){
153
			logger.warn("getSource Reference not yet fully implemented");
154
			ReferenceFactory refFactory = ReferenceFactory.newInstance();
155
			sourceReference = refFactory.newDatabase();
156
			sourceReference.setTitleCache("XXX", true);
157
		}
158
		return sourceReference;
159
	}
160

    
161

    
162
	/* (non-Javadoc)
163
	 * @see eu.etaxonomy.cdm.io.common.IImportConfigurator#getSourceNameString()
164
	 */
165
	public String getSourceNameString() {
166
		if (this.getSource() == null){
167
			return null;
168
		}else{
169
			return this.getSource();
170
		}
171
	}
172
	
173

    
174

    
175

    
176
	
177
}
(2-2/4)