2 * Copyright (C) 2007 EDIT
3 * European Distributed Institute of Taxonomy
4 * http://www.e-taxonomy.eu
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.
10 package eu
.etaxonomy
.cdm
.io
.sdd
;
12 import java
.io
.InputStream
;
13 import java
.net
.MalformedURLException
;
16 import org
.apache
.log4j
.Logger
;
17 import org
.jdom
.Element
;
18 import org
.jdom
.Namespace
;
20 import eu
.etaxonomy
.cdm
.common
.XmlHelp
;
21 import eu
.etaxonomy
.cdm
.database
.ICdmDataSource
;
22 import eu
.etaxonomy
.cdm
.io
.common
.IImportConfigurator
;
23 import eu
.etaxonomy
.cdm
.io
.common
.ImportConfiguratorBase
;
24 import eu
.etaxonomy
.cdm
.io
.common
.ImportStateBase
;
25 import eu
.etaxonomy
.cdm
.model
.reference
.IDatabase
;
26 import eu
.etaxonomy
.cdm
.model
.reference
.ReferenceBase
;
27 import eu
.etaxonomy
.cdm
.model
.reference
.ReferenceFactory
;
34 public class SDDImportConfigurator
extends ImportConfiguratorBase
implements IImportConfigurator
{
35 private static final Logger logger
= Logger
.getLogger(SDDImportConfigurator
.class);
38 Namespace sddNamespace
;
40 protected void makeIoClassList(){
41 ioClassList
= new Class
[]{
42 SDDDescriptionIO
.class
46 public static SDDImportConfigurator
NewInstance(String url
,
47 ICdmDataSource destination
){
48 return new SDDImportConfigurator(url
, destination
);
53 * @param berlinModelSource
54 * @param sourceReference
57 private SDDImportConfigurator(String url
, ICdmDataSource destination
) {
60 setDestination(destination
);
67 * @see eu.etaxonomy.cdm.io.common.IImportConfigurator#getNewState()
69 public SDDImportState
getNewState() {
70 return new SDDImportState(this);
74 * @see eu.etaxonomy.cdm.io.common.ImportConfiguratorBase#getSource()
76 public String
getSource() {
77 return (String
)super.getSource();
83 public void setSource(String file
) {
84 super.setSource(file
);
90 public Element
getSourceRoot(){
91 String source
= getSource();
94 url
= new URL(source
);
95 Object o
= url
.getContent();
96 InputStream is
= (InputStream
)o
;
97 Element root
= XmlHelp
.getRoot(is
);
100 } catch (MalformedURLException e
) {
102 }catch (Exception e
) {
103 // TODO Auto-generated catch block
109 private boolean makeNamespaces(Element root
){
110 sddNamespace
= root
.getNamespace();
116 * @see eu.etaxonomy.cdm.io.common.ImportConfiguratorBase#getSourceReference()
119 public ReferenceBase
getSourceReference() {
121 if (this.sourceReference
== null){
122 logger
.warn("getSource Reference not yet fully implemented");
123 ReferenceFactory refFactory
= ReferenceFactory
.newInstance();
124 sourceReference
= refFactory
.newDatabase();
125 sourceReference
.setTitleCache("XXX");
127 return sourceReference
;
132 * @see eu.etaxonomy.cdm.io.common.IImportConfigurator#getSourceNameString()
134 public String
getSourceNameString() {
135 if (this.getSource() == null){
138 return this.getSource();
142 public Namespace
getSddNamespace() {
146 public void setSddNamespace(Namespace xmlNamespace
) {
147 this.sddNamespace
= xmlNamespace
;