minor changes to TcsRdf import
[cdmlib.git] / cdmlib-io / src / main / java / eu / etaxonomy / cdm / io / tcsrdf / TcsRdfTaxonNameImport.java
index 54824c00eebffa3ff281ba1448f804eb9d9036f6..cabfd1e31f75285e018ed5548c3446e4a1e7c22b 100644 (file)
@@ -36,28 +36,26 @@ import eu.etaxonomy.cdm.model.agent.TeamOrPersonBase;
 import eu.etaxonomy.cdm.model.common.Marker;
 import eu.etaxonomy.cdm.model.common.MarkerType;
 import eu.etaxonomy.cdm.model.common.TimePeriod;
+import eu.etaxonomy.cdm.model.name.INonViralName;
 import eu.etaxonomy.cdm.model.name.NomenclaturalCode;
-import eu.etaxonomy.cdm.model.name.NonViralName;
 import eu.etaxonomy.cdm.model.name.Rank;
-import eu.etaxonomy.cdm.model.name.TaxonNameBase;
+import eu.etaxonomy.cdm.model.name.TaxonName;
 import eu.etaxonomy.cdm.model.reference.IGeneric;
 import eu.etaxonomy.cdm.model.reference.Reference;
 import eu.etaxonomy.cdm.model.reference.ReferenceFactory;
 import eu.etaxonomy.cdm.strategy.exceptions.UnknownCdmTypeException;
-import eu.etaxonomy.cdm.strategy.parser.INonViralNameParser;
-import eu.etaxonomy.cdm.strategy.parser.NonViralNameParserImpl;
 
 /**
  * @author a.mueller
  * @created 29.05.2008
- * @version 1.0
  */
 @Component
 public class TcsRdfTaxonNameImport  extends TcsRdfImportBase implements ICdmIO<TcsRdfImportState> {
-       private static final Logger logger = Logger.getLogger(TcsRdfTaxonNameImport.class);
+    private static final long serialVersionUID = -2547422867292051979L;
+
+    private static final Logger logger = Logger.getLogger(TcsRdfTaxonNameImport.class);
 
        private static int modCount = 5000;
-       INonViralNameParser nameParser = new NonViralNameParserImpl();
 
        public TcsRdfTaxonNameImport(){
                super();
@@ -105,7 +103,7 @@ public class TcsRdfTaxonNameImport  extends TcsRdfImportBase implements ICdmIO<T
        @Override
        protected void doInvoke(TcsRdfImportState state){
 
-               MapWrapper<TaxonNameBase> taxonNameMap = (MapWrapper<TaxonNameBase>)state.getStore(ICdmIO.TAXONNAME_STORE);
+               MapWrapper<TaxonName> taxonNameMap = (MapWrapper<TaxonName>)state.getStore(ICdmIO.TAXONNAME_STORE);
                MapWrapper<Reference> referenceMap = (MapWrapper<Reference>)state.getStore(ICdmIO.REFERENCE_STORE);
                MapWrapper<TeamOrPersonBase> authorMap = (MapWrapper<TeamOrPersonBase>)state.getStore(ICdmIO.TEAM_STORE);
 
@@ -126,7 +124,7 @@ public class TcsRdfTaxonNameImport  extends TcsRdfImportBase implements ICdmIO<T
 
                int i = 0;
 
-               TaxonNameBase name;
+               TaxonName name;
                Property property = root.getProperty(taxonNameNamespace+"authorship");
 
                ResIterator iterator = root.listSubjectsWithProperty(property, (RDFNode) null);
@@ -155,21 +153,21 @@ public class TcsRdfTaxonNameImport  extends TcsRdfImportBase implements ICdmIO<T
                return ! state.getConfig().isDoTaxonNames();
        }
 
-       protected TaxonNameBase handleNameModel(Model model, TcsRdfImportConfigurator config, MapWrapper<TaxonNameBase> taxonNameMap, String uri){
+       protected TaxonName handleNameModel(Model model, TcsRdfImportConfigurator config, MapWrapper<TaxonName> taxonNameMap, String uri){
                Resource nameAbout = model.getResource(uri);
-               TaxonNameBase result = handleNameResource(nameAbout, config);
+               TaxonName result = handleNameResource(nameAbout, config);
                taxonNameMap.put(uri, result);
                return result;
 
        }
 
-       private TaxonNameBase handleNameResource(Resource nameAbout, TcsRdfImportConfigurator config){
+       private TaxonName handleNameResource(Resource nameAbout, TcsRdfImportConfigurator config){
                String idNamespace = "TaxonName";
 
-               StmtIterator stmts = nameAbout.listProperties();
-               while(stmts.hasNext()){
-                       System.out.println(stmts.next().getPredicate().toString());
-               }
+//             StmtIterator stmts = nameAbout.listProperties();
+//             while(stmts.hasNext()){
+//                     System.out.println(stmts.next().getPredicate().toString());
+//             }
 
                Property prop = nameAbout.getModel().getProperty(config.getTnNamespaceURIString()+"nomenclaturalCode");
                Statement stateNomenclaturalCode = nameAbout.getProperty(prop);
@@ -190,7 +188,7 @@ public class TcsRdfTaxonNameImport  extends TcsRdfImportBase implements ICdmIO<T
                                nomCode = NomenclaturalCode.ICNAFP;
                        }
 
-                       TaxonNameBase<?,?> nameBase = nomCode.getNewTaxonNameInstance(rank);
+                       TaxonName nameBase = nomCode.getNewTaxonNameInstance(rank);
 
                        Set<String> omitAttributes = null;
                        //makeStandardMapper(nameAbout, nameBase, omitAttributes, standardMappers);
@@ -221,12 +219,12 @@ public class TcsRdfTaxonNameImport  extends TcsRdfImportBase implements ICdmIO<T
                                }catch(NullPointerException e){
                                }
                                if (config.isPublishReferences()){
-                                       ((Reference<?>)nomRef).addMarker(Marker.NewInstance(MarkerType.PUBLISH(), false));
+                                       ((Reference)nomRef).addMarker(Marker.NewInstance(MarkerType.PUBLISH(), false));
                                }
                        }
 
-                       if (nameBase instanceof NonViralName){
-                               NonViralName<?> nonViralName = (NonViralName<?>)nameBase;
+                       if (nameBase.isNonViral()){
+                               INonViralName nonViralName = nameBase;
                                prop =  nameAbout.getModel().getProperty(config.getTnNamespaceURIString()+"genusPart");
                                String strGenusPart;
                                try{
@@ -301,18 +299,13 @@ public class TcsRdfTaxonNameImport  extends TcsRdfImportBase implements ICdmIO<T
                                                stateTeamMember = ((Resource)stateAuthorTeam.getObject()).listProperties(prop);
                                                String memberString = null;
                                                Person person;
-                                               if (stateTeamMember.toList().size() ==1){
-                                                   person = Person.NewTitledInstance(authorTeam.getTitleCache());
-                                               }else {
-                                                   nameParser.parseAuthors(nonViralName, authorTeam.getTitleCache());
-                                                }
-                                                /* for (Statement statement :stateTeamMember.toList()){
+                                               for (Statement statement :stateTeamMember.toList()){
                                                        memberString =statement.getObject().toString();
                                                        if (memberString != null){
                                                                person = Person.NewTitledInstance(memberString);
                                                                authorTeam.addTeamMember(person);
                                                        }
-                                               }*/
+                                               }
                                        }catch(Exception e){
                                                System.err.println(e.getMessage());
                                        }
@@ -410,7 +403,7 @@ public class TcsRdfTaxonNameImport  extends TcsRdfImportBase implements ICdmIO<T
                                        }
                                }
                                if (config.isPublishReferences()){
-                                       ((Reference<?>)nomRef).addMarker(Marker.NewInstance(MarkerType.PUBLISH(), false));
+                                       ((Reference)nomRef).addMarker(Marker.NewInstance(MarkerType.PUBLISH(), false));
                                }
                        }
 
@@ -440,7 +433,7 @@ public class TcsRdfTaxonNameImport  extends TcsRdfImportBase implements ICdmIO<T
                        }
 
                        if (nameBase instanceof NonViralName){
-                               NonViralName<?> nonViralName = (NonViralName<?>)nameBase;
+                               INonViralName nonViralName = nameBase;
                                String strGenusPart =  XmlHelp.getChildContent(elTaxonName, "TaxonName", taxonNameNamespace, "genusPart", rdfNamespace);
 
                                //for names of rank genus the uninomial property should be used
@@ -513,7 +506,7 @@ public class TcsRdfTaxonNameImport  extends TcsRdfImportBase implements ICdmIO<T
                return null;*/
        }
 
-       protected TaxonNameBase handleNameElement(Element elTaxonName, Namespace rdfNamespace, Namespace taxonNameNamespace, TcsRdfImportConfigurator config, MapWrapper<TaxonNameBase> taxonNameMap){
+       protected TaxonName handleNameElement(Element elTaxonName, Namespace rdfNamespace, Namespace taxonNameNamespace, TcsRdfImportConfigurator config, MapWrapper<TaxonName> taxonNameMap){
                String idNamespace = "TaxonName";
                Attribute about = elTaxonName.getAttribute("about", rdfNamespace);
 
@@ -552,7 +545,7 @@ public class TcsRdfTaxonNameImport  extends TcsRdfImportBase implements ICdmIO<T
                                nomCode = NomenclaturalCode.ICNAFP;
                        }
 
-                       TaxonNameBase<?,?> nameBase = nomCode.getNewTaxonNameInstance(rank);
+                       TaxonName nameBase = nomCode.getNewTaxonNameInstance(rank);
 
                        Set<String> omitAttributes = null;
                        //makeStandardMapper(elTaxonName, nameBase, omitAttributes, standardMappers);
@@ -586,7 +579,7 @@ public class TcsRdfTaxonNameImport  extends TcsRdfImportBase implements ICdmIO<T
                                        }
                                }
                                if (config.isPublishReferences()){
-                                       ((Reference<?>)nomRef).addMarker(Marker.NewInstance(MarkerType.PUBLISH(), false));
+                                       ((Reference)nomRef).addMarker(Marker.NewInstance(MarkerType.PUBLISH(), false));
                                }
                        }
 
@@ -616,7 +609,7 @@ public class TcsRdfTaxonNameImport  extends TcsRdfImportBase implements ICdmIO<T
                        }
 
                        if (nameBase instanceof NonViralName){
-                               NonViralName<?> nonViralName = (NonViralName<?>)nameBase;
+                               INonViralName nonViralName = nameBase;
                                String strGenusPart =  XmlHelp.getChildContent(elTaxonName, "TaxonName", taxonNameNamespace, "genusPart", rdfNamespace);
 
                                //for names of rank genus the uninomial property should be used
@@ -689,7 +682,7 @@ public class TcsRdfTaxonNameImport  extends TcsRdfImportBase implements ICdmIO<T
                return null;
        }
 
-       public TaxonNameBase handleRdfElementFromStream(InputStream is, TcsRdfImportConfigurator config, MapWrapper<TaxonNameBase> taxonNameMap, String uri){
+       public TaxonName handleRdfElementFromStream(InputStream is, TcsRdfImportConfigurator config, MapWrapper<TaxonName> taxonNameMap, String uri){
        Model model = ModelFactory.createDefaultModel();
                try{
                        model.read(is, null);