Skip to content

Commit

Permalink
build: move to java11
Browse files Browse the repository at this point in the history
update compiler target
remove lombok usage

working on #296
  • Loading branch information
bsorrentino committed Oct 13, 2023
1 parent b3b6e96 commit e37a86b
Show file tree
Hide file tree
Showing 30 changed files with 293 additions and 323 deletions.
28 changes: 27 additions & 1 deletion addon-scrollversions/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<artifactId>maven-confluence-parent</artifactId>
<groupId>org.bsc.maven</groupId>
<version>7.13</version>
<version>8.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>

Expand All @@ -28,6 +28,13 @@
<version>${project.version}</version>
</dependency>

<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.16</version>
<scope>provided</scope>
</dependency>

</dependencies>

<build>
Expand All @@ -42,6 +49,25 @@
</configuration>
</plugin>

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<compilerArgs>
<arg>-Xlint:unchecked</arg>
<arg>-Xlint:deprecation</arg>
</compilerArgs>
<annotationProcessorPaths>
<path>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.22</version>
</path>
</annotationProcessorPaths>
</configuration>
</plugin>


</plugins>

</build>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
package org.bsc.confluence.rest.scrollversions;

import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.extern.java.Log;
import lombok.val;
import okhttp3.*;
import org.bsc.confluence.ConfluenceService;
import org.bsc.confluence.rest.RESTConfluenceService;
Expand All @@ -28,9 +26,8 @@
import static java.util.concurrent.CompletableFuture.completedFuture;
import static java.util.stream.Collectors.toList;

@Log( topic = "confluence-maven-plugin" )
public class ScrollVersionsConfluenceService implements ConfluenceService {

private static final java.util.logging.Logger log = java.util.logging.Logger.getLogger("confluence-maven-plugin");
enum ChangeType {
ADD_VERSION("Modify"),
REMOVE_VERSION("Remove");
Expand Down Expand Up @@ -65,7 +62,7 @@ public ScrollVersionsConfluenceService( String confluenceUrl,
this.versionName = versionName;

try {
val regex = "/rest/api(/?)$";
final var regex = "/rest/api(/?)$";
this.scrollVersionsUrl = new URL(confluenceUrl.replaceAll(regex, "/rest/scroll-versions/1.0"));
} catch (MalformedURLException e) {
throw new IllegalArgumentException("invalid Scroll Versions url", e);
Expand All @@ -88,7 +85,7 @@ private HttpUrl.Builder urlBuilder() {


private Request.Builder requestBuilder() {
val credentials = getCredentials();
final var credentials = getCredentials();
return new Request.Builder()
.header("Authorization", okhttp3.Credentials.basic(credentials.username, credentials.password))
.header("X-Atlassian-Token", "nocheck");
Expand Down Expand Up @@ -130,27 +127,27 @@ CompletableFuture<ScrollVersions.Model.Version> getCurrentVersion(String spaceKe
CompletableFuture<List<ScrollVersions.Model.Version>> getScrollVersions(String spaceKey) {


val httpUrl =
final var httpUrl =
urlBuilder()
.addPathSegment("versions")
.addPathSegment(spaceKey)
.build();
val request = requestBuilder()
final var request = requestBuilder()
.url(httpUrl)
.get()
.build();

//debug( "getScrollVersions( '%s' )",spaceKey );
return delegate.fromRequestAsync(request).thenCompose( response -> {

val futureResult = new CompletableFuture<List<ScrollVersions.Model.Version>>();
final var futureResult = new CompletableFuture<List<ScrollVersions.Model.Version>>();

return ofNullable(response.body()).map(b -> {

try {
val responseBodyString = b.string();
final var responseBodyString = b.string();
//trace( "getScrollVersions response\n%s", responseBodyString );
val result = objectMapper.readValue(responseBodyString, ScrollVersions.Model.Version[].class);
final var result = objectMapper.readValue(responseBodyString, ScrollVersions.Model.Version[].class);

futureResult.complete(asList(result));

Expand All @@ -175,29 +172,29 @@ CompletableFuture<List<ScrollVersions.Model.Version>> getScrollVersions(String s
*/
CompletableFuture<List<ScrollVersions.Model.Page>> getVersionsPages(String spaceKey, String queryArg, String value) {

val httpUrl =
final var httpUrl =
urlBuilder()
.addPathSegment("page")
.addPathSegment(spaceKey)
.build();

val body = RequestBody.create(format(REQUEST_BODY_FORMAT, queryArg, value), JSON_MEDIA_TYPE );
final var body = RequestBody.create(format(REQUEST_BODY_FORMAT, queryArg, value), JSON_MEDIA_TYPE );

val request = requestBuilder()
final var request = requestBuilder()
.url(httpUrl)
.post(body)
.build();

//debug( "getVersionPage( '%s', '%', '%s')",spaceKey, queryArg, value );
return delegate.fromRequestAsync(request).thenCompose( response -> {

val futureResult = new CompletableFuture<List<ScrollVersions.Model.Page>>();
final var futureResult = new CompletableFuture<List<ScrollVersions.Model.Page>>();

return ofNullable(response.body()).map( b -> {
try {
val responseBodyString = b.string();
final var responseBodyString = b.string();
//trace( "getVersionsPages response\n%s", responseBodyString );
val result = objectMapper.readValue(responseBodyString, ScrollVersions.Model.Page[].class);
final var result = objectMapper.readValue(responseBodyString, ScrollVersions.Model.Page[].class);

futureResult.complete( asList(result) );

Expand All @@ -223,29 +220,29 @@ CompletableFuture<List<ScrollVersions.Model.Page>> getVersionsPages(String space
*/
CompletableFuture<Optional<ScrollVersions.Model.PageResult>> getVersionPage(String spaceKey, String title) {

val httpUrl =
final var httpUrl =
urlBuilder()
.addPathSegment("page")
.addPathSegment(spaceKey)
.build();

val body = RequestBody.create(format(REQUEST_BODY_FORMAT, "scrollPageTitle", title), JSON_MEDIA_TYPE );
final var body = RequestBody.create(format(REQUEST_BODY_FORMAT, "scrollPageTitle", title), JSON_MEDIA_TYPE );

val request = requestBuilder()
final var request = requestBuilder()
.url(httpUrl)
.post(body)
.build();

//debug( "getVersionPage( '%s', '%s')",spaceKey, title );
return delegate.fromRequestAsync(request).thenCompose( response -> {

val futureResult = new CompletableFuture<Optional<ScrollVersions.Model.PageResult>>();
final var futureResult = new CompletableFuture<Optional<ScrollVersions.Model.PageResult>>();

return ofNullable(response.body()).map( b -> {
try {
val responseBodyString = b.string();
final var responseBodyString = b.string();
//trace( "getVersionPage response\n%s", responseBodyString );
val result = objectMapper.readValue(responseBodyString, ScrollVersions.Model.Page[].class);
final var result = objectMapper.readValue(responseBodyString, ScrollVersions.Model.Page[].class);

if( result == null || result.length == 0 ) {
futureResult.complete( Optional.empty() );
Expand All @@ -256,11 +253,11 @@ CompletableFuture<Optional<ScrollVersions.Model.PageResult>> getVersionPage(Stri
futureResult.complete( Optional.of( ScrollVersions.Model.PageResult.of( result[0], emptyList())) );
}
else {
val masterPage = Arrays.stream(result).filter( p -> p.isMasterPage() ).findFirst();
final var masterPage = Arrays.stream(result).filter( p -> p.isMasterPage() ).findFirst();

futureResult.complete(
masterPage.map( mp -> {
val versionPages = Arrays.stream(result).filter( p -> !p.isMasterPage() ).collect(toList());
final var versionPages = Arrays.stream(result).filter( p -> !p.isMasterPage() ).collect(toList());
return Optional.of( ScrollVersions.Model.PageResult.of( mp, versionPages ) );
}).orElse( Optional.empty()));
}
Expand Down Expand Up @@ -312,34 +309,34 @@ CompletableFuture<Optional<ScrollVersions.Model.PageResult>> getVersionPage(Stri
*/
CompletableFuture<ScrollVersions.Model.NewPageResult> createVersionPage(String spaceKey, Model.ID masterPageId, String title, ScrollVersions.Model.Version version) {

val httpUrl =
final var httpUrl =
urlBuilder()
.addPathSegment("page")
.addPathSegment("new")
.addPathSegment(spaceKey)
.build();

val body = new FormBody.Builder()
final var body = new FormBody.Builder()
.add("parentConfluenceId", masterPageId.toString() )
.add( "versionId", version.getId() )
.add( "pageTitle", title )
.build();

val request = requestBuilder()
final var request = requestBuilder()
.url(httpUrl)
.post(body)
.build();

//debug( "createVersionPage( '%s', '%d', '%s', '%s')",spaceKey, masterPageId, title, version.getName() );
return delegate.fromRequestAsync(request).thenCompose( response -> {

val futureResult = new CompletableFuture<ScrollVersions.Model.NewPageResult>();
final var futureResult = new CompletableFuture<ScrollVersions.Model.NewPageResult>();

return ofNullable(response.body()).map( b -> {
try {
val responseBodyString = b.string();
final var responseBodyString = b.string();
//debug( "createVersionPage response\n%s", responseBodyString );
val result = objectMapper.readValue(responseBodyString, ScrollVersions.Model.NewPageResult.class);
final var result = objectMapper.readValue(responseBodyString, ScrollVersions.Model.NewPageResult.class);

futureResult.complete( result );

Expand All @@ -366,35 +363,35 @@ CompletableFuture<ScrollVersions.Model.NewPageResult> createVersionPage(String s
*/
CompletableFuture<ScrollVersions.Model.NewPageResult> manageVersionPage(Model.ID masterPageId, String title, ScrollVersions.Model.Version version, ChangeType changeType ) {

val httpUrl =
final var httpUrl =
urlBuilder()
.addPathSegment("page")
.addPathSegment("modify")
.build();

val body = new FormBody.Builder()
final var body = new FormBody.Builder()
.add("masterPageId", masterPageId.toString() )
.add( "pageTitle", title)
.add( "versionId", version.getId() )
.add( "changeType", changeType.typeName )
.build();

val request = requestBuilder()
final var request = requestBuilder()
.url(httpUrl)
.post(body)
.build();

//debug( "manageVersionPage( '%s', '%s', '%s', '%s')",masterPageId, title, version.getName(), changeType.typeName );
return delegate.fromRequestAsync(request).thenCompose( response -> {

val futureResult = new CompletableFuture<ScrollVersions.Model.NewPageResult>();
final var futureResult = new CompletableFuture<ScrollVersions.Model.NewPageResult>();

return ofNullable(response.body()).map( b -> {
try {
val responseBodyString = b.string();
final var responseBodyString = b.string();
//trace( "manageVersionPage response\n%s", responseBodyString );

val result = objectMapper.readValue(responseBodyString, ScrollVersions.Model.NewPageResult.class);
final var result = objectMapper.readValue(responseBodyString, ScrollVersions.Model.NewPageResult.class);

futureResult.complete( result );

Expand Down Expand Up @@ -432,7 +429,7 @@ private CompletableFuture<ScrollVersions.Model.Result> toResult(Model.Page page
throw new IllegalArgumentException(format("page [%s] is not a result type! %s", page.getTitle(), page,getClass().getName() ));
// debug( "page [%s] is not a result type! %s", page.getTitle(), page,getClass().getName() );
//
// val result = new ScrollVersions.Model.Result() {
// final var result = new ScrollVersions.Model.Result() {
//
// @Override
// public Model.ID getMasterPageId() {
Expand All @@ -451,7 +448,7 @@ private CompletableFuture<ScrollVersions.Model.Result> toResult(Model.Page page
* @return
*/
static <U> CompletableFuture<U> completeExceptionally( Throwable ex ) {
val future = new CompletableFuture<U>();
final var future = new CompletableFuture<U>();
future.completeExceptionally( ex );
return future;
}
Expand All @@ -469,9 +466,9 @@ private <S,T> Optional<T> cast( Optional<S> s ) {
private static Pattern vesrsionsTitlePattern = Pattern.compile( "^[\\.](.+)\\sv(.+)$");

private String decodeTitle( String title ) {
val m = vesrsionsTitlePattern.matcher(title);
final var m = vesrsionsTitlePattern.matcher(title);

val result = (m.matches())
final var result = (m.matches())
? m.group(1)
: title;
//debug( "decodeTitle('%s')='%s'", title, result );
Expand All @@ -487,7 +484,7 @@ private String encodeTitle( String title, ScrollVersions.Model.Version version )
}

private boolean isVersion( String title, ScrollVersions.Model.Version version ) {
val m = vesrsionsTitlePattern.matcher(title);
final var m = vesrsionsTitlePattern.matcher(title);

return ( m.matches() )
? m.group(2).equals( version.getName() )
Expand Down Expand Up @@ -517,7 +514,7 @@ public Model.Page newPage(Model.ID id, String space, String title, int version )
* @return
*/
private CompletableFuture<ScrollVersions.Model.NewPageResult> storeVersionedPage(ScrollVersions.Model.NewPageResult newPage, Storage content, ScrollVersions.Model.Version version ) {
val title = newPage.getScrollPageTitle();
final var title = newPage.getScrollPageTitle();

newPage.setScrollPageTitle( encodeTitle(title, version ) ); // update title if it is not versioned

Expand Down Expand Up @@ -590,7 +587,7 @@ public CompletableFuture<List<Model.PageSummary>> getDescendents(Model.ID pageId
cast(page.map( pp -> toResult(pp)
.thenCompose( result -> delegate.getDescendents( result.getMasterPageId()))
.thenApply( result -> {
val list = result.stream()
final var list = result.stream()
.filter( p -> isVersion(p.getTitle(), currentVersion.get()))
.filter( p -> pageId.compareTo(p.getId())!=0)
.collect( toList() );
Expand All @@ -617,7 +614,7 @@ public CompletableFuture<Optional<? extends Model.PageSummary>> getPageByTitle(M
public CompletableFuture<Boolean> removePage(Model.Page parentPage, String title) {
//debug( "removePage( parent.title:[%s], title:[%s])", parentPage.getTitle(), title );

val getPage = getPage( parentPage.getSpace(), title );
final var getPage = getPage( parentPage.getSpace(), title );

if( removeHard ) {
return getPage
Expand Down Expand Up @@ -647,7 +644,7 @@ public CompletableFuture<Boolean> removePage(Model.Page parentPage, String title
public CompletableFuture<Boolean> removePage(Model.ID pageId) {
//debug( "removePage( pageId:[%s])", pageId );

val getPage = getPage(pageId);
final var getPage = getPage(pageId);

if( removeHard ) {
return getPage
Expand Down
Loading

0 comments on commit e37a86b

Please sign in to comment.