Loading pom.xml +15 −7 Original line number Diff line number Diff line Loading @@ -2,7 +2,7 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.inteligr8</groupId> <groupId>com.inteligr8.alfresco</groupId> <artifactId>activiti-java-enterprise-api</artifactId> <version>1.0-v1-SNAPSHOT</version> <name>Alfresco Process Services ReST API Client for Java</name> Loading @@ -19,6 +19,7 @@ <spring.version>5.2.14.RELEASE</spring.version> <spring-boot.version>2.3.10.RELEASE</spring-boot.version> <jersey.version>2.34</jersey.version> <cxf.version>3.3.2</cxf.version> </properties> <dependencies> Loading @@ -26,27 +27,34 @@ <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>${spring.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.12.2</version> </dependency> <dependency> <groupId>jakarta.ws.rs</groupId> <artifactId>jakarta.ws.rs-api</artifactId> <version>2.1.6</version> </dependency> <dependency> <groupId>org.glassfish.jersey.core</groupId> <artifactId>jersey-client</artifactId> <version>${jersey.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.glassfish.jersey.inject</groupId> <artifactId>jersey-hk2</artifactId> <version>${jersey.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.glassfish.jersey.media</groupId> <artifactId>jersey-media-json-jackson</artifactId> <version>${jersey.version}</version> </dependency> <dependency> <groupId>org.glassfish.jersey.security</groupId> <artifactId>oauth2-client</artifactId> <version>${jersey.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.junit.jupiter</groupId> Loading src/main/java/com/inteligr8/alfresco/activiti/AccessTokenRequestFilter.java 0 → 100644 +20 −0 Original line number Diff line number Diff line package com.inteligr8.alfresco.activiti; import javax.ws.rs.client.ClientRequestContext; import javax.ws.rs.client.ClientRequestFilter; import javax.ws.rs.core.HttpHeaders; public class AccessTokenRequestFilter implements ClientRequestFilter { private final String token; public AccessTokenRequestFilter(String token) { this.token = token; } @Override public void filter(ClientRequestContext requestContext) { requestContext.getHeaders().add(HttpHeaders.AUTHORIZATION, "Bearer " + this.token); } } src/main/java/com/inteligr8/alfresco/activiti/ApsClient.java +1 −5 Original line number Diff line number Diff line package com.inteligr8.alfresco.activiti; import javax.ws.rs.client.ClientBuilder; import javax.ws.rs.core.Feature; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; Loading Loading @@ -29,10 +28,7 @@ public class ApsClient { javax.ws.rs.client.Client client = ClientBuilder .newClient(); Feature feature = this.config.getAuthorizationFeature(); if (feature != null) client.register(feature); this.config.authorize(client); return new EnterpriseAPI(this.config.getBaseUrl() + "/api", client); } Loading src/main/java/com/inteligr8/alfresco/activiti/ApsClientConfiguration.java +4 −8 Original line number Diff line number Diff line package com.inteligr8.alfresco.activiti; import javax.ws.rs.core.Feature; import javax.ws.rs.client.Client; import org.glassfish.jersey.client.authentication.HttpAuthenticationFeature; import org.glassfish.jersey.client.oauth2.OAuth2ClientSupport; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; Loading @@ -28,14 +26,12 @@ public class ApsClientConfiguration { return this.baseUrl; } public Feature getAuthorizationFeature() { public void authorize(Client client) { if (this.basicAuthUsername != null) { return HttpAuthenticationFeature.basic(this.basicAuthUsername, this.basicAuthPassword); client.register(new BasicAuthRequestFilter(this.basicAuthUsername, this.basicAuthPassword)); } else if (this.accessToken != null) { return OAuth2ClientSupport.feature(this.accessToken); client.register(new AccessTokenRequestFilter(this.accessToken)); } return null; } } src/main/java/com/inteligr8/alfresco/activiti/BasicAuthRequestFilter.java 0 → 100644 +28 −0 Original line number Diff line number Diff line package com.inteligr8.alfresco.activiti; import java.io.UnsupportedEncodingException; import java.util.Base64; import javax.ws.rs.client.ClientRequestContext; import javax.ws.rs.client.ClientRequestFilter; import javax.ws.rs.core.HttpHeaders; public class BasicAuthRequestFilter implements ClientRequestFilter { private final String username; private final String password; public BasicAuthRequestFilter(String username, String password) { this.username = username; this.password = password; } @Override public void filter(ClientRequestContext requestContext) throws UnsupportedEncodingException { String userAndPass = this.username + ":" + this.password; String userAndPassEncoded = Base64.getEncoder().encodeToString(userAndPass.getBytes("utf-8")); requestContext.getHeaders().add(HttpHeaders.AUTHORIZATION, "Basic " + userAndPassEncoded); } } Loading
pom.xml +15 −7 Original line number Diff line number Diff line Loading @@ -2,7 +2,7 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.inteligr8</groupId> <groupId>com.inteligr8.alfresco</groupId> <artifactId>activiti-java-enterprise-api</artifactId> <version>1.0-v1-SNAPSHOT</version> <name>Alfresco Process Services ReST API Client for Java</name> Loading @@ -19,6 +19,7 @@ <spring.version>5.2.14.RELEASE</spring.version> <spring-boot.version>2.3.10.RELEASE</spring-boot.version> <jersey.version>2.34</jersey.version> <cxf.version>3.3.2</cxf.version> </properties> <dependencies> Loading @@ -26,27 +27,34 @@ <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>${spring.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.12.2</version> </dependency> <dependency> <groupId>jakarta.ws.rs</groupId> <artifactId>jakarta.ws.rs-api</artifactId> <version>2.1.6</version> </dependency> <dependency> <groupId>org.glassfish.jersey.core</groupId> <artifactId>jersey-client</artifactId> <version>${jersey.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.glassfish.jersey.inject</groupId> <artifactId>jersey-hk2</artifactId> <version>${jersey.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.glassfish.jersey.media</groupId> <artifactId>jersey-media-json-jackson</artifactId> <version>${jersey.version}</version> </dependency> <dependency> <groupId>org.glassfish.jersey.security</groupId> <artifactId>oauth2-client</artifactId> <version>${jersey.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.junit.jupiter</groupId> Loading
src/main/java/com/inteligr8/alfresco/activiti/AccessTokenRequestFilter.java 0 → 100644 +20 −0 Original line number Diff line number Diff line package com.inteligr8.alfresco.activiti; import javax.ws.rs.client.ClientRequestContext; import javax.ws.rs.client.ClientRequestFilter; import javax.ws.rs.core.HttpHeaders; public class AccessTokenRequestFilter implements ClientRequestFilter { private final String token; public AccessTokenRequestFilter(String token) { this.token = token; } @Override public void filter(ClientRequestContext requestContext) { requestContext.getHeaders().add(HttpHeaders.AUTHORIZATION, "Bearer " + this.token); } }
src/main/java/com/inteligr8/alfresco/activiti/ApsClient.java +1 −5 Original line number Diff line number Diff line package com.inteligr8.alfresco.activiti; import javax.ws.rs.client.ClientBuilder; import javax.ws.rs.core.Feature; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; Loading Loading @@ -29,10 +28,7 @@ public class ApsClient { javax.ws.rs.client.Client client = ClientBuilder .newClient(); Feature feature = this.config.getAuthorizationFeature(); if (feature != null) client.register(feature); this.config.authorize(client); return new EnterpriseAPI(this.config.getBaseUrl() + "/api", client); } Loading
src/main/java/com/inteligr8/alfresco/activiti/ApsClientConfiguration.java +4 −8 Original line number Diff line number Diff line package com.inteligr8.alfresco.activiti; import javax.ws.rs.core.Feature; import javax.ws.rs.client.Client; import org.glassfish.jersey.client.authentication.HttpAuthenticationFeature; import org.glassfish.jersey.client.oauth2.OAuth2ClientSupport; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; Loading @@ -28,14 +26,12 @@ public class ApsClientConfiguration { return this.baseUrl; } public Feature getAuthorizationFeature() { public void authorize(Client client) { if (this.basicAuthUsername != null) { return HttpAuthenticationFeature.basic(this.basicAuthUsername, this.basicAuthPassword); client.register(new BasicAuthRequestFilter(this.basicAuthUsername, this.basicAuthPassword)); } else if (this.accessToken != null) { return OAuth2ClientSupport.feature(this.accessToken); client.register(new AccessTokenRequestFilter(this.accessToken)); } return null; } }
src/main/java/com/inteligr8/alfresco/activiti/BasicAuthRequestFilter.java 0 → 100644 +28 −0 Original line number Diff line number Diff line package com.inteligr8.alfresco.activiti; import java.io.UnsupportedEncodingException; import java.util.Base64; import javax.ws.rs.client.ClientRequestContext; import javax.ws.rs.client.ClientRequestFilter; import javax.ws.rs.core.HttpHeaders; public class BasicAuthRequestFilter implements ClientRequestFilter { private final String username; private final String password; public BasicAuthRequestFilter(String username, String password) { this.username = username; this.password = password; } @Override public void filter(ClientRequestContext requestContext) throws UnsupportedEncodingException { String userAndPass = this.username + ":" + this.password; String userAndPassEncoded = Base64.getEncoder().encodeToString(userAndPass.getBytes("utf-8")); requestContext.getHeaders().add(HttpHeaders.AUTHORIZATION, "Basic " + userAndPassEncoded); } }