Compare commits

..
Author SHA1 Message Date
brian.long 1af15422a2 Merge branch 'develop-acs62' into stable-acs62 2022-10-02 18:45:00 -04:00
8 changed files with 69 additions and 163 deletions
+7 -4
View File
@@ -1,6 +1,10 @@
# Maven
target
pom.xml.versionsBackup
target
# Maven Invoker
build.log
invoker-reports
# Eclipse
.project
@@ -9,9 +13,8 @@ pom.xml.versionsBackup
# Visual Studio Code
.factorypath
.vscode
# Swagger Codegen
src/gen
.swagger*
.swagger-codegen
.swagger-codegen-ignore
+32 -79
View File
@@ -5,10 +5,10 @@
<groupId>com.inteligr8.alfresco</groupId>
<artifactId>acs-public-rest-api</artifactId>
<version>3.0.0-acs25</version>
<version>2.0.1-acs62</version>
<name>Alfresco Content Services ReST API for Java</name>
<description>A library for building ACS JAX-RS REST API clients</description>
<description>A library for building ACS v6.2.x JAX-RS REST API clients</description>
<url>https://bitbucket.org/inteligr8/acs-public-rest-api</url>
<licenses>
@@ -38,54 +38,39 @@
<properties>
<project.build.sourceEncoding>utf-8</project.build.sourceEncoding>
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<maven.compiler.debuglevel>lines,vars,source</maven.compiler.debuglevel>
<swagger.basePackage>com.inteligr8.alfresco.acs</swagger.basePackage>
<alfresco.platform.version>25.1.0</alfresco.platform.version>
<alfresco.platform.version>6.2.0</alfresco.platform.version>
<jersey.version>3.1.8</jersey.version>
<cxf.version>4.0.2</cxf.version>
<jackson.version>2.17.2</jackson.version>
<jersey.version>2.35</jersey.version>
<cxf.version>3.4.7</cxf.version>
</properties>
<dependencies>
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-annotations</artifactId>
<version>1.6.11</version>
</dependency>
<dependency>
<groupId>io.swagger.core.v3</groupId>
<artifactId>swagger-annotations</artifactId>
<version>2.2.11</version>
</dependency>
<dependency>
<groupId>jakarta.activation</groupId>
<artifactId>jakarta.activation-api</artifactId>
<version>2.1.3</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>2.0.7</version>
<artifactId>swagger-jaxrs</artifactId>
<version>1.6.2</version>
<exclusions>
<exclusion>
<groupId>javax.ws.rs</groupId>
<artifactId>jsr311-api</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>jakarta.ws.rs</groupId>
<artifactId>jakarta.ws.rs-api</artifactId>
<version>3.1.0</version>
</dependency>
<dependency>
<groupId>jakarta.xml.bind</groupId>
<artifactId>jakarta.xml.bind-api</artifactId>
<version>4.0.1</version>
<version>2.1.6</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.module</groupId>
<artifactId>jackson-module-jaxb-annotations</artifactId>
<version>${jackson.version}</version>
<version>2.12.2</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
@@ -134,14 +119,11 @@
</executions>
</plugin>
<plugin>
<groupId>io.swagger.codegen.v3</groupId>
<groupId>io.swagger</groupId>
<artifactId>swagger-codegen-maven-plugin</artifactId>
<version>3.0.61</version>
<version>2.4.21</version>
<configuration>
<language>jaxrs-cxf-client</language>
<configOptions>
<jakarta>true</jakarta>
</configOptions>
<output>${basedir}</output>
<apiPackage>${swagger.basePackage}.api</apiPackage>
<modelPackage>${swagger.basePackage}.model</modelPackage>
@@ -152,17 +134,6 @@
<generateModelDocumentation>false</generateModelDocumentation>
</configuration>
<executions>
<!-- search before core, as ContentInfo is incorrect in search -->
<execution>
<id>swagger-search-codegen</id>
<phase>generate-sources</phase>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<inputSpec>${project.build.directory}/dependency/definitions/alfresco-search.yaml</inputSpec>
</configuration>
</execution>
<execution>
<id>swagger-core-codegen</id>
<phase>generate-sources</phase>
@@ -174,13 +145,13 @@
</configuration>
</execution>
<execution>
<id>swagger-workflow-codegen</id>
<id>swagger-search-codegen</id>
<phase>generate-sources</phase>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<inputSpec>${project.build.directory}/dependency/definitions/alfresco-workflow.yaml</inputSpec>
<inputSpec>${project.build.directory}/dependency/definitions/alfresco-search.yaml</inputSpec>
</configuration>
</execution>
<execution>
@@ -203,22 +174,12 @@
<inputSpec>${project.build.directory}/dependency/definitions/alfresco-discovery.yaml</inputSpec>
</configuration>
</execution>
<execution>
<id>swagger-model-codegen</id>
<phase>generate-sources</phase>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<inputSpec>${project.build.directory}/dependency/definitions/alfresco-model.yaml</inputSpec>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>com.inteligr8</groupId>
<artifactId>regex-maven-plugin</artifactId>
<version>1.0.5</version>
<version>1.0.3</version>
<executions>
<execution>
<id>fix-baseUrl</id>
@@ -240,32 +201,24 @@
<replacement></replacement>
</regex>
<regex>
<pattern>public NodeEntry createNode\(@Multipart.*</pattern>
<previousPattern>/\*\*</previousPattern>
<pattern>(\*\*Core API\*\*[^@]*)@Path\("/"\)([^@]*)@Api\(value = "/"</pattern>
<replacement>$1@Path("/api/-default-/public/alfresco/versions/1")$2@Api(value = "/api/-default-/public/alfresco/versions/1"</replacement>
</regex>
<regex>
<pattern>(\*\*Core API\*\*[^@]*)@Path\("/"\)</pattern>
<replacement>$1@Path("/api/-default-/public/alfresco/versions/1")</replacement>
<pattern>(\*\*Search API\*\*[^@]*)@Path\("/"\)([^@]*)@Api\(value = "/"</pattern>
<replacement>$1@Path("/api/-default-/public/search/versions/1")$2@Api(value = "/api/-default-/public/search/versions/1"</replacement>
</regex>
<regex>
<pattern>(\*\*Workflow API\*\*[^@]*)@Path\("/"\)</pattern>
<replacement>$1@Path("/api/-default-/public/workflow/versions/1")</replacement>
<pattern>(\*\*Model API\*\*[^@]*)@Path\("/"\)([^@]*)@Api\(value = "/"</pattern>
<replacement>$1@Path("/api/-default-/public/alfresco/versions/1")$2@Api(value = "/api/-default-/public/alfresco/versions/1"</replacement>
</regex>
<regex>
<pattern>(\*\*Authentication API\*\*[^@]*)@Path\("/"\)</pattern>
<replacement>$1@Path("/api/-default-/public/authentication/versions/1")</replacement>
<pattern>(\*\*Authentication API\*\*[^@]*)@Path\("/"\)([^@]*)@Api\(value = "/"</pattern>
<replacement>$1@Path("/api/-default-/public/authentication/versions/1")$2@Api(value = "/api/-default-/public/authentication/versions/1"</replacement>
</regex>
<regex>
<pattern>(\*\*Discovery API\*\*[^@]*)@Path\("/"\)</pattern>
<replacement>$1@Path("/api")</replacement>
</regex>
<regex>
<pattern>(\*\*Search API\*\*[^@]*)@Path\("/"\)</pattern>
<replacement>$1@Path("/api/-default-/public/search/versions/1")</replacement>
</regex>
<regex>
<pattern>(\*\*Model API\*\*[^@]*)@Path\("/"\)</pattern>
<replacement>$1@Path("/api/-default-/public/alfresco/versions/1")</replacement>
<pattern>(\*\*Discovery API\*\*[^@]*)@Path\("/"\)([^@]*)@Api\(value = "/"</pattern>
<replacement>$1@Path("/api")$2@Api(value = "/api"</replacement>
</regex>
</regexes>
</configuration>
@@ -16,11 +16,9 @@ package com.inteligr8.alfresco.acs;
import com.inteligr8.alfresco.acs.api.ActionsApi;
import com.inteligr8.alfresco.acs.api.ActivitiesApi;
import com.inteligr8.alfresco.acs.api.AspectsApi;
import com.inteligr8.alfresco.acs.api.AuditApi;
import com.inteligr8.alfresco.acs.api.AuthenticationApi;
import com.inteligr8.alfresco.acs.api.CommentsApi;
import com.inteligr8.alfresco.acs.api.DeploymentsApi;
import com.inteligr8.alfresco.acs.api.DiscoveryApi;
import com.inteligr8.alfresco.acs.api.DownloadsApi;
import com.inteligr8.alfresco.acs.api.FavoritesApi;
@@ -30,8 +28,6 @@ import com.inteligr8.alfresco.acs.api.NodesApi;
import com.inteligr8.alfresco.acs.api.PeopleApi;
import com.inteligr8.alfresco.acs.api.PreferencesApi;
import com.inteligr8.alfresco.acs.api.ProbesApi;
import com.inteligr8.alfresco.acs.api.ProcessDefinitionsApi;
import com.inteligr8.alfresco.acs.api.ProcessesApi;
import com.inteligr8.alfresco.acs.api.QueriesApi;
import com.inteligr8.alfresco.acs.api.RatingsApi;
import com.inteligr8.alfresco.acs.api.RenditionsApi;
@@ -39,9 +35,7 @@ import com.inteligr8.alfresco.acs.api.SearchApi;
import com.inteligr8.alfresco.acs.api.SharedLinksApi;
import com.inteligr8.alfresco.acs.api.SitesApi;
import com.inteligr8.alfresco.acs.api.TagsApi;
import com.inteligr8.alfresco.acs.api.TasksApi;
import com.inteligr8.alfresco.acs.api.TrashcanApi;
import com.inteligr8.alfresco.acs.api.TypesApi;
import com.inteligr8.alfresco.acs.api.V0Api;
import com.inteligr8.alfresco.acs.api.VersionsApi;
@@ -62,10 +56,6 @@ public interface AcsPublicRestApi {
default ActivitiesApi getActivitiesApi() {
return this.getApi(ActivitiesApi.class);
}
default AspectsApi getAspectsApi() {
return this.getApi(AspectsApi.class);
}
default AuditApi getAuditApi() {
return this.getApi(AuditApi.class);
@@ -78,10 +68,6 @@ public interface AcsPublicRestApi {
default CommentsApi getCommentsApi() {
return this.getApi(CommentsApi.class);
}
default DeploymentsApi getDeploymentsApi() {
return this.getApi(DeploymentsApi.class);
}
default DiscoveryApi getDiscoveryApi() {
return this.getApi(DiscoveryApi.class);
@@ -110,18 +96,10 @@ public interface AcsPublicRestApi {
default PeopleApi getPeopleApi() {
return this.getApi(PeopleApi.class);
}
default PreferencesApi getPreferencesApi() {
return this.getApi(PreferencesApi.class);
}
default ProcessDefinitionsApi getProcessDefinitionApi() {
return this.getApi(ProcessDefinitionsApi.class);
}
default ProcessesApi getProcessesApi() {
return this.getApi(ProcessesApi.class);
}
default PreferencesApi getPreferencesApi() {
return this.getApi(PreferencesApi.class);
}
default ProbesApi getProbesApi() {
return this.getApi(ProbesApi.class);
@@ -154,19 +132,11 @@ public interface AcsPublicRestApi {
default TagsApi getTagsApi() {
return this.getApi(TagsApi.class);
}
default TasksApi getTasksApi() {
return this.getApi(TasksApi.class);
}
default TrashcanApi getTrashcanApi() {
return this.getApi(TrashcanApi.class);
}
default TypesApi getTypesApi() {
return this.getApi(TypesApi.class);
}
default VersionsApi getVersionsApi() {
return this.getApi(VersionsApi.class);
}
@@ -14,12 +14,12 @@
*/
package com.inteligr8.alfresco.acs.api;
import jakarta.ws.rs.Consumes;
import jakarta.ws.rs.POST;
import jakarta.ws.rs.Path;
import jakarta.ws.rs.PathParam;
import jakarta.ws.rs.Produces;
import jakarta.ws.rs.core.MediaType;
import javax.ws.rs.Consumes;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import com.inteligr8.alfresco.acs.model.Error;
import com.inteligr8.alfresco.acs.model.NodeBodyCreateMultipartCxf;
@@ -14,12 +14,12 @@
*/
package com.inteligr8.alfresco.acs.api;
import jakarta.ws.rs.Consumes;
import jakarta.ws.rs.POST;
import jakarta.ws.rs.Path;
import jakarta.ws.rs.PathParam;
import jakarta.ws.rs.Produces;
import jakarta.ws.rs.core.MediaType;
import javax.ws.rs.Consumes;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import com.inteligr8.alfresco.acs.model.Error;
import com.inteligr8.alfresco.acs.model.NodeBodyCreateMultipartJersey;
@@ -16,11 +16,11 @@ package com.inteligr8.alfresco.acs.api;
import java.util.List;
import jakarta.ws.rs.GET;
import jakarta.ws.rs.Path;
import jakarta.ws.rs.PathParam;
import jakarta.ws.rs.Produces;
import jakarta.ws.rs.QueryParam;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
import com.inteligr8.alfresco.acs.model.v0.AssociationInfo;
import com.inteligr8.alfresco.acs.model.v0.ClassInfo;
@@ -17,13 +17,12 @@ package com.inteligr8.alfresco.acs.model;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Collection;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import jakarta.ws.rs.core.MediaType;
import javax.ws.rs.core.MediaType;
import org.apache.cxf.jaxrs.ext.multipart.Attachment;
import org.apache.cxf.jaxrs.ext.multipart.ContentDisposition;
@@ -91,18 +90,9 @@ public class NodeBodyCreateMultipartCxf extends MultipartBody {
if (nodeBody.getAspectNames() != null && !nodeBody.getAspectNames().isEmpty())
logger.warn("The ACS Public REST API does not support the explicit inclusion of aspects while creating content");
if (nodeBody.getProperties() != null) {
@SuppressWarnings("unchecked")
Map<String, ?> props = (Map<String, ?>)nodeBody.getProperties();
Map<String, ?> props = (Map<String, ?>)nodeBody.getProperties();
for (Entry<String, ?> prop : props.entrySet()) {
if (prop.getValue() instanceof Collection<?>) {
for (Object value : (Collection<?>)prop.getValue())
if (value != null)
atts.add(toAttachment(prop.getKey(), value.toString()));
} else if (prop.getValue() instanceof Object[]) {
for (Object value : (Object[])prop.getValue())
if (value != null)
atts.add(toAttachment(prop.getKey(), value.toString()));
} else if (prop.getValue() != null) {
if (prop.getValue() != null) {
// FIXME convert dates as ACS would expect them to be formatted
atts.add(toAttachment(prop.getKey(), prop.getValue().toString()));
}
@@ -17,13 +17,12 @@ package com.inteligr8.alfresco.acs.model;
import java.io.IOException;
import java.io.InputStream;
import java.text.ParseException;
import java.util.Collection;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import jakarta.ws.rs.core.MediaType;
import javax.ws.rs.core.MediaType;
import org.glassfish.jersey.media.multipart.BodyPart;
import org.glassfish.jersey.media.multipart.FormDataBodyPart;
@@ -87,21 +86,12 @@ public class NodeBodyCreateMultipartJersey extends FormDataMultiPart {
if (nodeBody.getAspectNames() != null && !nodeBody.getAspectNames().isEmpty())
logger.warn("The ACS Public REST API does not support the explicit inclusion of aspects while creating content");
if (nodeBody.getProperties() != null) {
@SuppressWarnings("unchecked")
Map<String, ?> props = (Map<String, ?>)nodeBody.getProperties();
Map<String, ?> props = (Map<String, ?>)nodeBody.getProperties();
for (Entry<String, ?> prop : props.entrySet()) {
if (prop.getValue() instanceof Collection<?>) {
for (Object value : (Collection<?>)prop.getValue())
if (value != null)
fields.add(new FormDataBodyPart(prop.getKey(), value.toString()));
} else if (prop.getValue() instanceof Object[]) {
for (Object value : (Object[])prop.getValue())
if (value != null)
fields.add(new FormDataBodyPart(prop.getKey(), value.toString()));
} else if (prop.getValue() != null) {
// FIXME convert dates as ACS would expect them to be formatted
fields.add(new FormDataBodyPart(prop.getKey(), prop.getValue().toString()));
}
if (prop.getValue() != null) {
// FIXME convert dates as ACS would expect them to be formatted
fields.add(new FormDataBodyPart(prop.getKey(), prop.getValue().toString()));
}
}
}