[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); 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) { private String getVisUrl(String visPath) {
String visUrl; String visUrl;
boolean isUsingDefaultNameSpace = UrlBuilder.isUriInDefaultNamespace( 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(); 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() { private String findPreferredTitle() {
String queryStr = QueryUtils.subUriForQueryVar(VCARD_DATA_QUERY, "subject", individual.getURI()); String queryStr = QueryUtils.subUriForQueryVar(VCARD_DATA_QUERY, "subject", individual.getURI());
log.debug("queryStr = " + queryStr); 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.controller.VitroRequest;
import edu.cornell.mannlib.vitro.webapp.web.templatemodels.individual.VIVOIndividualTemplateModel; 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.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.ListedIndividual;
import edu.cornell.mannlib.vitro.webapp.web.templatemodels.individuallist.ListedIndividualBuilder; 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.VIVOListedIndividual;
import edu.cornell.mannlib.vitro.webapp.web.templatemodels.individuallist.VIVOListedIndividualBuilder;
import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener; import javax.servlet.ServletContextListener;
@ -14,8 +16,8 @@ import javax.servlet.ServletContextListener;
public class TemplateModelSetup implements ServletContextListener { public class TemplateModelSetup implements ServletContextListener {
@Override @Override
public void contextInitialized(ServletContextEvent servletContextEvent) { public void contextInitialized(ServletContextEvent servletContextEvent) {
VIVOIndividualTemplateModel.setAsDefault(); IndividualTemplateModelBuilder.setCustomBuilder(new VIVOIndividualTemplateModelBuilder());
VIVOListedIndividual.setAsDefault(); ListedIndividualBuilder.setCustomBuilder(new VIVOListedIndividualBuilder());
} }
@Override @Override