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

VIPSNEW-63

parent e045fb43
No related branches found
No related tags found
No related merge requests found
...@@ -198,13 +198,21 @@ public class OrganismController extends HttpServlet { ...@@ -198,13 +198,21 @@ public class OrganismController extends HttpServlet {
organism.setTradeName(formValidation.getFormField("tradeName").getWebValue()); organism.setTradeName(formValidation.getFormField("tradeName").getWebValue());
organism.setHierarchyCategoryId(formValidation.getFormField("hierarchyCategoryId").getValueAsInteger()); organism.setHierarchyCategoryId(formValidation.getFormField("hierarchyCategoryId").getValueAsInteger());
organism.setParentOrganismId(formValidation.getFormField("parentOrganismId").getValueAsInteger()); organism.setParentOrganismId(formValidation.getFormField("parentOrganismId").getValueAsInteger());
organism = SessionControllerGetter.getOrganismBean().storeOrganism(organism);
// Adding local name
// Adding local name only if it is set
if(!formValidation.getFormField("localName").getWebValue().isEmpty()) if(!formValidation.getFormField("localName").getWebValue().isEmpty())
{ {
SessionControllerGetter.getOrganismBean().storeOrganismLocalName(organism, formValidation.getFormField("localName").getWebValue(), SessionLocaleUtil.getCurrentLocale(request)); SessionControllerGetter.getOrganismBean().setOrganismLocalName(organism, formValidation.getFormField("localName").getWebValue(), SessionLocaleUtil.getCurrentLocale(request));
}
// If local name form field is not set, but it already has a local name, delete it
else if(organism.getOrganismLocale(SessionLocaleUtil.getCurrentLocale(request).getLanguage()) != null)
{
SessionControllerGetter.getOrganismBean().removeOrganismLocalName(organism, SessionLocaleUtil.getCurrentLocale(request));
} }
organism = SessionControllerGetter.getOrganismBean().storeOrganism(organism);
//System.out.println(formValidation.getFormFields().toString()); //System.out.println(formValidation.getFormFields().toString());
Map<String, FormField> externalResourceIdentifiers = formValidation.getMultipleMapFormFields().get("externalResourceIdentifier"); Map<String, FormField> externalResourceIdentifiers = formValidation.getMultipleMapFormFields().get("externalResourceIdentifier");
for(String key:externalResourceIdentifiers.keySet()) for(String key:externalResourceIdentifiers.keySet())
......
...@@ -57,7 +57,6 @@ import no.bioforsk.vips.logic.entity.VipsLogicUser; ...@@ -57,7 +57,6 @@ import no.bioforsk.vips.logic.entity.VipsLogicUser;
import no.bioforsk.vips.logic.scheduling.model.ModelRunPreprocessor; import no.bioforsk.vips.logic.scheduling.model.ModelRunPreprocessor;
import no.bioforsk.vips.logic.scheduling.model.ModelRunPreprocessorFactory; import no.bioforsk.vips.logic.scheduling.model.ModelRunPreprocessorFactory;
import no.bioforsk.vips.logic.scheduling.model.PreprocessorException; import no.bioforsk.vips.logic.scheduling.model.PreprocessorException;
import no.bioforsk.vips.logic.util.Globals;
import no.bioforsk.vips.logic.util.RunModelException; import no.bioforsk.vips.logic.util.RunModelException;
import no.bioforsk.vips.logic.util.SessionControllerGetter; import no.bioforsk.vips.logic.util.SessionControllerGetter;
import no.bioforsk.vips.logic.util.SystemTime; import no.bioforsk.vips.logic.util.SystemTime;
...@@ -67,7 +66,7 @@ import org.codehaus.jackson.JsonNode; ...@@ -67,7 +66,7 @@ import org.codehaus.jackson.JsonNode;
import org.jboss.resteasy.client.jaxrs.ResteasyWebTarget; import org.jboss.resteasy.client.jaxrs.ResteasyWebTarget;
/** /**
* @copyright 2013 <a href="http://www.bioforsk.no/">Bioforsk</a> * @copyright 2013-2014 <a href="http://www.bioforsk.no/">Bioforsk</a>
* @author Tor-Einar Skog <tor-einar.skog@bioforsk.no> * @author Tor-Einar Skog <tor-einar.skog@bioforsk.no>
*/ */
@Stateless @Stateless
......
...@@ -178,15 +178,14 @@ public class OrganismBean { ...@@ -178,15 +178,14 @@ public class OrganismBean {
* @param localName * @param localName
* @param currentLocale * @param currentLocale
*/ */
public void storeOrganismLocalName(Organism organism, String localName, ULocale currentLocale) { public void setOrganismLocalName(Organism organism, String localName, ULocale currentLocale) {
if(organism.getOrganismLocale(currentLocale.getLanguage()) == null) if(organism.getOrganismLocale(currentLocale.getLanguage()) == null)
{ {
OrganismLocalePK pk = new OrganismLocalePK(organism.getOrganismId(), currentLocale.getLanguage()); OrganismLocalePK pk = new OrganismLocalePK(organism.getOrganismId(), currentLocale.getLanguage());
OrganismLocale oLocale = new OrganismLocale(pk); OrganismLocale oLocale = new OrganismLocale(pk);
oLocale.setLocalName(localName); oLocale.setLocalName(localName);
em.persist(oLocale); organism.getOrganismLocaleSet().add(oLocale);
} }
else else
{ {
...@@ -195,4 +194,13 @@ public class OrganismBean { ...@@ -195,4 +194,13 @@ public class OrganismBean {
} }
} }
public void removeOrganismLocalName(Organism organism, ULocale currentLocale)
{
OrganismLocale oLocale = organism.getOrganismLocale(currentLocale.getLanguage());
if(oLocale != null)
{
organism.getOrganismLocaleSet().remove(oLocale);
}
}
} }
...@@ -75,7 +75,7 @@ public class Organism implements Serializable { ...@@ -75,7 +75,7 @@ public class Organism implements Serializable {
private Integer parentOrganismId; private Integer parentOrganismId;
@Column(name = "hierarchy_category_id") @Column(name = "hierarchy_category_id")
private Integer hierarchyCategoryId; private Integer hierarchyCategoryId;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "organismId", fetch = FetchType.EAGER) @OneToMany(cascade = CascadeType.ALL, mappedBy = "organismId", fetch = FetchType.EAGER, orphanRemoval = true)
private Set<OrganismLocale> organismLocaleSet; private Set<OrganismLocale> organismLocaleSet;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "organism", fetch = FetchType.EAGER) @OneToMany(cascade = CascadeType.ALL, mappedBy = "organism", fetch = FetchType.EAGER)
private Set<OrganismExternalResource> organismExternalResourceSet; private Set<OrganismExternalResource> organismExternalResourceSet;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment