Skip to content
This repository has been archived by the owner on May 14, 2020. It is now read-only.

Commit

Permalink
#14 Api codes become enum
Browse files Browse the repository at this point in the history
  • Loading branch information
axelerod committed Sep 29, 2015
1 parent cc42d38 commit df4e9fe
Show file tree
Hide file tree
Showing 6 changed files with 55 additions and 40 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@
import com.smartling.api.sdk.dto.ApiResponseWrapper;
import com.smartling.api.sdk.dto.Data;
import com.smartling.api.sdk.util.HttpUtils;

import org.apache.commons.lang3.CharEncoding;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.Validate;
Expand All @@ -32,6 +31,7 @@
import java.util.Collections;
import java.util.List;

import static com.smartling.api.sdk.dto.ApiCode.SUCCESS;
import static com.smartling.api.sdk.file.FileApiParams.API_KEY;
import static com.smartling.api.sdk.file.FileApiParams.PROJECT_ID;

Expand All @@ -48,8 +48,6 @@ public abstract class BaseApiClientAdapter

private HttpUtils httpUtils;

protected static final String SUCCESS_CODE = "SUCCESS";

protected String baseApiUrl;
protected String apiKey;
protected String projectId;
Expand Down Expand Up @@ -192,7 +190,7 @@ protected String getApiResponseMessages(final ApiResponse<?> apiResponse)
{
String responseMessages = StringUtils.EMPTY;

if (!SUCCESS_CODE.equals(apiResponse.getCode()))
if (SUCCESS != apiResponse.getCode())
responseMessages = String.format(RESPONSE_MESSAGES, StringUtils.join(apiResponse.getMessages(), ", "));

return responseMessages;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,19 +15,6 @@
*/
package com.smartling.api.sdk;

import static com.smartling.api.sdk.file.FileApiParams.CONDITIONS;
import static com.smartling.api.sdk.file.FileApiParams.FILE_TYPES;
import static com.smartling.api.sdk.file.FileApiParams.FILE_URI;
import static com.smartling.api.sdk.file.FileApiParams.LAST_MODIFIED_AFTER;
import static com.smartling.api.sdk.file.FileApiParams.LIMIT;
import static com.smartling.api.sdk.file.FileApiParams.LOCALE;
import static com.smartling.api.sdk.file.FileApiParams.OFFSET;
import static com.smartling.api.sdk.file.FileApiParams.ORDERBY;
import static com.smartling.api.sdk.file.FileApiParams.LAST_UPLOADED_AFTER;
import static com.smartling.api.sdk.file.FileApiParams.LAST_UPLOADED_BEFORE;
import static com.smartling.api.sdk.file.FileApiParams.URI_MASK;
import static com.smartling.api.sdk.file.FileApiParams.NEW_FILE_URI;

import com.google.gson.reflect.TypeToken;
import com.smartling.api.sdk.dto.ApiResponse;
import com.smartling.api.sdk.dto.ApiResponseWrapper;
Expand All @@ -38,19 +25,13 @@
import com.smartling.api.sdk.dto.file.StringResponse;
import com.smartling.api.sdk.dto.file.UploadFileData;
import com.smartling.api.sdk.exceptions.ApiException;
import com.smartling.api.sdk.util.DateFormatter;
import com.smartling.api.sdk.file.FileApiParams;
import com.smartling.api.sdk.file.FileListSearchParams;
import com.smartling.api.sdk.file.FileType;
import com.smartling.api.sdk.file.RetrievalType;
import com.smartling.api.sdk.file.parameters.FileUploadParameterBuilder;
import com.smartling.api.sdk.file.parameters.GetFileParameterBuilder;

import java.io.File;
import java.io.InputStream;
import java.nio.charset.Charset;
import java.util.*;

import com.smartling.api.sdk.util.DateFormatter;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
Expand All @@ -65,6 +46,26 @@
import org.apache.http.entity.mime.content.InputStreamBody;
import org.apache.http.message.BasicNameValuePair;

import java.io.File;
import java.io.InputStream;
import java.nio.charset.Charset;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import static com.smartling.api.sdk.file.FileApiParams.CONDITIONS;
import static com.smartling.api.sdk.file.FileApiParams.FILE_TYPES;
import static com.smartling.api.sdk.file.FileApiParams.FILE_URI;
import static com.smartling.api.sdk.file.FileApiParams.LAST_MODIFIED_AFTER;
import static com.smartling.api.sdk.file.FileApiParams.LAST_UPLOADED_AFTER;
import static com.smartling.api.sdk.file.FileApiParams.LAST_UPLOADED_BEFORE;
import static com.smartling.api.sdk.file.FileApiParams.LIMIT;
import static com.smartling.api.sdk.file.FileApiParams.LOCALE;
import static com.smartling.api.sdk.file.FileApiParams.NEW_FILE_URI;
import static com.smartling.api.sdk.file.FileApiParams.OFFSET;
import static com.smartling.api.sdk.file.FileApiParams.ORDERBY;
import static com.smartling.api.sdk.file.FileApiParams.URI_MASK;

/**
* Base implementation of the {@link FileApiClientAdapter}.
*/
Expand Down Expand Up @@ -133,7 +134,7 @@ public StringResponse getFile(final GetFileParameterBuilder getFileParameterBuil
final HttpGet getRequest = new HttpGet(buildUrl(GET_FILE_API_URL, params));

final StringResponse stringResponse = getHttpUtils().executeHttpCall(getRequest, proxyConfiguration);
logger.debug(String.format("Get file: %s", SUCCESS_CODE));
logger.debug("Get file: SUCCESS");

return stringResponse;
}
Expand Down Expand Up @@ -267,7 +268,7 @@ private ApiResponse<UploadFileData> uploadFile(final FileUploadParameterBuilder

private String buildFileListParams(final FileListSearchParams fileListSearchParams)
{
final List<BasicNameValuePair> nameValuePairs = new ArrayList<BasicNameValuePair>();
final List<BasicNameValuePair> nameValuePairs = new ArrayList<>();
nameValuePairs.add(new BasicNameValuePair(LOCALE, fileListSearchParams.getLocale()));
nameValuePairs.add(new BasicNameValuePair(URI_MASK, fileListSearchParams.getUriMask()));
nameValuePairs.add(new BasicNameValuePair(LAST_UPLOADED_AFTER, DateFormatter.format(fileListSearchParams.getLastUploadedAfter())));
Expand Down
6 changes: 6 additions & 0 deletions api-sdk/src/main/java/com/smartling/api/sdk/dto/ApiCode.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
package com.smartling.api.sdk.dto;

public enum ApiCode
{
SUCCESS, VALIDATION_ERROR, AUTHENTICATION_ERROR, AUTHORIZATION_ERROR, RESOURCE_LOCKED, MAX_OPERATIONS_LIMIT_EXCEEDED, GENERAL_ERROR, MAINTENANCE_MODE_ERROR
}
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,11 @@
*/
package com.smartling.api.sdk.dto;

import java.util.List;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.List;

// TODO(AShesterov): refactor API-SDK: rename ApiResponse to SmartlingApiResponse

// TODO(AShesterov): refactor API-SDK: do NOT use generics for response, but OOP! e.g. UploadFileDataApiResponse extends ApiResponse
Expand All @@ -31,7 +32,7 @@
public class ApiResponse<T extends Data>
{
private T data;
private String code;
private ApiCode code;
private List<String> messages;

/**
Expand All @@ -47,15 +48,17 @@ public T getData()

/**
* The response code returned from the Smartling Translation API.
*
* @return response code
*/
public String getCode()
public ApiCode getCode()
{
return code;
}

/**
* The messages returned form the Smartling Translation API.
*
* @return list of messages.
*/
public List<String> getMessages()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,18 +15,19 @@
*/
package com.smartling.api.sdk;

import static org.junit.Assert.*;
import com.smartling.api.sdk.dto.ApiResponse;
import com.smartling.api.sdk.dto.Data;
import com.smartling.api.sdk.file.FileType;
import org.apache.commons.io.FilenameUtils;

import java.io.File;

import com.smartling.api.sdk.file.FileType;
import org.apache.commons.io.FilenameUtils;
import static com.smartling.api.sdk.dto.ApiCode.SUCCESS;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;

public class ApiTestHelper
{
private static final String SUCCESS = "SUCCESS";
private static final FileType TEST_FILE_TYPE = FileType.JAVA_PROPERTIES;
private static final String TEST_FILE_LOCATION = "resources/test.properties";

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@
import com.smartling.api.sdk.file.parameters.FileUploadParameterBuilder;
import com.smartling.api.sdk.util.DateFormatter;
import com.smartling.api.sdk.util.HttpUtils;

import org.apache.http.NameValuePair;
import org.apache.http.client.methods.HttpRequestBase;
import org.apache.http.client.utils.URLEncodedUtils;
Expand All @@ -46,8 +45,15 @@
import java.util.Date;
import java.util.List;

import static org.junit.Assert.*;
import static org.mockito.Mockito.*;
import static com.smartling.api.sdk.dto.ApiCode.SUCCESS;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
import static org.mockito.Mockito.eq;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;

public class FileApiClientAdapterTest
{
Expand Down Expand Up @@ -182,7 +188,7 @@ public void testRenameFile() throws ApiException, IOException
assertEquals(HOST, request.getURI().getHost());

// Validate the response
assertEquals("SUCCESS", apiResponse.getCode());
assertEquals(SUCCESS, apiResponse.getCode());
assertNull(apiResponse.getData());
}

Expand All @@ -206,7 +212,7 @@ public void testDeleteFile() throws ApiException, IOException
assertEquals(HOST, request.getURI().getHost());

// Validate the response
assertEquals("SUCCESS", apiResponse.getCode());
assertEquals(SUCCESS, apiResponse.getCode());
assertNull(apiResponse.getData());
}

Expand Down Expand Up @@ -234,7 +240,7 @@ public void testLastModified() throws ApiException, IOException
assertEquals(HOST, request.getURI().getHost());

// Validate the response
assertEquals("SUCCESS", apiResponse.getCode());
assertEquals(SUCCESS, apiResponse.getCode());
assertNotNull(apiResponse.getData());

FileLastModified fileLastModified = apiResponse.getData();
Expand Down Expand Up @@ -281,7 +287,7 @@ public void testUploadFile() throws ApiException, IOException
assertEquals(HOST, request.getURI().getHost());

// Validate the response
assertEquals("SUCCESS", apiResponse.getCode());
assertEquals(SUCCESS, apiResponse.getCode());
UploadFileData uploadFileData = apiResponse.getData();
assertEquals(1, uploadFileData.getStringCount());
assertEquals(2, uploadFileData.getWordCount());
Expand Down

0 comments on commit df4e9fe

Please sign in to comment.