Compare commits

...

62 Commits

Author SHA1 Message Date
22669efd8d v2.1.1-acs62 pom 2023-08-25 11:54:15 -04:00
2d90cfc31c Merge branch 'develop-acs62' into stable-acs62 2023-08-25 11:53:41 -04:00
14853ca9ca Merge branch 'develop-acs61' into develop-acs62 2023-08-25 11:48:55 -04:00
91f215ec1d Merge branch 'develop-acs60' into develop-acs61 2023-08-25 11:48:36 -04:00
c637298e3b Merge branch 'develop-acs52' into develop-acs60 2023-08-25 11:48:30 -04:00
224a40c1eb added multi-value property support 2023-08-25 11:48:05 -04:00
37e5bfeba2 v2.1.0-acs62 pom 2023-06-16 10:29:41 -04:00
bd5a0eed26 Merge branch 'develop-acs62' into stable-acs62 2023-06-16 10:29:20 -04:00
6becd9fbcd moved search codegen to fix sizeInBytes type 2023-06-16 10:10:00 -04:00
573804252b Merge branch 'develop-acs61' into develop-acs62 2023-06-16 09:51:20 -04:00
151366e787 Merge branch 'develop-acs60' into develop-acs61 2023-06-16 09:49:53 -04:00
af23be4e64 modified path replacement for ACS v6.x+ 2023-06-16 09:47:40 -04:00
b420e53a58 Merge branch 'develop-acs52' into develop-acs60 2023-06-16 09:40:32 -04:00
4587c4d05a Merge branch 'develop-acs51' into develop-acs52 2023-06-16 09:39:43 -04:00
a11aced4e3 completed v5.1 support with swagger v3.x 2023-06-16 09:27:25 -04:00
27fb71e636 switch to swagger v3 2023-06-15 11:01:07 -04:00
b1e5cf72e3 v2.0.2-acs62 pom 2023-05-28 12:23:08 -04:00
35806152a8 Merge branch 'develop-acs62' into stable-acs62 2023-05-28 12:15:04 -04:00
11f1b54dc2 Merge branch 'develop-acs61' into develop-acs62 2023-05-28 12:12:53 -04:00
1af15422a2 Merge branch 'develop-acs62' into stable-acs62 2022-10-02 18:45:00 -04:00
89515eb147 Merge branch 'develop-acs61' into develop-acs62 2022-10-02 18:44:51 -04:00
6ab29b64f3 Merge branch 'develop-acs62' into stable-acs62 2022-10-02 18:34:45 -04:00
2d05f7a2a5 not ACS v6.2 changes; just version tag 2022-10-02 18:33:58 -04:00
c84f11868e Merge branch 'develop-acs61' into stable-acs61 2022-10-02 18:33:03 -04:00
af33dc3730 Merge branch 'develop-acs60' into stable-acs60 2022-10-02 18:27:55 -04:00
038237e2aa Merge branch 'develop-acs52' into stable-acs52 2022-10-02 18:18:10 -04:00
29a13ac7b2 Merge branch 'develop-acs51' into stable-acs51 2022-10-02 18:09:56 -04:00
50c6cf6199 v2.0.1 pom 2022-07-05 16:25:33 -04:00
2d05a1a7d0 Merge branch 'develop' into stable 2022-07-05 16:23:04 -04:00
f8967b535e Merge branch 'develop' into stable 2022-05-03 13:17:46 -04:00
a70dfe2d60 updated commons-rest-api to v1.1.6 2022-04-07 23:46:08 -04:00
e9adb1bf2f v1.1.8 pom 2022-04-07 23:45:47 -04:00
898cb702e9 Merge branch 'develop' into stable 2022-04-07 23:45:14 -04:00
8fcaed758d updated commons-rest-api for CXF support 2022-03-08 13:42:48 -05:00
920aeb4ec4 v1.1.7 pom 2022-03-08 13:38:24 -05:00
a015ed5101 Merge branch 'develop' into stable 2022-03-08 13:37:40 -05:00
4ddb9aafd4 v1.1.6 pom 2022-03-03 10:17:12 -05:00
7b0963617e Merge branch 'develop' into stable 2022-03-03 10:14:57 -05:00
52010dc76e v1.1.5 pom 2021-10-27 14:34:58 -04:00
cac4c90781 Merge branch 'develop' into stable 2021-10-27 14:33:54 -04:00
117efaeedd Merge branch 'develop' into stable 2021-09-06 13:37:39 -04:00
b3275519ff v1.1.3 pom 2021-09-03 13:03:26 -04:00
3093d2bdc4 Merge branch 'develop' into stable 2021-09-03 13:02:58 -04:00
068aff951e v1.1.2 pom 2021-09-01 14:35:37 -04:00
76ac68d0e4 Merge branch 'develop' into stable 2021-08-31 22:06:11 -04:00
9e0499b243 Merge branch 'develop' into stable 2021-08-31 13:41:01 -04:00
eb0ab01355 v1.0.6-v1-acs7 pom 2021-08-28 01:09:20 -04:00
105868b5df Merge branch 'develop' into stable 2021-08-28 01:09:03 -04:00
0e8d522769 v1.0.5-v2 pom 2021-07-22 15:30:18 -04:00
7185dd225e using commons-rest-api v1.0.2 to fix jersey/put 2021-07-22 15:25:07 -04:00
1e4f420f47 v1.0.4-v2 2021-07-12 15:17:14 -04:00
64330e3ca4 Merge branch 'develop' into stable 2021-07-12 15:15:52 -04:00
8e538cfec5 v1.0.3-v2 & common v1.0.1 2021-07-07 11:08:54 -04:00
d0c1e92bce Merge branch 'develop' into stable 2021-07-07 11:08:15 -04:00
c879fa41b7 using commons version 2021-06-16 16:06:56 -04:00
10b8a4c982 v1.0.2-v2 pom 2021-06-16 16:05:52 -04:00
7dd7cc0fd4 Merge branch 'develop' into stable 2021-06-16 16:05:18 -04:00
e9ea115849 Merge branch 'develop' into stable 2021-06-04 13:32:24 -04:00
5741c77a45 v1.0.1-v2 pom 2021-06-04 12:24:29 -04:00
3bbda05066 Merge branch 'develop' into stable 2021-06-04 12:23:36 -04:00
cf1da9b6f1 Merge branch 'develop' into stable 2021-06-03 22:49:54 -04:00
1f48c3196f changed version for release 2021-06-03 21:22:20 -04:00
5 changed files with 105 additions and 44 deletions

11
.gitignore vendored
View File

@@ -1,10 +1,6 @@
# Maven
pom.xml.versionsBackup
target
# Maven Invoker
build.log
invoker-reports
pom.xml.versionsBackup
# Eclipse
.project
@@ -13,8 +9,9 @@ invoker-reports
# Visual Studio Code
.factorypath
.vscode
# Swagger Codegen
src/gen
.swagger-codegen
.swagger-codegen-ignore
.swagger*

76
pom.xml
View File

@@ -5,10 +5,10 @@
<groupId>com.inteligr8.alfresco</groupId>
<artifactId>acs-public-rest-api</artifactId>
<version>2.1-SNAPSHOT-acs61</version>
<version>2.1.1-acs62</version>
<name>Alfresco Content Services ReST API for Java</name>
<description>A library for building ACS v6.1.x 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>
@@ -44,7 +44,7 @@
<swagger.basePackage>com.inteligr8.alfresco.acs</swagger.basePackage>
<alfresco.platform.version>6.1.0</alfresco.platform.version>
<alfresco.platform.version>6.2.0</alfresco.platform.version>
<jersey.version>2.39.1</jersey.version>
<cxf.version>3.5.6</cxf.version>
@@ -54,14 +54,23 @@
<dependencies>
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-jaxrs</artifactId>
<version>1.6.2</version>
<exclusions>
<exclusion>
<groupId>javax.ws.rs</groupId>
<artifactId>jsr311-api</artifactId>
</exclusion>
</exclusions>
<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>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>2.0.1.Final</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>2.0.7</version>
</dependency>
<dependency>
<groupId>jakarta.ws.rs</groupId>
@@ -120,9 +129,9 @@
</executions>
</plugin>
<plugin>
<groupId>io.swagger</groupId>
<groupId>io.swagger.codegen.v3</groupId>
<artifactId>swagger-codegen-maven-plugin</artifactId>
<version>2.4.21</version>
<version>3.0.45</version>
<configuration>
<language>jaxrs-cxf-client</language>
<output>${basedir}</output>
@@ -135,6 +144,17 @@
<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>
@@ -146,13 +166,13 @@
</configuration>
</execution>
<execution>
<id>swagger-search-codegen</id>
<id>swagger-workflow-codegen</id>
<phase>generate-sources</phase>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<inputSpec>${project.build.directory}/dependency/definitions/alfresco-search.yaml</inputSpec>
<inputSpec>${project.build.directory}/dependency/definitions/alfresco-workflow.yaml</inputSpec>
</configuration>
</execution>
<execution>
@@ -180,7 +200,7 @@
<plugin>
<groupId>com.inteligr8</groupId>
<artifactId>regex-maven-plugin</artifactId>
<version>1.0.4</version>
<version>1.0.5</version>
<executions>
<execution>
<id>fix-baseUrl</id>
@@ -202,24 +222,28 @@
<replacement></replacement>
</regex>
<regex>
<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>
<pattern>public NodeEntry createNode\(@Multipart.*</pattern>
<previousPattern>/\*\*</previousPattern>
</regex>
<regex>
<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>
<pattern>(\*\*Core API\*\*[^@]*)@Path\("/"\)</pattern>
<replacement>$1@Path("/api/-default-/public/alfresco/versions/1")</replacement>
</regex>
<regex>
<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>
<pattern>(\*\*Workflow API\*\*[^@]*)@Path\("/"\)</pattern>
<replacement>$1@Path("/api/-default-/public/workflow/versions/1")</replacement>
</regex>
<regex>
<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>
<pattern>(\*\*Authentication API\*\*[^@]*)@Path\("/"\)</pattern>
<replacement>$1@Path("/api/-default-/public/authentication/versions/1")</replacement>
</regex>
<regex>
<pattern>(\*\*Discovery API\*\*[^@]*)@Path\("/"\)([^@]*)@Api\(value = "/"</pattern>
<replacement>$1@Path("/api")$2@Api(value = "/api"</replacement>
<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>
</regexes>
</configuration>

View File

@@ -19,6 +19,7 @@ import com.inteligr8.alfresco.acs.api.ActivitiesApi;
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;
@@ -28,6 +29,8 @@ 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;
@@ -35,6 +38,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.V0Api;
import com.inteligr8.alfresco.acs.api.VersionsApi;
@@ -68,6 +72,10 @@ 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);
@@ -96,10 +104,18 @@ public interface AcsPublicRestApi {
default PeopleApi getPeopleApi() {
return this.getApi(PeopleApi.class);
}
default PreferencesApi getPreferencesApi() {
return this.getApi(PreferencesApi.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 ProbesApi getProbesApi() {
return this.getApi(ProbesApi.class);
@@ -132,6 +148,10 @@ 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);

View File

@@ -17,6 +17,7 @@ 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;
@@ -90,9 +91,18 @@ 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) {
Map<String, ?> props = (Map<String, ?>)nodeBody.getProperties();
@SuppressWarnings("unchecked")
Map<String, ?> props = (Map<String, ?>)nodeBody.getProperties();
for (Entry<String, ?> prop : props.entrySet()) {
if (prop.getValue() != null) {
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) {
// FIXME convert dates as ACS would expect them to be formatted
atts.add(toAttachment(prop.getKey(), prop.getValue().toString()));
}

View File

@@ -17,6 +17,7 @@ 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;
@@ -86,12 +87,21 @@ 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) {
Map<String, ?> props = (Map<String, ?>)nodeBody.getProperties();
@SuppressWarnings("unchecked")
Map<String, ?> props = (Map<String, ?>)nodeBody.getProperties();
for (Entry<String, ?> prop : props.entrySet()) {
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() 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()));
}
}
}