diff --git a/.circleci/config.yml b/.circleci/config.yml
index 7ce72f20..076c4808 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -2,7 +2,7 @@ version: 2
jobs:
test:
docker:
- - image: openjdk:11
+ - image: cimg/openjdk:17.0
steps:
- checkout
- run:
@@ -17,7 +17,7 @@ jobs:
path: test-results
deploy:
docker:
- - image: openjdk:11
+ - image: cimg/openjdk:17.0
steps:
- add_ssh_keys:
fingerprints:
@@ -49,4 +49,6 @@ workflows:
- test
filters:
branches:
- only: master
+ only:
+ - master
+ - 2.x
diff --git a/.mvn/wrapper/maven-wrapper.properties b/.mvn/wrapper/maven-wrapper.properties
index 7d59a01f..17c59992 100644
--- a/.mvn/wrapper/maven-wrapper.properties
+++ b/.mvn/wrapper/maven-wrapper.properties
@@ -1,2 +1,2 @@
-distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.2/apache-maven-3.6.2-bin.zip
+distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.8/apache-maven-3.8.8-bin.zip
wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.5/maven-wrapper-0.5.5.jar
diff --git a/README.md b/README.md
index 798214bd..2e262903 100644
--- a/README.md
+++ b/README.md
@@ -1,52 +1,136 @@
# Smartling Java API SDK
-Java SDK for integrating with the [Smartling API].
+[](https://central.sonatype.com/search?q=g%3Acom.smartling.api&smo=true&namespace=com.smartling.api)
+[](https://opensource.org/licenses/Apache-2.0)
-## Using this SDK
+The official Java SDK for the [Smartling Translation Management Platform](https://www.smartling.com). This library provides a type-safe, idiomatic Java interface to Smartling's REST APIs, enabling seamless integration of translation workflows into your applications.
-The Smartling API SDK is distributed via Maven Central and is compatible with JDK 1.7
-(Java 7) and up.
+## Features
+
+- **Automatic OAuth 2.0 Management** - Built-in token acquisition, refresh, and secure credential handling
+- **Type-Safe API Clients** - Strongly-typed interfaces with comprehensive error handling
+- **Multi-Module Architecture** - Include only the API modules you need to minimize dependencies
+- **Production Ready** - Battle-tested by hundreds of enterprise integrations with comprehensive test coverage
+- **Modern Java Support** - Built with RESTEasy, Jackson, and Apache HttpClient
+
+## Requirements
+
+- **Java 17 or higher** (JDK 17+)
+- Maven 3.8+ or Gradle 7.0+
+
+### Core Dependencies
+
+- RESTEasy 4.7.10 (JAX-RS client implementation)
+- Jackson 2.15.4 (JSON serialization)
+- Apache HttpClient 4.5.14 (HTTP transport)
+- SLF4J 2.0.16 (Logging facade)
+
+## Installation
### Maven
-Add the SDK to your dependencies:
+Add the SDK to your `pom.xml`:
-
-
- com.smartling.api
- smartling-api-sdk
- ${version}
-
-
+```xml
+
+ com.smartling.api
+ smartling-api-sdk
+ 2.0.0
+
+```
### Gradle
-Add the SDK to your dependencies:
-
- dependencies {
- implementation "com.smartling.api:smartling-api-sdk:${version}"
+Add the SDK to your `build.gradle`:
+
+```gradle
+dependencies {
+ implementation 'com.smartling.api:smartling-api-sdk:2.0.0'
+}
+```
+
+## Quick Start
+
+The SDK automatically manages OAuth 2.0 authentication when you provide your API credentials:
+
+```java
+import com.smartling.api.files.v2.FilesApi;
+import com.smartling.api.files.v2.FilesApiFactory;
+import com.smartling.api.v2.authentication.AuthenticationApi;
+import com.smartling.api.v2.authentication.AuthenticationApiFactory;
+import com.smartling.api.v2.client.ClientFactory;
+import com.smartling.api.v2.client.DefaultClientConfiguration;
+import com.smartling.api.v2.client.auth.Authenticator;
+import com.smartling.api.v2.client.auth.BearerAuthSecretFilter;
+
+public class SmartlingExample {
+ public static void main(String[] args) {
+ String userIdentifier = "YOUR_USER_IDENTIFIER";
+ String userSecret = "YOUR_USER_SECRET";
+
+ // Create a factory for building API clients
+ DefaultClientConfiguration clientConfiguration = DefaultClientConfiguration.builder().build();
+ ClientFactory clientFactory = new ClientFactory();
+
+ // Create the authenticator to be used by subsequent API calls
+ AuthenticationApi authenticationApi = new AuthenticationApiFactory(clientFactory).buildApi(clientConfiguration);
+ Authenticator authenticator = new Authenticator(userIdentifier, userSecret, authenticationApi);
+
+ // Create files API client
+ FilesApi filesApi = new FilesApiFactory(clientFactory)
+ .buildApi(new BearerAuthSecretFilter(authenticator), clientConfiguration);
+
+ // Use the API client
+ // ...
}
+}
+```
-### Initialize the SDK
+For detailed examples and tutorials, visit our [samples repository](https://github.com/Smartling/smartling-samples/).
-The Smartling SDK manages OAuth 2 authentication automatically when you provide
-a API v2.0 identifier and a user secret to the API factory.
+## Version Support
- SmartlingApi createSmartlingApi(String userIdentifier, String userSecret)
- {
- return new SmartlingApiFactory()
- .build(userIdentifier, userSecret);
- }
+### Current Version (2.x)
+
+- **Minimum Java Version**: Java 17 (JDK 17)
+- **Status**: Stable and production-ready
+
+### Previous Version (1.x)
+
+- **Minimum Java Version**: Java 8 (JDK 1.8)
+- **End of Support**: December 1, 2026
+- **Status**: Maintenance mode - critical fixes only
+
+For projects still using Java 8-16, continue using version 1.x. We recommend planning your migration to Java 17+ to access new features and ensure continued support beyond 2026.
+
+## Documentation
+
+- **[API Reference](https://api-reference.smartling.com/)** - Complete REST API documentation
+- **[Java SDK Guide](https://help.smartling.com/hc/en-us/articles/4403912351131-Java-SDK)** - SDK-specific documentation and best practices
+- **[Help Center](https://help.smartling.com/hc/en-us/sections/1260801854870-Smartling-API)** - API guides and tutorials
+- **[Code Samples](https://github.com/Smartling/smartling-samples/)** - Working examples and integration patterns
+
+## Support
+
+- **Bug Reports**: [GitHub Issues](https://github.com/Smartling/java-api-sdk/issues)
+- **Feature Requests**: [GitHub Issues](https://github.com/Smartling/java-api-sdk/issues)
+- **Security Issues**: Please report privately to security@smartling.com
## Contributing
-Open an issue on this repository to discuss any planned changes other than bug fixes
-with Smartling's maintainers.
+We welcome contributions from the community! Before submitting significant changes:
+
+1. Open an issue to discuss your proposed changes with the maintainers
+2. Fork the repository and create a feature branch
+3. Ensure all tests pass and add new tests for your changes
+4. Submit a pull request with a clear description of your changes
+
+For Smartling employees, please refer to the internal wiki for contribution guidelines.
+
+## License
-Fork this repository and create a pull request with your proposed changes. Your pull
-request must pass all automated tests before it will be considered for inclusion.
+This project is licensed under the [Apache License 2.0](LICENSE).
-Smartling developers should refer to the wiki for instructions on contributing to this
-SDK.
+---
-[Smartling API]: https://api-reference.smartling.com/
+**Smartling** | [Website](https://www.smartling.com) | [API Documentation](https://api-reference.smartling.com/)
diff --git a/pom.xml b/pom.xml
index 099a6504..eadebe90 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
com.smartling.api
smartling-sdk-parent
pom
- 1.26.3-SNAPSHOT
+ 2.0.0-SNAPSHOT
Smartling API Parent
Smartling API SDK
https://api-reference.smartling.com
@@ -26,16 +26,20 @@
UTF-8
UTF-8
- 2.0.4
- 4.6.1.Final
+ 4.7.10.Final
4.5.14
- 2.12.3
- 4.9.3
- 2.26.0
+ 2.17.3
+ 4.12.0
+ 2.35.2
+
+ javax.annotation
+ javax.annotation-api
+ 1.3.2
+
org.apache.httpcomponents
httpclient
@@ -48,7 +52,7 @@
org.projectlombok
lombok
- 1.18.10
+ 1.18.38
provided
@@ -79,24 +83,24 @@
org.slf4j
slf4j-api
- 1.7.28
+ 2.0.16
org.slf4j
slf4j-simple
- 1.7.28
+ 2.0.16
provided
junit
junit
- 4.13.1
+ 4.13.2
test
org.mockito
mockito-core
- 2.28.2
+ 5.18.0
test
@@ -107,7 +111,7 @@
com.github.tomakehurst
- wiremock
+ wiremock-jre8
${wiremock.version}
test
@@ -118,10 +122,10 @@
org.apache.maven.plugins
maven-compiler-plugin
- 3.8.1
+ 3.13.0
- 1.8
- 1.8
+ 17
+ 17
-parameters
@@ -130,7 +134,7 @@
org.apache.maven.plugins
maven-gpg-plugin
- 1.6
+ 3.2.7
--no-tty
@@ -152,14 +156,16 @@
org.apache.maven.plugins
maven-javadoc-plugin
- 3.1.1
+ 3.11.2
+ false
+ false
- https://docs.oracle.com/javaee/7/api/
-
- https://fasterxml.github.io/jackson-core/javadoc/2.8/
- https://fasterxml.github.io/jackson-databind/javadoc/2.8/
- https://hc.apache.org/httpcomponents-client-4.5.x/httpclient/apidocs/
+ https://docs.oracle.com/en/java/javase/17/docs/api/
+ https://jakarta.ee/specifications/restful-ws/3.1/apidocs/
+ https://hc.apache.org/httpcomponents-client-4.5.x/current/httpclient/apidocs/
+ https://www.slf4j.org/apidocs/
+ https://javadoc.io/doc/org.projectlombok/lombok/1.18.42/index.html
Smartling, Inc.
true
@@ -226,7 +232,7 @@
org.apache.maven.plugins
maven-release-plugin
- 2.5.3
+ 3.1.1
true
false
@@ -241,7 +247,7 @@
org.apache.maven.plugins
maven-source-plugin
- 3.2.1
+ 3.3.1
attach-sources
@@ -254,7 +260,7 @@
org.apache.maven.plugins
maven-javadoc-plugin
- 3.1.1
+ 3.11.2
attach-javadocs
diff --git a/samrtling-api-test-utils/pom.xml b/samrtling-api-test-utils/pom.xml
index 178ca9c2..bb9399fe 100644
--- a/samrtling-api-test-utils/pom.xml
+++ b/samrtling-api-test-utils/pom.xml
@@ -4,20 +4,25 @@
smartling-api-test-utils
jar
- 1.26.3-SNAPSHOT
+ 2.0.0-SNAPSHOT
Smartling API Test Utils
com.smartling.api
smartling-sdk-parent
- 1.26.3-SNAPSHOT
+ 2.0.0-SNAPSHOT
com.github.tomakehurst
- wiremock
+ wiremock-jre8
${wiremock.version}
+
+ org.apache.commons
+ commons-lang3
+ 3.17.0
+
diff --git a/smartling-accounts-api/pom.xml b/smartling-accounts-api/pom.xml
index 54e3beaf..c47c2bc2 100644
--- a/smartling-accounts-api/pom.xml
+++ b/smartling-accounts-api/pom.xml
@@ -5,11 +5,11 @@
com.smartling.api
smartling-sdk-parent
- 1.26.3-SNAPSHOT
+ 2.0.0-SNAPSHOT
smartling-accounts-api
- 1.26.3-SNAPSHOT
+ 2.0.0-SNAPSHOT
Smartling Accounts API
@@ -25,7 +25,7 @@
com.smartling.api
smartling-api-commons
- 1.26.3-SNAPSHOT
+ 2.0.0-SNAPSHOT
diff --git a/smartling-api-commons/pom.xml b/smartling-api-commons/pom.xml
index 395de839..b2750240 100644
--- a/smartling-api-commons/pom.xml
+++ b/smartling-api-commons/pom.xml
@@ -3,13 +3,13 @@
smartling-api-commons
jar
- 1.26.3-SNAPSHOT
+ 2.0.0-SNAPSHOT
Smartling API Commons
com.smartling.api
smartling-sdk-parent
- 1.26.3-SNAPSHOT
+ 2.0.0-SNAPSHOT
@@ -25,7 +25,7 @@
com.smartling.api
smartling-api-test-utils
- 1.26.3-SNAPSHOT
+ 2.0.0-SNAPSHOT
test
diff --git a/smartling-api-commons/src/main/java/com/smartling/api/v2/client/DefaultClientConfiguration.java b/smartling-api-commons/src/main/java/com/smartling/api/v2/client/DefaultClientConfiguration.java
index 02eee8f7..a105901d 100644
--- a/smartling-api-commons/src/main/java/com/smartling/api/v2/client/DefaultClientConfiguration.java
+++ b/smartling-api-commons/src/main/java/com/smartling/api/v2/client/DefaultClientConfiguration.java
@@ -53,9 +53,12 @@ public class DefaultClientConfiguration implements ClientConfiguration
@NonNull
private HttpClientConfiguration httpClientConfiguration = new HttpClientConfiguration();
+ @Builder.Default
private ResteasyProviderFactory resteasyProviderFactory = null;
+ @Builder.Default
private RestApiExceptionMapper exceptionMapper = null;
+ @Builder.Default
private LibNameVersionHolder libNameVersionHolder = null;
}
diff --git a/smartling-api-commons/src/main/java/com/smartling/api/v2/client/unmarshal/RestApiContextResolver.java b/smartling-api-commons/src/main/java/com/smartling/api/v2/client/unmarshal/RestApiContextResolver.java
index e9b5b90c..edc6ade8 100644
--- a/smartling-api-commons/src/main/java/com/smartling/api/v2/client/unmarshal/RestApiContextResolver.java
+++ b/smartling-api-commons/src/main/java/com/smartling/api/v2/client/unmarshal/RestApiContextResolver.java
@@ -42,7 +42,7 @@ public RestApiContextResolver(final Map, JsonDeserializer>> classJson
deserializerModule.addSerializer(klass, (JsonSerializer) classJsonSerializerMap.get(klass));
objectMapper.registerModule(deserializerModule);
- objectMapper.registerModule(new KotlinModule());
+ objectMapper.registerModule(new KotlinModule.Builder().build());
this.objectMapper = objectMapper;
}
diff --git a/smartling-api-commons/src/main/java/com/smartling/resteasy/ext/ExtendedMultipartFormWriter.java b/smartling-api-commons/src/main/java/com/smartling/resteasy/ext/ExtendedMultipartFormWriter.java
index d4b0d12e..fd02770e 100644
--- a/smartling-api-commons/src/main/java/com/smartling/resteasy/ext/ExtendedMultipartFormWriter.java
+++ b/smartling-api-commons/src/main/java/com/smartling/resteasy/ext/ExtendedMultipartFormWriter.java
@@ -2,7 +2,6 @@
import org.apache.commons.lang3.StringUtils;
import org.jboss.resteasy.annotations.providers.multipart.PartType;
-import org.jboss.resteasy.plugins.providers.multipart.FieldEnablerPrivilegedAction;
import org.jboss.resteasy.plugins.providers.multipart.MultipartFormAnnotationWriter;
import org.jboss.resteasy.plugins.providers.multipart.MultipartFormDataOutput;
import org.jboss.resteasy.spi.WriterException;
@@ -12,7 +11,6 @@
import javax.ws.rs.ext.Provider;
import java.io.IOException;
import java.lang.reflect.Field;
-import java.security.AccessController;
import java.util.List;
import java.util.Map;
@@ -39,7 +37,7 @@ protected void getFields(Class> type, MultipartFormDataOutput output, Object o
{
if (field.isAnnotationPresent(DynamicFormParam.class) && field.isAnnotationPresent(PartType.class))
{
- AccessController.doPrivileged(new FieldEnablerPrivilegedAction(field));
+ field.setAccessible(true);
Object value = safeExtractValue(obj, field);
@@ -67,7 +65,7 @@ protected void getFields(Class> type, MultipartFormDataOutput output, Object o
}
if (field.isAnnotationPresent(ListFormParam.class) && field.isAnnotationPresent(PartType.class))
{
- AccessController.doPrivileged(new FieldEnablerPrivilegedAction(field));
+ field.setAccessible(true);
Object value = safeExtractValue(obj, field);
if (value instanceof List)
@@ -88,7 +86,7 @@ protected void getFields(Class> type, MultipartFormDataOutput output, Object o
}
if (field.isAnnotationPresent(FileFormParam.class) && field.isAnnotationPresent(PartType.class))
{
- AccessController.doPrivileged(new FieldEnablerPrivilegedAction(field));
+ field.setAccessible(true);
FileFormParam fileFormParam = field.getAnnotation(FileFormParam.class);
String name = fileFormParam.value();
@@ -112,7 +110,7 @@ private String getFilename(Object obj, Field[] declaredFields, Field field)
{
if (declaredField.getName().equals(filenameField))
{
- AccessController.doPrivileged(new FieldEnablerPrivilegedAction(declaredField));
+ declaredField.setAccessible(true);
return (String) safeExtractValue(obj, declaredField);
}
diff --git a/smartling-api-commons/src/test/java/com/smartling/api/v2/auth/AuthenticationIntegrationTest.java b/smartling-api-commons/src/test/java/com/smartling/api/v2/auth/AuthenticationIntegrationTest.java
index c758e5c1..ee2ac90b 100644
--- a/smartling-api-commons/src/test/java/com/smartling/api/v2/auth/AuthenticationIntegrationTest.java
+++ b/smartling-api-commons/src/test/java/com/smartling/api/v2/auth/AuthenticationIntegrationTest.java
@@ -133,9 +133,9 @@ public void shouldLogWeirdContentType()
"\tgenericType: class com.smartling.api.v2.authentication.pto.Authentication\n" +
"\tannotations: [\n" +
"\t\t@javax.ws.rs.POST()\n" +
- "\t\t@javax.ws.rs.Path(value=\"/authenticate\")\n" +
+ "\t\t@javax.ws.rs.Path(\"/authenticate\")\n" +
"\t]\n" +
- "\theaders: [Content-Type=*/*,Matched-Stub-Id=" + stubMapping.getId() + ",Server=Jetty(9.2.28.v20190418),Transfer-Encoding=chunked,Vary=Accept-Encoding, User-Agent]\n" +
+ "\theaders: [Content-Type=*/*,Matched-Stub-Id=" + stubMapping.getId() + ",Transfer-Encoding=chunked,Vary=Accept-Encoding, User-Agent]\n" +
"\tmedia type: */*\n" +
"\tbody: {\"response\":{\"code\":\"SUCCESS\",\"data\":{\"accessToken\":\"accessTokenValue\",\"refreshToken\":\"refreshTokenValue\",\"expiresIn\":480,\"refreshExpiresIn\":21600,\"tokenType\":\"Bearer\"}}}";
String actualMessage = null;
diff --git a/smartling-api-commons/src/test/java/com/smartling/api/v2/client/unmarshal/DetailsDeserializerTest.java b/smartling-api-commons/src/test/java/com/smartling/api/v2/client/unmarshal/DetailsDeserializerTest.java
index 70e03394..99d9337b 100644
--- a/smartling-api-commons/src/test/java/com/smartling/api/v2/client/unmarshal/DetailsDeserializerTest.java
+++ b/smartling-api-commons/src/test/java/com/smartling/api/v2/client/unmarshal/DetailsDeserializerTest.java
@@ -56,6 +56,7 @@ public void setUp() throws Exception
public void testDeserializeNullBody() throws Exception
{
when(node.getNodeType()).thenReturn(JsonNodeType.NULL);
+ when(node.isNull()).thenReturn(true);
final Details details = detailsDeserializer.deserialize(parser, null);
assertNull(details);
}
diff --git a/smartling-api-sdk-all/pom.xml b/smartling-api-sdk-all/pom.xml
index cda06761..53036ee2 100644
--- a/smartling-api-sdk-all/pom.xml
+++ b/smartling-api-sdk-all/pom.xml
@@ -4,78 +4,78 @@
com.smartling.api
smartling-sdk-parent
- 1.26.3-SNAPSHOT
+ 2.0.0-SNAPSHOT
smartling-api-sdk
- 1.26.3-SNAPSHOT
+ 2.0.0-SNAPSHOT
jar
Smartling API SDK
com.smartling.api
smartling-accounts-api
- 1.26.3-SNAPSHOT
+ 2.0.0-SNAPSHOT
com.smartling.api
smartling-issues-api
- 1.26.3-SNAPSHOT
+ 2.0.0-SNAPSHOT
com.smartling.api
smartling-locales-api
- 1.26.3-SNAPSHOT
+ 2.0.0-SNAPSHOT
com.smartling.api
smartling-jobs-api
- 1.26.3-SNAPSHOT
+ 2.0.0-SNAPSHOT
com.smartling.api
smartling-job-batches-api
- 1.26.3-SNAPSHOT
+ 2.0.0-SNAPSHOT
com.smartling.api
smartling-files-api
- 1.26.3-SNAPSHOT
+ 2.0.0-SNAPSHOT
com.smartling.api
smartling-projects-api
- 1.26.3-SNAPSHOT
+ 2.0.0-SNAPSHOT
com.smartling.api
smartling-strings-api
- 1.26.3-SNAPSHOT
+ 2.0.0-SNAPSHOT
com.smartling.api
smartling-contexts-api
- 1.26.3-SNAPSHOT
+ 2.0.0-SNAPSHOT
com.smartling.api
smartling-attachments-api
- 1.26.3-SNAPSHOT
+ 2.0.0-SNAPSHOT
com.smartling.api
smartling-reports-api
- 1.26.3-SNAPSHOT
+ 2.0.0-SNAPSHOT
compile
com.smartling.api
smartling-glossary-api
- 1.26.3-SNAPSHOT
+ 2.0.0-SNAPSHOT
com.smartling.api
smartling-file-translations-api
- 1.26.3-SNAPSHOT
+ 2.0.0-SNAPSHOT
diff --git a/smartling-attachments-api/pom.xml b/smartling-attachments-api/pom.xml
index 3a708a8c..de76fee7 100644
--- a/smartling-attachments-api/pom.xml
+++ b/smartling-attachments-api/pom.xml
@@ -4,10 +4,10 @@
com.smartling.api
smartling-sdk-parent
- 1.26.3-SNAPSHOT
+ 2.0.0-SNAPSHOT
smartling-attachments-api
- 1.26.3-SNAPSHOT
+ 2.0.0-SNAPSHOT
Smartling Attachments API
@@ -23,7 +23,7 @@
com.smartling.api
smartling-api-commons
- 1.26.3-SNAPSHOT
+ 2.0.0-SNAPSHOT
diff --git a/smartling-attachments-api/src/test/java/com/smartling/api/attachments/v2/AttachmentsApiTest.java b/smartling-attachments-api/src/test/java/com/smartling/api/attachments/v2/AttachmentsApiTest.java
index 1d8b6550..b8ce572f 100644
--- a/smartling-attachments-api/src/test/java/com/smartling/api/attachments/v2/AttachmentsApiTest.java
+++ b/smartling-attachments-api/src/test/java/com/smartling/api/attachments/v2/AttachmentsApiTest.java
@@ -183,25 +183,25 @@ public void testUploadAttachment() throws Exception
"\r\n" +
"content\r\n" +
partSeparator + "\r\n" +
- "Content-Disposition: form-data; name=\"name\"\r\n" +
+ "Content-Disposition: form-data; name=\"entityUids\"\r\n" +
"Content-Type: text/plain\r\n" +
"\r\n" +
- "test.txt\r\n" +
+ "jobUuid1\r\n" +
partSeparator + "\r\n" +
- "Content-Disposition: form-data; name=\"description\"\r\n" +
+ "Content-Disposition: form-data; name=\"entityUids\"\r\n" +
"Content-Type: text/plain\r\n" +
"\r\n" +
- "description\r\n" +
+ "jobUuid2\r\n" +
partSeparator + "\r\n" +
- "Content-Disposition: form-data; name=\"entityUids\"\r\n" +
+ "Content-Disposition: form-data; name=\"name\"\r\n" +
"Content-Type: text/plain\r\n" +
"\r\n" +
- "jobUuid1\r\n" +
+ "test.txt\r\n" +
partSeparator + "\r\n" +
- "Content-Disposition: form-data; name=\"entityUids\"\r\n" +
+ "Content-Disposition: form-data; name=\"description\"\r\n" +
"Content-Type: text/plain\r\n" +
"\r\n" +
- "jobUuid2\r\n" +
+ "description\r\n" +
partSeparator + "--");
assertEquals(expectedPTO.getAttachmentUid(), response.getAttachmentUid());
diff --git a/smartling-contexts-api/pom.xml b/smartling-contexts-api/pom.xml
index 508ffe7a..5222b76e 100644
--- a/smartling-contexts-api/pom.xml
+++ b/smartling-contexts-api/pom.xml
@@ -4,10 +4,10 @@
com.smartling.api
smartling-sdk-parent
- 1.26.3-SNAPSHOT
+ 2.0.0-SNAPSHOT
smartling-contexts-api
- 1.26.3-SNAPSHOT
+ 2.0.0-SNAPSHOT
Smartling Contexts API
@@ -23,7 +23,7 @@
com.smartling.api
smartling-api-commons
- 1.26.3-SNAPSHOT
+ 2.0.0-SNAPSHOT
diff --git a/smartling-file-translations-api/pom.xml b/smartling-file-translations-api/pom.xml
index 4d4ee128..6beeb41e 100644
--- a/smartling-file-translations-api/pom.xml
+++ b/smartling-file-translations-api/pom.xml
@@ -5,11 +5,11 @@
com.smartling.api
smartling-sdk-parent
- 1.26.3-SNAPSHOT
+ 2.0.0-SNAPSHOT
smartling-file-translations-api
- 1.26.3-SNAPSHOT
+ 2.0.0-SNAPSHOT
Smartling File Translations API
@@ -25,7 +25,7 @@
com.smartling.api
smartling-api-commons
- 1.26.3-SNAPSHOT
+ 2.0.0-SNAPSHOT
org.apache.commons
@@ -35,7 +35,7 @@
com.smartling.api
smartling-api-test-utils
- 1.26.3-SNAPSHOT
+ 2.0.0-SNAPSHOT
test
diff --git a/smartling-files-api/pom.xml b/smartling-files-api/pom.xml
index 8c89af65..274f9a61 100644
--- a/smartling-files-api/pom.xml
+++ b/smartling-files-api/pom.xml
@@ -5,11 +5,11 @@
com.smartling.api
smartling-sdk-parent
- 1.26.3-SNAPSHOT
+ 2.0.0-SNAPSHOT
smartling-files-api
- 1.26.3-SNAPSHOT
+ 2.0.0-SNAPSHOT
Smartling Content Files API
@@ -25,7 +25,7 @@
com.smartling.api
smartling-api-commons
- 1.26.3-SNAPSHOT
+ 2.0.0-SNAPSHOT
org.apache.commons
@@ -35,7 +35,7 @@
com.smartling.api
smartling-api-test-utils
- 1.26.3-SNAPSHOT
+ 2.0.0-SNAPSHOT
test
diff --git a/smartling-glossary-api/pom.xml b/smartling-glossary-api/pom.xml
index efa46548..5f240a5e 100644
--- a/smartling-glossary-api/pom.xml
+++ b/smartling-glossary-api/pom.xml
@@ -5,11 +5,11 @@
com.smartling.api
smartling-sdk-parent
- 1.26.3-SNAPSHOT
+ 2.0.0-SNAPSHOT
smartling-glossary-api
- 1.26.3-SNAPSHOT
+ 2.0.0-SNAPSHOT
Smartling Glossary API
@@ -26,7 +26,7 @@
com.smartling.api
smartling-api-commons
- 1.26.3-SNAPSHOT
+ 2.0.0-SNAPSHOT
org.apache.commons
@@ -36,7 +36,7 @@
com.smartling.api
smartling-api-test-utils
- 1.26.3-SNAPSHOT
+ 2.0.0-SNAPSHOT
test
diff --git a/smartling-issues-api/pom.xml b/smartling-issues-api/pom.xml
index a0fd0a6a..835cc441 100644
--- a/smartling-issues-api/pom.xml
+++ b/smartling-issues-api/pom.xml
@@ -5,11 +5,11 @@
com.smartling.api
smartling-sdk-parent
- 1.26.3-SNAPSHOT
+ 2.0.0-SNAPSHOT
smartling-issues-api
- 1.26.3-SNAPSHOT
+ 2.0.0-SNAPSHOT
Smartling Issues API
@@ -25,7 +25,7 @@
com.smartling.api
smartling-api-commons
- 1.26.3-SNAPSHOT
+ 2.0.0-SNAPSHOT
diff --git a/smartling-job-batches-api/pom.xml b/smartling-job-batches-api/pom.xml
index 74bae1c4..66d0b970 100644
--- a/smartling-job-batches-api/pom.xml
+++ b/smartling-job-batches-api/pom.xml
@@ -5,11 +5,11 @@
com.smartling.api
smartling-sdk-parent
- 1.26.3-SNAPSHOT
+ 2.0.0-SNAPSHOT
smartling-job-batches-api
- 1.26.3-SNAPSHOT
+ 2.0.0-SNAPSHOT
Smartling Job Batches API
@@ -28,7 +28,7 @@
com.smartling.api
smartling-api-commons
- 1.26.3-SNAPSHOT
+ 2.0.0-SNAPSHOT
diff --git a/smartling-job-batches-api/src/main/java/com/smartling/api/jobbatches/util/FileUploadProxyUtils.java b/smartling-job-batches-api/src/main/java/com/smartling/api/jobbatches/util/FileUploadProxyUtils.java
index 02a9c1df..354e94b3 100644
--- a/smartling-job-batches-api/src/main/java/com/smartling/api/jobbatches/util/FileUploadProxyUtils.java
+++ b/smartling-job-batches-api/src/main/java/com/smartling/api/jobbatches/util/FileUploadProxyUtils.java
@@ -8,7 +8,6 @@
import org.jboss.resteasy.annotations.providers.multipart.PartType;
import org.jboss.resteasy.client.jaxrs.ResteasyWebTarget;
import org.jboss.resteasy.client.jaxrs.internal.ClientResponse;
-import org.jboss.resteasy.plugins.providers.multipart.FieldEnablerPrivilegedAction;
import org.jboss.resteasy.plugins.providers.multipart.MultipartFormDataOutput;
import javax.ws.rs.FormParam;
@@ -21,7 +20,6 @@
import java.lang.reflect.AccessibleObject;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
-import java.security.AccessController;
import java.util.Map;
@Slf4j
@@ -65,7 +63,7 @@ public static void getFields(Class> type, MultipartFormDataOutput output, Obje
{
for (Field field : type.getDeclaredFields())
{
- AccessController.doPrivileged(new FieldEnablerPrivilegedAction(field));
+ field.setAccessible(true);
Object value = getFieldValue(field, obj);
if (value == null)
{
diff --git a/smartling-jobs-api/pom.xml b/smartling-jobs-api/pom.xml
index 909f2209..20cc95a6 100644
--- a/smartling-jobs-api/pom.xml
+++ b/smartling-jobs-api/pom.xml
@@ -5,11 +5,11 @@
com.smartling.api
smartling-sdk-parent
- 1.26.3-SNAPSHOT
+ 2.0.0-SNAPSHOT
smartling-jobs-api
- 1.26.3-SNAPSHOT
+ 2.0.0-SNAPSHOT
Smartling Jobs API
@@ -26,7 +26,7 @@
com.smartling.api
smartling-api-commons
- 1.26.3-SNAPSHOT
+ 2.0.0-SNAPSHOT
diff --git a/smartling-locales-api/pom.xml b/smartling-locales-api/pom.xml
index ea313b7c..5d088307 100644
--- a/smartling-locales-api/pom.xml
+++ b/smartling-locales-api/pom.xml
@@ -4,10 +4,10 @@
com.smartling.api
smartling-sdk-parent
- 1.26.3-SNAPSHOT
+ 2.0.0-SNAPSHOT
smartling-locales-api
- 1.26.3-SNAPSHOT
+ 2.0.0-SNAPSHOT
Smartling Locales API
@@ -22,7 +22,7 @@
com.smartling.api
smartling-api-commons
- 1.26.3-SNAPSHOT
+ 2.0.0-SNAPSHOT
diff --git a/smartling-mt-router-api/pom.xml b/smartling-mt-router-api/pom.xml
index a71da28d..6c9829c3 100644
--- a/smartling-mt-router-api/pom.xml
+++ b/smartling-mt-router-api/pom.xml
@@ -4,11 +4,11 @@
com.smartling.api
smartling-sdk-parent
- 1.26.3-SNAPSHOT
+ 2.0.0-SNAPSHOT
smartling-mt-router-api
- 1.26.3-SNAPSHOT
+ 2.0.0-SNAPSHOT
Smartling MT Router API
@@ -24,7 +24,7 @@
com.smartling.api
smartling-api-commons
- 1.26.3-SNAPSHOT
+ 2.0.0-SNAPSHOT
diff --git a/smartling-projects-api/pom.xml b/smartling-projects-api/pom.xml
index affac7c8..6773dbce 100644
--- a/smartling-projects-api/pom.xml
+++ b/smartling-projects-api/pom.xml
@@ -4,10 +4,10 @@
com.smartling.api
smartling-sdk-parent
- 1.26.3-SNAPSHOT
+ 2.0.0-SNAPSHOT
smartling-projects-api
- 1.26.3-SNAPSHOT
+ 2.0.0-SNAPSHOT
Smartling Projects API
@@ -23,7 +23,7 @@
com.smartling.api
smartling-api-commons
- 1.26.3-SNAPSHOT
+ 2.0.0-SNAPSHOT
diff --git a/smartling-reports-api/pom.xml b/smartling-reports-api/pom.xml
index ba5f78e3..a38b8f95 100644
--- a/smartling-reports-api/pom.xml
+++ b/smartling-reports-api/pom.xml
@@ -4,10 +4,10 @@
com.smartling.api
smartling-sdk-parent
- 1.26.3-SNAPSHOT
+ 2.0.0-SNAPSHOT
smartling-reports-api
- 1.26.3-SNAPSHOT
+ 2.0.0-SNAPSHOT
Smartling Reports API
@@ -23,7 +23,7 @@
com.smartling.api
smartling-api-commons
- 1.26.3-SNAPSHOT
+ 2.0.0-SNAPSHOT
diff --git a/smartling-strings-api/pom.xml b/smartling-strings-api/pom.xml
index 11503e1d..ab1a372f 100644
--- a/smartling-strings-api/pom.xml
+++ b/smartling-strings-api/pom.xml
@@ -4,10 +4,10 @@
com.smartling.api
smartling-sdk-parent
- 1.26.3-SNAPSHOT
+ 2.0.0-SNAPSHOT
smartling-strings-api
- 1.26.3-SNAPSHOT
+ 2.0.0-SNAPSHOT
Smartling Strings API
@@ -23,7 +23,7 @@
com.smartling.api
smartling-api-commons
- 1.26.3-SNAPSHOT
+ 2.0.0-SNAPSHOT