Skip to content

Commit 3991fd9

Browse files
author
Adam Haid
committed
Merge branch 'release1.2'
2 parents 48afccc + 82050ea commit 3991fd9

File tree

2,303 files changed

+787214
-22916
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

2,303 files changed

+787214
-22916
lines changed

.gitignore

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,13 @@
1+
<<<<<<< HEAD
2+
*.iml
3+
.idea/
4+
_site
5+
.sass-cache
6+
.git/
7+
target/
8+
project/
9+
10+
=======
111
*~
212
:*.swp
313
*.orig
@@ -17,3 +27,4 @@ target
1727
.history
1828

1929
.DS_Store
30+
>>>>>>> release1.2

Java-SDK-Icon-RGB-02.png

5.36 KB
Loading
118 KB
Binary file not shown.

README.md

Lines changed: 53 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -1,130 +1,115 @@
1-
# <img src="https://raw.githubusercontent.com/solidfire/solidfire-sdk-java/gh-pages/Java-SDK-Icon-RGB-02.png" height="50" width="50" > SolidFire Java SDK
1+
# SolidFire Java SDK
22

3-
Java SDK library for interacting with SolidFire Element API
3+
### Version 1.2 (github)
44

5-
## Current Release
6-
7-
Version: 1.1.0.85
5+
<img src="https://raw.githubusercontent.com/solidfire/solidfire-sdk-java/gh-pages/Java-SDK-Icon-RGB-02.png" height="50" width="50" >
86

97
## Description
108

119
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.
1210

13-
## Compatibility
14-
15-
| Component | Version |
16-
| ------------ | ------------------- |
17-
| Java | 7.0 & 8.0 |
18-
| SolidFire OS | Element 7.0 - 8.4\* |
19-
20-
\*<sub><sup>_**Note**: This version of the SDK will work with versions of Element OS greater then 8.4 but some features will not be supported in the API._</sup></sub>
21-
22-
## Getting Help
23-
24-
Contacting SolidFire SDK Support
25-
If you have any questions or comments about this product, contact <ng-sf-host-integrations-sdk@netapp.com> or reach out to the developer community at [ThePub](http://netapp.io). Your feedback helps us focus our efforts on new features and capabilities.
26-
27-
## Download
11+
## Installation
2812

2913
[Download](http://mvnrepository.com/artifact/com.solidfire) the latest JAR or grab via Maven:
3014

3115
~~~ xml
32-
3316
<dependency>
3417
<groupId>com.solidfire</groupId>
3518
<artifactId>solidfire-sdk-java</artifactId>
36-
<version>1.1.0.85</version>
19+
<version>1.2.0.172</version>
3720
</dependency>
3821

3922
~~~
4023

4124
or SBT:
4225

4326
~~~ scala
44-
45-
libraryDependencies += "com.solidfire" % "solidfire-sdk-java" % "1.1.0.85"
27+
libraryDependencies += "com.solidfire" % "solidfire-sdk-java" % "1.2.0.172"
4628

4729
~~~
4830

4931
or Gradle:
5032

5133
~~~ groovy
52-
53-
compile 'com.solidfire:solidfire-sdk-java:1.1.0.85'
34+
compile 'com.solidfire:solidfire-sdk-java:1.2.0.172'
5435
5536
~~~
5637

5738
## Assembly Jar
5839

59-
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.1.0.85/solidfire-sdk-assembly-1.1.0.85.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.2/solidfire-sdk-assembly-1.2.0.172.jar).
6041

6142
___Dependencies___:
6243

6344
| Component | Version |
6445
| ------------------- | ------- |
65-
| jsvcgen-client-java | 0.3.0 |
6646
| base64 | 2.3.9 |
67-
| gson | 2.6.2 |
47+
| solidfire.code.gson | 2.6.2 |
6848
| joda-time | 2.9.3 |
6949
| joda-convert | 1.8.1 |
7050
| slf4j-api | 1.6.6 |
7151

72-
_**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._
7352

7453
### Limitations with a Certificate Signed Assembly Jar
7554

7655
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.
7756

7857
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.
7958

59+
## Compatibility
60+
61+
| Component | Version |
62+
| ------------ | ------------------- |
63+
| Java | 7.0 & 8.0 |
64+
| SolidFire OS | Element 7.0 - 9.0 |
8065

8166
## Documentation
8267

8368
[Latest JavaDoc](https://solidfire.github.io/solidfire-sdk-java/latest/api/)
8469

85-
[1.1.0.85 JavaDoc](https://solidfire.github.io/solidfire-sdk-java/doc/v1.1/)
70+
[Release Notes](https://github.com/solidfire/solidfire-sdk-java/raw/gh-pages/NetApp_SolidFire_Java_SDK_v1.2_Release_Notes.pdf)
8671

87-
[1.0.0.53 JavaDoc](https://solidfire.github.io/solidfire-sdk-java/doc/v1.0/)
72+
## Getting Help
73+
74+
If you have any questions or comments about this product, open an issue on our [GitHub repo](https://github.com/solidfire/solidfire-sdk-java) or reach out to the online developer community at [ThePub](http://netapp.io). Your feedback helps us focus our efforts on new features and capabilities.
8875

8976
## Examples
9077

91-
Step 1 - Build a [SolidFireElement](https://solidfire.github.io/solidfire-sdk-java/doc/v1.1/com/solidfire/element/api/SolidFireElement.html) object using the factory
92-
---
93-
This is the preferred way to construct the [SolidFireElement](https://solidfire.github.io/solidfire-sdk-java/doc/v1.1/com/solidfire/element/api/SolidFireElement.html) object. The factory will make a call to the SolidFire cluster using the credentials supplied to test the connection. It will also set the version to communicate with based on the highest number supported by the
94-
SDK and Element OS. Optionally, you can choose to set the version manually and whether or not to verify SSL. Read more about it in the [ElementFactory](https://solidfire.github.io/solidfire-sdk-java/doc/v1.1/com/solidfire/client/ElementFactory.html) documentation.
78+
#### Step 1 - Build a SolidFireElement object using the factory
79+
80+
This is the preferred way to construct the SolidFireElement object. The factory will make a call to the SolidFire cluster using the credentials supplied to test the connection. It will also set the version to communicate with based on the highest number supported by the
81+
SDK and Element OS. Optionally, you can choose to set the version manually and whether or not to verify SSL. Read more about it in the ElementFactory documentation.
9582

9683
#### Java:
9784

9885
~~~ java
99-
10086
import com.solidfire.client.ElementFactory;
10187
import com.solidfire.element.api.*;
102-
import com.solidfire.jsvcgen.javautil.Optional;
88+
import com.solidfire.core.javautil.Optional;
10389

10490
// Import Optional common empty types (String, Long, & Map)
105-
import static com.solidfire.jsvcgen.javautil.Optional.*;
91+
import static com.solidfire.core.javautil.Optional.*;
10692

10793
...
10894
// Use ElementFactory to get a SolidFireElement object.
109-
SolidFireElement sfe = ElementFactory.create("mvip", "username", "password", "8.0");
95+
SolidFireElement sfe = ElementFactory.create("mvip", "username", "password");
11096

11197
~~~
11298

11399
#### Scala:
114100

115101
~~~ scala
116-
117102
import com.solidfire.client.ElementFactory
118103
import com.solidfire.element.api._
119-
import com.solidfire.jsvcgen.javautil.Optional.{empty, of}
104+
import com.solidfire.core.javautil.Optional.{empty, of}
120105

121106
...
122107
// Use ElementFactory to get a SolidFireElement object.
123-
val sf = ElementFactory.create( "mvip", "username", "password", "8.0" )
108+
val sf = ElementFactory.create( "mvip", "username", "password" )
124109

125110
~~~
126111

127-
## Step 2 - Call the API method and retrieve the result
112+
#### Step 2 - Call the API method and retrieve the result
128113

129114
All service methods in SolidFireElement call API endpoints and they all return result objects. The naming convention is <i>[methodName]Result</i>. For example, <i>listAccounts()</i> returns a <i>ListAccountsResult</i> object which has a property called <i>getAccounts()</i> returns an array of <i>Accounts</i> that can be iterated.
130115

@@ -134,7 +119,6 @@ from the <i>AddAccountResult</i> object.
134119
#### Java:
135120

136121
~~~ java
137-
138122
// Send the request and wait for the result then pull the Account
139123
ListAccountsResult listAccountsResult = sfe.listAccounts(ListAccountsRequest.builder().build());
140124
Account account = listAccountsResult.getAccounts()[0];
@@ -144,7 +128,6 @@ from the <i>AddAccountResult</i> object.
144128
#### Scala:
145129

146130
~~~ scala
147-
148131
// Send the request and wait for the result then pull the first Account
149132
val listAccountsResult = sfe.listAccounts(ListAccountsRequest.builder.build)
150133
val account = listAccountsResult.getAccounts()(0)
@@ -154,13 +137,12 @@ from the <i>AddAccountResult</i> object.
154137
### Examples of using the API (Java)
155138

156139
~~~ java
157-
158140
import com.solidfire.client.ElementFactory;
159141
import com.solidfire.element.api.*;
160-
import com.solidfire.jsvcgen.javautil.Optional;
142+
import com.solidfire.core.javautil.Optional;
161143

162144
// Import Optional common empty types (String, Long, & Map)
163-
import static com.solidfire.jsvcgen.javautil.Optional.*;
145+
import static com.solidfire.core.javautil.Optional.*;
164146
public class ReadmeJavaExample {
165147
public static void main(String[] args) {
166148
// Create Connection to SF Cluster
@@ -211,10 +193,9 @@ public class ReadmeJavaExample {
211193
### Examples of using the API (Scala)
212194

213195
~~~ scala
214-
215196
import com.solidfire.client.ElementFactory
216197
import com.solidfire.element.api._
217-
import com.solidfire.jsvcgen.javautil.Optional.{empty, of}
198+
import com.solidfire.core.javautil.Optional.{empty, of}
218199

219200
class ReadmeScalaExample {
220201

@@ -267,7 +248,6 @@ Connection timeout (useful for failing fast when a host becomes unreachable):
267248
#### Java:
268249

269250
~~~ java
270-
271251
import com.solidfire.client.ElementFactory;
272252
import com.solidfire.element.api.*;
273253
...
@@ -281,7 +261,6 @@ Read timeout (useful for extending time for a service call to return):
281261
#### Java:
282262

283263
~~~ java
284-
285264
import com.solidfire.client.ElementFactory;
286265
import com.solidfire.element.api.*;
287266
...
@@ -290,10 +269,6 @@ Read timeout (useful for extending time for a service call to return):
290269

291270
~~~
292271

293-
## More Examples
294-
295-
More specific examples are available [here](examples/examples.md)
296-
297272
## Logging and Logback
298273

299274
The SDK and the Assembly leverage the [SLF4J API](http://www.slf4j.org/) for logging with the assembly also including [logback-classic](http://logback.qos.ch/reasonsToSwitch.html) implementation. An advantage to using the SLF4J interface is the availability of legacy logging framework [bridges](http://www.slf4j.org/legacy.html), for intercepting and consolidating all logging calls into a single log.
@@ -303,7 +278,6 @@ The SDK and the Assembly leverage the [SLF4J API](http://www.slf4j.org/) for log
303278
An example logback.xml:
304279

305280
~~~ xml
306-
307281
<configuration debug="true">
308282

309283
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
@@ -314,26 +288,39 @@ An example logback.xml:
314288
</encoder>
315289
</appender>
316290

317-
<logger name="com.solidfire.element.api.SolidFireElement" level="DEBUG" />
291+
<logger name="com.solidfire.core.client.ServiceBase" level="DEBUG" />
318292

319293
<root level="INFO">
320294
<appender-ref ref="STDOUT" />
321295
</root>
322296
</configuration>
297+
~~~
323298

299+
You also need to add the appropriate SLF4J dependency. Continuing with the logback example:
300+
301+
~~~ xml
302+
<dependency>
303+
<groupId>ch.qos.logback</groupId>
304+
<artifactId>logback-classic</artifactId>
305+
<version>1.1.3</version>
306+
</dependency>
324307
~~~
325308

326-
## Roadmap
309+
## More Examples
310+
311+
More specific examples are available [here](https://github.com/solidfire/solidfire-sdk-java/blob/master/examples/examples.md)
312+
313+
## Release History
327314

328-
| Version | Release Date | Notes |
329-
| ------- | ------------------ | ---------------------------------------------------------------- |
330-
| 1.0 | November 20, 2015 | Accounts, Volumes, Access Groups, Snapshots, and Group Snapshots |
331-
| 1.1 | September 20, 2016 | Additional Nitrogen & Oxygen API Coverage |
332-
| 1.2 | ___TBD___ | Complete Nitrogen, Oxygen, & Fluorine API Coverage |
315+
| Version | Release Date | Notes |
316+
| ------- | --------------| ---------------------------------------------------------------- |
317+
| 1.2 | Jan 25, 2017 | Complete Nitrogen, Oxygen, & Fluorine API Coverage |
318+
| 1.1 | Sep 20, 2016 | Additional Nitrogen & Oxygen API Coverage |
319+
| 1.0 | Nov 20, 2015 | Accounts, Volumes, Access Groups, Snapshots, and Group Snapshots |
333320

334321
## License
335322

336-
Copyright © 2016 NetApp, Inc. All rights reserved.
323+
Copyright © 2016, 2017 NetApp, Inc. All rights reserved.
337324

338325
Licensed under the Apache License, Version 2.0 (the "License");
339326
you may not use this file except in compliance with the License.

_config.yml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# Site settings
2+
3+
# Build settings
4+
ghlighter: rouge
5+
markdown: kramdown
6+
kramdown:
7+
input: GFM
8+
auto_ids: true
9+
syntax_highlighter: rouge

_layouts/index.html

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
<!DOCTYPE html>
2+
<html lang="en-us">
3+
<head>
4+
<meta charset="UTF-8">
5+
<title>solidfire-sdk-java by NetApp, Inc.</title>
6+
<meta name="viewport" content="width=device-width, initial-scale=1">
7+
<link rel="stylesheet" type="text/css" href="stylesheets/normalize.css" media="screen">
8+
<link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700' rel='stylesheet' type='text/css'>
9+
<link rel="stylesheet" type="text/css" href="stylesheets/stylesheet.css" media="screen">
10+
<link rel="stylesheet" type="text/css" href="stylesheets/github-light.css" media="screen">
11+
<link rel="shortcut icon" type="image/png" href="https://raw.githubusercontent.com/solidfire/solidfire-sdk-java/gh-pages/favicon.ico"/>
12+
</head>
13+
<body>
14+
<section class="page-header">
15+
<h1 class="project-name">SolidFire Java SDK</h1>
16+
<h2 class="project-tagline">SolidFire Management API</h2>
17+
<a href="https://github.com/solidfire/solidfire-sdk-java" class="btn">View on GitHub</a>
18+
<a href="https://github.com/solidfire/solidfire-sdk-java/releases/download/v1.1.0.85/solidfire-sdk-assembly-1.1.0.85.jar" class="btn">Download Latest Assembly.jar</a>
19+
<a href="https://solidfire.github.io/solidfire-sdk-java/latest/api/" class="btn">Latest JavaDoc</a>
20+
<a href="http://www.solidfire.com/" class="btn">SolidFire.com</a>
21+
</section>
22+
23+
<section class="main-content">
24+
{{content}}
25+
<footer class="site-footer">
26+
<span class="site-footer-owner"><a href="https://github.com/solidfire/solidfire-sdk-java">solidfire-sdk-java</a> is maintained by <a href="http://netapp.com">NetApp, Inc.</a>.</span>
27+
</footer>
28+
</section>
29+
30+
</body>
31+
</html>
32+

build.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@ rm -f ../solidfire-sdk-java.gh-pages/**/*.md-e
3333
# commit and push generated content to `master' branch
3434
# since repository was cloned in write mode with token auth - we can push there
3535
cd ../solidfire-sdk-java.gh-pages
36-
git config user.email "jason.womack@solidfire.com"
37-
git config user.name "Jason Ryan Womack"
36+
git config user.email "adam.haid@solidfire.com"
37+
git config user.name "Adam Haid"
3838
git add -A .
3939
git commit --allow-empty -a -m "Travis #$TRAVIS_BUILD_NUMBER"
4040
git push --quiet origin gh-pages > /dev/null 2>&1

0 commit comments

Comments
 (0)