diff --git a/src/main/java/com/knowledgepixels/nanodash/NanodashLink.java b/src/main/java/com/knowledgepixels/nanodash/NanodashLink.java index cf12ed70..3aa0f571 100644 --- a/src/main/java/com/knowledgepixels/nanodash/NanodashLink.java +++ b/src/main/java/com/knowledgepixels/nanodash/NanodashLink.java @@ -35,20 +35,23 @@ public NanodashLink(String id, String uri, Nanopub np, IRI templateClass, boolea } } } + + final TemplateData td = TemplateData.get(); + if (Template.ASSERTION_TEMPLATE_CLASS.equals(templateClass)) { - IRI templateId = Template.getTemplateId(np); + IRI templateId = td.getTemplateId(np); if (templateId != null) { - templates.add(Template.getTemplate(templateId.stringValue())); + templates.add(td.getTemplate(templateId.stringValue())); } } else if (Template.PROVENANCE_TEMPLATE_CLASS.equals(templateClass)) { - IRI templateId = Template.getProvenanceTemplateId(np); + IRI templateId = td.getProvenanceTemplateId(np); if (templateId != null) { - templates.add(Template.getTemplate(templateId.stringValue())); + templates.add(td.getTemplate(templateId.stringValue())); } } else if (Template.PUBINFO_TEMPLATE_CLASS.equals(templateClass)) { - Set templateIds = Template.getPubinfoTemplateIds(np); + Set templateIds = td.getPubinfoTemplateIds(np); for (IRI templateId : templateIds) { - templates.add(Template.getTemplate(templateId.stringValue())); + templates.add(td.getTemplate(templateId.stringValue())); } } diff --git a/src/main/java/com/knowledgepixels/nanodash/NanodashPage.java b/src/main/java/com/knowledgepixels/nanodash/NanodashPage.java index 06217c05..d2bafc7c 100644 --- a/src/main/java/com/knowledgepixels/nanodash/NanodashPage.java +++ b/src/main/java/com/knowledgepixels/nanodash/NanodashPage.java @@ -27,7 +27,7 @@ public void run() { System.err.println("Refreshing..."); User.refreshUsers(); Group.refreshGroups(); - Template.refreshTemplates(); + TemplateData.refreshTemplates(); System.err.println("Refreshing done."); lastRefresh = System.currentTimeMillis(); } diff --git a/src/main/java/com/knowledgepixels/nanodash/NanopubItem.java b/src/main/java/com/knowledgepixels/nanodash/NanopubItem.java index 09ae360c..9bd410fa 100644 --- a/src/main/java/com/knowledgepixels/nanodash/NanopubItem.java +++ b/src/main/java/com/knowledgepixels/nanodash/NanopubItem.java @@ -185,9 +185,11 @@ public void onClick(AjaxRequestTarget target) { showLessLink.setVisible(!expanded); assertionPart2.add(showLessLink); - Template assertionTemplate = Template.getTemplate(n.getNanopub()); - if (tempalteId != null) assertionTemplate = Template.getTemplate(tempalteId); - if (assertionTemplate == null) assertionTemplate = Template.getTemplate("http://purl.org/np/RAFu2BNmgHrjOTJ8SKRnKaRp-VP8AOOb7xX88ob0DZRsU"); + final TemplateData td = TemplateData.get(); + + Template assertionTemplate = td.getTemplate(n.getNanopub()); + if (tempalteId != null) assertionTemplate = td.getTemplate(tempalteId); + if (assertionTemplate == null) assertionTemplate = td.getTemplate("http://purl.org/np/RAFu2BNmgHrjOTJ8SKRnKaRp-VP8AOOb7xX88ob0DZRsU"); List assertionStatements = new ArrayList<>(); ValueFiller assertionFiller = new ValueFiller(n.getNanopub(), ContextType.ASSERTION, false); TemplateContext context = new TemplateContext(ContextType.ASSERTION, assertionTemplate.getId(), "assertion-statement", n.getNanopub()); @@ -228,8 +230,8 @@ protected void populateItem(Item item) { if (hideProvenance) { provenance.setVisible(false); } else { - Template provenanceTemplate = Template.getProvenanceTemplate(n.getNanopub()); - if (provenanceTemplate == null) provenanceTemplate = Template.getTemplate("http://purl.org/np/RA3Jxq5JJjluUNEpiMtxbiIHa7Yt-w8f9FiyexEstD5R4"); + Template provenanceTemplate = td.getProvenanceTemplate(n.getNanopub()); + if (provenanceTemplate == null) provenanceTemplate = td.getTemplate("http://purl.org/np/RA3Jxq5JJjluUNEpiMtxbiIHa7Yt-w8f9FiyexEstD5R4"); List provenanceStatements = new ArrayList<>(); ValueFiller provenanceFiller = new ValueFiller(n.getNanopub(), ContextType.PROVENANCE, false); TemplateContext prContext = new TemplateContext(ContextType.PROVENANCE, provenanceTemplate.getId(), "provenance-statement", n.getNanopub()); @@ -254,7 +256,7 @@ protected void populateItem(Item item) { } else { ValueFiller pubinfoFiller = new ValueFiller(n.getNanopub(), ContextType.PUBINFO, false); List pubinfoTemplateIds = new ArrayList<>(); - for (IRI iri : Template.getPubinfoTemplateIds(n.getNanopub())) pubinfoTemplateIds.add(iri.stringValue()); + for (IRI iri : td.getPubinfoTemplateIds(n.getNanopub())) pubinfoTemplateIds.add(iri.stringValue()); pubinfoTemplateIds.add("https://w3id.org/np/RAXVsr624oEAJvCt1WZXoUJ90lFYC5LUMoYHgEUOwmrLw"); // user name pubinfoTemplateIds.add("https://w3id.org/np/RARJj78P72NR5edKOnu_f4ePE9NYYuW2m2pM-fEoobMBk"); // nanopub label pubinfoTemplateIds.add("https://w3id.org/np/RA8iXbwvOC7BwVHuvAhFV235j2582SyAYJ2sfov19ZOlg"); // nanopub type diff --git a/src/main/java/com/knowledgepixels/nanodash/PublishForm.java b/src/main/java/com/knowledgepixels/nanodash/PublishForm.java index f175afa7..3933d8b3 100644 --- a/src/main/java/com/knowledgepixels/nanodash/PublishForm.java +++ b/src/main/java/com/knowledgepixels/nanodash/PublishForm.java @@ -125,8 +125,10 @@ public PublishForm(String id, final PageParameters pageParams, final PublishPage fillMode = null; } + final TemplateData td = TemplateData.get(); + String templateId = pageParams.get("template").toString(); - targetNamespace = Template.getTemplate(templateId).getTargetNamespace(); + targetNamespace = td.getTemplate(templateId).getTargetNamespace(); if (!pageParams.get("target-namespace").isNull()) { // TODO: properly integrate this feature: targetNamespace = pageParams.get("target-namespace").toString(); @@ -136,8 +138,8 @@ public PublishForm(String id, final PageParameters pageParams, final PublishPage String prTemplateId = pageParams.get("prtemplate").toString(); if (prTemplateId == null) { if (fillNp != null && !fillOnlyAssertion) { - if (Template.getProvenanceTemplateId(fillNp) != null) { - prTemplateId = Template.getProvenanceTemplateId(fillNp).stringValue(); + if (td.getProvenanceTemplateId(fillNp) != null) { + prTemplateId = td.getProvenanceTemplateId(fillNp).stringValue(); } else { prTemplateId = "http://purl.org/np/RAcm8OurwUk15WOgBM9wySo-T3a5h6as4K8YR5MBrrxUc"; } @@ -187,7 +189,7 @@ public PublishForm(String id, final PageParameters pageParams, final PublishPage if (!pubInfoContexts.contains(c)) pubInfoContexts.add(c); } if (fillNp != null && !fillOnlyAssertion) { - for (IRI piTemplateId : Template.getPubinfoTemplateIds(fillNp)) { + for (IRI piTemplateId : td.getPubinfoTemplateIds(fillNp)) { if (piTemplateId.stringValue().equals(supersedesPubinfoTemplateId)) continue; TemplateContext c = getPubinfoContext(piTemplateId.stringValue()); if (!pubInfoContexts.contains(c)) pubInfoContexts.add(c); @@ -429,11 +431,11 @@ protected void populateItem(ListItem item) { final List