Skip to content

Commit 8b112fe

Browse files
committed
Update README.md
Assembly info and limitations + download links + example code formatting
1 parent 37d3463 commit 8b112fe

File tree

1 file changed

+54
-18
lines changed

1 file changed

+54
-18
lines changed

README.md

Lines changed: 54 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
# solidfire-sdk-java
2-
Initial wrapping of the SolidFire Management API as a Java SDK
1+
# SolidFire Java SDK
2+
SolidFire Management API as a Java SDK
33

44
##Description
5-
The SolidFire Java SDK is a collection of software modules and libraries that facilitate integration and orchestration between proprietary systems and third-party applications. The Java SDK allows developers to deeply integrate SolidFire system API with their Java programming language. The SolidFire Java SDK reduces the amount of additional coding time required for integration.
5+
The SolidFire Java SDK is a collection of software modules and libraries that facilitate integration and orchestration between proprietary systems and third-party applications. The Java SDK allows developers to deeply integrate SolidFire system API with the Java programming language. The SolidFire Java SDK reduces the amount of additional coding time required for integration.
66

77
##Compatibility
88
| Component | Version |
@@ -15,7 +15,8 @@ Contacting SolidFire SDK Support
1515
If you have any questions or comments about this product, contact <sdk@solidfire.com> or reach out to the developer community at [developer.solidfire.com](http://developer.solidfire.com). Your feedback helps us focus our efforts on new features and capabilities.
1616

1717
##Download
18-
Download the latest JAR or grab via Maven:
18+
[Download](http://mvnrepository.com/artifact/com.solidfire) the latest JAR or grab via Maven:
19+
1920
```xml
2021
<dependency>
2122
<groupId>com.solidfire</groupId>
@@ -25,21 +26,45 @@ Download the latest JAR or grab via Maven:
2526
```
2627

2728
or SBT:
29+
2830
```scala
2931
libraryDependencies += "com.solidfire" % "element-api" % "1.0.0.47"
3032
```
3133

3234
or Gradle:
35+
3336
```groovy
3437
compile 'com.solidfire:element-api:1.0.0.47'
3538
```
39+
##Assembly Jar
40+
The SolidFire Java SDK is also released as a Signed Assembly containing everything you need to quickly spin up a working client to interact with you SolidFire cluster. The assembly can be downloaded [here](https://github.com/solidfire/solidfire-sdk-java/releases/download/v1.0.0.53/solidfire-sdk-1.0.0.53.jar).
41+
42+
___Dependencies___:
43+
44+
| Component | Version |
45+
| --------------- | ------- |
46+
| base64 | 2.3.8 |
47+
| gson | 2.3 |
48+
| joda-time | 2.4 |
49+
| joda-convert | 1.2 |
50+
| slf4j-api | 1.7.7 |
51+
| logback-core | 1.1.3 |
52+
| logback-classic | 1.1.3 |
53+
54+
_**Note**: The SDK assembly should only be used in a standalone setting such as scripting or for prototyping. It should not be used in a production environment as the signed components might conflict with other components that are unsigned or signed with another certificate. See below._
55+
56+
###Limitations with a Certificate Signed Assembly Jar
57+
The SDK assembly is signed with a certificate controlled by SolidFire, Inc, assuring the archive is official and legitimate. One caveat to having a set of components also signed with SolidFire's certificate, is no other version of these components can exist on the classpath. This will cause a security exception in the JVM.
58+
59+
If using the SDK with a restricted version of the above listed components, e.g. logback, or in developing an enterprise solution that runs in a web application container, etc., use the publicly [hosted versions](http://mvnrepository.com/artifact/com.solidfire) of the SDK.
3660

37-
##Assembly
38-
###Limitations with Certificate Signed Assembly Jar
39-
###
4061

4162
##Documentation
42-
[JavaDoc](https://solidfire.github.io/solidfire-sdk-java/latest/api/)
63+
64+
[Latest JavaDoc](https://solidfire.github.io/solidfire-sdk-java/latest/api/)
65+
66+
[1.0.0.53 JavaDoc](https://solidfire.github.io/solidfire-sdk-java/doc/1.0.0.53/)
67+
4368
##Examples
4469
###Examples of using the API (Java)
4570
```java
@@ -54,11 +79,15 @@ public class ReadmeJavaExample {
5479
SolidFireElementIF sf = SolidFireElement.create("mvip", "8.0", "username", "password");
5580

5681
// Create some accounts
57-
AddAccountRequest addAccountRequest = new AddAccountRequest("username", EMPTY_STRING, EMPTY_STRING, EMPTY_MAP);
82+
AddAccountRequest addAccountRequest = new AddAccountRequest("username", EMPTY_STRING,
83+
EMPTY_STRING, EMPTY_MAP);
5884
Long accountId = sf.addAccount(addAccountRequest).getAccountID();
5985

6086
// And a volume with default QoS
61-
CreateVolumeRequest createVolumeRequest = new CreateVolumeRequest("volumeName", accountId, 1000000000l, false, Optional.<QoS>empty(), EMPTY_MAP);
87+
CreateVolumeRequest createVolumeRequest = new CreateVolumeRequest("volumeName", accountId,
88+
1000000000l, false,
89+
Optional.<QoS>empty(),
90+
EMPTY_MAP);
6291
Long volumeId = sf.createVolume(createVolumeRequest).getVolumeID();
6392

6493
// Lookup iqn for new volume
@@ -68,7 +97,10 @@ public class ReadmeJavaExample {
6897
QoS qos = new QoS(of(5000l), EMPTY_LONG, of(30000l), EMPTY_LONG );
6998

7099
// Modify the volume size and QoS
71-
ModifyVolumeRequest modifyVolumeRequest = new ModifyVolumeRequest(volumeId, EMPTY_LONG, EMPTY_STRING, EMPTY_STRING, of(qos), of(2000000000l), EMPTY_MAP)
100+
ModifyVolumeRequest modifyVolumeRequest = new ModifyVolumeRequest(volumeId, EMPTY_LONG,
101+
EMPTY_STRING, EMPTY_STRING,
102+
of(qos), of(2000000000l),
103+
EMPTY_MAP)
72104
sf.modifyVolume(modifyVolumeRequest);
73105
}
74106
}
@@ -87,25 +119,29 @@ class ReadmeExample {
87119
val sf = SolidFireElement.create( "mvip", "8.0", "username", "password" )
88120

89121
// Create some accounts
90-
val addAccount = new AddAccountRequest( "username", empty[String], empty[String], empty( ) )
91-
val accountId = sf.addAccount( addAccount ).getAccountID
122+
val addAccount = new AddAccountRequest( "username", empty[String], empty[String], empty())
123+
val accountId = sf.addAccount(addAccount).getAccountID
92124

93125
// And a volume
94-
val createVolume = new CreateVolumeRequest( "volumeName", accountId, 1000000000l, false, empty[QoS], empty( ) )
95-
val volumeId = sf.createVolume( createVolume ).getVolumeID
126+
val createVolume = new CreateVolumeRequest( "volumeName", accountId, 1000000000l, false, empty[QoS], empty())
127+
val volumeId = sf.createVolume(createVolume).getVolumeID
96128

97129
// Lookup iqn for new volume
98-
val iqn: String = sf.listVolumesForAccount( accountId, of( volumeId ), of( 1l ) ).getVolumes( )( 0 ).getIqn
130+
val iqn: String = sf.listVolumesForAccount( accountId, of(volumeId), of(1l)).getVolumes()(0).getIqn
99131

100132
// Change Min and Burst QoS while keeping Max and Burst Time the same
101-
val qos: QoS = new QoS( of( 5000l ), empty[Long], of( 30000l ), empty[Long] )
133+
val qos: QoS = new QoS(of(5000l), empty[Long], of(30000l), empty[Long])
102134

103135
// Modify the volume
104-
val modifyVolume = new ModifyVolumeRequest( volumeId, empty[Long], empty[String], empty[String], of( qos ), of( 2000000000l ), empty( ) )
136+
val modifyVolume = new ModifyVolumeRequest(volumeId, empty[Long], empty[String], empty[String],
137+
of(qos), of( 2000000000l ), empty() )
105138
sf.modifyVolume( modifyVolume )
106139
}
107140
```
108141
##Roadmap
142+
143+
___TBD___
144+
109145
##License
110146
Copyright © 2015 SolidFire, Inc. All rights reserved.
111147

0 commit comments

Comments
 (0)