Compare commits

...

7 Commits

4 changed files with 40 additions and 10 deletions

View File

@@ -5,10 +5,10 @@
<groupId>com.inteligr8.alfresco</groupId>
<artifactId>acs-public-rest-api</artifactId>
<version>2.1-SNAPSHOT-acs60</version>
<version>2.1-SNAPSHOT-acs61</version>
<name>Alfresco Content Services ReST API for Java</name>
<description>A library for building ACS v6.0.x JAX-RS REST API clients</description>
<description>A library for building ACS v6.1.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.0.0-ea</alfresco.platform.version>
<alfresco.platform.version>6.1.0</alfresco.platform.version>
<jersey.version>2.39.1</jersey.version>
<cxf.version>3.5.6</cxf.version>

View File

@@ -14,6 +14,7 @@
*/
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.AuditApi;
import com.inteligr8.alfresco.acs.api.AuthenticationApi;
@@ -27,6 +28,7 @@ import com.inteligr8.alfresco.acs.api.NetworksApi;
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;
@@ -51,6 +53,10 @@ public interface AcsPublicRestApi {
<T> T getApi(Class<T> apiClass);
default ActionsApi getActionsApi() {
return this.getApi(ActionsApi.class);
}
default ActivitiesApi getActivitiesApi() {
return this.getApi(ActivitiesApi.class);
}
@@ -111,6 +117,10 @@ public interface AcsPublicRestApi {
return this.getApi(ProcessesApi.class);
}
default ProbesApi getProbesApi() {
return this.getApi(ProbesApi.class);
}
default QueriesApi getQueriesApi() {
return this.getApi(QueriesApi.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()));
}
}
}