Skip to content

Commit be3b058

Browse files
dgradecakniklassjo
andauthored
Feature/acs 23 (#29)
* Add build profile for ACS community-23.1.0. Use jakarta.servlet instead of javax.servlet. * CommonsMultipartResolver removed in spring 6, use StandardServletMultipartResolver instead. * org.springframework.http.HttpMethod is not an Enum in spring 6 and can't be used as value in Annotation. Replace with org.springframework.web.bind.annotation.RequestMethod. * - upgrade of testing libraries - removing jakarta servlet-api incompatible profiles - version bump to 9.0.0? should we use 23.x to make it easier to follow alfresco versions? * CI should only build 23.1.0 for because of the jakarta incompatibility * upgrading GH actions as CI seems to fail * testing temurin GH java setup * GH java-setup v3 for all * adapting plugin versions and mvn central deploy from github actions * adapting CI and readme * adapting CI * adapting CI * adapting CI * ossrh publishing * ossrh publishing * updating gpg version + skiping tests for publishing --------- Co-authored-by: Niklas Sjöström <[email protected]>
1 parent 611a7e5 commit be3b058

File tree

24 files changed

+104
-157
lines changed

24 files changed

+104
-157
lines changed

.github/workflows/ci.yml

+10-16
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,19 @@ name: build
22
on:
33
push:
44
pull_request:
5-
5+
66
jobs:
77
compile:
88
name: "compile"
99
runs-on: ubuntu-latest
1010
steps:
11-
- uses: actions/checkout@v2
11+
- uses: actions/checkout@v3
1212
with:
1313
fetch-depth: 0
14-
- uses: actions/setup-java@v1
14+
- uses: actions/setup-java@v3
1515
with:
16-
java-version: 11
16+
distribution: 'temurin'
17+
java-version: 17
1718
- name: Build with Maven
1819
run: ./mvnw compile
1920

@@ -24,22 +25,15 @@ jobs:
2425
strategy:
2526
matrix:
2627
include:
27-
- alfresco-version: 6.1.2-ga
28-
experimental: false
29-
- alfresco-version: 6.2.0-ga
30-
experimental: false
31-
- alfresco-version: 7.1.0.1
32-
experimental: false
33-
- alfresco-version: 7.2.0
34-
experimental: false
35-
- alfresco-version: 7.3.0
28+
- alfresco-version: 23.1.0
3629
experimental: false
3730
steps:
38-
- uses: actions/checkout@v2
31+
- uses: actions/checkout@v3
3932
with:
4033
fetch-depth: 0
41-
- uses: actions/setup-java@v1
34+
- uses: actions/setup-java@v3
4235
with:
43-
java-version: 11
36+
distribution: 'temurin'
37+
java-version: 17
4438
- name: Run tests
4539
run: ./mvnw test -Pcommunity-${{ matrix.alfresco-version }}

.github/workflows/publish.yml

+28
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
name: publish
2+
on:
3+
release:
4+
types: [created]
5+
6+
jobs:
7+
publish:
8+
name: "Publishing to Maven central"
9+
runs-on: ubuntu-latest
10+
steps:
11+
- uses: actions/checkout@v4
12+
with:
13+
fetch-depth: 0
14+
- uses: actions/setup-java@v3
15+
with:
16+
java-version: '17'
17+
distribution: 'temurin'
18+
server-id: ossrh
19+
server-username: MAVEN_USERNAME
20+
server-password: MAVEN_PASSWORD
21+
gpg-private-key: ${{ secrets.MAVEN_GPG_PRIVATE_KEY }}
22+
gpg-passphrase: MAVEN_GPG_PASSPHRASE
23+
- name: Publish package
24+
run: ./mvnw deploy -DaltDeploymentRepository=ossrh::https://oss.sonatype.org/service/local/staging/deploy/maven2 -DskipTests=true
25+
env:
26+
MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }}
27+
MAVEN_PASSWORD: ${{ secrets.OSSRH_TOKEN }}
28+
MAVEN_GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}

.gitignore

+2-1
Original file line numberDiff line numberDiff line change
@@ -13,4 +13,5 @@ local
1313
*.log
1414
*.log.*
1515

16-
private-key.gpg
16+
private-key.gpg
17+
*.factorypath

.mvn/wrapper/maven-wrapper.properties

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
1+
distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.3/apache-maven-3.9.3-bin.zip
22
wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ Profiles
5454
-
5555
We are using profiles to test against different Alfresco versions. If no configured Maven profiles are provided the default will be used and is specified by <activeByDefault>true</activeByDefault> in the pom.xml
5656

57-
example: mvn package -Pcommunity-7.2.0
57+
example: mvn package -Pcommunity-23.1.0
5858

5959
Testing
6060
-

alfresco-mvc-aop/pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
<parent>
77
<groupId>com.gradecak.alfresco-mvc</groupId>
8-
<version>8.0.0</version>
8+
<version>9.0.0</version>
99
<artifactId>alfresco-mvc-parent</artifactId>
1010
<relativePath>../</relativePath>
1111
</parent>

alfresco-mvc-aop/src/test/java/com/gradecak/alfresco/mvc/aop/TransactionalTest.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
import static org.mockito.Mockito.verify;
2222
import static org.mockito.Mockito.when;
2323

24-
import javax.transaction.SystemException;
24+
import jakarta.transaction.SystemException;
2525

2626
import org.alfresco.repo.transaction.RetryingTransactionHelper;
2727
import org.alfresco.repo.transaction.RetryingTransactionHelper.RetryingTransactionCallback;

alfresco-mvc-aop/src/test/java/com/gradecak/alfresco/mvc/service/TransactionalService.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616

1717
package com.gradecak.alfresco.mvc.service;
1818

19-
import javax.transaction.SystemException;
19+
import jakarta.transaction.SystemException;
2020

2121
import org.alfresco.model.ContentModel;
2222
import org.alfresco.service.ServiceRegistry;

alfresco-mvc-aop/src/test/resources/test-aop-context.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
<context:property-placeholder location="values.properties" />
1313

1414
<bean id="ServiceRegistry" class="org.mockito.Mockito" factory-method="mock">
15-
<constructor-arg value="org.alfresco.service.ServiceRegistry" />
15+
<constructor-arg value="org.alfresco.service.ServiceRegistry" type="java.lang.Class"/>
1616
</bean>
1717

1818
<import resource="classpath:com/gradecak/alfresco-mvc/alfresco-mvc-aop.xml" />

alfresco-mvc-bom/pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
<parent>
99
<groupId>com.gradecak.alfresco-mvc</groupId>
10-
<version>8.0.0</version>
10+
<version>9.0.0</version>
1111
<artifactId>alfresco-mvc-parent</artifactId>
1212
<relativePath>../</relativePath>
1313
</parent>

alfresco-mvc-rest/pom.xml

+3-3
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
<parent>
77
<groupId>com.gradecak.alfresco-mvc</groupId>
8-
<version>8.0.0</version>
8+
<version>9.0.0</version>
99
<artifactId>alfresco-mvc-parent</artifactId>
1010
<relativePath>../</relativePath>
1111
</parent>
@@ -17,8 +17,8 @@
1717

1818
<dependencies>
1919
<dependency>
20-
<groupId>javax.servlet</groupId>
21-
<artifactId>javax.servlet-api</artifactId>
20+
<groupId>jakarta.servlet</groupId>
21+
<artifactId>jakarta.servlet-api</artifactId>
2222
<scope>provided</scope>
2323
</dependency>
2424

alfresco-mvc-rest/src/main/java/com/gradecak/alfresco/mvc/rest/AlfrescoApiResponseInterceptor.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616

1717
package com.gradecak.alfresco.mvc.rest;
1818

19-
import javax.servlet.http.HttpServletRequest;
19+
import jakarta.servlet.http.HttpServletRequest;
2020

2121
import org.alfresco.rest.framework.resource.parameters.Params;
2222
import org.alfresco.rest.framework.resource.parameters.Params.RecognizedParams;

alfresco-mvc-rest/src/main/java/com/gradecak/alfresco/mvc/rest/annotation/AlfrescoDispatcherWebscript.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
import java.lang.annotation.Target;
2626

2727
import org.springframework.context.annotation.Import;
28-
import org.springframework.http.HttpMethod;
28+
import org.springframework.web.bind.annotation.RequestMethod;
2929
import org.springframework.web.context.WebApplicationContext;
3030

3131
import com.gradecak.alfresco.mvc.rest.config.AlfrescoRestRegistrar;
@@ -40,7 +40,7 @@
4040
public @interface AlfrescoDispatcherWebscript {
4141
String name() default "alfresco-mvc.mvc";
4242

43-
HttpMethod[] httpMethods() default { HttpMethod.GET, HttpMethod.POST, HttpMethod.DELETE, HttpMethod.PUT };
43+
RequestMethod[] httpMethods() default { RequestMethod.GET, RequestMethod.POST, RequestMethod.DELETE, RequestMethod.PUT };
4444

4545
Class<?> servletContext();
4646

alfresco-mvc-rest/src/main/java/com/gradecak/alfresco/mvc/rest/config/AlfrescoRestRegistrar.java

+4-3
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
import org.springframework.core.type.AnnotationMetadata;
2828
import org.springframework.http.HttpMethod;
2929
import org.springframework.util.Assert;
30+
import org.springframework.web.bind.annotation.RequestMethod;
3031
import org.springframework.web.context.WebApplicationContext;
3132

3233
import com.gradecak.alfresco.mvc.rest.annotation.AlfrescoDispatcherWebscript;
@@ -79,7 +80,7 @@ private void processDispatcherWebscript(AnnotationAttributes webscriptAttributes
7980
.get("servletConfigOptions");
8081
Class<? extends WebApplicationContext> servletContextClass = webscriptAttributes
8182
.getClass("servletContextClass");
82-
HttpMethod[] httpMethods = (HttpMethod[]) webscriptAttributes.get("httpMethods");
83+
RequestMethod[] httpRequestMethods = (RequestMethod[]) webscriptAttributes.get("httpMethods");
8384
boolean inheritGlobalProperties = (Boolean) webscriptAttributes.get("inheritGlobalProperties");
8485

8586
GenericBeanDefinition beanDefinition = new GenericBeanDefinition();
@@ -94,8 +95,8 @@ private void processDispatcherWebscript(AnnotationAttributes webscriptAttributes
9495

9596
registry.registerBeanDefinition(webscript, beanDefinition);
9697

97-
for (HttpMethod httpMethod : httpMethods) {
98-
registry.registerAlias(webscript, getWebscriptName(webscript, httpMethod));
98+
for (RequestMethod httpRequestMethod : httpRequestMethods) {
99+
registry.registerAlias(webscript, getWebscriptName(webscript, httpRequestMethod.asHttpMethod()));
99100
}
100101
}
101102

alfresco-mvc-rest/src/main/java/com/gradecak/alfresco/mvc/rest/config/DefaultAlfrescoMvcServletContextConfiguration.java

+2-4
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@
3939
import org.springframework.lang.Nullable;
4040
import org.springframework.web.method.support.HandlerMethodArgumentResolver;
4141
import org.springframework.web.multipart.MultipartResolver;
42-
import org.springframework.web.multipart.commons.CommonsMultipartResolver;
42+
import org.springframework.web.multipart.support.StandardServletMultipartResolver;
4343
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
4444

4545
import com.fasterxml.jackson.databind.DeserializationFeature;
@@ -83,9 +83,7 @@ public MultipartResolver multipartResolver() {
8383
}
8484

8585
protected MultipartResolver createMultipartResolver() {
86-
CommonsMultipartResolver resolver = new CommonsMultipartResolver();
87-
resolver.setMaxUploadSize(-1);
88-
resolver.setDefaultEncoding("utf-8");
86+
StandardServletMultipartResolver resolver = new StandardServletMultipartResolver();
8987
return resolver;
9088
}
9189

alfresco-mvc-rest/src/main/java/com/gradecak/alfresco/mvc/webscript/DispatcherWebscript.java

+5-5
Original file line numberDiff line numberDiff line change
@@ -29,11 +29,11 @@
2929
import java.util.regex.Matcher;
3030
import java.util.regex.Pattern;
3131

32-
import javax.servlet.ServletConfig;
33-
import javax.servlet.ServletContext;
34-
import javax.servlet.ServletException;
35-
import javax.servlet.http.HttpServletRequestWrapper;
36-
import javax.servlet.http.HttpServletResponse;
32+
import jakarta.servlet.ServletConfig;
33+
import jakarta.servlet.ServletContext;
34+
import jakarta.servlet.ServletException;
35+
import jakarta.servlet.http.HttpServletRequestWrapper;
36+
import jakarta.servlet.http.HttpServletResponse;
3737

3838
import org.slf4j.Logger;
3939
import org.slf4j.LoggerFactory;

alfresco-mvc-rest/src/test/java/com/gradecak/alfresco/mvc/controller/TestController.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@
1919
import java.io.IOException;
2020
import java.util.Map;
2121

22-
import javax.servlet.http.Cookie;
23-
import javax.servlet.http.HttpServletRequest;
22+
import jakarta.servlet.http.Cookie;
23+
import jakarta.servlet.http.HttpServletRequest;
2424

2525
import org.alfresco.service.cmr.repository.NodeRef;
2626
import org.alfresco.service.namespace.QName;

alfresco-mvc-rest/src/test/java/com/gradecak/alfresco/mvc/test/inheritservletconfig/WithSuffixControllerTest.java

+1-14
Original file line numberDiff line numberDiff line change
@@ -74,23 +74,10 @@ public void when_alfrescoMvcDispatcherServletConfigOptionsWithSuffix_expect_suff
7474
.getBean(DispatcherServlet.class);
7575
Assertions.assertNotNull(dispatcherServlet);
7676

77-
MockHttpServletResponse res = mockWebscript.withControllerMapping("/test/withsufix.test").execute();
77+
MockHttpServletResponse res = mockWebscript.withControllerMapping("test/withsufix.test").execute();
7878
Assertions.assertEquals(HttpStatus.OK.value(), res.getStatus());
7979

8080
String contentAsString = res.getContentAsString();
8181
Assertions.assertEquals("withsufix", contentAsString);
8282
}
83-
//
84-
// @Test
85-
// public void when_alfrescoMvcDispatcherServletConfigOptionsWithoutSuffix_expect_ok() throws Exception {
86-
// DispatcherServlet dispatcherServlet = dispatcherWebscript.getDispatcherServlet().getWebApplicationContext()
87-
// .getBean(DispatcherServlet.class);
88-
// Assertions.assertNotNull(dispatcherServlet);
89-
//
90-
// MockHttpServletResponse res = mockWebscript.withControllerMapping("/test/withoutsufix").execute();
91-
// Assertions.assertEquals(HttpStatus.OK.value(), res.getStatus());
92-
//
93-
// String contentAsString = res.getContentAsString();
94-
// Assertions.assertEquals("withoutsufix", contentAsString);
95-
// }
9683
}

alfresco-mvc-rest/src/test/java/com/gradecak/alfresco/mvc/test/inheritservletconfig/WithoutSuffixControllerTest.java

+1-23
Original file line numberDiff line numberDiff line change
@@ -59,35 +59,13 @@ public void before() throws Exception {
5959
mockWebscript.newRequest();
6060
}
6161

62-
/**
63-
* @deprecated as of Spring 5.2.4. See class-level note in
64-
* {@link RequestMappingHandlerMapping} on the deprecation of path
65-
* extension config options. As there is no replacement for this
66-
* method, in Spring 5.2.x it is necessary to set it to
67-
* {@code false}. In Spring 5.3 the default changes to {@code false}
68-
* and use of this property becomes unnecessary.
69-
*/
70-
// @Deprecated
71-
// @Test
72-
// public void when_alfrescoMvcDispatcherServletConfigOptionsWithSuffix_expect_suffixHandledAndOk() throws Exception {
73-
// DispatcherServlet dispatcherServlet = dispatcherWebscript.getDispatcherServlet().getWebApplicationContext()
74-
// .getBean(DispatcherServlet.class);
75-
// Assertions.assertNotNull(dispatcherServlet);
76-
//
77-
// MockHttpServletResponse res = mockWebscript.withControllerMapping("/test/withsufix.test").execute();
78-
// Assertions.assertEquals(HttpStatus.OK.value(), res.getStatus());
79-
//
80-
// String contentAsString = res.getContentAsString();
81-
// Assertions.assertEquals("withsufix", contentAsString);
82-
// }
83-
8462
@Test
8563
public void when_alfrescoMvcDispatcherServletConfigOptionsWithoutSuffix_expect_ok() throws Exception {
8664
DispatcherServlet dispatcherServlet = dispatcherWebscript.getDispatcherServlet().getWebApplicationContext()
8765
.getBean(DispatcherServlet.class);
8866
Assertions.assertNotNull(dispatcherServlet);
8967

90-
MockHttpServletResponse res = mockWebscript.withControllerMapping("/test/withoutsufix").execute();
68+
MockHttpServletResponse res = mockWebscript.withControllerMapping("test/withoutsufix").execute();
9169
Assertions.assertEquals(HttpStatus.OK.value(), res.getStatus());
9270

9371
String contentAsString = res.getContentAsString();

alfresco-mvc-rest/src/test/java/com/gradecak/alfresco/mvc/test/webscript/AlfrescoMvcRestTest.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
import java.util.List;
2525
import java.util.Map;
2626

27-
import javax.servlet.http.Cookie;
27+
import jakarta.servlet.http.Cookie;
2828

2929
import org.alfresco.service.namespace.NamespaceService;
3030
import org.apache.commons.io.IOUtils;
@@ -187,7 +187,7 @@ public void when_wrongHttpMethodWithRequiredParam_failMethodNotAllowed() throws
187187
MockHttpServletResponse res = mockWebscript.withPostRequest().withParameters(ImmutableMap.of("id", "testId"))
188188
.withControllerMapping("test/get").execute();
189189
Assertions.assertEquals(res.getStatus(), HttpStatus.METHOD_NOT_ALLOWED.value());
190-
Assertions.assertEquals("Request method 'POST' not supported", res.getErrorMessage());
190+
Assertions.assertEquals("Method 'POST' is not supported.", res.getErrorMessage());
191191
}
192192

193193
@Test

alfresco-mvc-rest/src/test/java/com/gradecak/alfresco/mvc/webscript/mock/MockWebscript.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
import java.io.IOException;
2424
import java.util.Map;
2525

26-
import javax.servlet.http.Cookie;
26+
import jakarta.servlet.http.Cookie;
2727

2828
import org.springframework.extensions.webscripts.AbstractWebScript;
2929
import org.springframework.extensions.webscripts.Container;

alfresco-mvc-rest/src/test/java/com/gradecak/alfresco/mvc/webscript/mock/MockWebscriptServletRequest.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
import java.util.Map;
2323
import java.util.Map.Entry;
2424

25-
import javax.servlet.http.Cookie;
25+
import jakarta.servlet.http.Cookie;
2626

2727
import org.springframework.extensions.webscripts.AbstractWebScript;
2828
import org.springframework.extensions.webscripts.Match;

alfresco-mvc-rest/src/test/resources/mock-alfresco-context.xml

+3-3
Original file line numberDiff line numberDiff line change
@@ -13,16 +13,16 @@
1313
</bean>
1414

1515
<bean id="ServiceRegistry" class="org.mockito.Mockito" factory-method="mock">
16-
<constructor-arg value="org.alfresco.service.ServiceRegistry" />
16+
<constructor-arg value="org.alfresco.service.ServiceRegistry" type="java.lang.Class"/>
1717
</bean>
1818

1919
<bean id="NamespaceService" class="org.mockito.Mockito" factory-method="mock">
20-
<constructor-arg value="org.alfresco.service.namespace.NamespaceService" />
20+
<constructor-arg value="org.alfresco.service.namespace.NamespaceService" type="java.lang.Class"/>
2121
</bean>
2222

2323

2424
<bean id="webscriptHelper" class="org.mockito.Mockito" factory-method="mock">
25-
<constructor-arg value="org.alfresco.rest.framework.webscripts.ResourceWebScriptHelper" />
25+
<constructor-arg value="org.alfresco.rest.framework.webscripts.ResourceWebScriptHelper" type="java.lang.Class"/>
2626
</bean>
2727

2828
<!-- bean class="org.springframework.mock.web.MockServletContext" id="mockServletContext" />

0 commit comments

Comments
 (0)