From c5b3fb46ba612c3e115f165781325795f1f83491 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martynas=20Jusevi=C4=8Dius?= Date: Tue, 12 Nov 2024 11:07:50 +0100 Subject: [PATCH 01/19] Update README.md Fixed RDF/POST link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 739cc548..738670fc 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ What AWC provides for users as out-of-the-box generic features: * loading RDF data from remote Linked Data sources * multilingual, responsive user interface built with Twitter Bootstrap (currently [2.3.2](https://getbootstrap.com/2.3.2/)) * multiple RDF rendering modes (currently item/list/table/map) -* RDF editing mode based on [RDF/POST](http://www.lsrn.org/semweb/rdfpost.html) encoding +* RDF editing mode based on [RDF/POST](https://atomgraph.github.io/RDF-POST/) encoding * SPARQL endpoint with interactive results Getting started From 0c79e5d9e2c22d6b727c1a90f56b622db2d0995c Mon Sep 17 00:00:00 2001 From: Martynas Date: Fri, 10 Jan 2025 17:48:23 +0100 Subject: [PATCH 02/19] HTML media type is disabled because the current XSLT stylesheets are outputting namespace XHTML which should not be served as plain HTML SNAPSHOT bump --- pom.xml | 2 +- .../java/com/atomgraph/client/MediaTypes.java | 15 ++++++++------- .../atomgraph/client/util/DataManagerImpl.java | 1 + 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/pom.xml b/pom.xml index f0371279..1f25f57f 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ com.atomgraph client - 4.0.17-SNAPSHOT + 4.0.18-SNAPSHOT ${packaging.type} AtomGraph Web-Client diff --git a/src/main/java/com/atomgraph/client/MediaTypes.java b/src/main/java/com/atomgraph/client/MediaTypes.java index 75bc2353..1b0ec131 100644 --- a/src/main/java/com/atomgraph/client/MediaTypes.java +++ b/src/main/java/com/atomgraph/client/MediaTypes.java @@ -40,24 +40,25 @@ public class MediaTypes extends com.atomgraph.core.MediaTypes com.atomgraph.core.MediaTypes coreTypes = new com.atomgraph.core.MediaTypes(); READABLE = coreTypes.getReadable(); - MediaType html = new MediaType(MediaType.TEXT_HTML_TYPE.getType(), MediaType.TEXT_HTML_TYPE.getSubtype(), com.atomgraph.core.MediaTypes.UTF8_PARAM); + // !!! HTML is disabled because the current XSLT stylesheets are outputting namespace XHTML which should not be served as plain HTML !!! + //MediaType html = new MediaType(MediaType.TEXT_HTML_TYPE.getType(), MediaType.TEXT_HTML_TYPE.getSubtype(), com.atomgraph.core.MediaTypes.UTF8_PARAM); MediaType xhtml = new MediaType(MediaType.APPLICATION_XHTML_XML_TYPE.getType(), MediaType.APPLICATION_XHTML_XML_TYPE.getSubtype(), com.atomgraph.core.MediaTypes.UTF8_PARAM); WRITABLE = new HashMap<>(); List writableDatasetTypes = new ArrayList<>(coreTypes.getWritable(Dataset.class)); - writableDatasetTypes.add(0, html); // add HTML as writable MediaType - writableDatasetTypes.add(1, xhtml); // add XHTML as writable MediaType + //writableDatasetTypes.add(html); // add HTML as writable MediaType + writableDatasetTypes.add(xhtml); // add XHTML as writable MediaType WRITABLE.put(Dataset.class, Collections.unmodifiableList(writableDatasetTypes)); List writableModelTypes = new ArrayList<>(coreTypes.getWritable(Model.class)); - writableModelTypes.add(0, html); // add HTML as writable MediaType - writableModelTypes.add(1, xhtml); // add XHTML as writable MediaType + //writableModelTypes.add(html); // add HTML as writable MediaType + writableModelTypes.add(xhtml); // add XHTML as writable MediaType WRITABLE.put(Model.class, Collections.unmodifiableList(writableModelTypes)); List writableResultSetTypes = new ArrayList<>(coreTypes.getWritable(ResultSet.class)); - writableResultSetTypes.add(0, html); // add HTML as writable MediaType - writableResultSetTypes.add(1, xhtml); // add XHTML as writable MediaType + //writableResultSetTypes.add(html); // add HTML as writable MediaType + writableResultSetTypes.add(xhtml); // add XHTML as writable MediaType WRITABLE.put(ResultSet.class, Collections.unmodifiableList(writableResultSetTypes)); } diff --git a/src/main/java/com/atomgraph/client/util/DataManagerImpl.java b/src/main/java/com/atomgraph/client/util/DataManagerImpl.java index ebcd8085..7d9158d4 100644 --- a/src/main/java/com/atomgraph/client/util/DataManagerImpl.java +++ b/src/main/java/com/atomgraph/client/util/DataManagerImpl.java @@ -67,6 +67,7 @@ public DataManagerImpl(LocationMapper mapper, Map modelCache, Lin acceptedTypeList.addAll(ldc.getMediaTypes().getReadable(ResultSet.class)); acceptedTypes = acceptedTypeList.toArray(MediaType[]::new); + // TO-DO: reuse MediaTypes? List acceptableXMLMediaTypeList = new ArrayList(); Map q1 = new HashMap<>(); q1.put("q", "1.0"); From 5fa30fabd82a2a8b7edee4ea8b0aa1c52ffd260c Mon Sep 17 00:00:00 2001 From: Martynas Date: Fri, 10 Jan 2025 17:50:39 +0100 Subject: [PATCH 03/19] SNAPSHOT bump --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 1f25f57f..3890ef0e 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ com.atomgraph client - 4.0.18-SNAPSHOT + 4.1.0-SNAPSHOT ${packaging.type} AtomGraph Web-Client From be3f46ff503c7a45c71c23ae8da06c0b8cdec9cf Mon Sep 17 00:00:00 2001 From: Martynas Date: Sat, 11 Jan 2025 00:06:11 +0100 Subject: [PATCH 04/19] `xhtml:DefinitionDescription` shows language tag for language-tagged literals (moved from LinkedDataHub) Fixed template match in `bs2:PropertyListIdentity` mode SNAPSHOT bump --- pom.xml | 2 +- .../client/xsl/bootstrap/2.3.2/imports/default.xsl | 12 ++++++++++++ .../client/xsl/bootstrap/2.3.2/resource.xsl | 2 +- 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 3890ef0e..69d4472b 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ com.atomgraph client - 4.1.0-SNAPSHOT + 4.1.1-SNAPSHOT ${packaging.type} AtomGraph Web-Client diff --git a/src/main/webapp/static/com/atomgraph/client/xsl/bootstrap/2.3.2/imports/default.xsl b/src/main/webapp/static/com/atomgraph/client/xsl/bootstrap/2.3.2/imports/default.xsl index 3ddea129..86b7206b 100644 --- a/src/main/webapp/static/com/atomgraph/client/xsl/bootstrap/2.3.2/imports/default.xsl +++ b/src/main/webapp/static/com/atomgraph/client/xsl/bootstrap/2.3.2/imports/default.xsl @@ -44,6 +44,18 @@ exclude-result-prefixes="#all"> + + + +
+ + + + + +
+
+ diff --git a/src/main/webapp/static/com/atomgraph/client/xsl/bootstrap/2.3.2/resource.xsl b/src/main/webapp/static/com/atomgraph/client/xsl/bootstrap/2.3.2/resource.xsl index a843b04f..812c5289 100644 --- a/src/main/webapp/static/com/atomgraph/client/xsl/bootstrap/2.3.2/resource.xsl +++ b/src/main/webapp/static/com/atomgraph/client/xsl/bootstrap/2.3.2/resource.xsl @@ -252,7 +252,7 @@ exclude-result-prefixes="#all"> - + From 062412c6d5e8ed453a949ce681e814498fb21a79 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martynas=20Jusevi=C4=8Dius?= Date: Sat, 15 Feb 2025 09:01:37 +0100 Subject: [PATCH 05/19] Re-enabled TEXT_HTML_TYPE response media type --- pom.xml | 2 +- .../java/com/atomgraph/client/MediaTypes.java | 15 ++++++------- .../client/writer/XSLTWriterBase.java | 22 +++++++++---------- 3 files changed, 19 insertions(+), 20 deletions(-) diff --git a/pom.xml b/pom.xml index 69d4472b..e6c6731a 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ com.atomgraph client - 4.1.1-SNAPSHOT + 4.2.0-SNAPSHOT ${packaging.type} AtomGraph Web-Client diff --git a/src/main/java/com/atomgraph/client/MediaTypes.java b/src/main/java/com/atomgraph/client/MediaTypes.java index 1b0ec131..75bc2353 100644 --- a/src/main/java/com/atomgraph/client/MediaTypes.java +++ b/src/main/java/com/atomgraph/client/MediaTypes.java @@ -40,25 +40,24 @@ public class MediaTypes extends com.atomgraph.core.MediaTypes com.atomgraph.core.MediaTypes coreTypes = new com.atomgraph.core.MediaTypes(); READABLE = coreTypes.getReadable(); - // !!! HTML is disabled because the current XSLT stylesheets are outputting namespace XHTML which should not be served as plain HTML !!! - //MediaType html = new MediaType(MediaType.TEXT_HTML_TYPE.getType(), MediaType.TEXT_HTML_TYPE.getSubtype(), com.atomgraph.core.MediaTypes.UTF8_PARAM); + MediaType html = new MediaType(MediaType.TEXT_HTML_TYPE.getType(), MediaType.TEXT_HTML_TYPE.getSubtype(), com.atomgraph.core.MediaTypes.UTF8_PARAM); MediaType xhtml = new MediaType(MediaType.APPLICATION_XHTML_XML_TYPE.getType(), MediaType.APPLICATION_XHTML_XML_TYPE.getSubtype(), com.atomgraph.core.MediaTypes.UTF8_PARAM); WRITABLE = new HashMap<>(); List writableDatasetTypes = new ArrayList<>(coreTypes.getWritable(Dataset.class)); - //writableDatasetTypes.add(html); // add HTML as writable MediaType - writableDatasetTypes.add(xhtml); // add XHTML as writable MediaType + writableDatasetTypes.add(0, html); // add HTML as writable MediaType + writableDatasetTypes.add(1, xhtml); // add XHTML as writable MediaType WRITABLE.put(Dataset.class, Collections.unmodifiableList(writableDatasetTypes)); List writableModelTypes = new ArrayList<>(coreTypes.getWritable(Model.class)); - //writableModelTypes.add(html); // add HTML as writable MediaType - writableModelTypes.add(xhtml); // add XHTML as writable MediaType + writableModelTypes.add(0, html); // add HTML as writable MediaType + writableModelTypes.add(1, xhtml); // add XHTML as writable MediaType WRITABLE.put(Model.class, Collections.unmodifiableList(writableModelTypes)); List writableResultSetTypes = new ArrayList<>(coreTypes.getWritable(ResultSet.class)); - //writableResultSetTypes.add(html); // add HTML as writable MediaType - writableResultSetTypes.add(xhtml); // add XHTML as writable MediaType + writableResultSetTypes.add(0, html); // add HTML as writable MediaType + writableResultSetTypes.add(1, xhtml); // add XHTML as writable MediaType WRITABLE.put(ResultSet.class, Collections.unmodifiableList(writableResultSetTypes)); } diff --git a/src/main/java/com/atomgraph/client/writer/XSLTWriterBase.java b/src/main/java/com/atomgraph/client/writer/XSLTWriterBase.java index 2c8bfcab..39c914ec 100644 --- a/src/main/java/com/atomgraph/client/writer/XSLTWriterBase.java +++ b/src/main/java/com/atomgraph/client/writer/XSLTWriterBase.java @@ -114,22 +114,22 @@ public void transform(Xslt30Transformer xsltTrans, DataManager dataManager, Byte out.setOutputStream(entityStream); out.setOutputProperty(Serializer.Property.ENCODING, UTF_8.name()); -// if (mediaType.isCompatible(MediaType.TEXT_HTML_TYPE)) -// { -// out.setOutputProperty(Serializer.Property.METHOD, "html"); -// out.setOutputProperty(Serializer.Property.HTML_VERSION, "5.0"); -// out.setOutputProperty(Serializer.Property.MEDIA_TYPE, MediaType.TEXT_HTML); -// out.setOutputProperty(Serializer.Property.DOCTYPE_PUBLIC, ""); -// out.setOutputProperty(Serializer.Property.DOCTYPE_SYSTEM, ""); -// } -// if (mediaType.isCompatible(MediaType.APPLICATION_XHTML_XML_TYPE)) -// { + if (mediaType.isCompatible(MediaType.TEXT_HTML_TYPE)) + { + out.setOutputProperty(Serializer.Property.METHOD, "html"); + out.setOutputProperty(Serializer.Property.HTML_VERSION, "5.0"); + out.setOutputProperty(Serializer.Property.MEDIA_TYPE, MediaType.TEXT_HTML); + out.setOutputProperty(Serializer.Property.DOCTYPE_PUBLIC, ""); + out.setOutputProperty(Serializer.Property.DOCTYPE_SYSTEM, ""); + } + if (mediaType.isCompatible(MediaType.APPLICATION_XHTML_XML_TYPE)) + { out.setOutputProperty(Serializer.Property.METHOD, "xhtml"); out.setOutputProperty(Serializer.Property.HTML_VERSION, "5.0"); out.setOutputProperty(Serializer.Property.MEDIA_TYPE, MediaType.APPLICATION_XHTML_XML); out.setOutputProperty(Serializer.Property.DOCTYPE_PUBLIC, ""); out.setOutputProperty(Serializer.Property.DOCTYPE_SYSTEM, ""); -// } + } xsltTrans.setResourceResolver(new ResourceResolverWrappingURIResolver((URIResolver)dataManager)); xsltTrans.getUnderlyingController().setUnparsedTextURIResolver((UnparsedTextURIResolver)dataManager); From 3eed959ef702d412721bdd7c29bda5314c9e92da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martynas=20Jusevi=C4=8Dius?= Date: Wed, 19 Feb 2025 23:14:49 +0100 Subject: [PATCH 06/19] Passing HTMLMediaTypePredicate to response SNAPSHOT bump --- pom.xml | 4 +- .../client/mapper/ExceptionMapperBase.java | 6 ++- .../client/model/impl/ProxyResourceBase.java | 19 ++++---- .../client/util/HTMLMediaTypePredicate.java | 43 +++++++++++++++++++ 4 files changed, 58 insertions(+), 14 deletions(-) create mode 100644 src/main/java/com/atomgraph/client/util/HTMLMediaTypePredicate.java diff --git a/pom.xml b/pom.xml index e6c6731a..73ec857b 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ com.atomgraph client - 4.2.0-SNAPSHOT + 4.2.1-SNAPSHOT ${packaging.type} AtomGraph Web-Client @@ -112,7 +112,7 @@ ${project.groupId} core - 4.0.8-SNAPSHOT + 4.0.9-SNAPSHOT + + + + + + From c945afb5f8473f93a8e2edc6c39101dfab2c68b7 Mon Sep 17 00:00:00 2001 From: Martynas Date: Sun, 27 Apr 2025 20:45:06 +0200 Subject: [PATCH 09/19] Core bump --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 82bf8d3e..55941ed0 100644 --- a/pom.xml +++ b/pom.xml @@ -112,7 +112,7 @@ ${project.groupId} core - 4.0.10-SNAPSHOT + 4.0.10