[VIVO-1245] Split out Template Model builders to avoid initialisation order issue

This commit is contained in:
Graham Triggs 2016-05-25 20:42:42 +01:00
parent 46ca84d519
commit 4a5a988eeb
5 changed files with 26 additions and 21 deletions

View file

@ -33,15 +33,6 @@ public class VIVOIndividualTemplateModel extends IndividualTemplateModel {
super(individual, vreq);
}
public static void setAsDefault() {
IndividualTemplateModelBuilder.setCustomBuilder(new IndividualTemplateModelBuilder.IIndividualTemplateModelBuilder() {
@Override
public VIVOIndividualTemplateModel build(Individual individual, VitroRequest vreq) {
return new VIVOIndividualTemplateModel(individual, vreq);
}
});
}
private String getVisUrl(String visPath) {
String visUrl;
boolean isUsingDefaultNameSpace = UrlBuilder.isUriInDefaultNamespace(

View file

@ -0,0 +1,11 @@
package edu.cornell.mannlib.vitro.webapp.web.templatemodels.individual;
import edu.cornell.mannlib.vitro.webapp.beans.Individual;
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
public class VIVOIndividualTemplateModelBuilder implements IndividualTemplateModelBuilder.IIndividualTemplateModelBuilder {
@Override
public VIVOIndividualTemplateModel build(Individual individual, VitroRequest vreq) {
return new VIVOIndividualTemplateModel(individual, vreq);
}
}

View file

@ -33,16 +33,6 @@ public class VIVOListedIndividual extends ListedIndividual {
title = findPreferredTitle();
}
public static void setAsDefault() {
ListedIndividualBuilder.setCustomBuilder(new ListedIndividualBuilder.ILIstedIndividualBuilder() {
@Override
public ListedIndividual build(Individual individual, VitroRequest vreq) {
return new VIVOListedIndividual(individual, vreq);
}
});
}
private String findPreferredTitle() {
String queryStr = QueryUtils.subUriForQueryVar(VCARD_DATA_QUERY, "subject", individual.getURI());
log.debug("queryStr = " + queryStr);

View file

@ -0,0 +1,11 @@
package edu.cornell.mannlib.vitro.webapp.web.templatemodels.individuallist;
import edu.cornell.mannlib.vitro.webapp.beans.Individual;
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
public class VIVOListedIndividualBuilder implements ListedIndividualBuilder.ILIstedIndividualBuilder {
@Override
public ListedIndividual build(Individual individual, VitroRequest vreq) {
return new VIVOListedIndividual(individual, vreq);
}
}

View file

@ -4,9 +4,11 @@ import edu.cornell.mannlib.vitro.webapp.beans.Individual;
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
import edu.cornell.mannlib.vitro.webapp.web.templatemodels.individual.VIVOIndividualTemplateModel;
import edu.cornell.mannlib.vitro.webapp.web.templatemodels.individual.IndividualTemplateModelBuilder;
import edu.cornell.mannlib.vitro.webapp.web.templatemodels.individual.VIVOIndividualTemplateModelBuilder;
import edu.cornell.mannlib.vitro.webapp.web.templatemodels.individuallist.ListedIndividual;
import edu.cornell.mannlib.vitro.webapp.web.templatemodels.individuallist.ListedIndividualBuilder;
import edu.cornell.mannlib.vitro.webapp.web.templatemodels.individuallist.VIVOListedIndividual;
import edu.cornell.mannlib.vitro.webapp.web.templatemodels.individuallist.VIVOListedIndividualBuilder;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
@ -14,8 +16,8 @@ import javax.servlet.ServletContextListener;
public class TemplateModelSetup implements ServletContextListener {
@Override
public void contextInitialized(ServletContextEvent servletContextEvent) {
VIVOIndividualTemplateModel.setAsDefault();
VIVOListedIndividual.setAsDefault();
IndividualTemplateModelBuilder.setCustomBuilder(new VIVOIndividualTemplateModelBuilder());
ListedIndividualBuilder.setCustomBuilder(new VIVOListedIndividualBuilder());
}
@Override