package org.gcube.portlets.user.speciesdiscovery.client.cluster; import java.util.Collections; import java.util.List; import org.gcube.portlets.user.speciesdiscovery.client.util.SpeciesGridFields; import org.gcube.portlets.user.speciesdiscovery.shared.CommonName; import org.gcube.portlets.user.speciesdiscovery.shared.ItemParameter; import org.gcube.portlets.user.speciesdiscovery.shared.ResultRow; import com.extjs.gxt.ui.client.widget.Html; /** * @author Francesco Mangiacrapa francesco.mangiacrapa@isti.cnr.it * */ public class TablesForResultRow { public static Html getTableForResultRow(ResultRow row, String classification){ //Init values String dataSourceName = ""; String dataProviderName = ""; String dataSetName = ""; String dataSetCitation= ""; String matchingTaxonName= ""; String matchingAccordionTo= ""; String matchingRank= ""; String matchingCredits= ""; int occurencesCount = 0; String author = ""; String lsid = ""; String credits = ""; String propertiesHtml = ""; //Validate values if(row.getParents()!=null){ if(row.getParents().get(0).getName()!=null) matchingTaxonName = row.getParents().get(0).getName(); if(row.getParents().get(0).getAccordingTo()!=null) matchingAccordionTo = row.getParents().get(0).getAccordingTo(); if(row.getParents().get(0).getRank()!=null) matchingRank = row.getParents().get(0).getRank(); } if(row.getDataSourceName()!=null) dataSourceName = row.getDataSourceName(); if(row.getDataProviderName()!=null) dataProviderName = row.getDataProviderName(); if(row.getDataSetName()!=null) dataSetName = row.getDataSetName(); if(row.getDataSetCitation()!=null) dataSetCitation = row.getDataSetCitation(); if(row.getMatchingCredits()!=null) matchingCredits = row.getMatchingCredits(); if(row.getOccurencesCount()!=0) occurencesCount = row.getOccurencesCount(); String commonNames = ""; if(row.getCommonNames()!=null){ for (CommonName comName : row.getCommonNames()) { commonNames+= ""+comName.getName()+"" +" ("+comName.getLanguage()+") - "; } } if(row.getAuthor()!=null) author = row.getAuthor(); if(row.getLsid()!=null) lsid = row.getLsid(); if(row.getCredits()!=null) credits = row.getCredits(); if(row.getProperties()!=null){ List listProperties = row.getProperties(); Collections.sort(listProperties, ItemParameter.COMPARATOR); propertiesHtml+=""; for (ItemParameter itemParameter : listProperties) { propertiesHtml+= "" + " " + " " + ""; } propertiesHtml+="
"+itemParameter.getKey()+""+itemParameter.getValue()+"
"; } String table = "" + "" + " " + "" + "" + " " + " " + "" + "" + " " + " " + "" + "" + " " + " " + "" + "" + " " + " " + "" + "" + " " + " " + "" + // "" + // " " + // " " + // "" + "" + " " + " " + "" + "" + " " + " " + "" + // "" + // " " + // " " + // "" + "" + " " + " " + "" + "" + " " + " " + "" + "" + " " + " " + "" + "" + " " + " " + "" + "" + " " + " " + "" + "
"+matchingTaxonName+"
"+SpeciesGridFields.CLASSIFICATION_STRING.getName()+""+classification+"
"+SpeciesGridFields.COMMON_NAMES.getName()+" (Language)"+commonNames+"
"+SpeciesGridFields.DATASOURCE.getName()+""+dataSourceName+"
"+SpeciesGridFields.DATAPROVIDER.getName()+""+dataProviderName+"
"+SpeciesGridFields.DATASET.getName()+""+dataSetName+"
"+SpeciesGridFields.MATCHING_AUTHOR.getName()+""+matchingAccordionTo+"
"+SpeciesGridFields.MATCHING_RANK.getName()+""+matchingRank+"
"+SpeciesGridFields.DATASET_CITATION.getName()+""+dataSetCitation+"
"+SpeciesGridFields.MATCHING_CREDITS.getName()+""+matchingCredits+"
"+SpeciesGridFields.PRODUCT_OCCURRENCES.getName()+""+occurencesCount+"
"+SpeciesGridFields.LSID.getName()+""+lsid+"
"+SpeciesGridFields.AUTHOR.getName()+""+author+"
"+SpeciesGridFields.CREDITS.getName()+""+credits+"
"+SpeciesGridFields.PROPERTIES.getName()+""+propertiesHtml+"
"; return new Html(table); } }