From b8732e1bcaee01bf37036e7683f1114b1033e521 Mon Sep 17 00:00:00 2001 From: Aaron Coburn Date: Wed, 15 May 2024 13:09:16 -0500 Subject: [PATCH 1/2] Remove deprecations and warnings --- .../com/inrupt/client/auth/Authenticator.java | 1 - .../client/auth/ReactiveAuthorization.java | 2 +- .../client/spi/ClientProviderResolver.java | 2 +- .../com/inrupt/client/spi/RDFFactory.java | 2 +- examples/spring-web/pom.xml | 9 +++++++++ .../web/controller/SolidController.java | 4 ++-- .../{Resource.java => SolidResource.java} | 4 ++-- .../src/main/resources/application.yml | 2 ++ .../spring/web/WebApplicationTests.java | 4 +++- .../ApplicationStartController.java | 3 +-- .../examples/springboot/model/Book.java | 6 +++--- .../springboot/model/BookLibrary.java | 6 +++--- .../service/BookLibraryService.java | 20 +++++++++---------- .../base/AccessGrantScenarios.java | 2 +- .../base/SolidServerTransformer.java | 12 +++++------ .../client/integration/base/Playlist.java | 6 +++--- .../client/integration/base/ServerTest.java | 5 ----- .../openid/OpenIdAuthenticationProvider.java | 5 +++++ .../inrupt/client/openid/OpenIdProvider.java | 6 ++++-- .../inrupt/client/openid/OpenIdSession.java | 2 +- .../inrupt/client/openid/TokenRequest.java | 3 ++- .../com/inrupt/client/solid/Metadata.java | 12 +++++------ .../client/solid/SolidResourceHandlers.java | 18 ++++++++--------- .../client/uma/UmaAuthenticationProvider.java | 5 +++++ 24 files changed, 78 insertions(+), 63 deletions(-) rename examples/spring-web/src/main/java/com/inrupt/client/examples/spring/web/model/{Resource.java => SolidResource.java} (94%) diff --git a/api/src/main/java/com/inrupt/client/auth/Authenticator.java b/api/src/main/java/com/inrupt/client/auth/Authenticator.java index 5554a25e761..596f1bf0217 100644 --- a/api/src/main/java/com/inrupt/client/auth/Authenticator.java +++ b/api/src/main/java/com/inrupt/client/auth/Authenticator.java @@ -53,5 +53,4 @@ public interface Authenticator { * @return the next stage of completion, containing the access token */ CompletionStage authenticate(Session session, Request request, Set algorithms); - } diff --git a/api/src/main/java/com/inrupt/client/auth/ReactiveAuthorization.java b/api/src/main/java/com/inrupt/client/auth/ReactiveAuthorization.java index adb74908e41..40b91afd00e 100644 --- a/api/src/main/java/com/inrupt/client/auth/ReactiveAuthorization.java +++ b/api/src/main/java/com/inrupt/client/auth/ReactiveAuthorization.java @@ -119,7 +119,7 @@ public CompletionStage> negotiate(final Session session, fi // Use the first authenticator, sorted by priority authenticators.sort(comparator); final Authenticator auth = authenticators.get(0); - LOGGER.debug("Using {} authenticator", auth.getName()); + LOGGER.debug("Using {} authenticator", auth); return session.authenticate(auth, request, algorithms); } return CompletableFuture.completedFuture(Optional.empty()); diff --git a/api/src/main/java/com/inrupt/client/spi/ClientProviderResolver.java b/api/src/main/java/com/inrupt/client/spi/ClientProviderResolver.java index 646e26d332b..00df72c255d 100644 --- a/api/src/main/java/com/inrupt/client/spi/ClientProviderResolver.java +++ b/api/src/main/java/com/inrupt/client/spi/ClientProviderResolver.java @@ -30,7 +30,7 @@ */ public abstract class ClientProviderResolver { - private static ClientProviderResolver instance = null; + private static ClientProviderResolver instance; /** * Get the {@link Client} for this application. diff --git a/api/src/main/java/com/inrupt/client/spi/RDFFactory.java b/api/src/main/java/com/inrupt/client/spi/RDFFactory.java index ac8dbac9e54..0717a3548e2 100644 --- a/api/src/main/java/com/inrupt/client/spi/RDFFactory.java +++ b/api/src/main/java/com/inrupt/client/spi/RDFFactory.java @@ -30,7 +30,7 @@ */ public final class RDFFactory { - private static RDF instance = null; + private static RDF instance; /** * Find and return the RDF instance. diff --git a/examples/spring-web/pom.xml b/examples/spring-web/pom.xml index bd50744315e..d6aaf918502 100644 --- a/examples/spring-web/pom.xml +++ b/examples/spring-web/pom.xml @@ -98,6 +98,15 @@ + + org.apache.maven.plugins + maven-surefire-plugin + + + WARN + + + org.springframework.boot diff --git a/examples/spring-web/src/main/java/com/inrupt/client/examples/spring/web/controller/SolidController.java b/examples/spring-web/src/main/java/com/inrupt/client/examples/spring/web/controller/SolidController.java index 84c7045ee32..4dd6d6b86c8 100644 --- a/examples/spring-web/src/main/java/com/inrupt/client/examples/spring/web/controller/SolidController.java +++ b/examples/spring-web/src/main/java/com/inrupt/client/examples/spring/web/controller/SolidController.java @@ -57,11 +57,11 @@ public class SolidController { HttpSession httpSession; @GetMapping(value = "/resource", produces = "text/turtle") - public Resource getResource(final @AuthenticationPrincipal OAuth2User user, final @RequestParam URI uri) { + public SolidResource getResource(final @AuthenticationPrincipal OAuth2User user, final @RequestParam URI uri) { final var session = SessionUtils.asSession(user) .orElseThrow(() -> new OAuth2AuthenticationException(INVALID_TOKEN)); try (final var resource = client.session(session).read(uri, SolidRDFSource.class)) { - return new Resource(resource); + return new SolidResource(resource); } } diff --git a/examples/spring-web/src/main/java/com/inrupt/client/examples/spring/web/model/Resource.java b/examples/spring-web/src/main/java/com/inrupt/client/examples/spring/web/model/SolidResource.java similarity index 94% rename from examples/spring-web/src/main/java/com/inrupt/client/examples/spring/web/model/Resource.java rename to examples/spring-web/src/main/java/com/inrupt/client/examples/spring/web/model/SolidResource.java index 1b57d3cfbdb..a87cf990a4a 100644 --- a/examples/spring-web/src/main/java/com/inrupt/client/examples/spring/web/model/Resource.java +++ b/examples/spring-web/src/main/java/com/inrupt/client/examples/spring/web/model/SolidResource.java @@ -29,12 +29,12 @@ import org.springframework.http.HttpHeaders; import org.springframework.http.MediaType; -public class Resource extends HttpEntity { +public class SolidResource extends HttpEntity { private final HttpHeaders headers = new HttpHeaders(); private final RDFSource resource; - public Resource(final RDFSource resource) { + public SolidResource(final RDFSource resource) { this.resource = resource; this.headers.setContentType(MediaType.valueOf(resource.getContentType())); } diff --git a/examples/spring-web/src/main/resources/application.yml b/examples/spring-web/src/main/resources/application.yml index d78576bb2c0..4b9a5634f84 100644 --- a/examples/spring-web/src/main/resources/application.yml +++ b/examples/spring-web/src/main/resources/application.yml @@ -2,6 +2,8 @@ logging: level: root: info spring: + main: + banner-mode: "off" security: oauth2: client: diff --git a/examples/spring-web/src/test/java/com/inrupt/client/examples/spring/web/WebApplicationTests.java b/examples/spring-web/src/test/java/com/inrupt/client/examples/spring/web/WebApplicationTests.java index d899d00fce7..9a333d7e126 100644 --- a/examples/spring-web/src/test/java/com/inrupt/client/examples/spring/web/WebApplicationTests.java +++ b/examples/spring-web/src/test/java/com/inrupt/client/examples/spring/web/WebApplicationTests.java @@ -47,7 +47,9 @@ import org.springframework.security.oauth2.core.oidc.OidcIdToken; import org.springframework.security.oauth2.core.oidc.user.DefaultOidcUser; -@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) +@SpringBootTest( + webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, + classes = { WebApplication.class }) class WebApplicationTests { static final MockWebServer mockServer = new MockWebServer(); diff --git a/examples/springboot/src/main/java/com/inrupt/client/examples/springboot/ApplicationStartController.java b/examples/springboot/src/main/java/com/inrupt/client/examples/springboot/ApplicationStartController.java index b8b400ecfa6..c728ea8a048 100644 --- a/examples/springboot/src/main/java/com/inrupt/client/examples/springboot/ApplicationStartController.java +++ b/examples/springboot/src/main/java/com/inrupt/client/examples/springboot/ApplicationStartController.java @@ -52,7 +52,6 @@ public class ApplicationStartController { private String userName; - @GetMapping("/") public String index() { this.userName = null; @@ -135,4 +134,4 @@ private void setUsernameFrontendState(final Model model) { model.addAttribute(FRONTEND_USERNAME, this.userName); } -} \ No newline at end of file +} diff --git a/examples/springboot/src/main/java/com/inrupt/client/examples/springboot/model/Book.java b/examples/springboot/src/main/java/com/inrupt/client/examples/springboot/model/Book.java index c4e9cc93730..bceb0740dfb 100644 --- a/examples/springboot/src/main/java/com/inrupt/client/examples/springboot/model/Book.java +++ b/examples/springboot/src/main/java/com/inrupt/client/examples/springboot/model/Book.java @@ -20,7 +20,7 @@ */ package com.inrupt.client.examples.springboot.model; -import com.inrupt.client.solid.Metadata; +import com.inrupt.client.Headers; import com.inrupt.client.solid.SolidRDFSource; import com.inrupt.rdf.wrapping.commons.TermMappings; import com.inrupt.rdf.wrapping.commons.ValueMappings; @@ -40,8 +40,8 @@ public class Book extends SolidRDFSource { private final IRI author = rdf.createIRI(Vocabulary.BOOK_AUTHOR); private final IRI description = rdf.createIRI(Vocabulary.BOOK_DESCRIPTION); - public Book(final URI identifier, final Dataset dataset, final Metadata metadata) { - super(identifier, dataset, metadata); + public Book(final URI identifier, final Dataset dataset, final Headers headers) { + super(identifier, dataset, headers); this.bookId = new Node(rdf.createIRI(identifier.toString()), getGraph()); } diff --git a/examples/springboot/src/main/java/com/inrupt/client/examples/springboot/model/BookLibrary.java b/examples/springboot/src/main/java/com/inrupt/client/examples/springboot/model/BookLibrary.java index 518d9f79283..2bbd52296a7 100644 --- a/examples/springboot/src/main/java/com/inrupt/client/examples/springboot/model/BookLibrary.java +++ b/examples/springboot/src/main/java/com/inrupt/client/examples/springboot/model/BookLibrary.java @@ -20,7 +20,7 @@ */ package com.inrupt.client.examples.springboot.model; -import com.inrupt.client.solid.Metadata; +import com.inrupt.client.Headers; import com.inrupt.client.solid.SolidRDFSource; import com.inrupt.rdf.wrapping.commons.TermMappings; import com.inrupt.rdf.wrapping.commons.ValueMappings; @@ -39,8 +39,8 @@ public class BookLibrary extends SolidRDFSource { private Node bookLibraryId; private final IRI contains = rdf.createIRI(Vocabulary.CONTAINS_BOOK); - public BookLibrary(final URI identifier, final Dataset dataset, final Metadata metadata) { - super(identifier, dataset, metadata); + public BookLibrary(final URI identifier, final Dataset dataset, final Headers headers) { + super(identifier, dataset, headers); this.bookLibraryId = new Node(rdf.createIRI(identifier.toString()), getGraph()); } diff --git a/examples/springboot/src/main/java/com/inrupt/client/examples/springboot/service/BookLibraryService.java b/examples/springboot/src/main/java/com/inrupt/client/examples/springboot/service/BookLibraryService.java index 775c4bb4981..5c277a9615c 100644 --- a/examples/springboot/src/main/java/com/inrupt/client/examples/springboot/service/BookLibraryService.java +++ b/examples/springboot/src/main/java/com/inrupt/client/examples/springboot/service/BookLibraryService.java @@ -48,6 +48,7 @@ public class BookLibraryService implements IBookLibraryService { private BookLibrary bookLib; private String uriOfBookLibraryResource; + @Override public void loadBookLibrary(final String bookLibResource) { client = getClient(); @@ -60,25 +61,20 @@ public void loadBookLibrary(final String bookLibResource) { this.bookLib = client.read(bookLibraryId, BookLibrary.class); } catch (SolidClientException exception) { if (authenticationFail(exception.getStatusCode())) { - throw new AuthenticationException("You are not authenticated! Try logging in."); + throw new AuthenticationException("You are not authenticated! Try logging in.", exception); } if (authorizationFail(exception.getStatusCode())) { - throw new AuthorizationException("You do not have the corresponding access rights."); + throw new AuthorizationException("You do not have the corresponding access rights.", exception); } } } + @Override public void clearBookLibrary() { this.bookLib = null; } - public Set getAllBookURIs() { - if (this.bookLib == null) { - throw new AuthorizationException("Not allowed."); - } - return this.bookLib.getAllBooks(); - } - + @Override public Set getAllBook() { if (this.bookLib == null) { throw new AuthorizationException("Not allowed."); @@ -91,6 +87,7 @@ public Set getAllBook() { return allBooks; } + @Override public Set getBookForTitle(final String bookTitle) { if (this.bookLib == null) { throw new AuthorizationException("Not allowed."); @@ -109,6 +106,7 @@ public Set getBookForTitle(final String bookTitle) { return foundBooks; } + @Override public Set getBookForAuthor(final String bookAuthor) { if (this.bookLib == null) { throw new AuthorizationException("Not allowed."); @@ -127,6 +125,7 @@ public Set getBookForAuthor(final String bookAuthor) { return foundBooks; } + @Override public String getBookLibraryUri() { return this.uriOfBookLibraryResource; } @@ -138,7 +137,7 @@ private SolidSyncClient getClient() { try { defaultClient = defaultClient.session(OpenIdSession.ofIdToken(userService.getCurrentUser().getToken())); } catch (OpenIdException exception) { - throw new AuthorizationException("Token expired, please log out and re-login."); + throw new AuthorizationException("Token expired, please log out and re-login.", exception); } } @@ -152,5 +151,4 @@ private boolean authenticationFail(final int statusCode) { private boolean authorizationFail(final int statusCode) { return statusCode == 403; } - } diff --git a/integration/base/src/main/java/com/inrupt/client/integration/base/AccessGrantScenarios.java b/integration/base/src/main/java/com/inrupt/client/integration/base/AccessGrantScenarios.java index d694312e8e6..6ce2ec467e9 100644 --- a/integration/base/src/main/java/com/inrupt/client/integration/base/AccessGrantScenarios.java +++ b/integration/base/src/main/java/com/inrupt/client/integration/base/AccessGrantScenarios.java @@ -696,7 +696,7 @@ void accessGrantSetNonRdfTest(final Session resourceOwnerSession, final Session try (final InputStream newis = new ByteArrayInputStream( StandardCharsets.UTF_8.encode("Test text").array())) { final SolidNonRDFSource testResource = - new SolidNonRDFSource(newTestFileURI, Utils.PLAIN_TEXT, newis, resource.getMetadata()); + new SolidNonRDFSource(newTestFileURI, Utils.PLAIN_TEXT, newis, resource.getHeaders()); assertDoesNotThrow(() -> requesterAuthClient.update(testResource)); } } diff --git a/integration/base/src/main/java/com/inrupt/client/integration/base/SolidServerTransformer.java b/integration/base/src/main/java/com/inrupt/client/integration/base/SolidServerTransformer.java index 8cb2ce4a1a2..b02a9504088 100644 --- a/integration/base/src/main/java/com/inrupt/client/integration/base/SolidServerTransformer.java +++ b/integration/base/src/main/java/com/inrupt/client/integration/base/SolidServerTransformer.java @@ -21,12 +21,10 @@ package com.inrupt.client.integration.base; import com.github.tomakehurst.wiremock.client.ResponseDefinitionBuilder; -import com.github.tomakehurst.wiremock.common.FileSource; -import com.github.tomakehurst.wiremock.extension.Parameters; -import com.github.tomakehurst.wiremock.extension.ResponseDefinitionTransformer; -import com.github.tomakehurst.wiremock.http.Request; +import com.github.tomakehurst.wiremock.extension.ResponseDefinitionTransformerV2; import com.github.tomakehurst.wiremock.http.RequestMethod; import com.github.tomakehurst.wiremock.http.ResponseDefinition; +import com.github.tomakehurst.wiremock.stubbing.ServeEvent; import com.inrupt.client.Headers; import com.inrupt.client.integration.base.MockSolidServer.ServerBody; import com.inrupt.client.vocabulary.PIM; @@ -37,7 +35,7 @@ import java.util.Map; import java.util.UUID; -class SolidServerTransformer extends ResponseDefinitionTransformer { +class SolidServerTransformer implements ResponseDefinitionTransformerV2 { private static final String SLASH = "/"; @@ -55,10 +53,10 @@ public String getName() { } @Override - public ResponseDefinition transform(final Request request, final ResponseDefinition responseDefinition, - final FileSource files, final Parameters parameters) { + public ResponseDefinition transform(final ServeEvent event) { final var res = new ResponseDefinitionBuilder(); + final var request = event.getRequest(); //determine if authenticated on private resources if (Utils.isPrivateResource(request.getUrl()) && diff --git a/integration/base/src/test/java/com/inrupt/client/integration/base/Playlist.java b/integration/base/src/test/java/com/inrupt/client/integration/base/Playlist.java index f30435141b4..f3b743dbb62 100644 --- a/integration/base/src/test/java/com/inrupt/client/integration/base/Playlist.java +++ b/integration/base/src/test/java/com/inrupt/client/integration/base/Playlist.java @@ -20,7 +20,7 @@ */ package com.inrupt.client.integration.base; -import com.inrupt.client.solid.Metadata; +import com.inrupt.client.Headers; import com.inrupt.client.solid.SolidRDFSource; import com.inrupt.rdf.wrapping.commons.TermMappings; import com.inrupt.rdf.wrapping.commons.ValueMappings; @@ -40,8 +40,8 @@ class Playlist extends SolidRDFSource { private final IRI exSong; private final Node subject; - Playlist(final URI identifier, final Dataset dataset, final Metadata metadata) { - super(identifier, dataset, metadata); + Playlist(final URI identifier, final Dataset dataset, final Headers headers) { + super(identifier, dataset, headers); this.subject = new Node(rdf.createIRI(identifier.toString()), getGraph()); this.dcTitle = rdf.createIRI("http://purl.org/dc/terms/title"); diff --git a/integration/base/src/test/java/com/inrupt/client/integration/base/ServerTest.java b/integration/base/src/test/java/com/inrupt/client/integration/base/ServerTest.java index 56f5180bdd2..6a4550bb716 100644 --- a/integration/base/src/test/java/com/inrupt/client/integration/base/ServerTest.java +++ b/integration/base/src/test/java/com/inrupt/client/integration/base/ServerTest.java @@ -68,19 +68,15 @@ class ServerTest { @BeforeAll static void setup() { - System.out.println("UMA"); authServer = new MockUMAAuthorizationServer(); authServer.start(); - System.out.println("Storage"); mockHttpServer = new MockSolidServer(authServer.getMockServerUrl()); mockHttpServer.start(); - System.out.println("OpenID"); identityProviderServer = new MockOpenIDProvider(MOCK_USERNAME); identityProviderServer.start(); - System.out.println("WebID"); webIdService = new MockWebIdService( mockHttpServer.getMockServerUrl(), identityProviderServer.getMockServerUrl(), @@ -97,7 +93,6 @@ static void setup() { issuer = profile.getOidcIssuers().iterator().next().toString(); podUrl = profile.getStorages().iterator().next().toString(); } - System.out.println("Set up"); } @AfterAll diff --git a/openid/src/main/java/com/inrupt/client/openid/OpenIdAuthenticationProvider.java b/openid/src/main/java/com/inrupt/client/openid/OpenIdAuthenticationProvider.java index 21af14ef9ca..a94e4d35d50 100644 --- a/openid/src/main/java/com/inrupt/client/openid/OpenIdAuthenticationProvider.java +++ b/openid/src/main/java/com/inrupt/client/openid/OpenIdAuthenticationProvider.java @@ -108,6 +108,11 @@ public CompletionStage authenticate(final Session session, final Req return CompletableFuture.completedFuture(session .getCredential(OpenIdSession.ID_TOKEN, request.uri()).orElse(null)); } + + @Override + public String toString() { + return getName(); + } } } diff --git a/openid/src/main/java/com/inrupt/client/openid/OpenIdProvider.java b/openid/src/main/java/com/inrupt/client/openid/OpenIdProvider.java index 1ddb72e3a96..be44192938a 100644 --- a/openid/src/main/java/com/inrupt/client/openid/OpenIdProvider.java +++ b/openid/src/main/java/com/inrupt/client/openid/OpenIdProvider.java @@ -54,6 +54,8 @@ */ public class OpenIdProvider { + private static final String CLIENT_SECRET_BASIC = "client_secret_basic"; + private static final String CLIENT_SECRET_POST = "client_secret_post"; private static final String CLIENT_ID = "client_id"; private static final String REDIRECT_URI = "redirect_uri"; private static final String EQUALS = "="; @@ -239,10 +241,10 @@ private Request tokenRequest(final Metadata metadata, final TokenRequest request final Optional authHeader; if (request.getClientSecret() != null) { - if ("client_secret_basic".equals(request.getAuthMethod())) { + if (CLIENT_SECRET_BASIC.equals(request.getAuthMethod())) { authHeader = getBasicAuthHeader(request.getClientId(), request.getClientSecret()); } else { - if ("client_secret_post".equals(request.getAuthMethod())) { + if (CLIENT_SECRET_POST.equals(request.getAuthMethod())) { data.put(CLIENT_ID, request.getClientId()); data.put("client_secret", request.getClientSecret()); } diff --git a/openid/src/main/java/com/inrupt/client/openid/OpenIdSession.java b/openid/src/main/java/com/inrupt/client/openid/OpenIdSession.java index 549ce6d1e9f..15609da0397 100644 --- a/openid/src/main/java/com/inrupt/client/openid/OpenIdSession.java +++ b/openid/src/main/java/com/inrupt/client/openid/OpenIdSession.java @@ -292,7 +292,7 @@ static String getSessionIdentifier(final JwtClaims claims) { static String sha256(final String value) { final MessageDigest md = DigestUtils.getDigest("SHA-256"); - return new String(Hex.encodeHex(md.digest(value.getBytes(UTF_8)))); + return String.valueOf(Hex.encodeHex(md.digest(value.getBytes(UTF_8)))); } static Instant getExpiration(final JwtClaims claims) { diff --git a/openid/src/main/java/com/inrupt/client/openid/TokenRequest.java b/openid/src/main/java/com/inrupt/client/openid/TokenRequest.java index 2c45cb1440b..ecbaf03b23b 100644 --- a/openid/src/main/java/com/inrupt/client/openid/TokenRequest.java +++ b/openid/src/main/java/com/inrupt/client/openid/TokenRequest.java @@ -152,6 +152,7 @@ public static Builder newBuilder() { public static class Builder { private static final String CLIENT_CREDENTIALS = "client_credentials"; + private static final String AUTHORIZATION_CODE = "authorization_code"; private String builderClientSecret; private String builderAuthMethod; @@ -250,7 +251,7 @@ public TokenRequest build(final String grantType, final String clientId) { Objects.requireNonNull(clientId, "Client ID may not be null!"); final String grant = Objects.requireNonNull(grantType, "Grant type may not be null!"); - if ("authorization_code".equals(grantType)) { + if (AUTHORIZATION_CODE.equals(grantType)) { if (builderCode == null) { throw new IllegalArgumentException( "Missing code parameter for authorization_code grant type"); diff --git a/solid/src/main/java/com/inrupt/client/solid/Metadata.java b/solid/src/main/java/com/inrupt/client/solid/Metadata.java index c311745db57..9da65e820b7 100644 --- a/solid/src/main/java/com/inrupt/client/solid/Metadata.java +++ b/solid/src/main/java/com/inrupt/client/solid/Metadata.java @@ -40,13 +40,13 @@ public class Metadata { private final URI acl; private final URI storage; - private final Set types = new HashSet<>(); - private final Map> wacAllow = new HashMap<>(); - private final Set allowedMethods = new HashSet<>(); - private final Set allowedPatchSyntaxes = new HashSet<>(); - private final Set allowedPostSyntaxes = new HashSet<>(); - private final Set allowedPutSyntaxes = new HashSet<>(); private final String contentType; + final Set types = new HashSet<>(); + final Map> wacAllow = new HashMap<>(); + final Set allowedMethods = new HashSet<>(); + final Set allowedPatchSyntaxes = new HashSet<>(); + final Set allowedPostSyntaxes = new HashSet<>(); + final Set allowedPutSyntaxes = new HashSet<>(); /** * The Solid Storage location. diff --git a/solid/src/main/java/com/inrupt/client/solid/SolidResourceHandlers.java b/solid/src/main/java/com/inrupt/client/solid/SolidResourceHandlers.java index 5b7ea7acf14..3efa0fdd010 100644 --- a/solid/src/main/java/com/inrupt/client/solid/SolidResourceHandlers.java +++ b/solid/src/main/java/com/inrupt/client/solid/SolidResourceHandlers.java @@ -20,6 +20,7 @@ */ package com.inrupt.client.solid; +import com.inrupt.client.Headers; import com.inrupt.client.Response; import com.inrupt.client.spi.RdfService; import com.inrupt.client.spi.ServiceProvider; @@ -47,13 +48,13 @@ public final class SolidResourceHandlers { */ public static Response.BodyHandler ofSolidRDFSource() { return responseInfo -> { - final Metadata metadata = Metadata.of(responseInfo.uri(), responseInfo.headers()); + final Headers headers = responseInfo.headers(); - return responseInfo.headers().firstValue(CONTENT_TYPE) + return headers.firstValue(CONTENT_TYPE) .flatMap(contentType -> buildDataset(contentType, responseInfo.body().array(), responseInfo.uri().toString())) - .map(dataset -> new SolidRDFSource(responseInfo.uri(), dataset, metadata)) - .orElseGet(() -> new SolidRDFSource(responseInfo.uri(), null, metadata)); + .map(dataset -> new SolidRDFSource(responseInfo.uri(), dataset, headers)) + .orElseGet(() -> new SolidRDFSource(responseInfo.uri(), null, headers)); }; } @@ -64,13 +65,12 @@ public static Response.BodyHandler ofSolidRDFSource() { */ public static Response.BodyHandler ofSolidContainer() { return responseInfo -> { - final Metadata metadata = Metadata.of(responseInfo.uri(), responseInfo.headers()); - - return responseInfo.headers().firstValue(CONTENT_TYPE) + final Headers headers = responseInfo.headers(); + return headers.firstValue(CONTENT_TYPE) .flatMap(contentType -> buildDataset(contentType, responseInfo.body().array(), responseInfo.uri().toString())) - .map(dataset -> new SolidContainer(responseInfo.uri(), dataset, metadata)) - .orElseGet(() -> new SolidContainer(responseInfo.uri(), null, metadata)); + .map(dataset -> new SolidContainer(responseInfo.uri(), dataset, headers)) + .orElseGet(() -> new SolidContainer(responseInfo.uri(), null, headers)); }; } diff --git a/uma/src/main/java/com/inrupt/client/uma/UmaAuthenticationProvider.java b/uma/src/main/java/com/inrupt/client/uma/UmaAuthenticationProvider.java index 9f9fa1f8fc4..73a7bd3e534 100644 --- a/uma/src/main/java/com/inrupt/client/uma/UmaAuthenticationProvider.java +++ b/uma/src/main/java/com/inrupt/client/uma/UmaAuthenticationProvider.java @@ -207,6 +207,11 @@ public CompletionStage authenticate(final Session session, final Req return CompletableFuture.completedFuture(null); }); } + + @Override + public String toString() { + return getName(); + } } static boolean supportsProfile(final Metadata metadata, final URI profile) { From a352a70275c37b6030cfa65b4242872442b60b91 Mon Sep 17 00:00:00 2001 From: Aaron Coburn Date: Wed, 15 May 2024 13:30:30 -0500 Subject: [PATCH 2/2] Simplify annotation --- .../inrupt/client/examples/spring/web/WebApplicationTests.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/spring-web/src/test/java/com/inrupt/client/examples/spring/web/WebApplicationTests.java b/examples/spring-web/src/test/java/com/inrupt/client/examples/spring/web/WebApplicationTests.java index 9a333d7e126..5122e166ddd 100644 --- a/examples/spring-web/src/test/java/com/inrupt/client/examples/spring/web/WebApplicationTests.java +++ b/examples/spring-web/src/test/java/com/inrupt/client/examples/spring/web/WebApplicationTests.java @@ -49,7 +49,7 @@ @SpringBootTest( webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, - classes = { WebApplication.class }) + classes = WebApplication.class) class WebApplicationTests { static final MockWebServer mockServer = new MockWebServer();