TopQuadrant / shacl

SHACL API in Java based on Apache Jena
Apache License 2.0
215 stars 61 forks source link

Updated topbraid SHACL library to remove deprecated Apache Jena calls… #128

Closed beaudet closed 2 years ago

beaudet commented 2 years ago

… and updated version of Jena to 4.3.1

The built in junit tests all pass although I'm not sure there's 100% coverage over all calls, particularly HTTP related SPARQL queries where there were more changes in the underlying Jena APIs and swap of Apache HttpClient for java.net.http.HttpClient

HolgerKnublauch commented 2 years ago

Thanks a lot, I have merged it in, bumping up yet another Jena version that has since been released.

I needed to restore the line import java.util.Map.Entry; in SHACLFunctionsCache though, as it otherwise would not compile for me. I am using AdoptOpenJDK 11. What caused you to change this in your version?

beaudet commented 2 years ago

I'm using openjdk 16 so could be due to that? I'll have to look and report back.

beaudet commented 2 years ago

I looked at SHACLFunctionsCache.java and it's interesting. There's a warning about Entry not being visible and also about the @Override not being an override, yet none of those warnings / errors appear in Problems in eclipse and the mvn build / test works fine. I agree the import is needed though as there's another static class named Entry declared in LinkedHashMap that's apparently being used at compile time when the import isn't present. That class ultimately implements the java.util.Map.Entry interface itself so I suspect it's functionally equivalent to having the import but I totally agree that the import should be in place.

beaudet commented 2 years ago

Thanks for pointing this out, I'll fix and submit another pull request.

HolgerKnublauch commented 2 years ago

Yeah good catch, Brian. I missed that too.