Skip to content

Commit 21e593b

Browse files
author
hansdude
committed
Merge pull request #70 from rpmoore/master
Fix for when using the Helper functions with the Simulator
2 parents 28c2403 + 2c0bf92 commit 21e593b

File tree

8 files changed

+42
-6
lines changed

8 files changed

+42
-6
lines changed

build.gradle

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515

1616
allprojects {
1717
group = 'com.spectralogic.ds3'
18-
version = '1.1.0-RC2'
18+
version = '1.1.0-RC3'
1919
}
2020

2121
subprojects {
@@ -30,8 +30,10 @@ subprojects {
3030
}
3131

3232
dependencies {
33+
compile 'org.slf4j:slf4j-api:1.7.12'
3334
testCompile 'org.mockito:mockito-all:1.9.5'
3435
testCompile 'junit:junit:4.11'
36+
testCompile 'org.slf4j:slf4j-simple:1.7.12'
3537
}
3638
}
3739

ds3-sdk/build.gradle

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
buildscript {
1717
repositories { jcenter() }
1818
dependencies {
19-
classpath 'com.github.jengelman.gradle.plugins:shadow:1.1.1'
19+
classpath 'com.github.jengelman.gradle.plugins:shadow:1.2.1'
2020
}
2121
}
2222

@@ -27,6 +27,7 @@ shadowJar {
2727
relocate 'org.apache', 'ds3fatjar.org.apache'
2828
relocate 'org.codehaus', 'ds3fatjar.org.codehaus'
2929
relocate 'com.fasterxml', 'ds3fatjar.com.fasterxml'
30+
relocate 'org.slf4j', 'ds3fatjar.org.slf4j'
3031
dependencies {
3132
exclude(dependency('org.hamcrest:hamcrest-library:1.3'))
3233
exclude(dependency('org.mockito:mockito-all:1.9.5'))

ds3-sdk/src/main/java/com/spectralogic/ds3client/ConnectionDetailsImpl.java

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,15 @@
1818
import com.spectralogic.ds3client.models.Credentials;
1919
import com.spectralogic.ds3client.models.bulk.Node;
2020
import com.spectralogic.ds3client.networking.ConnectionDetails;
21+
import org.slf4j.Logger;
22+
import org.slf4j.LoggerFactory;
2123

2224
import java.net.URI;
25+
import java.sql.Connection;
2326

2427
class ConnectionDetailsImpl implements ConnectionDetails {
28+
static private final Logger LOG = LoggerFactory.getLogger(ConnectionDetailsImpl.class);
29+
2530
static class Builder implements com.spectralogic.ds3client.utils.Builder<ConnectionDetailsImpl> {
2631

2732
private final String endpoint;
@@ -72,10 +77,12 @@ public ConnectionDetailsImpl build() {
7277
public static ConnectionDetails newForNode(final Node node, final ConnectionDetails connectionDetails) {
7378
final Builder connectionBuilder;
7479
if (node.getEndpoint() == null || node.getEndpoint().equals("FAILED_TO_DETERMINE_DATAPATH_IP_ADDRESS")) {
80+
LOG.trace("Running against an old version of the DS3 API, reusing existing endpoint configuration");
7581
connectionBuilder = builder(connectionDetails.getEndpoint(), connectionDetails.getCredentials());
7682
}
7783
else {
78-
connectionBuilder = builder(node.getEndpoint(), connectionDetails.getCredentials());
84+
LOG.trace("Creating new Connection Details for endpoint: " + node.getEndpoint());
85+
connectionBuilder = builder(buildAuthority(node, connectionDetails), connectionDetails.getCredentials());
7986
}
8087
connectionBuilder.withRedirectRetries(connectionDetails.getRetries())
8188
.withHttps(connectionDetails.isHttps())
@@ -86,6 +93,11 @@ public static ConnectionDetails newForNode(final Node node, final ConnectionDeta
8693
return connectionBuilder.build();
8794
}
8895

96+
private static String buildAuthority(final Node node, final ConnectionDetails connectionDetails) {
97+
return node.getEndpoint() + ":" + Integer.toString(
98+
(connectionDetails.isHttps() ? node.getHttpsPort() : node.getHttpPort()));
99+
}
100+
89101
private final String endpoint;
90102
private final Credentials credentials;
91103
private final boolean https;

ds3-sdk/src/main/java/com/spectralogic/ds3client/Ds3ClientBuilder.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@
1818
import com.spectralogic.ds3client.models.Credentials;
1919
import com.spectralogic.ds3client.networking.NetworkClient;
2020
import com.spectralogic.ds3client.utils.Builder;
21+
import org.slf4j.Logger;
22+
import org.slf4j.LoggerFactory;
2123

2224
import java.net.URI;
2325
import java.net.URISyntaxException;
@@ -30,6 +32,8 @@
3032
*/
3133
public class Ds3ClientBuilder implements Builder<Ds3Client> {
3234

35+
static final private Logger LOG = LoggerFactory.getLogger(Ds3ClientBuilder.class);
36+
3337
final private String endpoint;
3438
final private Credentials credentials;
3539

@@ -125,6 +129,7 @@ public Ds3ClientBuilder withRedirectRetries(final int retries) {
125129
*/
126130
@Override
127131
public Ds3Client build() {
132+
LOG.info("Making connection details for endpoint: " + this.endpoint);
128133
final ConnectionDetailsImpl.Builder connBuilder = ConnectionDetailsImpl.builder(this.endpoint, this.credentials)
129134
.withProxy(this.proxy).withHttps(this.https).withCertificateVerification(this.certificateVerification).withRedirectRetries(this.retries).withBufferSize(this.bufferSize);
130135

ds3-sdk/src/main/java/com/spectralogic/ds3client/NetworkClientImpl.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,8 @@
3737
import org.apache.http.impl.client.HttpClients;
3838
import org.apache.http.message.BasicHttpEntityEnclosingRequest;
3939
import org.apache.http.message.BasicHttpRequest;
40+
import org.slf4j.Logger;
41+
import org.slf4j.LoggerFactory;
4042

4143
import javax.net.ssl.SSLContext;
4244
import java.io.Closeable;
@@ -53,6 +55,7 @@
5355
import java.util.Map;
5456

5557
class NetworkClientImpl implements NetworkClient {
58+
final static private Logger LOG = LoggerFactory.getLogger(NetworkClientImpl.class);
5659
final static private String HOST = "HOST";
5760
final static private String DATE = "DATE";
5861
final static private String AUTHORIZATION = "Authorization";
@@ -136,6 +139,8 @@ public RequestExecutor(final CloseableHttpClient client, final Ds3Request ds3Req
136139
if (this.content != null && !this.content.markSupported()) {
137140
throw new RequiresMarkSupportedException();
138141
}
142+
143+
LOG.info("Sending request: " + this.ds3Request.getVerb() + " " + this.host.toString() + "" + this.ds3Request.getPath());
139144
this.hash = this.buildHash();
140145
}
141146

ds3-sdk/src/main/java/com/spectralogic/ds3client/helpers/WriteJobImpl.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@
2525
import com.spectralogic.ds3client.models.bulk.MasterObjectList;
2626
import com.spectralogic.ds3client.models.bulk.Objects;
2727
import com.spectralogic.ds3client.serializer.XmlProcessingException;
28+
import org.slf4j.Logger;
29+
import org.slf4j.LoggerFactory;
2830

2931
import java.io.IOException;
3032
import java.security.SignatureException;
@@ -34,6 +36,7 @@
3436
import java.util.List;
3537

3638
class WriteJobImpl extends JobImpl {
39+
static private final Logger LOG = LoggerFactory.getLogger(WriteJobImpl.class);
3740
public WriteJobImpl(
3841
final Ds3Client client,
3942
final MasterObjectList masterObjectList) {

ds3-sdk/src/test/java/com/spectralogic/ds3client/Ds3Client_Test.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -670,9 +670,11 @@ public void newForNode() {
670670

671671
final Node node = new Node();
672672
node.setEndpoint("newEndpoint");
673+
node.setHttpPort(80);
674+
node.setHttpsPort(443);
673675

674676
final Ds3Client newClient = client.newForNode(node);
675-
assertThat(newClient.getConnectionDetails().getEndpoint(), is("newEndpoint"));
677+
assertThat(newClient.getConnectionDetails().getEndpoint(), is("newEndpoint:443"));
676678
assertThat(newClient.getConnectionDetails().getCredentials().getClientId(), is("access"));
677679
assertThat(newClient.getConnectionDetails().getCredentials().getKey(), is("key"));
678680
}

ds3-sdk/src/test/java/com/spectralogic/ds3client/helpers/Ds3ClientHelpers_Test.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
import com.spectralogic.ds3client.models.Owner;
2727
import com.spectralogic.ds3client.models.bulk.*;
2828
import com.spectralogic.ds3client.models.bulk.Objects;
29+
import com.spectralogic.ds3client.networking.ConnectionDetails;
2930
import com.spectralogic.ds3client.serializer.XmlProcessingException;
3031
import com.spectralogic.ds3client.utils.ByteArraySeekableByteChannel;
3132

@@ -36,6 +37,7 @@
3637
import java.io.IOException;
3738
import java.nio.channels.SeekableByteChannel;
3839
import java.security.SignatureException;
40+
import java.sql.Connection;
3941
import java.util.*;
4042
import java.util.concurrent.TimeUnit;
4143

@@ -170,8 +172,11 @@ public SeekableByteChannel buildChannel(final String key) throws IOException {
170172
@Test
171173
public void testWriteObjectsWithFailedPut() throws SignatureException, IOException, XmlProcessingException {
172174
final Ds3Client ds3Client = mock(Ds3Client.class);
175+
final ConnectionDetails details = mock(ConnectionDetails.class);
176+
Mockito.when(details.getEndpoint()).thenReturn("localhost");
173177

174178
Mockito.when(ds3Client.newForNode(Mockito.<Node>any())).thenReturn(ds3Client);
179+
Mockito.when(ds3Client.getConnectionDetails()).thenReturn(details);
175180

176181
final BulkPutResponse buildBulkPutResponse = buildBulkPutResponse();
177182
Mockito.when(ds3Client.bulkPut(Mockito.any(BulkPutRequest.class))).thenReturn(buildBulkPutResponse);
@@ -317,7 +322,8 @@ private static Contents buildContents(
317322
private static Ds3Client buildDs3ClientForBulk() throws IOException,
318323
SignatureException {
319324
final Ds3Client ds3Client = mock(Ds3Client.class);
320-
325+
final ConnectionDetails details = mock(ConnectionDetails.class);
326+
Mockito.when(details.getEndpoint()).thenReturn("localhost");
321327
final GetAvailableJobChunksResponse jobChunksResponse1 = buildJobChunksResponse1();
322328
final GetAvailableJobChunksResponse jobChunksResponse2 = buildJobChunksResponse2();
323329
final GetAvailableJobChunksResponse jobChunksResponse3 = buildJobChunksResponse3();
@@ -327,7 +333,7 @@ private static Ds3Client buildDs3ClientForBulk() throws IOException,
327333
.thenReturn(jobChunksResponse3);
328334

329335
Mockito.when(ds3Client.newForNode(Mockito.<Node>any())).thenReturn(ds3Client);
330-
336+
Mockito.when(ds3Client.getConnectionDetails()).thenReturn(details);
331337
return ds3Client;
332338
}
333339

0 commit comments

Comments
 (0)