import java.sql.ResultSet;\r
import java.sql.SQLException;\r
import java.util.HashMap;\r
-import java.util.HashSet;\r
import java.util.List;\r
import java.util.Map;\r
import java.util.Set;\r
" SELECT DISTINCT [Kingdom name], [Phylum name], [Subphylum name], [Class name], [Subclass name], [Order name], [Family name], g.[NAME OF FUNGUS] as GenusName, c.PreferredName as SpeciesName " +\r
" FROM [tblPESIfungi-Classification] c LEFT OUTER JOIN " +\r
" tblGenera g ON c.PreferredNameFDCnumber = g.[RECORD NUMBER]" +\r
-// " WHERE ( dr.id IN (" + ID_LIST_TOKEN + ") )";\r
" ORDER BY [Kingdom name], [Phylum name], [Subphylum name], [Class name], [Subclass name], [Order name], [Family name], GenusName, SpeciesName ";\r
return strRecordQuery;\r
}\r
String lastSubclass = "";\r
String lastOrder = "";\r
String lastFamily = "";\r
-// String lastGenus = "";\r
-// String lastSpecies = "";\r
\r
Taxon taxonKingdom = null;\r
Taxon taxonPhylum = null;\r
Taxon taxonSubclass = null;\r
Taxon taxonOrder = null;\r
Taxon taxonFamily = null;\r
-// Taxon taxonGenus = null;\r
-// Taxon taxonSpecies = null;\r
\r
Taxon higherTaxon = null;\r
\r
String subclass = rs.getString("Subclass name");\r
String order = rs.getString("Order name");\r
String family = rs.getString("Family name");\r
-// String genus = rs.getString("GenusName");\r
-// String species = rs.getString("SpeciesName");\r
\r
-// if (isNewTaxon(species, lastSpecies)){\r
-// if (isNewTaxon(genus, lastGenus)){\r
if (isNewTaxon(family, lastFamily)){\r
if (isNewTaxon(order,lastOrder)){\r
if (isNewTaxon(subclass,lastSubclass)){\r
taxonFamily = makeTaxon(state, family, Rank.FAMILY());\r
if (taxonFamily != null){\r
try{\r
- //if this shown a warning see single issue in #2826 about Glomerelllaceae (which has 2 different parents)\r
+ //if this shows a warning see single issue in #2826 about Glomerellaceae (which has 2 different parents)\r
getClassification(state).addParentChild(higherTaxon, taxonFamily, null, null);\r
}catch(IllegalStateException e){\r
if (e.getMessage().startsWith("The child taxon is already part of the tree")){\r
//TaxonNode node = getClassification(state).getNode(taxonFamily);\r
logger.warn(e.getMessage() + taxonFamily.getTitleCache() + " " + higherTaxon.getTitleCache());\r
-\r
- }\r
+ }\r
}\r
}\r
higherTaxon = isIncertisSedis(family) ? higherTaxon : taxonFamily;\r
lastFamily = family;\r
getTaxonService().saveOrUpdate(higherTaxon);\r
}\r
-// else{\r
-// higherTaxon = taxonFamily;\r
-// }\r
-// taxonGenus = makeTaxon(state, genus, Rank.GENUS());\r
-// if (taxonGenus != null){\r
-// getClassification(state).addParentChild(higherTaxon, taxonGenus, null, null);\r
-// }\r
-// higherTaxon = isIncertisSedis(genus) ? higherTaxon : taxonGenus;\r
-// lastGenus = genus;\r
-// }else{\r
-// higherTaxon = taxonGenus;\r
-// }\r
-// taxonSpecies = makeTaxon(state, species, Rank.SPECIES());\r
-// if (taxonSpecies != null){\r
-// getClassification(state).addParentChild(higherTaxon, taxonSpecies, null, null);\r
-// }\r
-// higherTaxon = isIncertisSedis(species) ? higherTaxon : taxonSpecies;\r
-// lastSpecies = species;\r
-// getTaxonService().saveOrUpdate(higherTaxon);\r
-// }\r
getTaxonService().saveOrUpdate(higherTaxon);\r
}\r
-\r
-\r
} catch (SQLException e) {\r
e.printStackTrace();\r
logger.error(e.getMessage());\r
logger.info("End higher classification ...");\r
\r
return;\r
-\r
}\r
\r
-\r
private boolean isIncertisSedis(String uninomial) {\r
return uninomial.equalsIgnoreCase(INCERTAE_SEDIS) || uninomial.equalsIgnoreCase(FOSSIL_FUNGI);\r
}\r
\r
-\r
private boolean isNewTaxon(String uninomial, String lastUninomial) {\r
boolean result = !uninomial.equalsIgnoreCase(lastUninomial);\r
result |= lastUninomial.equalsIgnoreCase(INCERTAE_SEDIS);\r
if (uninomial.equalsIgnoreCase(INCERTAE_SEDIS) || uninomial.equalsIgnoreCase(FOSSIL_FUNGI)){\r
return null;\r
}\r
- Taxon taxon = state.getRelatedObject(IndexFungorumSupraGeneraImport.NAMESPACE_SUPRAGENERIC_NAMES, uninomial, Taxon.class);\r
+ Taxon taxon = state.getRelatedObject(IndexFungorumImportBase.NAMESPACE_SUPRAGENERIC_NAMES, uninomial, Taxon.class);\r
if (taxon == null){\r
if (! newRank.equals(Rank.KINGDOM())){\r
logger.warn("Taxon not found for uninomial " + uninomial);\r
return taxon;\r
}\r
\r
-\r
@Override\r
public Map<Object, Map<String, ? extends CdmBase>> getRelatedObjectsForPartition(ResultSet rs, IndexFungorumImportState state) {\r
String nameSpace;\r
Class<?> cdmClass;\r
Set<String> idSet;\r
- Map<Object, Map<String, ? extends CdmBase>> result = new HashMap<Object, Map<String, ? extends CdmBase>>();\r
+ Map<Object, Map<String, ? extends CdmBase>> result = new HashMap<>();\r
\r
try{\r
- Set<String> taxonNameSet = new HashSet<String>();\r
+// Set<String> taxonNameSet = new HashSet<>();\r
// while (rs.next()){\r
// handleForeignKey(rs, taxonIdSet,"tu_accfinal" );\r
// }\r
\r
//taxon map\r
- nameSpace = IndexFungorumSupraGeneraImport.NAMESPACE_SUPRAGENERIC_NAMES ;\r
+ nameSpace = IndexFungorumImportBase.NAMESPACE_SUPRAGENERIC_NAMES ;\r
cdmClass = TaxonBase.class;\r
// idSet = taxonNameSet;\r
- Map<String, TaxonBase<?>> taxonMap = new HashMap<String, TaxonBase<?>>();\r
+ Map<String, TaxonBase<?>> taxonMap = new HashMap<>();\r
List<Taxon> list = getTaxonService().list(Taxon.class, null, null, null, null);\r
for (Taxon taxon : list){\r
taxonMap.put(CdmBase.deproxy(taxon.getName()).getGenusOrUninomial(), taxon);\r
\r
//source reference\r
Reference sourceReference = getReferenceService().find(PesiTransformer.uuidSourceRefIndexFungorum);\r
- Map<String, Reference> referenceMap = new HashMap<String, Reference>();\r
+ Map<String, Reference> referenceMap = new HashMap<>();\r
referenceMap.put(SOURCE_REFERENCE, sourceReference);\r
result.put(NAMESPACE_REFERENCE, referenceMap);\r
\r
protected boolean isIgnore(IndexFungorumImportState state){\r
return ! state.getConfig().isDoRelTaxa();\r
}\r
-\r
-\r
-\r
-\r
-\r
}\r