Skip to content

Commit 71e2fde

Browse files
committed
Making application optional in XSLT writer
1 parent c69d613 commit 71e2fde

File tree

3 files changed

+17
-21
lines changed

3 files changed

+17
-21
lines changed

src/main/java/com/atomgraph/linkeddatahub/writer/XSLTWriterBase.java

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -122,19 +122,16 @@ public <T extends XdmValue> Map<QName, XdmValue> getParameters(MultivaluedMap<St
122122
params.put(new QName("ldh", LDH.requestUri.getNameSpace(), LDH.requestUri.getLocalName()), new XdmAtomicValue(getRequestURI()));
123123

124124
Optional<com.atomgraph.linkeddatahub.apps.model.Application> appOpt = getApplication().get();
125-
if (!appOpt.isPresent())
125+
if (appOpt.isPresent())
126126
{
127-
if (log.isWarnEnabled()) log.warn("Application not present in XSLTWriterBase.getParameters()");
128-
return params; // return early if no application
127+
com.atomgraph.linkeddatahub.apps.model.Application app = appOpt.get();
128+
if (log.isDebugEnabled()) log.debug("Passing $lapp:Application to XSLT: <{}>", app);
129+
params.put(new QName("ldt", LDT.base.getNameSpace(), LDT.base.getLocalName()), new XdmAtomicValue(app.getBaseURI()));
130+
params.put(new QName("lapp", LAPP.origin.getNameSpace(), LAPP.origin.getLocalName()), new XdmAtomicValue(app.getOriginURI()));
131+
params.put(new QName("ldt", LDT.ontology.getNameSpace(), LDT.ontology.getLocalName()), new XdmAtomicValue(URI.create(app.getOntology().getURI())));
132+
params.put(new QName("lapp", LAPP.Context.getNameSpace(), LAPP.Context.getLocalName()),
133+
getXsltExecutable().getProcessor().newDocumentBuilder().build(getSource(app.getModel())));
129134
}
130-
131-
com.atomgraph.linkeddatahub.apps.model.Application app = appOpt.get();
132-
if (log.isDebugEnabled()) log.debug("Passing $lapp:Application to XSLT: <{}>", app);
133-
params.put(new QName("ldt", LDT.base.getNameSpace(), LDT.base.getLocalName()), new XdmAtomicValue(app.getBaseURI()));
134-
params.put(new QName("lapp", LAPP.origin.getNameSpace(), LAPP.origin.getLocalName()), new XdmAtomicValue(app.getOriginURI()));
135-
params.put(new QName("ldt", LDT.ontology.getNameSpace(), LDT.ontology.getLocalName()), new XdmAtomicValue(URI.create(app.getOntology().getURI())));
136-
params.put(new QName("lapp", LAPP.Context.getNameSpace(), LAPP.Context.getLocalName()),
137-
getXsltExecutable().getProcessor().newDocumentBuilder().build(getSource(app.getModel())));
138135

139136
URI endpointURI = getLinkURI(headerMap, SD.endpoint);
140137
if (endpointURI != null) params.put(new QName("sd", SD.endpoint.getNameSpace(), SD.endpoint.getLocalName()), new XdmAtomicValue(endpointURI));

src/main/webapp/static/com/atomgraph/linkeddatahub/xsl/bootstrap/2.3.2/imports/lapp.xsl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ xmlns:bs2="http://graphity.org/xsl/bootstrap/2.3.2"
2222
exclude-result-prefixes="#all">
2323

2424
<!-- show "Actions" dropdown with Install/Uninstall options for packages -->
25-
<xsl:template match="*[rdf:type/@rdf:resource = '&lapp;Package']" mode="bs2:Actions">
25+
<xsl:template match="*[rdf:type/@rdf:resource = '&lapp;Package'][$lapp:origin]" mode="bs2:Actions">
2626
<xsl:variable name="admin-origin" select="xs:anyURI(replace(string($lapp:origin), '^(https?://)', '$1admin.'))" as="xs:anyURI"/>
2727

2828
<div class="btn-group pull-right">

src/main/webapp/static/com/atomgraph/linkeddatahub/xsl/bootstrap/2.3.2/layout.xsl

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -100,14 +100,13 @@ exclude-result-prefixes="#all">
100100

101101
<xsl:output method="xhtml" encoding="UTF-8" indent="yes" omit-xml-declaration="yes" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" media-type="application/xhtml+xml"/>
102102

103-
<xsl:param name="lapp:origin" as="xs:anyURI"/>
103+
<xsl:param name="lapp:origin" as="xs:anyURI?"/>
104104
<xsl:param name="ldh:requestUri" as="xs:anyURI"/>
105-
<xsl:param name="ac:endpoint" select="resolve-uri('sparql', $ldt:base)" as="xs:anyURI"/>
105+
<xsl:param name="ac:endpoint" select="if ($ldt:base) then resolve-uri('sparql', $ldt:base) else ()" as="xs:anyURI?"/>
106106
<xsl:param name="sd:endpoint" as="xs:anyURI?"/>
107107
<xsl:param name="acl:agent" as="xs:anyURI?"/>
108108
<xsl:param name="lapp:Context" as="document-node()?"/>
109109
<xsl:param name="foaf:Agent" select="if ($acl:agent) then document(ac:document-uri($acl:agent)) else ()" as="document-node()?"/>
110-
<xsl:param name="force-exclude-all-namespaces" select="true()"/>
111110
<xsl:param name="ac:httpHeaders" as="xs:string"/>
112111
<xsl:param name="ac:method" as="xs:string"/>
113112
<xsl:param name="acl:mode" as="xs:anyURI*"/>
@@ -334,9 +333,9 @@ exclude-result-prefixes="#all">
334333
</xsl:for-each>
335334
</xsl:for-each>
336335

337-
<xsl:if test="key('apps-by-origin', $lapp:origin, $lapp:Context)">
338-
<meta property="og:site_name" content="{ac:label(key('apps-by-origin', $lapp:origin, $lapp:Context))}"/>
339-
</xsl:if>
336+
<xsl:for-each select="key('apps-by-origin', $lapp:origin, $lapp:Context)">
337+
<meta property="og:site_name" content="{ac:label(.)}"/>
338+
</xsl:for-each>
340339
</xsl:template>
341340

342341
<!-- STYLE -->
@@ -719,7 +718,7 @@ exclude-result-prefixes="#all">
719718
<xsl:apply-templates select="." mode="bs2:SignUp"/>
720719
</xsl:template>
721720

722-
<xsl:template match="rdf:RDF[key('apps-by-origin', $lapp:origin, $lapp:Context)/rdf:type/@rdf:resource = '&lapp;EndUserApplication'] | srx:sparql[key('apps-by-origin', $lapp:origin, $lapp:Context)/rdf:type/@rdf:resource = '&lapp;EndUserApplication']" mode="bs2:DataspaceNavList" priority="1">
721+
<xsl:template match="rdf:RDF[$lapp:origin][key('apps-by-origin', $lapp:origin, $lapp:Context)/rdf:type/@rdf:resource = '&lapp;EndUserApplication'] | srx:sparql[$lapp:origin][key('apps-by-origin', $lapp:origin, $lapp:Context)/rdf:type/@rdf:resource = '&lapp;EndUserApplication']" mode="bs2:DataspaceNavList" priority="1">
723722
<ul class="nav pull-right">
724723
<xsl:variable name="user-defined-apps" select="if (doc-available($app-request-uri)) then document($app-request-uri)//*[lapp:origin/@rdf:resource] else ()" as="element()*"/>
725724
<xsl:variable name="system-apps" select="$lapp:Context//*[rdf:type/@rdf:resource = '&lapp;EndUserApplication'][lapp:origin/@rdf:resource]" as="element()*"/>
@@ -794,7 +793,7 @@ exclude-result-prefixes="#all">
794793

795794
<!-- SIGNUP -->
796795

797-
<xsl:template match="rdf:RDF[not($foaf:Agent//@rdf:about)][key('apps-by-origin', $lapp:origin, $lapp:Context)/rdf:type/@rdf:resource = '&lapp;EndUserApplication'] | srx:sparql[not($foaf:Agent//@rdf:about)][key('apps-by-origin', $lapp:origin, $lapp:Context)/rdf:type/@rdf:resource = '&lapp;EndUserApplication']" mode="bs2:SignUp" priority="1">
796+
<xsl:template match="rdf:RDF[$lapp:origin][not($foaf:Agent//@rdf:about)][key('apps-by-origin', $lapp:origin, $lapp:Context)/rdf:type/@rdf:resource = '&lapp;EndUserApplication'] | srx:sparql[$lapp:origin][not($foaf:Agent//@rdf:about)][key('apps-by-origin', $lapp:origin, $lapp:Context)/rdf:type/@rdf:resource = '&lapp;EndUserApplication']" mode="bs2:SignUp" priority="1">
798797
<!-- resolve links against the origin URI of the admin app -->
799798
<xsl:param name="google-signup" select="exists($google:clientID)" as="xs:boolean"/>
800799
<xsl:param name="orcid-signup" select="exists($orcid:clientID)" as="xs:boolean"/>
@@ -1262,7 +1261,7 @@ exclude-result-prefixes="#all">
12621261

12631262
<!-- SETTINGS -->
12641263

1265-
<xsl:template match="rdf:RDF | srx:sparql" mode="bs2:Settings" priority="1">
1264+
<xsl:template match="rdf:RDF[$lapp:origin] | srx:sparql[$lapp:origin]" mode="bs2:Settings" priority="1">
12661265
<div class="btn-group pull-right">
12671266
<button type="button" title="{ac:label(key('resources', 'nav-bar-action-settings-title', document('translations.rdf')))}">
12681267
<xsl:apply-templates select="key('resources', 'settings', document('translations.rdf'))" mode="ldh:logo">

0 commit comments

Comments
 (0)