Skip to content

Commit 29893ec

Browse files
committed
Package install/uninstall UI
1 parent 4215936 commit 29893ec

File tree

9 files changed

+149
-40
lines changed

9 files changed

+149
-40
lines changed

src/main/java/com/atomgraph/linkeddatahub/resource/admin/pkg/InstallPackage.java

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -395,11 +395,8 @@ private void installOntology(EndUserApplication app, Model ontologyModel, String
395395
if (log.isDebugEnabled()) log.debug("Namespace graph PATCH response status: {}", patchResponse.getStatus());
396396
}
397397

398-
// 4. Clear and reload namespace ontology from cache
399-
// TODO: This causes deadlock when OntologyModelGetter makes synchronous HTTP requests back to /ns
400-
// Need to either make this async or find alternative way to refresh ontology cache
401-
// if (log.isDebugEnabled()) log.debug("Clearing and reloading namespace ontology '{}'", namespaceOntologyURI);
402-
// getResourceContext().getResource(ClearOntology.class).post(namespaceOntologyURI, null);
398+
if (log.isDebugEnabled()) log.debug("Clearing and reloading namespace ontology '{}'", namespaceOntologyURI);
399+
getResourceContext().getResource(ClearOntology.class).post(namespaceOntologyURI, null);
403400
}
404401

405402
/**

src/main/webapp/static/com/atomgraph/linkeddatahub/css/bootstrap.css

Lines changed: 4 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!DOCTYPE xsl:stylesheet [
3+
<!ENTITY adm "https://w3id.org/atomgraph/linkeddatahub/admin#">
4+
<!ENTITY ldh "https://w3id.org/atomgraph/linkeddatahub#">
5+
<!ENTITY ac "https://w3id.org/atomgraph/client#">
6+
<!ENTITY a "https://w3id.org/atomgraph/core#">
7+
<!ENTITY lacl "https://w3id.org/atomgraph/linkeddatahub/admin/acl#">
8+
<!ENTITY rdf "http://www.w3.org/1999/02/22-rdf-syntax-ns#">
9+
<!ENTITY rdfs "http://www.w3.org/2000/01/rdf-schema#">
10+
<!ENTITY owl "http://www.w3.org/2002/07/owl#">
11+
<!ENTITY ldt "https://www.w3.org/ns/ldt#">
12+
<!ENTITY dh "https://www.w3.org/ns/ldt/document-hierarchy#">
13+
<!ENTITY prov "http://www.w3.org/ns/prov#">
14+
<!ENTITY foaf "http://xmlns.com/foaf/0.1/">
15+
<!ENTITY sioc "http://rdfs.org/sioc/ns#">
16+
<!ENTITY dct "http://purl.org/dc/terms/">
17+
]>
18+
<xsl:stylesheet version="3.0"
19+
xmlns="http://www.w3.org/1999/xhtml"
20+
xmlns:xhtml="http://www.w3.org/1999/xhtml"
21+
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
22+
xmlns:xs="http://www.w3.org/2001/XMLSchema"
23+
xmlns:ldh="&ldh;"
24+
xmlns:ac="&ac;"
25+
xmlns:a="&a;"
26+
xmlns:lacl="&lacl;"
27+
xmlns:rdf="&rdf;"
28+
xmlns:rdfs="&rdfs;"
29+
xmlns:owl="&owl;"
30+
xmlns:ldt="&ldt;"
31+
xmlns:dh="&dh;"
32+
xmlns:foaf="&foaf;"
33+
xmlns:sioc="&sioc;"
34+
xmlns:bs2="http://graphity.org/xsl/bootstrap/2.3.2"
35+
exclude-result-prefixes="#all">
36+
37+
<!-- show "Clear" button for ontologies -->
38+
<xsl:template match="*[rdf:type/@rdf:resource = '&owl;Ontology'][$foaf:Agent//@rdf:about]" mode="bs2:Actions">
39+
<form class="pull-right" action="{resolve-uri('clear', $ldt:base)}" method="post">
40+
<input type="hidden" name="uri" value="{@rdf:about}"/>
41+
42+
<button class="btn btn-primary" type="submit">
43+
<xsl:value-of>
44+
<xsl:apply-templates select="key('resources', 'clear', document('../../../translations.rdf'))" mode="ac:label"/>
45+
</xsl:value-of>
46+
</button>
47+
</form>
48+
49+
<xsl:next-match/>
50+
</xsl:template>
51+
52+
</xsl:stylesheet>

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ exclude-result-prefixes="#all">
2626

2727
<xsl:import href="imports/acl.xsl"/>
2828
<xsl:import href="imports/cert.xsl"/>
29+
<xsl:import href="imports/owl.xsl"/>
2930

3031
<!-- TO-DO: refactor into component templates -->
3132
<xsl:template match="rdf:RDF" mode="bs2:NavBarNavList">

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

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -135,19 +135,5 @@ exclude-result-prefixes="#all">
135135
</xsl:apply-imports>
136136
</xsl:template>
137137

138-
<!-- show "Clear" button for ontologies -->
139-
<xsl:template match="*[rdf:type/@rdf:resource = '&owl;Ontology'][$foaf:Agent//@rdf:about]" mode="bs2:Actions">
140-
<form class="pull-right" action="{resolve-uri('clear', $ldt:base)}" method="post">
141-
<input type="hidden" name="uri" value="{@rdf:about}"/>
142-
143-
<button class="btn btn-primary" type="submit">
144-
<xsl:value-of>
145-
<xsl:apply-templates select="key('resources', 'clear', document('../translations.rdf'))" mode="ac:label"/>
146-
</xsl:value-of>
147-
</button>
148-
</form>
149138

150-
<xsl:next-match/>
151-
</xsl:template>
152-
153139
</xsl:stylesheet>
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!DOCTYPE xsl:stylesheet [
3+
<!ENTITY ac "https://w3id.org/atomgraph/client#">
4+
<!ENTITY rdf "http://www.w3.org/1999/02/22-rdf-syntax-ns#">
5+
<!ENTITY rdfs "http://www.w3.org/2000/01/rdf-schema#">
6+
<!ENTITY owl "http://www.w3.org/2002/07/owl#">
7+
<!ENTITY ldt "https://www.w3.org/ns/ldt#">
8+
<!ENTITY lapp "https://w3id.org/atomgraph/linkeddatahub/apps#">
9+
]>
10+
<xsl:stylesheet version="3.0"
11+
xmlns="http://www.w3.org/1999/xhtml"
12+
xmlns:xhtml="http://www.w3.org/1999/xhtml"
13+
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
14+
xmlns:xs="http://www.w3.org/2001/XMLSchema"
15+
xmlns:ac="&ac;"
16+
xmlns:rdf="&rdf;"
17+
xmlns:rdfs="&rdfs;"
18+
xmlns:owl="&owl;"
19+
xmlns:ldt="&ldt;"
20+
xmlns:lapp="&lapp;"
21+
xmlns:bs2="http://graphity.org/xsl/bootstrap/2.3.2"
22+
exclude-result-prefixes="#all">
23+
24+
<!-- show "Actions" dropdown with Install/Uninstall options for packages -->
25+
<xsl:template match="*[rdf:type/@rdf:resource = '&lapp;Package']" mode="bs2:Actions">
26+
<xsl:variable name="admin-origin" select="(key('resources', $lapp:Application//*[lapp:origin/@rdf:resource = $lapp:origin]/lapp:adminApplication/(@rdf:resource, @rdf:nodeID), $lapp:Application)/lapp:origin/@rdf:resource, $ldt:base)[1]" as="xs:anyURI"/>
27+
28+
<div class="btn-group pull-right">
29+
<button type="button" class="btn dropdown-toggle">
30+
<xsl:value-of>
31+
<xsl:apply-templates select="key('resources', 'actions', document(resolve-uri('static/com/atomgraph/linkeddatahub/xsl/bootstrap/2.3.2/translations.rdf', $ac:contextUri)))" mode="ac:label"/>
32+
</xsl:value-of>
33+
<xsl:text> </xsl:text>
34+
<span class="caret"></span>
35+
</button>
36+
<ul class="dropdown-menu">
37+
<li>
38+
<form action="{resolve-uri('packages/install', $admin-origin)}" method="post">
39+
<input type="hidden" name="package-uri" value="{@rdf:about}"/>
40+
<button class="btn btn-primary" type="submit">
41+
<xsl:value-of>
42+
<xsl:apply-templates select="key('resources', 'install', document(resolve-uri('static/com/atomgraph/linkeddatahub/xsl/bootstrap/2.3.2/translations.rdf', $ac:contextUri)))" mode="ac:label"/>
43+
</xsl:value-of>
44+
</button>
45+
</form>
46+
</li>
47+
<li>
48+
<form action="{resolve-uri('packages/uninstall', $admin-origin)}" method="post">
49+
<input type="hidden" name="package-uri" value="{@rdf:about}"/>
50+
<button class="btn btn-danger" type="submit">
51+
<xsl:value-of>
52+
<xsl:apply-templates select="key('resources', 'uninstall', document(resolve-uri('static/com/atomgraph/linkeddatahub/xsl/bootstrap/2.3.2/translations.rdf', $ac:contextUri)))" mode="ac:label"/>
53+
</xsl:value-of>
54+
</button>
55+
</form>
56+
</li>
57+
</ul>
58+
</div>
59+
60+
<xsl:next-match/>
61+
</xsl:template>
62+
63+
</xsl:stylesheet>

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

Lines changed: 10 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -81,16 +81,17 @@ exclude-result-prefixes="#all">
8181

8282
<xsl:import href="../../../../client/xsl/converters/RDFXML2JSON-LD.xsl"/>
8383
<xsl:import href="../../../../client/xsl/bootstrap/2.3.2/internal-layout.xsl"/>
84+
<xsl:import href="resource.xsl"/>
8485
<xsl:import href="imports/default.xsl"/>
8586
<xsl:import href="imports/ac.xsl"/>
8687
<xsl:import href="imports/dct.xsl"/>
8788
<xsl:import href="imports/nfo.xsl"/>
8889
<xsl:import href="imports/rdf.xsl"/>
89-
<xsl:import href="imports/rdfs.xsl"/>
90+
<xsl:import href="imports/rdfs.xsl"/>
9091
<xsl:import href="imports/sioc.xsl"/>
9192
<xsl:import href="imports/sp.xsl"/>
9293
<xsl:import href="imports/sh.xsl"/>
93-
<xsl:import href="resource.xsl"/>
94+
<xsl:import href="imports/lapp.xsl"/>
9495
<xsl:import href="imports/services/youtube.xsl"/>
9596
<xsl:import href="document.xsl"/>
9697

@@ -1247,15 +1248,13 @@ LIMIT 100
12471248

12481249
<ul class="dropdown-menu">
12491250
<xsl:if test="$foaf:Agent//@rdf:about and $lapp:Application//*[lapp:origin/@rdf:resource = $lapp:origin]/rdf:type/@rdf:resource = '&lapp;EndUserApplication'">
1250-
<xsl:if test="$acl:mode = '&acl;Control'">
1251-
<li>
1252-
<button class="btn btn-app-settings">
1253-
<xsl:value-of>
1254-
<xsl:apply-templates select="key('resources', '&lapp;Application', document(ac:document-uri('&lapp;')))" mode="ac:label"/>
1255-
</xsl:value-of>
1256-
</button>
1257-
</li>
1258-
</xsl:if>
1251+
<li>
1252+
<button class="btn btn-app-settings">
1253+
<xsl:value-of>
1254+
<xsl:apply-templates select="key('resources', '&lapp;Application', document(ac:document-uri('&lapp;')))" mode="ac:label"/>
1255+
</xsl:value-of>
1256+
</button>
1257+
</li>
12591258
<li>
12601259
<xsl:for-each select="$lapp:Application">
12611260
<a href="{key('resources', //*[lapp:origin/@rdf:resource = $lapp:origin]/lapp:adminApplication/(@rdf:resource, @rdf:nodeID))/lapp:origin/@rdf:resource}" target="_blank">
@@ -1273,13 +1272,6 @@ LIMIT 100
12731272
</a>
12741273
</li>
12751274
</xsl:if>
1276-
<li>
1277-
<a href="https://atomgraph.github.io/LinkedDataHub/linkeddatahub/docs/" target="_blank">
1278-
<xsl:value-of>
1279-
<xsl:apply-templates select="key('resources', 'documentation', document('translations.rdf'))" mode="ac:label"/>
1280-
</xsl:value-of>
1281-
</a>
1282-
</li>
12831275
</ul>
12841276
</div>
12851277
</xsl:template>

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

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -330,6 +330,22 @@
330330
<rdfs:label xml:lang="en-US">Clear</rdfs:label>
331331
<rdfs:label xml:lang="es-ES">Limpiar</rdfs:label>
332332
</rdf:Description>
333+
<rdf:Description rdf:nodeID="install">
334+
<rdfs:label xml:lang="en-US">Install</rdfs:label>
335+
<rdfs:label xml:lang="es-ES">Instalar</rdfs:label>
336+
</rdf:Description>
337+
<rdf:Description rdf:nodeID="uninstall">
338+
<rdfs:label xml:lang="en-US">Uninstall</rdfs:label>
339+
<rdfs:label xml:lang="es-ES">Desinstalar</rdfs:label>
340+
</rdf:Description>
341+
<rdf:Description rdf:nodeID="package">
342+
<rdfs:label xml:lang="en-US">Package</rdfs:label>
343+
<rdfs:label xml:lang="es-ES">Paquete</rdfs:label>
344+
</rdf:Description>
345+
<rdf:Description rdf:nodeID="ontology">
346+
<rdfs:label xml:lang="en-US">Ontology</rdfs:label>
347+
<rdfs:label xml:lang="es-ES">Ontología</rdfs:label>
348+
</rdf:Description>
333349
<rdf:Description rdf:nodeID="related-results">
334350
<rdfs:label xml:lang="en-US">Related results</rdfs:label>
335351
<rdfs:label xml:lang="es-ES">Resultados relacionados</rdfs:label>

src/main/webapp/static/com/atomgraph/linkeddatahub/xsl/client.xsl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@ extension-element-prefixes="ixsl"
8282
<xsl:import href="../../../../com/atomgraph/client/xsl/bootstrap/2.3.2/resource.xsl"/>
8383
<xsl:import href="../../../../com/atomgraph/client/xsl/bootstrap/2.3.2/document.xsl"/>
8484
<xsl:import href="../../../../com/atomgraph/client/xsl/bootstrap/2.3.2/container.xsl"/>
85+
<xsl:import href="bootstrap/2.3.2/resource.xsl"/>
8586
<xsl:import href="bootstrap/2.3.2/imports/ac.xsl"/>
8687
<xsl:import href="bootstrap/2.3.2/imports/ldh.xsl"/>
8788
<xsl:import href="bootstrap/2.3.2/imports/dct.xsl"/>
@@ -91,7 +92,6 @@ extension-element-prefixes="ixsl"
9192
<xsl:import href="bootstrap/2.3.2/imports/sioc.xsl"/>
9293
<xsl:import href="bootstrap/2.3.2/imports/sp.xsl"/>
9394
<xsl:import href="bootstrap/2.3.2/imports/sh.xsl"/>
94-
<xsl:import href="bootstrap/2.3.2/resource.xsl"/>
9595
<xsl:import href="bootstrap/2.3.2/document.xsl"/>
9696
<xsl:import href="bootstrap/2.3.2/imports/services/youtube.xsl"/>
9797
<xsl:import href="converters/RDFXML2DataTable.xsl"/>

0 commit comments

Comments
 (0)