some refactoring on SDDImport, also use fixed uuid for MarkerTypes
authorAndreas Müller <a.mueller@bgbm.org>
Wed, 22 Sep 2010 09:57:34 +0000 (09:57 +0000)
committerAndreas Müller <a.mueller@bgbm.org>
Wed, 22 Sep 2010 09:57:34 +0000 (09:57 +0000)
cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/sdd/SDDTransformer.java
cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/sdd/in/SDDImport.java
cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/sdd/in/SDDImportConfigurator.java

index fbb2e9edcc5224351a4dfa88eb38393eba82bcd1..7ebc62c74df45506832f31d5edbc5c9913bb393e 100644 (file)
@@ -31,14 +31,13 @@ public class SDDTransformer extends InputTransformerBase {
        \r
        \r
        \r
-       //feature uuids\r
-       public static final UUID uuidNote = UUID.fromString("b9af1489-6b68-497f-8d4b-260a9f886827");\r
-       \r
-       //extension type uuids\r
-       public static final UUID uuidTitle = UUID.fromString("5d9ca987-81f1-4d6c-b06a-eaa8311ca249");\r
-       \r
+//     //feature uuids\r
+//     public static final UUID uuidNote = UUID.fromString("b9af1489-6b68-497f-8d4b-260a9f886827");\r
+//     \r
        //marker type uuid\r
-       public static final UUID uuidExcludedTaxon = UUID.fromString("e729a22d-8c94-4859-9f91-3e3ae212c91d");\r
+       public static final UUID uuidMarkerEditor = UUID.fromString("9f06df5b-7b89-43d2-ac4a-8c57a173af8d");\r
+       public static final UUID uuidMarkerSDDGeographicArea = UUID.fromString("aa623fc8-bfb6-4bc9-b0d4-62f7a022d472");\r
+       public static final UUID uuidMarkerDescriptiveConcept = UUID.fromString("037e8126-334e-460c-bfb3-cee640dfa3a3");\r
        \r
 \r
        /* (non-Javadoc)\r
@@ -47,8 +46,8 @@ public class SDDTransformer extends InputTransformerBase {
        @Override\r
        public Feature getFeatureByKey(String key) throws UndefinedTransformerMethodException {\r
                if (CdmUtils.isEmpty(key)){return null;\r
-               }else if (key.equalsIgnoreCase("distribution")){return Feature.DISTRIBUTION();\r
-               }else if (key.equalsIgnoreCase("habitatecology")){return Feature.ECOLOGY();\r
+//             }else if (key.equalsIgnoreCase("distribution")){return Feature.DISTRIBUTION();\r
+//             }else if (key.equalsIgnoreCase("habitatecology")){return Feature.ECOLOGY();\r
                }else{\r
                        return null;\r
                }\r
@@ -61,7 +60,7 @@ public class SDDTransformer extends InputTransformerBase {
        public UUID getFeatureUuid(String key)  throws UndefinedTransformerMethodException {\r
                if (CdmUtils.isEmpty(key)){return null;\r
 \r
-               }else if (key.equalsIgnoreCase("lifeform")){return uuidNote;\r
+//             }else if (key.equalsIgnoreCase("lifeform")){return uuidNote;\r
                \r
                }else{\r
                        return null;\r
@@ -87,10 +86,10 @@ public class SDDTransformer extends InputTransformerBase {
        @Override\r
        public UUID getMarkerTypeUuid(String key) throws UndefinedTransformerMethodException {\r
                if (CdmUtils.isEmpty(key)){return null;\r
-               }else if (key.equalsIgnoreCase("excluded")){return uuidExcludedTaxon;\r
-               }else if (key.equalsIgnoreCase("EXCLUDED SPECIES, OF UNCERTAIN AFHNITIES PTELEOCARPA")){return uuidExcludedTaxon;\r
-               }else if (key.equalsIgnoreCase("EXCLUDED GENUS, OF UNCERTAIN AFHNITIES PTELEOCARPA")){return uuidExcludedTaxon;\r
-               }else if (key.equalsIgnoreCase("INCOMPLETELY KNOWN SPECIES")){return uuidNote;\r
+//             }else if (key.equalsIgnoreCase("excluded")){return uuidExcludedTaxon;\r
+//             }else if (key.equalsIgnoreCase("EXCLUDED SPECIES, OF UNCERTAIN AFHNITIES PTELEOCARPA")){return uuidExcludedTaxon;\r
+//             }else if (key.equalsIgnoreCase("EXCLUDED GENUS, OF UNCERTAIN AFHNITIES PTELEOCARPA")){return uuidExcludedTaxon;\r
+//             }else if (key.equalsIgnoreCase("INCOMPLETELY KNOWN SPECIES")){return uuidNote;\r
                }else{\r
                        return null;\r
                }\r
index 9c9bde0e8eae0fe4f15a08e5eb90e2a0e8aa72a1..503affc9d8142159a36e705423b9a6fe2822de6c 100644 (file)
@@ -39,6 +39,7 @@ import eu.etaxonomy.cdm.io.common.CdmImportBase;
 import eu.etaxonomy.cdm.io.common.ICdmImport;\r
 import eu.etaxonomy.cdm.io.common.IImportConfigurator;\r
 import eu.etaxonomy.cdm.io.common.ImportHelper;\r
+import eu.etaxonomy.cdm.io.sdd.SDDTransformer;\r
 import eu.etaxonomy.cdm.model.agent.Person;\r
 import eu.etaxonomy.cdm.model.agent.Team;\r
 import eu.etaxonomy.cdm.model.common.Annotation;\r
@@ -91,7 +92,7 @@ import eu.etaxonomy.cdm.model.taxon.TaxonomicTree;
  * @created 24.10.2008\r
  * @version 1.0\r
  */\r
-@Component("sddDescriptionIO")\r
+@Component("sddImport")\r
 public class SDDImport extends CdmImportBase<SDDImportConfigurator, SDDImportState> implements ICdmImport<SDDImportConfigurator, SDDImportState> {\r
        private static final Logger logger = Logger.getLogger(SDDImport.class);\r
 \r
@@ -176,7 +177,7 @@ public class SDDImport extends CdmImportBase<SDDImportConfigurator, SDDImportSta
                //for each Dataset\r
                logger.info("start Dataset ...");\r
                for (Element elDataset : elDatasets){\r
-                       importDataset(elDataset, sddNamespace, success, sddConfig);                     \r
+                       success &= importDataset(elDataset, sddNamespace, state);                       \r
                        if ((++i % modCount) == 0){ logger.info("Datasets handled: " + i);}\r
                        logger.info(i + " Datasets handled");\r
                }\r
@@ -460,21 +461,21 @@ public class SDDImport extends CdmImportBase<SDDImportConfigurator, SDDImportSta
        }\r
 \r
        // imports the complete dataset information\r
-       protected void importDataset(Element elDataset, Namespace sddNamespace, boolean success, SDDImportConfigurator sddConfig){                      // <Dataset xml:lang="en-us">\r
-\r
+       protected boolean importDataset(Element elDataset, Namespace sddNamespace, SDDImportState state){                       // <Dataset xml:lang="en-us">\r
+               boolean success = true;\r
+               SDDImportConfigurator sddConfig = state.getConfig();\r
                importDatasetLanguage(elDataset,sddConfig);\r
                importDatasetRepresentation(elDataset, sddNamespace);\r
                importRevisionData(elDataset, sddNamespace);\r
                importIPRStatements(elDataset, sddNamespace, sddConfig);\r
                importTaxonNames(elDataset, sddNamespace, sddConfig);\r
                importDescriptiveConcepts(elDataset, sddNamespace, sddConfig);\r
-               importCharacters(elDataset, sddNamespace, sddConfig, success);\r
+               success &= importCharacters(elDataset, sddNamespace, sddConfig);\r
                importCharacterTrees(elDataset, sddNamespace, sddConfig, success);\r
                \r
-               //FIXME (a.mueller) \r
-               MarkerType editorMarkerType = MarkerType.NewInstance("Editor", "editor", "edt") ;\r
-               MarkerType geographicAreaMarkerType = MarkerType.NewInstance("", "SDDGeographicArea", "ga");\r
-               MarkerType descriptiveConceptMarkerType = MarkerType.NewInstance("Descriptive Concept", "DescriptiveConcept", "DC");\r
+               MarkerType editorMarkerType = getMarkerType(state, SDDTransformer.uuidMarkerEditor, "editor", "Editor", "edt");\r
+               MarkerType geographicAreaMarkerType = getMarkerType(state, SDDTransformer.uuidMarkerSDDGeographicArea, "SDDGeographicArea", "SDDGeographicArea", "ga"); \r
+               MarkerType descriptiveConceptMarkerType = getMarkerType(state, SDDTransformer.uuidMarkerDescriptiveConcept, "DescriptiveConcept", "Descriptive Concept", "DC");\r
                markerTypes.add(editorMarkerType);\r
                markerTypes.add(geographicAreaMarkerType);\r
                markerTypes.add(descriptiveConceptMarkerType);\r
@@ -609,7 +610,7 @@ public class SDDImport extends CdmImportBase<SDDImportConfigurator, SDDImportSta
                }\r
                logger.info("end of persistence ...");\r
                \r
-               \r
+               return success;\r
        }\r
 \r
        private void saveAnnotationType() {\r
@@ -866,163 +867,198 @@ public class SDDImport extends CdmImportBase<SDDImportConfigurator, SDDImportSta
        }\r
 \r
        // imports the characters (categorical, quantitative and text ; sequence characters not supported) which correspond to CDM Features\r
-       protected void importCharacters(Element elDataset, Namespace sddNamespace, SDDImportConfigurator sddConfig, boolean success){\r
+       protected boolean importCharacters(Element elDataset, Namespace sddNamespace, SDDImportConfigurator sddConfig){\r
+               boolean success = true;\r
                // <Characters>\r
                logger.info("start Characters ...");\r
                Element elCharacters = elDataset.getChild("Characters", sddNamespace);\r
 \r
                // <CategoricalCharacter id="c1">\r
                if (elCharacters != null) {\r
-                       List<Element> elCategoricalCharacters = elCharacters.getChildren("CategoricalCharacter", sddNamespace);\r
-                       int j = 0;\r
-                       for (Element elCategoricalCharacter : elCategoricalCharacters){\r
-                               try {\r
+                       success &= handleCategoricalData(sddNamespace, sddConfig, elCharacters);\r
 \r
-                                       String idCC = elCategoricalCharacter.getAttributeValue("id");\r
-                                       Feature categoricalCharacter = Feature.NewInstance();\r
-                                       categoricalCharacter.setKindOf(Feature.DESCRIPTION());\r
-                                       importRepresentation(elCategoricalCharacter, sddNamespace, categoricalCharacter, idCC, sddConfig);\r
-                                       categoricalCharacter.setSupportsCategoricalData(true);\r
+                       success &= handleQuantitativeData(sddNamespace, sddConfig, elCharacters);\r
 \r
-                                       // <States>\r
-                                       Element elStates = elCategoricalCharacter.getChild("States",sddNamespace);\r
+                       success &= handleTextCharacters(sddNamespace, sddConfig, elCharacters);\r
 \r
-                                       // <StateDefinition id="s1">\r
-                                       List<Element> elStateDefinitions = elStates.getChildren("StateDefinition",sddNamespace);\r
-                                       TermVocabulary<State> termVocabularyState = new TermVocabulary<State>();\r
-                                       int k = 0;\r
-                                       //for each StateDefinition\r
-                                       for (Element elStateDefinition : elStateDefinitions){\r
+               }\r
 \r
-                                               if ((++k % modCount) == 0){ logger.info("StateDefinitions handled: " + (k-1));}\r
+               /*for (Iterator<Feature> f = features.values().iterator() ; f.hasNext() ;){\r
+                       featureSet.add(f.next()); //XIM Why this line ?\r
+               }*/\r
+               \r
+               return success;\r
 \r
-                                               String idS = elStateDefinition.getAttributeValue("id");\r
-                                               State state = State.NewInstance();\r
-                                               importRepresentation(elStateDefinition, sddNamespace, state, idS, sddConfig);\r
+       }\r
 \r
-                                               //StateData stateData = StateData.NewInstance();\r
-                                               //stateData.setState(state);\r
-                                               termVocabularyState.addTerm(state);\r
-                                               states.put(idS,state);\r
-                                       }\r
-                                       categoricalCharacter.addSupportedCategoricalEnumeration(termVocabularyState);\r
-                                       features.put(idCC, categoricalCharacter);\r
+       /**\r
+        * @param sddNamespace\r
+        * @param sddConfig\r
+        * @param success\r
+        * @param elCharacters\r
+        * @return\r
+        */\r
+       private boolean handleCategoricalData(Namespace sddNamespace, SDDImportConfigurator sddConfig, Element elCharacters) {\r
+               boolean success = true;\r
+               List<Element> elCategoricalCharacters = elCharacters.getChildren("CategoricalCharacter", sddNamespace);\r
+               int j = 0;\r
+               for (Element elCategoricalCharacter : elCategoricalCharacters){\r
+                       try {\r
+\r
+                               String idCC = elCategoricalCharacter.getAttributeValue("id");\r
+                               Feature categoricalCharacter = Feature.NewInstance();\r
+                               categoricalCharacter.setKindOf(Feature.DESCRIPTION());\r
+                               importRepresentation(elCategoricalCharacter, sddNamespace, categoricalCharacter, idCC, sddConfig);\r
+                               categoricalCharacter.setSupportsCategoricalData(true);\r
+\r
+                               // <States>\r
+                               Element elStates = elCategoricalCharacter.getChild("States",sddNamespace);\r
+\r
+                               // <StateDefinition id="s1">\r
+                               List<Element> elStateDefinitions = elStates.getChildren("StateDefinition",sddNamespace);\r
+                               TermVocabulary<State> termVocabularyState = new TermVocabulary<State>();\r
+                               int k = 0;\r
+                               //for each StateDefinition\r
+                               for (Element elStateDefinition : elStateDefinitions){\r
 \r
-                               } catch (Exception e) {\r
-                                       logger.warn("Import of CategoricalCharacter " + j + " failed.");\r
-                                       success = false; \r
-                               }\r
+                                       if ((++k % modCount) == 0){ logger.info("StateDefinitions handled: " + (k-1));}\r
 \r
-                               if ((++j % modCount) == 0){ logger.info("CategoricalCharacters handled: " + j);}\r
+                                       String idS = elStateDefinition.getAttributeValue("id");\r
+                                       State state = State.NewInstance();\r
+                                       importRepresentation(elStateDefinition, sddNamespace, state, idS, sddConfig);\r
 \r
+                                       //StateData stateData = StateData.NewInstance();\r
+                                       //stateData.setState(state);\r
+                                       termVocabularyState.addTerm(state);\r
+                                       states.put(idS,state);\r
+                               }\r
+                               categoricalCharacter.addSupportedCategoricalEnumeration(termVocabularyState);\r
+                               features.put(idCC, categoricalCharacter);\r
+\r
+                       } catch (Exception e) {\r
+                               logger.warn("Import of CategoricalCharacter " + j + " failed.");\r
+                               success = false; \r
                        }\r
 \r
-                       // <QuantitativeCharacter id="c2">\r
-                       List<Element> elQuantitativeCharacters = elCharacters.getChildren("QuantitativeCharacter", sddNamespace);\r
-                       j = 0;\r
-                       //for each QuantitativeCharacter\r
-                       for (Element elQuantitativeCharacter : elQuantitativeCharacters){\r
+                       if ((++j % modCount) == 0){ logger.info("CategoricalCharacters handled: " + j);}\r
 \r
-                               try {\r
+               }\r
+               return success;\r
+       }\r
 \r
-                                       String idQC = elQuantitativeCharacter.getAttributeValue("id");\r
+       /**\r
+        * @param sddNamespace\r
+        * @param sddConfig\r
+        * @param elCharacters\r
+        */\r
+       private boolean handleQuantitativeData(Namespace sddNamespace,  SDDImportConfigurator sddConfig, Element elCharacters) {\r
+               boolean success = true;\r
+               int j;\r
+               // <QuantitativeCharacter id="c2">\r
+               List<Element> elQuantitativeCharacters = elCharacters.getChildren("QuantitativeCharacter", sddNamespace);\r
+               j = 0;\r
+               //for each QuantitativeCharacter\r
+               for (Element elQuantitativeCharacter : elQuantitativeCharacters){\r
 \r
-                                       // <Representation>\r
-                                       //  <Label>Leaf length</Label>\r
-                                       // </Representation>\r
-                                       Feature quantitativeCharacter = Feature.NewInstance();\r
-                                       quantitativeCharacter.setKindOf(Feature.DESCRIPTION());\r
-                                       importRepresentation(elQuantitativeCharacter, sddNamespace, quantitativeCharacter, idQC, sddConfig);\r
-\r
-                                       quantitativeCharacter.setSupportsQuantitativeData(true);\r
-\r
-                                       // <MeasurementUnit>\r
-                                       //  <Label role="Abbrev">m</Label>\r
-                                       // </MeasurementUnit>\r
-                                       Element elMeasurementUnit = elQuantitativeCharacter.getChild("MeasurementUnit",sddNamespace);\r
-                                       String label = "";\r
-                                       String role = "";\r
-                                       if (elMeasurementUnit != null) {\r
-                                               Element elLabel = elMeasurementUnit.getChild("Label",sddNamespace);\r
-                                               role = elLabel.getAttributeValue("role");\r
-                                               label = (String)ImportHelper.getXmlInputValue(elMeasurementUnit, "Label",sddNamespace);\r
-                                       }\r
+                       try {\r
 \r
-                                       MeasurementUnit unit = null;\r
-                                       if (!label.equals("")){\r
-                                               if (role != null) {\r
-                                                       if (role.equals("Abbrev")){\r
-                                                               unit = MeasurementUnit.NewInstance(label,label,label);\r
-                                                       }\r
-                                               } else {\r
-                                                       unit = MeasurementUnit.NewInstance(label,label,label);\r
-                                               }\r
-                                       }\r
+                               String idQC = elQuantitativeCharacter.getAttributeValue("id");\r
 \r
-                                       if (unit != null) {\r
-                                               units.put(idQC, unit);\r
-                                       }\r
+                               // <Representation>\r
+                               //  <Label>Leaf length</Label>\r
+                               // </Representation>\r
+                               Feature quantitativeCharacter = Feature.NewInstance();\r
+                               quantitativeCharacter.setKindOf(Feature.DESCRIPTION());\r
+                               importRepresentation(elQuantitativeCharacter, sddNamespace, quantitativeCharacter, idQC, sddConfig);\r
+\r
+                               quantitativeCharacter.setSupportsQuantitativeData(true);\r
+\r
+                               // <MeasurementUnit>\r
+                               //  <Label role="Abbrev">m</Label>\r
+                               // </MeasurementUnit>\r
+                               Element elMeasurementUnit = elQuantitativeCharacter.getChild("MeasurementUnit",sddNamespace);\r
+                               String label = "";\r
+                               String role = "";\r
+                               if (elMeasurementUnit != null) {\r
+                                       Element elLabel = elMeasurementUnit.getChild("Label",sddNamespace);\r
+                                       role = elLabel.getAttributeValue("role");\r
+                                       label = (String)ImportHelper.getXmlInputValue(elMeasurementUnit, "Label",sddNamespace);\r
+                               }\r
 \r
-                                       //<Default>\r
-                                       //  <MeasurementUnitPrefix>milli</MeasurementUnitPrefix>\r
-                                       //</Default>\r
-                                       Element elDefault = elQuantitativeCharacter.getChild("Default",sddNamespace);\r
-                                       if (elDefault != null) {\r
-                                               String measurementUnitPrefix = (String)ImportHelper.getXmlInputValue(elDefault, "MeasurementUnitPrefix",sddNamespace);\r
-                                               if (!measurementUnitPrefix.equals("")){\r
-                                                       defaultUnitPrefixes.put(idQC, measurementUnitPrefix);\r
+                               MeasurementUnit unit = null;\r
+                               if (!label.equals("")){\r
+                                       if (role != null) {\r
+                                               if (role.equals("Abbrev")){\r
+                                                       unit = MeasurementUnit.NewInstance(label,label,label);\r
                                                }\r
+                                       } else {\r
+                                               unit = MeasurementUnit.NewInstance(label,label,label);\r
                                        }\r
+                               }\r
 \r
-                                       features.put(idQC, quantitativeCharacter);\r
+                               if (unit != null) {\r
+                                       units.put(idQC, unit);\r
+                               }\r
 \r
-                               } catch (Exception e) {\r
-                                       //FIXME\r
-                                       logger.warn("Import of QuantitativeCharacter " + j + " failed.");\r
-                                       success = false; \r
+                               //<Default>\r
+                               //  <MeasurementUnitPrefix>milli</MeasurementUnitPrefix>\r
+                               //</Default>\r
+                               Element elDefault = elQuantitativeCharacter.getChild("Default",sddNamespace);\r
+                               if (elDefault != null) {\r
+                                       String measurementUnitPrefix = (String)ImportHelper.getXmlInputValue(elDefault, "MeasurementUnitPrefix",sddNamespace);\r
+                                       if (!measurementUnitPrefix.equals("")){\r
+                                               defaultUnitPrefixes.put(idQC, measurementUnitPrefix);\r
+                                       }\r
                                }\r
 \r
-                               if ((++j % modCount) == 0){ logger.info("QuantitativeCharacters handled: " + j);}\r
+                               features.put(idQC, quantitativeCharacter);\r
 \r
+                       } catch (Exception e) {\r
+                               //FIXME\r
+                               logger.warn("Import of QuantitativeCharacter " + j + " failed.");\r
+                               success = false; \r
                        }\r
 \r
-                       // <TextCharacter id="c3">\r
-                       List<Element> elTextCharacters = elCharacters.getChildren("TextCharacter", sddNamespace);\r
-                       j = 0;\r
-                       //for each TextCharacter\r
-                       for (Element elTextCharacter : elTextCharacters){\r
+                       if ((++j % modCount) == 0){ logger.info("QuantitativeCharacters handled: " + j);}\r
 \r
-                               try {\r
+               }\r
+               return success;\r
+       }\r
 \r
-                                       String idTC = elTextCharacter.getAttributeValue("id");\r
+       private boolean handleTextCharacters(Namespace sddNamespace, SDDImportConfigurator sddConfig, Element elCharacters) {\r
+               boolean success = true;\r
+               int j;\r
+               // <TextCharacter id="c3">\r
+               List<Element> elTextCharacters = elCharacters.getChildren("TextCharacter", sddNamespace);\r
+               j = 0;\r
+               //for each TextCharacter\r
+               for (Element elTextCharacter : elTextCharacters){\r
 \r
-                                       // <Representation>\r
-                                       //  <Label xml:lang="en">Leaf features not covered by other characters</Label>\r
-                                       // </Representation>\r
-                                       Feature textCharacter = Feature.NewInstance();\r
-                                       textCharacter.setKindOf(Feature.DESCRIPTION());\r
-                                       importRepresentation(elTextCharacter, sddNamespace, textCharacter, idTC, sddConfig);\r
+                       try {\r
 \r
-                                       textCharacter.setSupportsTextData(true);\r
+                               String idTC = elTextCharacter.getAttributeValue("id");\r
 \r
-                                       features.put(idTC, textCharacter);\r
+                               // <Representation>\r
+                               //  <Label xml:lang="en">Leaf features not covered by other characters</Label>\r
+                               // </Representation>\r
+                               Feature textCharacter = Feature.NewInstance();\r
+                               textCharacter.setKindOf(Feature.DESCRIPTION());\r
+                               importRepresentation(elTextCharacter, sddNamespace, textCharacter, idTC, sddConfig);\r
 \r
-                               } catch (Exception e) {\r
-                                       //FIXME\r
-                                       logger.warn("Import of TextCharacter " + j + " failed.");\r
-                                       success = false; \r
-                               }\r
+                               textCharacter.setSupportsTextData(true);\r
 \r
-                               if ((++j % modCount) == 0){ logger.info("TextCharacters handled: " + j);}\r
+                               features.put(idTC, textCharacter);\r
 \r
+                       } catch (Exception e) {\r
+                               //FIXME\r
+                               logger.warn("Import of TextCharacter " + j + " failed.");\r
+                               success = false; \r
                        }\r
 \r
-               }\r
-\r
-               /*for (Iterator<Feature> f = features.values().iterator() ; f.hasNext() ;){\r
-                       featureSet.add(f.next()); //XIM Why this line ?\r
-               }*/\r
+                       if ((++j % modCount) == 0){ logger.info("TextCharacters handled: " + j);}\r
 \r
+               }\r
+               return success;\r
        }\r
 \r
        // imports the descriptions of taxa\r
index 20a5087366a5c090256a7f6f92519c9e23ed99ed..48ab9858c4244ce5d1cf3fbd59d54bd9bcc21803 100644 (file)
@@ -24,6 +24,7 @@ import eu.etaxonomy.cdm.io.common.IMatchingImportConfigurator;
 import eu.etaxonomy.cdm.io.common.ImportConfiguratorBase;\r
 import eu.etaxonomy.cdm.io.common.ImportStateBase;\r
 import eu.etaxonomy.cdm.io.common.mapping.IInputTransformer;\r
+import eu.etaxonomy.cdm.io.sdd.SDDTransformer;\r
 import eu.etaxonomy.cdm.model.reference.IDatabase;\r
 import eu.etaxonomy.cdm.model.reference.ReferenceBase;\r
 import eu.etaxonomy.cdm.model.reference.ReferenceFactory;\r
@@ -37,7 +38,7 @@ public class SDDImportConfigurator extends ImportConfiguratorBase implements IIm
        private static final Logger logger = Logger.getLogger(SDDImportConfigurator.class);\r
 \r
        //TODO\r
-       private static IInputTransformer defaultTransformer = null;\r
+       private static IInputTransformer defaultTransformer = new SDDTransformer();\r
        \r
        private boolean doMatchTaxa = false;\r
        \r