Skip to content
Snippets Groups Projects
Commit 066b615b authored by Piotr Gawron's avatar Piotr Gawron
Browse files

api returns publication count

parent 76ab7341
No related branches found
No related tags found
1 merge request!5Frontend refactor
......@@ -3,15 +3,21 @@ package lcsb.mapviewer.api.project;
import java.awt.geom.Point2D;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import org.primefaces.model.map.LatLng;
import lcsb.mapviewer.common.Configuration;
import lcsb.mapviewer.model.map.MiriamData;
import lcsb.mapviewer.model.map.MiriamType;
import lcsb.mapviewer.model.map.layout.Layout;
import lcsb.mapviewer.model.map.model.Model;
import lcsb.mapviewer.model.map.model.ModelData;
import lcsb.mapviewer.model.map.model.ModelSubmodelConnection;
import lcsb.mapviewer.model.map.reaction.Reaction;
import lcsb.mapviewer.model.map.species.Element;
import lcsb.mapviewer.services.utils.gmap.CoordinationConverter;
import lcsb.mapviewer.services.view.LayoutView;
import lcsb.mapviewer.services.view.LayoutViewFactory;
......@@ -35,6 +41,8 @@ public class ModelMetaData implements Serializable {
private Integer idObject;
private Integer publicationCount;
/**
* Size in pixels of the single square tile (small image used for graphical
* representation).
......@@ -110,6 +118,32 @@ public class ModelMetaData implements Serializable {
}
}
this.setSubmodels(submodels);
Set<MiriamData> publications = new HashSet<>();
List<ModelData> models = new ArrayList<>();
for (ModelSubmodelConnection connection : model.getSubmodels()) {
models.add(connection.getSubmodel());
}
models.add(model);
for (ModelData modelData : models) {
for (Element element : modelData.getElements()) {
for (MiriamData md : element.getMiriamData()) {
if (md.getDataType().equals(MiriamType.PUBMED)) {
publications.add(md);
}
}
}
for (Reaction reaction : modelData.getReactions()) {
for (MiriamData md : reaction.getMiriamData()) {
if (md.getDataType().equals(MiriamType.PUBMED)) {
publications.add(md);
}
}
}
}
this.setPublicationCount(publications.size());
}
protected ModelMetaData() {
......@@ -328,10 +362,28 @@ public class ModelMetaData implements Serializable {
}
/**
* @param idObject the idObject to set
* @param idObject
* the idObject to set
* @see #idObject
*/
public void setIdObject(Integer idObject) {
this.idObject = idObject;
}
/**
* @return the publicationCount
* @see #publicationCount
*/
public Integer getPublicationCount() {
return publicationCount;
}
/**
* @param publicationCount
* the publicationCount to set
* @see #publicationCount
*/
public void setPublicationCount(Integer publicationCount) {
this.publicationCount = publicationCount;
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment