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]. +[![Maven Central](https://img.shields.io/maven-central/v/com.smartling.api/smartling-api-sdk.svg)](https://central.sonatype.com/search?q=g%3Acom.smartling.api&smo=true&namespace=com.smartling.api) +[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](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