Skip to content

Commit c2a9206

Browse files
author
sjaising
committed
Adobe Sign Java SDK 1.0
0 parents  commit c2a9206

1,329 files changed

Lines changed: 150351 additions & 0 deletions

File tree

Some content is hidden

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

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
CHANGELOG
2+
=========
3+
v1.0 (May 31, 2016)
4+
------
5+
* Initial Release

LICENSE

Lines changed: 191 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,191 @@
1+
/*
2+
* Copyright 2016 Adobe Systems Incorporated. All rights reserved.
3+
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
4+
* you may not use this file except in compliance with the License. You may obtain a copy
5+
* of the License at http://www.apache.org/licenses/LICENSE-2.0
6+
*
7+
* Unless required by applicable law or agreed to in writing, software distributed under
8+
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9+
* OF ANY KIND, either express or implied. See the License for the specific language
10+
* governing permissions and limitations under the License.
11+
*
12+
*/
13+
14+
The Adobe Sign Java SDK is released under the following license:
15+
16+
Apache License
17+
Version 2.0, January 2004
18+
http://www.apache.org/licenses/
19+
20+
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
21+
22+
1. Definitions.
23+
24+
"License" shall mean the terms and conditions for use, reproduction,
25+
and distribution as defined by Sections 1 through 9 of this document.
26+
27+
"Licensor" shall mean the copyright owner or entity authorized by
28+
the copyright owner that is granting the License.
29+
30+
"Legal Entity" shall mean the union of the acting entity and all
31+
other entities that control, are controlled by, or are under common
32+
control with that entity. For the purposes of this definition,
33+
"control" means (i) the power, direct or indirect, to cause the
34+
direction or management of such entity, whether by contract or
35+
otherwise, or (ii) ownership of fifty percent (50%) or more of the
36+
outstanding shares, or (iii) beneficial ownership of such entity.
37+
38+
"You" (or "Your") shall mean an individual or Legal Entity
39+
exercising permissions granted by this License.
40+
41+
"Source" form shall mean the preferred form for making modifications,
42+
including but not limited to software source code, documentation
43+
source, and configuration files.
44+
45+
"Object" form shall mean any form resulting from mechanical
46+
transformation or translation of a Source form, including but
47+
not limited to compiled object code, generated documentation,
48+
and conversions to other media types.
49+
50+
"Work" shall mean the work of authorship, whether in Source or
51+
Object form, made available under the License, as indicated by a
52+
copyright notice that is included in or attached to the work
53+
(an example is provided in the Appendix below).
54+
55+
"Derivative Works" shall mean any work, whether in Source or Object
56+
form, that is based on (or derived from) the Work and for which the
57+
editorial revisions, annotations, elaborations, or other modifications
58+
represent, as a whole, an original work of authorship. For the purposes
59+
of this License, Derivative Works shall not include works that remain
60+
separable from, or merely link (or bind by name) to the interfaces of,
61+
the Work and Derivative Works thereof.
62+
63+
"Contribution" shall mean any work of authorship, including
64+
the original version of the Work and any modifications or additions
65+
to that Work or Derivative Works thereof, that is intentionally
66+
submitted to Licensor for inclusion in the Work by the copyright owner
67+
or by an individual or Legal Entity authorized to submit on behalf of
68+
the copyright owner. For the purposes of this definition, "submitted"
69+
means any form of electronic, verbal, or written communication sent
70+
to the Licensor or its representatives, including but not limited to
71+
communication on electronic mailing lists, source code control systems,
72+
and issue tracking systems that are managed by, or on behalf of, the
73+
Licensor for the purpose of discussing and improving the Work, but
74+
excluding communication that is conspicuously marked or otherwise
75+
designated in writing by the copyright owner as "Not a Contribution."
76+
77+
"Contributor" shall mean Licensor and any individual or Legal Entity
78+
on behalf of whom a Contribution has been received by Licensor and
79+
subsequently incorporated within the Work.
80+
81+
2. Grant of Copyright License. Subject to the terms and conditions of
82+
this License, each Contributor hereby grants to You a perpetual,
83+
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
84+
copyright license to reproduce, prepare Derivative Works of,
85+
publicly display, publicly perform, sublicense, and distribute the
86+
Work and such Derivative Works in Source or Object form.
87+
88+
3. Grant of Patent License. Subject to the terms and conditions of
89+
this License, each Contributor hereby grants to You a perpetual,
90+
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
91+
(except as stated in this section) patent license to make, have made,
92+
use, offer to sell, sell, import, and otherwise transfer the Work,
93+
where such license applies only to those patent claims licensable
94+
by such Contributor that are necessarily infringed by their
95+
Contribution(s) alone or by combination of their Contribution(s)
96+
with the Work to which such Contribution(s) was submitted. If You
97+
institute patent litigation against any entity (including a
98+
cross-claim or counterclaim in a lawsuit) alleging that the Work
99+
or a Contribution incorporated within the Work constitutes direct
100+
or contributory patent infringement, then any patent licenses
101+
granted to You under this License for that Work shall terminate
102+
as of the date such litigation is filed.
103+
104+
4. Redistribution. You may reproduce and distribute copies of the
105+
Work or Derivative Works thereof in any medium, with or without
106+
modifications, and in Source or Object form, provided that You
107+
meet the following conditions:
108+
109+
(a) You must give any other recipients of the Work or
110+
Derivative Works a copy of this License; and
111+
112+
(b) You must cause any modified files to carry prominent notices
113+
stating that You changed the files; and
114+
115+
(c) You must retain, in the Source form of any Derivative Works
116+
that You distribute, all copyright, patent, trademark, and
117+
attribution notices from the Source form of the Work,
118+
excluding those notices that do not pertain to any part of
119+
the Derivative Works; and
120+
121+
(d) If the Work includes a "NOTICE" text file as part of its
122+
distribution, then any Derivative Works that You distribute must
123+
include a readable copy of the attribution notices contained
124+
within such NOTICE file, excluding those notices that do not
125+
pertain to any part of the Derivative Works, in at least one
126+
of the following places: within a NOTICE text file distributed
127+
as part of the Derivative Works; within the Source form or
128+
documentation, if provided along with the Derivative Works; or,
129+
within a display generated by the Derivative Works, if and
130+
wherever such third-party notices normally appear. The contents
131+
of the NOTICE file are for informational purposes only and
132+
do not modify the License. You may add Your own attribution
133+
notices within Derivative Works that You distribute, alongside
134+
or as an addendum to the NOTICE text from the Work, provided
135+
that such additional attribution notices cannot be construed
136+
as modifying the License.
137+
138+
You may add Your own copyright statement to Your modifications and
139+
may provide additional or different license terms and conditions
140+
for use, reproduction, or distribution of Your modifications, or
141+
for any such Derivative Works as a whole, provided Your use,
142+
reproduction, and distribution of the Work otherwise complies with
143+
the conditions stated in this License.
144+
145+
5. Submission of Contributions. Unless You explicitly state otherwise,
146+
any Contribution intentionally submitted for inclusion in the Work
147+
by You to the Licensor shall be under the terms and conditions of
148+
this License, without any additional terms or conditions.
149+
Notwithstanding the above, nothing herein shall supersede or modify
150+
the terms of any separate license agreement you may have executed
151+
with Licensor regarding such Contributions.
152+
153+
6. Trademarks. This License does not grant permission to use the trade
154+
names, trademarks, service marks, or product names of the Licensor,
155+
except as required for reasonable and customary use in describing the
156+
origin of the Work and reproducing the content of the NOTICE file.
157+
158+
7. Disclaimer of Warranty. Unless required by applicable law or
159+
agreed to in writing, Licensor provides the Work (and each
160+
Contributor provides its Contributions) on an "AS IS" BASIS,
161+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
162+
implied, including, without limitation, any warranties or conditions
163+
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
164+
PARTICULAR PURPOSE. You are solely responsible for determining the
165+
appropriateness of using or redistributing the Work and assume any
166+
risks associated with Your exercise of permissions under this License.
167+
168+
8. Limitation of Liability. In no event and under no legal theory,
169+
whether in tort (including negligence), contract, or otherwise,
170+
unless required by applicable law (such as deliberate and grossly
171+
negligent acts) or agreed to in writing, shall any Contributor be
172+
liable to You for damages, including any direct, indirect, special,
173+
incidental, or consequential damages of any character arising as a
174+
result of this License or out of the use or inability to use the
175+
Work (including but not limited to damages for loss of goodwill,
176+
work stoppage, computer failure or malfunction, or any and all
177+
other commercial damages or losses), even if such Contributor
178+
has been advised of the possibility of such damages.
179+
180+
9. Accepting Warranty or Additional Liability. While redistributing
181+
the Work or Derivative Works thereof, You may choose to offer,
182+
and charge a fee for, acceptance of support, warranty, indemnity,
183+
or other liability obligations and/or rights consistent with this
184+
License. However, in accepting such obligations, You may act only
185+
on Your own behalf and on Your sole responsibility, not on behalf
186+
of any other Contributor, and only if You agree to indemnify,
187+
defend, and hold each Contributor harmless for any liability
188+
incurred by, or claims asserted against, such Contributor by reason
189+
of your accepting any such warranty or additional liability.
190+
191+
END OF TERMS AND CONDITIONS

README.md

Lines changed: 180 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,180 @@
1+
2+
# Adobe Sign API Java SDK
3+
4+
# Overview
5+
Adobe Sign SDK aims at providing an easy way to integrate the Adobe Sign RESTful web service into client applications through easy to consume client side objects wrapping the REST API functionality. This repository contains Adobe Sign’s SDK in Java and samples for these APIs.
6+
7+
# Table of contents
8+
9+
- [Adobe Sign API Java SDK](#adobe-sign-api-java-sdk)
10+
- [Overview](#overview)
11+
- [Table of contents](#table-of-contents)
12+
- [Prerequisites](#prerequisites)
13+
- [Third party dependencies](#third-party-dependencies)
14+
- [Getting Started](#getting-started)
15+
- [Downloading and Building the SDK](#downloading-and-building-the-sdk)
16+
- [APIs](#apis)
17+
- [Samples](#samples)
18+
- [Running the Samples](#running-the-samples)
19+
- [Tests](#tests)
20+
- [Executing the tests](#executing-the-tests)
21+
- [Documentation](#documentation)
22+
- [Report Issues/Bugs](#report-issuesbugs)
23+
24+
Prerequisites
25+
====================
26+
For the Java-based SDK, the client machine should have the following software installed:
27+
* OS: Windows/Mac/Linux
28+
* Java JDK: version 1.7 or above
29+
* Gradle: 2.0 version or above
30+
31+
32+
Third party dependencies
33+
====================
34+
The SDK incorporates the following third party libraries:
35+
* io.swagger:swagger-annotations:1.5.0
36+
* com.sun.jersey:jersey-client:1.18
37+
* com.sun.jersey.contribs:jersey-multipart:1.18
38+
* com.fasterxml.jackson.core:jackson-core:2.4.2
39+
* com.fasterxml.jackson.core:jackson-annotations:2.4.2
40+
* com.fasterxml.jackson.core:jackson-databind:2.4.2.
41+
* com.fasterxml.jackson.datatype:jackson-datatype-joda:2.1.5
42+
* commons-validator:commons-validator:1.5.0
43+
* joda-time:joda-time:2.3
44+
* junit:junit:4.8.1
45+
46+
Getting Started
47+
====================
48+
The Adobe Sign clients need to follow the below steps in order to get started with it:
49+
50+
1. In order to use the SDK, you need to have an account with Adobe Sign. Please register for a developer account [here](https://www.adobe.com/go/esign-dev-create).
51+
52+
2. Sign in to create an application on the Adobe Sign web portal and obtain it's application id and application secret.
53+
54+
3. Generate the OAuth access token by using the above application id and the application secret. The access token will need to be generated by using the OAuth workflow mentioned on [OAuth Documentation page](https://secure.echosign.com/public/static/oauthDoc.jsp).
55+
56+
4. Use the generated OAuth access token for trying out the sample API code (or directly in the client application code) provided in the SDK.
57+
58+
Downloading and Building the SDK
59+
===================================
60+
61+
1. Download the SDK source code zip from the GitHub and unzip the archive to a folder of your choosing.
62+
You can also sync the git repo on your local machine.
63+
`AdobeSignJavaSdk` will be referred as the root directory.
64+
65+
2. To compile the SDK, run the following command :
66+
```java
67+
gradle classes
68+
```
69+
This command will compile all the sdk source files.
70+
71+
3. To compile test classes and run the tests,run the following command :
72+
```java
73+
gradle test
74+
```
75+
**Note :** Before executing the tests edit `AdobeSignJavaSdk/rest-api-sdk/test/java/com/adobe/sign/resources/config.properties` accordingly with your information.
76+
77+
4. If you want to compile all the source classes and run the tests, a single command can be used :
78+
```java
79+
gradle build
80+
```
81+
82+
83+
APIs
84+
====================
85+
The `AdobeSignJavaSdk/rest-api-sdk/src/main/java/com/adobe/sign` folder contains all the Adobe Sign APIs.
86+
87+
Packages containing APIs are laid out as follows:
88+
89+
**com.adobe.sign.api**
90+
Each class represents a resource and the class methods refers to the operations that can be performed on that resource. Each such operation is called API.
91+
e.g. `AgreementsAPI.java` contains `getAgreements` method which retrieves all the agreements for the user.
92+
93+
**com.adobe.sign.model**
94+
Each class represents request or response class required in the API calls.
95+
The classes are resource specific and can be found under the folders for the corresponding resources.
96+
97+
**com.adobe.sign.utils**
98+
This folder contains the helper utilities required for the execution of APIs.
99+
100+
Samples
101+
====================
102+
The samples are located at : `AdobeSignJavaSdk/rest-api-sample/sdk/src/main/java/com/adobe/sign/`.
103+
These contain java clients of Adobe Sign's APIs that
104+
demonstrate how to use the API as well as some of its capabilities.
105+
106+
Packages under samples are laid out as follows:
107+
108+
**com.adobe.sign.api**
109+
Contains individual sample clients each demonstrating a specific capability. Each
110+
client is named according to the capability it demonstrates. For example, the client
111+
GetUsersInAccount.java shows how to retrieve a list of users from the account of
112+
the user on whose behalf the API call is made.
113+
114+
**com.adobe.sign.utils**
115+
Contains helper classes that encapsulate the API calls required by the sample
116+
clients.
117+
118+
**com.adobe.sign.resources**
119+
Contains input files used by the sample clients. These include a config.properties file and pdf files required by some of the APIs.
120+
121+
122+
### Running the Samples
123+
124+
**Note :** Before executing the samples edit `AdobeSignJavaSdk/rest-api-sample/src/main/java/com/adobe/sign/resources/config.properties` accordingly with your information.
125+
126+
127+
Each sample client contains class comments that explains briefly about the action being performed.
128+
You should edit the `config.properties` configuration file to configure:
129+
* Credentials (access token with the required scope)
130+
* Parameters used by the samples
131+
* Output path of downloaded files
132+
133+
To run all samples, use the following command :
134+
```java
135+
gradle --continue allSamples
136+
```
137+
138+
To run a specific sample, use the following command :
139+
```java
140+
gradle Sample_<SampleFileName>
141+
```.
142+
For example, to run the sample `ArchievAllSignedAgreements.java`, use
143+
```java
144+
gradle Sample_ArchievAllSignedAgreements
145+
```.
146+
147+
Tests
148+
====================
149+
150+
The test folder contains the test cases and is located at `AdobeSignJavaSdk/rest-api-sdk/src/test`.
151+
152+
All sources under the test folder and are laid out as follows:
153+
154+
**com.adobe.sign.api**
155+
Contains individual test cases for each API under of a resource under the corresponding resource folder name.
156+
157+
**com.adobe.sign.resources**
158+
Contains input files used in the tests. These include a config.properties file and pdf files required by some of the APIs.
159+
160+
**com.adobe.sign.utils**
161+
Contains helper classes that encapsulate the functionality required by the test classes.
162+
163+
**Note :** Before executing the tests, edit `AdobeSignJavaSdk/rest-api-sdk/test/java/com/adobe/sign/resources/config.properties` accordingly with your information.
164+
165+
### Executing the tests
166+
167+
The tests can be executed by using this command from the base directory:
168+
```java
169+
gradle test
170+
```
171+
At the end of the execution, an HTML report containing a comprehensive summary of the result is generated.
172+
The report is generated at : `AdobeSignJavaSdk/rest-api-sdk/build/reports/tests/index.html`.
173+
174+
Documentation
175+
====================
176+
A comprehensive documentation for the APIs and the classes used can be found at `AdobeSignJavaSdk/docs/html/index.html`.
177+
178+
Report Issues/Bugs
179+
====================
180+
You can report the issues in the issues section of the github repo.

0 commit comments

Comments
 (0)