Skip to content

Commit 011b8e6

Browse files
author
Hans-Peter Klett
committed
Casing fixes, Job API, Mock Simplification.
* Updated the casing to use the new API. * Added calls for the new Job API. * Abstracted the network response. * Simplified the mocks setup since jmockit is really finicky.
1 parent e541efe commit 011b8e6

40 files changed

+1015
-375
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,4 @@ atlassian-ide-plugin.xml
1313
*.iml
1414
*.txt
1515
*.class
16+
.*.swp

build.gradle

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,6 @@ dependencies {
3636
compile 'org.codehaus.woodstox:woodstox-core-asl:4.2.0'
3737
compile 'com.fasterxml.jackson.dataformat:jackson-dataformat-xml:2.2.3'
3838
compile 'com.google.guava:guava:16.0.1'
39-
testCompile 'com.googlecode.jmockit:jmockit:1.6'
40-
testCompile 'com.googlecode.jmockit:jmockit-coverage:0.999.24'
4139
testCompile 'junit:junit:4.11'
4240
}
4341

src/main/java/com/spectralogic/ds3client/BulkCommand.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
public enum BulkCommand {
1919
PUT, GET;
2020

21+
@Override
2122
public String toString() {
2223
if (this == PUT) {
2324
return "start_bulk_put";

src/main/java/com/spectralogic/ds3client/Ds3Client.java

Lines changed: 23 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -116,8 +116,8 @@ public Builder withRedirectRetries(final int retries) {
116116
*/
117117
@Override
118118
public Ds3Client build() {
119-
final ConnectionDetailsImpl.Builder connBuilder = ConnectionDetailsImpl.builder(endpoint, credentials)
120-
.withProxy(proxy).withSecure(secure).withRedirectRetries(retries);
119+
final ConnectionDetailsImpl.Builder connBuilder = ConnectionDetailsImpl.builder(this.endpoint, this.credentials)
120+
.withProxy(this.proxy).withSecure(this.secure).withRedirectRetries(this.retries);
121121

122122
final NetworkClient netClient = new NetworkClientImpl(connBuilder.build());
123123
return new Ds3Client(netClient);
@@ -141,7 +141,7 @@ public static Builder builder(final String endpoint, final Credentials creds) {
141141
}
142142

143143
NetworkClient getNetClient() {
144-
return netClient;
144+
return this.netClient;
145145
}
146146

147147
/**
@@ -152,7 +152,7 @@ NetworkClient getNetClient() {
152152
* @throws SignatureException
153153
*/
154154
public GetServiceResponse getService(final GetServiceRequest request) throws IOException, SignatureException {
155-
return new GetServiceResponse(netClient.getResponse(request));
155+
return new GetServiceResponse(this.netClient.getResponse(request));
156156
}
157157

158158
/**
@@ -168,7 +168,7 @@ public GetServiceResponse getService(final GetServiceRequest request) throws IOE
168168
* @throws SignatureException
169169
*/
170170
public GetBucketResponse getBucket(final GetBucketRequest request) throws IOException, SignatureException {
171-
return new GetBucketResponse(netClient.getResponse(request));
171+
return new GetBucketResponse(this.netClient.getResponse(request));
172172
}
173173

174174
/**
@@ -183,7 +183,7 @@ public GetBucketResponse getBucket(final GetBucketRequest request) throws IOExce
183183
* @throws SignatureException
184184
*/
185185
public PutBucketResponse putBucket(final PutBucketRequest request) throws IOException, SignatureException {
186-
return new PutBucketResponse(netClient.getResponse(request));
186+
return new PutBucketResponse(this.netClient.getResponse(request));
187187
}
188188

189189
/**
@@ -196,7 +196,7 @@ public PutBucketResponse putBucket(final PutBucketRequest request) throws IOExce
196196
* @throws SignatureException
197197
*/
198198
public HeadBucketResponse headBucket(final HeadBucketRequest request) throws IOException, SignatureException {
199-
return new HeadBucketResponse(netClient.getResponse(request));
199+
return new HeadBucketResponse(this.netClient.getResponse(request));
200200
}
201201

202202
/**
@@ -212,7 +212,7 @@ public HeadBucketResponse headBucket(final HeadBucketRequest request) throws IOE
212212
* @throws SignatureException
213213
*/
214214
public DeleteBucketResponse deleteBucket(final DeleteBucketRequest request) throws IOException, SignatureException {
215-
return new DeleteBucketResponse(netClient.getResponse(request));
215+
return new DeleteBucketResponse(this.netClient.getResponse(request));
216216
}
217217

218218
/**
@@ -227,7 +227,7 @@ public DeleteBucketResponse deleteBucket(final DeleteBucketRequest request) thro
227227
* @throws SignatureException
228228
*/
229229
public DeleteObjectResponse deleteObject(final DeleteObjectRequest request) throws IOException, SignatureException {
230-
return new DeleteObjectResponse(netClient.getResponse(request));
230+
return new DeleteObjectResponse(this.netClient.getResponse(request));
231231
}
232232

233233
/**
@@ -241,7 +241,7 @@ public DeleteObjectResponse deleteObject(final DeleteObjectRequest request) thro
241241
* @throws SignatureException
242242
*/
243243
public GetObjectResponse getObject(final GetObjectRequest request) throws IOException, SignatureException {
244-
return new GetObjectResponse(netClient.getResponse(request));
244+
return new GetObjectResponse(this.netClient.getResponse(request));
245245
}
246246

247247
/**
@@ -256,7 +256,7 @@ public GetObjectResponse getObject(final GetObjectRequest request) throws IOExce
256256
* @throws SignatureException
257257
*/
258258
public PutObjectResponse putObject(final PutObjectRequest request) throws IOException, SignatureException {
259-
return new PutObjectResponse(netClient.getResponse(request));
259+
return new PutObjectResponse(this.netClient.getResponse(request));
260260
}
261261

262262
/**
@@ -271,7 +271,7 @@ public PutObjectResponse putObject(final PutObjectRequest request) throws IOExce
271271
* @throws SignatureException
272272
*/
273273
public BulkGetResponse bulkGet(final BulkGetRequest request) throws IOException, SignatureException {
274-
return new BulkGetResponse(netClient.getResponse(request));
274+
return new BulkGetResponse(this.netClient.getResponse(request));
275275
}
276276

277277
/**
@@ -286,7 +286,17 @@ public BulkGetResponse bulkGet(final BulkGetRequest request) throws IOException,
286286
* @throws SignatureException
287287
*/
288288
public BulkPutResponse bulkPut(final BulkPutRequest request) throws IOException, SignatureException {
289-
return new BulkPutResponse(netClient.getResponse(request));
289+
return new BulkPutResponse(this.netClient.getResponse(request));
290+
}
291+
292+
//TODO
293+
public GetJobListResponse getJobList(final GetJobListRequest request) throws IOException, SignatureException {
294+
return new GetJobListResponse(this.netClient.getResponse(request));
295+
}
296+
297+
//TODO
298+
public GetJobResponse getJob(final GetJobRequest request) throws IOException, SignatureException {
299+
return new GetJobResponse(this.netClient.getResponse(request));
290300
}
291301
}
292302

src/main/java/com/spectralogic/ds3client/NetworkClientImpl.java

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -37,11 +37,7 @@
3737

3838
import com.spectralogic.ds3client.commands.Ds3Request;
3939
import com.spectralogic.ds3client.models.SignatureDetails;
40-
import com.spectralogic.ds3client.networking.ConnectionDetails;
41-
import com.spectralogic.ds3client.networking.NetUtils;
42-
import com.spectralogic.ds3client.networking.NetworkClient;
43-
import com.spectralogic.ds3client.networking.RequiresMarkSupportedException;
44-
import com.spectralogic.ds3client.networking.TooManyRedirectsException;
40+
import com.spectralogic.ds3client.networking.*;
4541
import com.spectralogic.ds3client.utils.DateFormatter;
4642
import com.spectralogic.ds3client.utils.Signature;
4743

@@ -64,7 +60,7 @@ public ConnectionDetails getConnectionDetails() {
6460
}
6561

6662
@Override
67-
public CloseableHttpResponse getResponse(final Ds3Request request) throws IOException, SignatureException {
63+
public WebResponse getResponse(final Ds3Request request) throws IOException, SignatureException {
6864
try (final RequestExecutor requestExecutor = new RequestExecutor(request)) {
6965
boolean redirect = false;
7066
int redirectCount = 0;
@@ -75,7 +71,7 @@ public CloseableHttpResponse getResponse(final Ds3Request request) throws IOExce
7571
redirectCount++;
7672
continue;
7773
}
78-
return response;
74+
return new WebResponseImpl(response);
7975
} while (redirect && redirectCount < this.connectionDetails.getRetries());
8076

8177
throw new TooManyRedirectsException(redirectCount);
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
package com.spectralogic.ds3client;
2+
3+
import java.io.IOException;
4+
import java.io.InputStream;
5+
6+
import org.apache.http.client.methods.CloseableHttpResponse;
7+
8+
import com.spectralogic.ds3client.networking.WebResponse;
9+
10+
class WebResponseImpl implements WebResponse {
11+
private final CloseableHttpResponse response;
12+
13+
public WebResponseImpl(final CloseableHttpResponse response) {
14+
this.response = response;
15+
}
16+
17+
@Override
18+
public InputStream getResponseStream() throws IOException {
19+
return this.response.getEntity().getContent();
20+
}
21+
22+
@Override
23+
public int getStatusCode() {
24+
return this.response.getStatusLine().getStatusCode();
25+
}
26+
27+
@Override
28+
public void close() throws IOException {
29+
this.response.close();
30+
}
31+
}

src/main/java/com/spectralogic/ds3client/commands/AbstractResponse.java

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -19,35 +19,35 @@
1919
import java.io.InputStream;
2020
import java.io.StringWriter;
2121

22-
import com.google.common.collect.ImmutableSet;
2322
import org.apache.commons.io.IOUtils;
24-
import org.apache.http.client.methods.CloseableHttpResponse;
2523

24+
import com.google.common.collect.ImmutableSet;
25+
import com.spectralogic.ds3client.models.Error;
2626
import com.spectralogic.ds3client.networking.FailedRequestException;
27+
import com.spectralogic.ds3client.networking.WebResponse;
2728
import com.spectralogic.ds3client.serializer.XmlOutput;
28-
import com.spectralogic.ds3client.models.Error;
2929

3030
abstract class AbstractResponse implements Ds3Response{
3131
final static String UTF8 = "UTF-8";
3232

33-
final private CloseableHttpResponse response;
33+
final private WebResponse response;
3434

35-
AbstractResponse(final CloseableHttpResponse response) throws IOException {
35+
AbstractResponse(final WebResponse response) throws IOException {
3636
this.response = response;
37-
processResponse();
37+
this.processResponse();
3838
}
3939

4040
protected abstract void processResponse() throws IOException;
4141

42-
CloseableHttpResponse getResponse() {
43-
return response;
42+
WebResponse getResponse() {
43+
return this.response;
4444
}
4545

4646
void checkStatusCode(final int ... expectedStatuses) throws IOException {
47-
final ImmutableSet<Integer> expectedSet = createExpectedSet(expectedStatuses);
48-
final int statusCode = getStatusCode();
47+
final ImmutableSet<Integer> expectedSet = this.createExpectedSet(expectedStatuses);
48+
final int statusCode = this.getStatusCode();
4949
if (!expectedSet.contains(statusCode)) {
50-
final String responseString = readResponseString();
50+
final String responseString = this.readResponseString();
5151
throw new FailedRequestException(
5252
expectedStatuses,
5353
statusCode,
@@ -58,7 +58,7 @@ void checkStatusCode(final int ... expectedStatuses) throws IOException {
5858
}
5959

6060
int getStatusCode() {
61-
return response.getStatusLine().getStatusCode();
61+
return this.response.getStatusCode();
6262
}
6363

6464
private ImmutableSet<Integer> createExpectedSet(final int[] expectedStatuses) {
@@ -80,14 +80,14 @@ private static Error parseErrorResponse(final String responseString) {
8080

8181
private String readResponseString() throws IOException {
8282
try(final StringWriter writer = new StringWriter();
83-
final InputStream content = response.getEntity().getContent()) {
83+
final InputStream content = this.response.getResponseStream()) {
8484
IOUtils.copy(content, writer, UTF8);
8585
return writer.toString();
8686
}
8787
}
8888

8989
@Override
9090
public void close() throws IOException {
91-
response.close();
91+
this.response.close();
9292
}
9393
}

src/main/java/com/spectralogic/ds3client/commands/BulkGetResponse.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,12 @@
1616
package com.spectralogic.ds3client.commands;
1717

1818

19-
import org.apache.http.client.methods.CloseableHttpResponse;
20-
2119
import java.io.IOException;
2220

21+
import com.spectralogic.ds3client.networking.WebResponse;
22+
2323
public class BulkGetResponse extends BulkResponse {
24-
public BulkGetResponse(final CloseableHttpResponse response) throws IOException {
24+
public BulkGetResponse(final WebResponse response) throws IOException {
2525
super(response);
2626
}
2727
}

src/main/java/com/spectralogic/ds3client/commands/BulkPutResponse.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,12 @@
1515

1616
package com.spectralogic.ds3client.commands;
1717

18-
import org.apache.http.client.methods.CloseableHttpResponse;
19-
2018
import java.io.IOException;
2119

20+
import com.spectralogic.ds3client.networking.WebResponse;
21+
2222
public class BulkPutResponse extends BulkResponse {
23-
public BulkPutResponse(final CloseableHttpResponse response) throws IOException {
23+
public BulkPutResponse(final WebResponse response) throws IOException {
2424
super(response);
2525
}
2626
}

src/main/java/com/spectralogic/ds3client/commands/BulkResponse.java

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -15,36 +15,35 @@
1515

1616
package com.spectralogic.ds3client.commands;
1717

18-
import com.spectralogic.ds3client.models.MasterObjectList;
19-
import com.spectralogic.ds3client.serializer.XmlOutput;
20-
import org.apache.commons.io.IOUtils;
21-
import org.apache.http.client.methods.CloseableHttpResponse;
22-
2318
import java.io.IOException;
2419
import java.io.InputStream;
2520
import java.io.StringWriter;
2621

22+
import org.apache.commons.io.IOUtils;
23+
24+
import com.spectralogic.ds3client.models.MasterObjectList;
25+
import com.spectralogic.ds3client.networking.WebResponse;
26+
import com.spectralogic.ds3client.serializer.XmlOutput;
27+
2728
public abstract class BulkResponse extends AbstractResponse {
2829
private MasterObjectList result;
29-
public BulkResponse(final CloseableHttpResponse response) throws IOException {
30+
public BulkResponse(final WebResponse response) throws IOException {
3031
super(response);
3132
}
3233

3334
public MasterObjectList getResult() {
34-
return result;
35+
return this.result;
3536
}
3637

3738
@Override
3839
protected void processResponse() throws IOException {
39-
checkStatusCode(200);
40-
final CloseableHttpResponse response = getResponse();
41-
40+
this.checkStatusCode(200);
4241
try(final StringWriter writer = new StringWriter();
43-
final InputStream content = response.getEntity().getContent()){
42+
final InputStream content = this.getResponse().getResponseStream()) {
4443

4544
IOUtils.copy(content, writer, UTF8);
4645

47-
result = XmlOutput.fromXml(writer.toString(), MasterObjectList.class);
46+
this.result = XmlOutput.fromXml(writer.toString(), MasterObjectList.class);
4847
}
4948
}
5049
}

0 commit comments

Comments
 (0)