Skip to content

Commit 38f3c7b

Browse files
author
hansdude
committed
Merge pull request #28 from rpmoore/master
Adding back in the size filter. Updating tests to reflect the change.
2 parents a1d1d51 + 00b61cf commit 38f3c7b

File tree

4 files changed

+37
-9
lines changed

4 files changed

+37
-9
lines changed

src/main/java/com/spectralogic/ds3client/models/bulk/Ds3Object.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,10 @@
1515

1616
package com.spectralogic.ds3client.models.bulk;
1717

18+
import com.fasterxml.jackson.annotation.JsonFilter;
1819
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
1920

21+
@JsonFilter("sizeFilter")
2022
public class Ds3Object {
2123
@JacksonXmlProperty(isAttribute = true, localName = "Name")
2224
private String name;

src/main/java/com/spectralogic/ds3client/serializer/XmlOutput.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ public static String toXml(final Object object) throws XmlProcessingException {
4242
return toXml(object, null);
4343
}
4444

45-
public static String toXml(final Object object, final FilterProvider filterProvider) throws XmlProcessingException {
45+
private static String toXml(final Object object, final FilterProvider filterProvider) throws XmlProcessingException {
4646
try {
4747
if (filterProvider == null) {
4848
return mapper.writeValueAsString(object);
@@ -57,13 +57,11 @@ public static String toXml(final Object object, final FilterProvider filterProvi
5757
}
5858

5959
public static String toXml(final Ds3ObjectList objects, final BulkCommand command) throws XmlProcessingException {
60-
/*
6160
if (command == BulkCommand.GET) {
6261
final FilterProvider filters = new SimpleFilterProvider().addFilter("sizeFilter",
63-
SimpleBeanPropertyFilter.serializeAllExcept("size"));
62+
SimpleBeanPropertyFilter.serializeAllExcept("Size"));
6463
return XmlOutput.toXml(objects, filters);
6564
}
66-
*/
6765
return XmlOutput.toXml(objects);
6866
}
6967

src/test/java/com/spectralogic/ds3client/Ds3Client_Test.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -270,7 +270,15 @@ public void runBulkTest(final BulkCommand command, final BulkTestDriver driver)
270270
new Ds3Object("file3", 2523)
271271
);
272272

273-
final String expectedXmlBody = "<Objects><Object Name=\"file1\" Size=\"256\"/><Object Name=\"file2\" Size=\"1202\"/><Object Name=\"file3\" Size=\"2523\"/></Objects>";
273+
final String expectedXmlBody;
274+
275+
if (command == BulkCommand.GET) {
276+
expectedXmlBody = "<Objects><Object Name=\"file1\"/><Object Name=\"file2\"/><Object Name=\"file3\"/></Objects>";
277+
}
278+
else {
279+
expectedXmlBody = "<Objects><Object Name=\"file1\" Size=\"256\"/><Object Name=\"file2\" Size=\"1202\"/><Object Name=\"file3\" Size=\"2523\"/></Objects>";
280+
}
281+
274282
final String xmlResponse = "<MasterObjectList BucketName=\"lib\" JobId=\"9652a41a-218a-4158-af1b-064ab9e4ef71\" Priority=\"NORMAL\" RequestType=\"PUT\" StartDate=\"2014-07-29T16:08:39.000Z\"><Nodes><Node EndPoint=\"FAILED_TO_DETERMINE_DATAPATH_IP_ADDRESS\" HttpPort=\"80\" HttpsPort=\"443\" Id=\"b18ee082-1352-11e4-945e-080027ebeb6d\"/></Nodes><Objects ChunkId=\"cfa3153f-57de-41c7-b1fb-f30fa4154232\" ChunkNumber=\"0\"><Object Name=\"file2\" InCache=\"false\" Length=\"1202\" Offset=\"0\"/><Object Name=\"file1\" InCache=\"false\" Length=\"256\" Offset=\"0\"/><Object Name=\"file3\" InCache=\"false\" Length=\"2523\" Offset=\"0\"/></Objects></MasterObjectList>";
275283

276284
final Map<String, String> queryParams = new HashMap<>();

src/test/java/com/spectralogic/ds3client/serializer/XmlOutput_Test.java

Lines changed: 24 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,10 @@
1515

1616
package com.spectralogic.ds3client.serializer;
1717

18-
import com.spectralogic.ds3client.models.bulk.BulkObject;
19-
import com.spectralogic.ds3client.models.bulk.Ds3Object;
18+
import com.google.common.collect.ImmutableList;
19+
import com.spectralogic.ds3client.BulkCommand;
20+
import com.spectralogic.ds3client.models.bulk.*;
2021
import com.spectralogic.ds3client.models.ListBucketResult;
21-
import com.spectralogic.ds3client.models.bulk.MasterObjectList;
22-
import com.spectralogic.ds3client.models.bulk.Objects;
2322
import org.junit.Test;
2423

2524
import java.io.IOException;
@@ -64,4 +63,25 @@ public void bucketListWithEmptyContents() throws IOException {
6463
assertThat(result, is(notNullValue()));
6564
assertThat(result.getContentsList(), is(notNullValue()));
6665
}
66+
67+
@Test
68+
public void toXmlWithNoFilter() throws XmlProcessingException {
69+
final String expectedString = "<Objects><Object Name=\"file1\" Size=\"12\"/><Object Name=\"file2\" Size=\"5022\"/></Objects>";
70+
final List<Ds3Object> objectList = ImmutableList.of(new Ds3Object("file1", 12), new Ds3Object("file2", 5022)).asList();
71+
final Ds3ObjectList ds3ObjectList = new Ds3ObjectList(objectList);
72+
final String result = XmlOutput.toXml(ds3ObjectList, BulkCommand.PUT);
73+
74+
assertThat(result, is(expectedString));
75+
}
76+
77+
@Test
78+
public void toXmlWithFilter() throws XmlProcessingException {
79+
final String expectedString = "<Objects><Object Name=\"file1\"/><Object Name=\"file2\"/></Objects>";
80+
final List<Ds3Object> objectList = ImmutableList.of(new Ds3Object("file1", 12), new Ds3Object("file2", 5022)).asList();
81+
final Ds3ObjectList ds3ObjectList = new Ds3ObjectList(objectList);
82+
final String result = XmlOutput.toXml(ds3ObjectList, BulkCommand.GET);
83+
84+
assertThat(result, is(expectedString));
85+
86+
}
6787
}

0 commit comments

Comments
 (0)