Skip to content
This repository was archived by the owner on Jul 19, 2024. It is now read-only.

Commit abfae32

Browse files
authored
Merge pull request #220 from jofriedm-msft/master
6.0.0 Release
2 parents d54bf94 + b617dd6 commit abfae32

File tree

25 files changed

+1637
-911
lines changed

25 files changed

+1637
-911
lines changed

BreakingChanges.txt

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,14 @@
1-
Changes in 5.1.1
1+
Changes in 6.0.0
2+
3+
FILE
4+
* Many File service APIs can now throw a URISyntaxException.
5+
* Changed listShares() ShareListingDetails parameter to be an enum set like what is done for listing blobs.
6+
7+
OTHER
8+
* DefaultEndpointsProtocol will now be explicitly included in generated connection strings.
9+
* Connection string parsing has been substantially re-written and expanded. Please refer to current documentation about connection string formats.
10+
11+
Changes in 5.1.1
212
OTHER
313
* Reverted the code from 5.1.0 because it contained a regression and an accidental change.
414

ChangeLog.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
2017.10.06 Version 6.0.0
2+
* Added support for taking a snapshot of a share.
3+
* IOExceptions wrapping StorageExceptions will now contain the StorageException message in the outer exception.
4+
* Connection string support expanded to allow AccountName to be specified with SharedAccessSignature and DefaultEndpointsProtocol. In this case, SharedAccessSignature is used for credentials, while having both DefaultEndpointsProtocol and AccountName allows the library to infer a set of default endpoints. Additionally, we have added support for BlobSecondaryEndpoint, QueueSecondaryEndpoint, TableSecondaryEndpoint, and FileSecondaryEndpoint. Specifying a secondary endpoint requires the specification of the corresponding primary.
5+
* All: The use of DefaultEndpointsProtocol in a connection string is now optional in the case where endpoints would be automatically generated; if missing, a value of https will be inferred. When the parsed account settings in such a case are used to generate a connection string, the value of DefaultEndpointsProtocol will be explicitly included.
6+
17
2017.08.28 Version 5.5.0
28
* Fixed a bug when using a SAS token where the token was being omitted from calls to delete a directory in the file service.
39
* For Standard Storage Accounts only, added the ability to set the tier of individual block blobs. The tier can currently only be set through uploadTier()

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ To get the binaries of this library as distributed by Microsoft, ready for use w
3030
<dependency>
3131
<groupId>com.microsoft.azure</groupId>
3232
<artifactId>azure-storage</artifactId>
33-
<version>5.5.0</version>
33+
<version>6.0.0</version>
3434
</dependency>
3535
```
3636

microsoft-azure-storage-samples/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
<dependency>
2727
<groupId>com.microsoft.azure</groupId>
2828
<artifactId>azure-storage</artifactId>
29-
<version>5.5.0</version>
29+
<version>6.0.0</version>
3030
</dependency>
3131
<dependency>
3232
<groupId>com.microsoft.azure</groupId>

microsoft-azure-storage-samples/src/com/microsoft/azure/storage/logging/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
<dependency>
2727
<groupId>com.microsoft.azure</groupId>
2828
<artifactId>azure-storage</artifactId>
29-
<version>5.5.0</version>
29+
<version>6.0.0</version>
3030
</dependency>
3131
<dependency>
3232
<groupId>com.microsoft.azure</groupId>

microsoft-azure-storage-test/src/com/microsoft/azure/storage/EventFiringTests.java

Lines changed: 29 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -20,14 +20,10 @@
2020
import com.microsoft.azure.storage.TestRunners.DevFabricTests;
2121
import com.microsoft.azure.storage.TestRunners.DevStoreTests;
2222

23-
import org.apache.http.protocol.HTTP;
2423
import org.junit.Test;
2524
import org.junit.experimental.categories.Category;
2625

27-
import java.io.ByteArrayInputStream;
28-
import java.io.IOException;
2926
import java.net.HttpURLConnection;
30-
import java.net.SocketException;
3127
import java.net.URISyntaxException;
3228
import java.util.ArrayList;
3329

@@ -121,39 +117,46 @@ public void eventOccurred(ErrorReceivingResponseEvent eventArg) {
121117
}
122118
});
123119

124-
OperationContext.getGlobalErrorReceivingResponseEventHandler().addListener(new StorageEvent<ErrorReceivingResponseEvent>() {
120+
StorageEvent<ErrorReceivingResponseEvent> globalResponseReceivedListener = new StorageEvent<ErrorReceivingResponseEvent>() {
125121

126122
@Override
127123
public void eventOccurred(ErrorReceivingResponseEvent eventArg) {
128124
fail("This event should not trigger");
129125
}
130-
});
126+
};
131127

132-
assertEquals(0, callList.size());
133-
assertEquals(0, globalCallList.size());
128+
try {
129+
OperationContext.getGlobalErrorReceivingResponseEventHandler().addListener(globalResponseReceivedListener);
134130

135-
CloudBlobClient blobClient = TestHelper.createCloudBlobClient();
136-
CloudBlobContainer container = blobClient.getContainerReference("container1");
131+
assertEquals(0, callList.size());
132+
assertEquals(0, globalCallList.size());
137133

138-
// make sure both update
139-
container.exists(null, null, eventContext);
140-
assertEquals(1, callList.size());
141-
assertEquals(1, globalCallList.size());
134+
CloudBlobClient blobClient = TestHelper.createCloudBlobClient();
135+
CloudBlobContainer container = blobClient.getContainerReference("container1");
142136

143-
// make sure only global updates
144-
container.exists();
145-
assertEquals(1, callList.size());
146-
assertEquals(2, globalCallList.size());
137+
// make sure both update
138+
container.exists(null, null, eventContext);
139+
assertEquals(1, callList.size());
140+
assertEquals(1, globalCallList.size());
147141

148-
OperationContext
149-
.setGlobalResponseReceivedEventHandler(new StorageEventMultiCaster<ResponseReceivedEvent, StorageEvent<ResponseReceivedEvent>>());
150-
eventContext
151-
.setResponseReceivedEventHandler(new StorageEventMultiCaster<ResponseReceivedEvent, StorageEvent<ResponseReceivedEvent>>());
142+
// make sure only global updates
143+
container.exists();
144+
assertEquals(1, callList.size());
145+
assertEquals(2, globalCallList.size());
152146

153-
// make sure neither update
154-
container.exists(null, null, eventContext);
155-
assertEquals(1, callList.size());
156-
assertEquals(2, globalCallList.size());
147+
OperationContext
148+
.setGlobalResponseReceivedEventHandler(new StorageEventMultiCaster<ResponseReceivedEvent, StorageEvent<ResponseReceivedEvent>>());
149+
eventContext
150+
.setResponseReceivedEventHandler(new StorageEventMultiCaster<ResponseReceivedEvent, StorageEvent<ResponseReceivedEvent>>());
151+
152+
// make sure neither update
153+
container.exists(null, null, eventContext);
154+
assertEquals(1, callList.size());
155+
assertEquals(2, globalCallList.size());
156+
}
157+
finally {
158+
OperationContext.getGlobalErrorReceivingResponseEventHandler().removeListener(globalResponseReceivedListener);
159+
}
157160
}
158161

159162
@Test

0 commit comments

Comments
 (0)