Skip to content
Snippets Groups Projects
Commit 36cfe7cc authored by Tor-Einar Skog's avatar Tor-Einar Skog
Browse files

Add observationData (optional) to pest entity

parent 51f9417c
No related branches found
No related tags found
No related merge requests found
...@@ -100,6 +100,9 @@ public class Organism implements Serializable { ...@@ -100,6 +100,9 @@ public class Organism implements Serializable {
@Transient @Transient
private String observationDataSchema; private String observationDataSchema;
@Transient
private String observationData;
/*@OneToMany(cascade = CascadeType.ALL, mappedBy = "organism") /*@OneToMany(cascade = CascadeType.ALL, mappedBy = "organism")
private Set<OrganismLocale> organismLocaleSet; private Set<OrganismLocale> organismLocaleSet;
...@@ -357,4 +360,12 @@ public class Organism implements Serializable { ...@@ -357,4 +360,12 @@ public class Organism implements Serializable {
public void setObservationDataSchema(String observationDataSchema) { public void setObservationDataSchema(String observationDataSchema) {
this.observationDataSchema = observationDataSchema; this.observationDataSchema = observationDataSchema;
} }
public String getObservationData() {
return observationData;
}
public void setObservationData(String observationData) {
this.observationData = observationData;
}
} }
...@@ -14,6 +14,7 @@ import javax.persistence.PersistenceContext; ...@@ -14,6 +14,7 @@ import javax.persistence.PersistenceContext;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.node.ObjectNode; import com.fasterxml.jackson.databind.node.ObjectNode;
...@@ -86,6 +87,29 @@ public class ObservationDataBean { ...@@ -86,6 +87,29 @@ public class ObservationDataBean {
return m.createObjectNode(); return m.createObjectNode();
} }
} }
public JsonNode getDataModel(Integer organizationId, Integer organismId)
{
ObjectMapper m = new ObjectMapper();
JsonNode rootNode = null;
try {
try {
//System.out.println("organizationId = " + organizationId + ", organismId = " + organismId);
ObservationDataSchema ods = em.createNamedQuery("ObservationDataSchema.findByPK", ObservationDataSchema.class)
.setParameter("organizationId", organizationId)
.setParameter("organismId", organismId)
.getSingleResult();
rootNode = m.readTree(ods.getDataModel());
} catch (NoResultException ex) {
rootNode = m.readTree(this.getStandardModel());
}
}catch (JsonProcessingException ex)
{
return null;
}
return rootNode;
}
public String getStandardSchema(){ public String getStandardSchema(){
...@@ -119,6 +143,7 @@ public class ObservationDataBean { ...@@ -119,6 +143,7 @@ public class ObservationDataBean {
for(Organism pest:pests) for(Organism pest:pests)
{ {
pest.setObservationDataSchema(om.writeValueAsString(this.getSchema(organizationId, pest.getOrganismId(), bundle))); pest.setObservationDataSchema(om.writeValueAsString(this.getSchema(organizationId, pest.getOrganismId(), bundle)));
pest.setObservationData(om.writeValueAsString(this.getDataModel(organizationId, pest.getOrganismId())));
} }
return pests; return pests;
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment