Skip to content

Commit 79f0d19

Browse files
committed
fixed pointer to errors route, ex16 (point to correct doc), ex17 fix missed constructor to check for templates, point to current examples not listed on home index.jsp
1 parent 519c133 commit 79f0d19

9 files changed

Lines changed: 110 additions & 56 deletions

File tree

‎code-examples-java.iml‎

Lines changed: 24 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,7 @@
22
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
33
<component name="FacetManager">
44
<facet type="Spring" name="Spring">
5-
<configuration>
6-
<fileset id="fileset" name="Spring Application Context" removed="false">
7-
<file>file://$MODULE_DIR$/src/main/java/com/docusign/App.java</file>
8-
<file>file://$MODULE_DIR$/src/main/java/com/docusign/WebSecurityConfig.java</file>
9-
</fileset>
10-
</configuration>
5+
<configuration />
116
</facet>
127
<facet type="web" name="Web">
138
<configuration>
@@ -86,28 +81,39 @@
8681
<orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-el:9.0.27" level="project" />
8782
<orderEntry type="library" scope="PROVIDED" name="Maven: org.eclipse.jdt:ecj:3.18.0" level="project" />
8883
<orderEntry type="library" name="Maven: commons-io:commons-io:2.6" level="project" />
89-
<orderEntry type="library" name="Maven: com.docusign:docusign-esign-java:3.5.0" level="project" />
90-
<orderEntry type="library" name="Maven: io.swagger:swagger-annotations:1.5.8" level="project" />
91-
<orderEntry type="library" name="Maven: com.sun.jersey:jersey-client:1.19.1" level="project" />
92-
<orderEntry type="library" name="Maven: com.sun.jersey:jersey-core:1.19.1" level="project" />
93-
<orderEntry type="library" name="Maven: javax.ws.rs:jsr311-api:1.1.1" level="project" />
94-
<orderEntry type="library" name="Maven: com.sun.jersey.contribs:jersey-multipart:1.19.1" level="project" />
84+
<orderEntry type="library" name="Maven: com.docusign:docusign-esign-java:3.7.0-BETA" level="project" />
85+
<orderEntry type="library" name="Maven: io.swagger:swagger-annotations:1.5.18" level="project" />
86+
<orderEntry type="library" name="Maven: org.glassfish.jersey.core:jersey-client:2.29.1" level="project" />
87+
<orderEntry type="library" name="Maven: jakarta.ws.rs:jakarta.ws.rs-api:2.1.6" level="project" />
88+
<orderEntry type="library" name="Maven: org.glassfish.jersey.core:jersey-common:2.29.1" level="project" />
89+
<orderEntry type="library" name="Maven: org.glassfish.hk2:osgi-resource-locator:1.0.3" level="project" />
90+
<orderEntry type="library" name="Maven: com.sun.activation:jakarta.activation:1.2.1" level="project" />
91+
<orderEntry type="library" name="Maven: org.glassfish.hk2.external:jakarta.inject:2.6.1" level="project" />
92+
<orderEntry type="library" name="Maven: org.glassfish.jersey.media:jersey-media-multipart:2.29.1" level="project" />
9593
<orderEntry type="library" name="Maven: org.jvnet.mimepull:mimepull:1.9.12" level="project" />
96-
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.10.0" level="project" />
97-
<orderEntry type="library" name="Maven: com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider:2.10.0" level="project" />
98-
<orderEntry type="library" name="Maven: com.fasterxml.jackson.jaxrs:jackson-jaxrs-base:2.10.0" level="project" />
94+
<orderEntry type="library" name="Maven: org.glassfish.jersey.media:jersey-media-json-jackson:2.29.1" level="project" />
95+
<orderEntry type="library" name="Maven: org.glassfish.jersey.ext:jersey-entity-filtering:2.29.1" level="project" />
9996
<orderEntry type="library" name="Maven: com.fasterxml.jackson.module:jackson-module-jaxb-annotations:2.10.0" level="project" />
10097
<orderEntry type="library" name="Maven: jakarta.xml.bind:jakarta.xml.bind-api:2.3.2" level="project" />
10198
<orderEntry type="library" name="Maven: jakarta.activation:jakarta.activation-api:1.2.1" level="project" />
102-
<orderEntry type="library" name="Maven: com.fasterxml.jackson.dataformat:jackson-dataformat-csv:2.10.0" level="project" />
103-
<orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-joda:2.10.0" level="project" />
104-
<orderEntry type="library" name="Maven: joda-time:joda-time:2.10.5" level="project" />
99+
<orderEntry type="library" name="Maven: org.glassfish.jersey.inject:jersey-hk2:2.29.1" level="project" />
100+
<orderEntry type="library" name="Maven: org.glassfish.hk2:hk2-locator:2.6.1" level="project" />
101+
<orderEntry type="library" name="Maven: org.glassfish.hk2.external:aopalliance-repackaged:2.6.1" level="project" />
102+
<orderEntry type="library" name="Maven: org.glassfish.hk2:hk2-api:2.6.1" level="project" />
103+
<orderEntry type="library" name="Maven: org.glassfish.hk2:hk2-utils:2.6.1" level="project" />
104+
<orderEntry type="library" name="Maven: org.javassist:javassist:3.22.0-CR2" level="project" />
105+
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.10.0" level="project" />
106+
<orderEntry type="library" name="Maven: com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider:2.10.0" level="project" />
107+
<orderEntry type="library" name="Maven: com.fasterxml.jackson.jaxrs:jackson-jaxrs-base:2.10.0" level="project" />
105108
<orderEntry type="library" name="Maven: org.apache.oltu.oauth2:org.apache.oltu.oauth2.client:1.0.2" level="project" />
106109
<orderEntry type="library" name="Maven: org.apache.oltu.oauth2:org.apache.oltu.oauth2.common:1.0.2" level="project" />
107110
<orderEntry type="library" name="Maven: org.json:json:20140107" level="project" />
108111
<orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.29" level="project" />
109112
<orderEntry type="library" name="Maven: com.auth0:java-jwt:3.4.1" level="project" />
110113
<orderEntry type="library" name="Maven: org.bouncycastle:bcprov-jdk15on:1.60" level="project" />
114+
<orderEntry type="library" name="Maven: com.fasterxml.jackson.dataformat:jackson-dataformat-csv:2.10.0" level="project" />
115+
<orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-joda:2.10.0" level="project" />
116+
<orderEntry type="library" name="Maven: joda-time:joda-time:2.10.5" level="project" />
111117
<orderEntry type="library" name="Maven: com.brsanthu:migbase64:2.2" level="project" />
112118
</component>
113119
</module>

‎pom.xml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
<java.version>11</java.version>
2121
<oauth2.version>2.1.1.RELEASE</oauth2.version>
2222
<commonsio.version>2.6</commonsio.version>
23-
<docusign.version>3.5.0</docusign.version>
23+
<docusign.version>3.7.0-BETA</docusign.version>
2424
</properties>
2525

2626
<dependencies>

‎src/main/java/com/docusign/controller/examples/AbstractController.java‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ public abstract class AbstractController {
4141
protected static final String BEARER_AUTHENTICATION = "Bearer ";
4242
protected static final String DONE_EXAMPLE_PAGE = "pages/example_done";
4343
protected static final String DONE_EXAMPLE_PAGE_COMPARE = "pages/example_done_compare";
44-
protected static final String ERROR_PAGE = "error.jsp";
44+
protected static final String ERROR_PAGE = "error";
4545

4646
@Autowired
4747
private OAuth2ClientContext oAuth2ClientContext;
@@ -130,8 +130,8 @@ protected abstract Object doWork(WorkArguments args, ModelMap model,
130130
protected static ApiClient createApiClient(String basePath, String userAccessToken) {
131131
ApiClient apiClient = new ApiClient(basePath);
132132
apiClient.addDefaultHeader(HttpHeaders.AUTHORIZATION, BEARER_AUTHENTICATION + userAccessToken);
133-
// it is a workaround to NPE, see DSPW-61
134-
apiClient.addAuthorization("docusignAccessCode", null);
133+
// // it is a workaround to NPE, see DSPW-61
134+
// apiClient.addAuthorization("docusignAccessCode", null);
135135
return apiClient;
136136
}
137137

‎src/main/java/com/docusign/controller/examples/EG016ControllerSetTabValues.java‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
@RequestMapping("/eg016")
2727
public class EG016ControllerSetTabValues extends AbstractController {
2828

29-
private static final String DOCUMENT_FILE_NAME = "World_Wide_Corp_salary.pdf";
29+
private static final String DOCUMENT_FILE_NAME = "World_Wide_Corp_salary.docx";
3030
private static final String DOCUMENT_NAME = "Lorem Ipsum";
3131
private static final int ANCHOR_OFFSET_Y = 20;
3232
private static final int ANCHOR_OFFSET_X = 10;
@@ -157,7 +157,7 @@ private static EnvelopeDefinition makeEnvelope(String signerEmail, String signer
157157
textSalary.setFont("helvetica");
158158
textSalary.setFontSize("size11");
159159
textSalary.setBold("true");
160-
textSalary.setValue(String.format("$ %,.2d", salary));
160+
textSalary.setValue(String.format("$ %d", salary));
161161
textSalary.setLocked("true");
162162
textSalary.setTabId("salary");
163163
textSalary.setTabLabel("salary");

‎src/main/java/com/docusign/controller/examples/EG017ControllerSetTemplateTabValues.java‎

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import com.docusign.DSConfiguration;
44
import com.docusign.esign.api.EnvelopesApi;
5+
import com.docusign.esign.api.TemplatesApi;
56
import com.docusign.esign.client.ApiClient;
67
import com.docusign.esign.client.ApiException;
78
import com.docusign.esign.model.*;
@@ -27,10 +28,8 @@
2728
@RequestMapping("/eg017")
2829
public class EG017ControllerSetTemplateTabValues extends AbstractController {
2930

30-
private static final String DOCUMENT_FILE_NAME = "World_Wide_Corp_salary.pdf";
31-
private static final String DOCUMENT_NAME = "Lorem Ipsum";
32-
private static final int ANCHOR_OFFSET_Y = 20;
33-
private static final int ANCHOR_OFFSET_X = 10;
31+
32+
private static final String MODEL_LIST_TEMPLATE = "listTemplates";
3433
private static final String SIGNER_CLIENT_ID = "1000";
3534

3635
private final Session session;
@@ -44,6 +43,15 @@ public EG017ControllerSetTemplateTabValues(DSConfiguration config, Session sessi
4443
this.user = user;
4544
}
4645

46+
@Override
47+
protected void onInitModel(WorkArguments args, ModelMap model) throws ApiException {
48+
super.onInitModel(args, model);
49+
ApiClient apiClient = createApiClient(session.getBasePath(), user.getAccessToken());
50+
TemplatesApi templatesApi = new TemplatesApi(apiClient);
51+
EnvelopeTemplateResults templates = templatesApi.listTemplates(session.getAccountId());
52+
model.addAttribute(MODEL_LIST_TEMPLATE, templates.getEnvelopeTemplates());
53+
}
54+
4755
@Override
4856
protected Object doWork(WorkArguments args, ModelMap model,
4957
HttpServletResponse response) throws ApiException, IOException {
@@ -55,7 +63,7 @@ protected Object doWork(WorkArguments args, ModelMap model,
5563
String templateId = args.getTemplateId();
5664

5765
// Step 1. Create the envelope definition
58-
EnvelopeDefinition envelope = makeEnvelope(signerEmail, signerName, ccName, ccEmail, templateId);
66+
EnvelopeDefinition envelope = makeEnvelope(signerEmail, signerName, ccEmail, ccName, templateId);
5967

6068
// Step 2. Call DocuSign to create the envelope
6169
ApiClient apiClient = createApiClient(session.getBasePath(), user.getAccessToken());

‎src/main/webapp/WEB-INF/templates/views/error.jsp‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
<jsp:include page="./partials/head.jsp"/>
44

55

6-
76
<c:set var="message" value='${requestScope["message"]}' />
87
<c:if test='${fn:contains(message, "docusign.com/oauth/auth") }'>
98

@@ -13,8 +12,9 @@
1312

1413

1514
<p><strong>Oops, we have encountered a problem.</strong></p>
15+
<p><em>Message: </em>${done.message}</p>
16+
<p><em>Dump: </em>${done.stackTrace}</p>
1617

17-
<p><em>Error information: </em>${message}</p>
1818

1919
<p>Please check your account configuration. If you are unable to resolve the problem, <a href="https://github.com/docusign/code-examples-java/issues/new" target="_blank" rel="nofollow noopener noreferrer">open a new issue on GitHub</a>.</p>
2020

‎src/main/webapp/WEB-INF/templates/views/pages/examples/eg016.jsp‎

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,13 +29,14 @@
2929
<div class="form-group">
3030
<label for="signerEmail">Signer Email</label>
3131
<input type="email" class="form-control" id="signerEmail" name="signerEmail"
32-
aria-describedby="emailHelp" placeholder="" value="${signerEmail}" required>
32+
aria-describedby="emailHelp" placeholder="john@example.com" required
33+
value="${locals.dsConfig.signerEmail}">
3334
<small id="emailHelp" class="form-text text-muted">We'll never share your email with anyone else.</small>
3435
</div>
3536
<div class="form-group">
3637
<label for="signerName">Signer Name</label>
37-
<input type="text" class="form-control" id="signerName" placeholder="" name="signerName"
38-
value="${signerName}" required>
38+
<input type="text" class="form-control" id="signerName" placeholder="john doe" name="signerName"
39+
value="${locals.dsConfig.signerName}" required>
3940
</div>
4041
<div class="form-group">
4142
<label for="ccEmail">CC Email</label>

‎src/main/webapp/WEB-INF/templates/views/pages/examples/eg017.jsp‎

Lines changed: 28 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -23,30 +23,43 @@
2323
<c:choose>
2424
<c:when test="${not empty listTemplates}">
2525
<p>The template you created via example 8 will be used.</p>
26+
2627
<form class="eg" action="" method="post" data-busy="form">
2728
<div class="form-group">
28-
<label for="signer_email">Signer Email</label>
29-
<input type="email" class="form-control" id="signer_email" name="signer_email"
29+
<label for="templateId">Envelope template</label> <select
30+
id="templateId" name="templateId" class="form-control">
31+
<c:forEach items="${listTemplates}" var="template">
32+
<option value="${template.templateId}">${template.name}</option>
33+
</c:forEach>
34+
</select>
35+
</div>
36+
<div class="form-group">
37+
<label for="signerEmail">Signer Email</label>
38+
<input type="email" class="form-control" id="signerEmail" name="signerEmail"
3039
aria-describedby="emailHelp" placeholder="pat@example.com" required
31-
value="${signerEmail}">
32-
<small id="emailHelp" class="form-text text-muted">We'll never share your email with anyone else.</small>
40+
value="${locals.dsConfig.signerEmail}">
41+
<small id="emailHelp" class="form-text text-muted">We'll never share your email with anyone else.
42+
</small>
3343
</div>
3444
<div class="form-group">
35-
<label for="signer_name">Signer Name</label>
36-
<input type="text" class="form-control" id="signer_name" placeholder="Pat Johnson" name="signer_name"
37-
value="${signerName}" required>
45+
<label for="signerName">Signer Name</label>
46+
<input type="text" class="form-control" id="signerName" placeholder="Pat Johnson" name="signerName"
47+
value="${locals.dsConfig.signerName}" required>
3848
</div>
3949
<div class="form-group">
40-
<label for="cc_email">CC Email</label>
41-
<input type="email" class="form-control" id="cc_email" name="cc_email"
42-
aria-describedby="ccHelp" placeholder="pat@example.com" required/>
43-
<small id="ccHelp" class="form-text text-muted">The email for the cc recipient must be different from the signer's email.</small>
50+
<label for="ccEmail">CC Email</label>
51+
<input type="email" class="form-control" id="ccEmail" name="ccEmail"
52+
aria-describedby="emailHelp" placeholder="pat@example.com" required>
53+
<small id="emailHelp" class="form-text text-muted">The email and/or name for the cc recipient must be
54+
different from the signer.
55+
</small>
4456
</div>
4557
<div class="form-group">
46-
<label for="cc_name">CC Name</label>
47-
<input type="text" class="form-control" id="cc_name" placeholder="Pat Johnson" name="cc_name" required />
58+
<label for="ccName">CC Name</label>
59+
<input type="text" class="form-control" id="ccName" placeholder="Pat Johnson" name="ccName"
60+
required>
4861
</div>
49-
<input type="hidden" name="csrf_token" value="${csrfToken}"/>
62+
<input type="hidden" name="_csrf" value="${csrfToken}">
5063
<button type="submit" class="btn btn-docu">Submit</button>
5164
</form>
5265

@@ -62,3 +75,4 @@
6275
</c:choose>
6376

6477
<jsp:include page="../../partials/foot.jsp"/>
78+

‎src/main/webapp/WEB-INF/templates/views/pages/index.jsp‎

Lines changed: 33 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -208,23 +208,35 @@
208208
API method used:
209209
<a target ='_blank' href="https://developers.docusign.com/esign-rest-api/reference/Envelopes/Envelopes/create">Envelopes::create</a>.
210210
</p>
211-
212-
<h4 id="example024">24. Creating a Permission Profile</h4>
211+
212+
<h2>Permissions</h2>
213+
<h4 id="example024">24. <a href="eg024">Create a new permission profile</a></h4>
214+
213215
<p>
214-
Coming Soon
216+
Creating new permission profile.
215217
</p>
218+
<p>
219+
API method used:
220+
<a target='_blank' href="https://developers.docusign.com/esign-rest-api/reference/Accounts/AccountPermissionProfiles/create">AccountPermissionProfiles::create</a>.
221+
</p>
222+
216223

217224
<h4 id="example025">25. <a href="eg025">Setting a permission profile</a></h4>
218225
<p>This example allows you to set a permission profile on an existing user group.</p>
219226
<p>API method used:
220227
<a target='_blank' rel="noopener noreferrer" href="https://developers.docusign.com/esign-rest-api/reference/UserGroups/Groups/update">Groups::update</a>.
221228
</p>
222229

223-
<h4 id="example026">26. Modify a Permission Profile</h4>
230+
<h4 id="example026">26. <a href="eg026">Updating individual permission profile settings</a></h4>
231+
224232
<p>
225-
Coming Soon
233+
This example will update individual permission settings for a given account.
226234
</p>
227-
235+
<p>
236+
API method used:
237+
<a target='_blank' href="https://developers.docusign.com/esign-rest-api/reference/Accounts/AccountPermissionProfiles/update">AccountPermissionProfiles::update</a>.
238+
</p>
239+
228240
<h4 id="example027">27. <a href="eg027">Deleting a permission profile</a></h4>
229241
<p>This example lists all available permissions profiles and allows you to delete any without associated users. Please note that you cannot remove "Everyone" nor "Administrator" permission profiles.</p>
230242
<p>API method used:
@@ -249,10 +261,23 @@
249261
<a target='_blank' rel="noopener noreferrer" href="https://developers.docusign.com/esign-rest-api/reference/Envelopes/Envelopes/create">Envelopes::create</a>.
250262
</p>
251263

252-
<h4 id="example031">31. Bulk sending envelopes to multiple recipients</h4>
264+
<h2>Bulk operations</h2>
265+
266+
<h4 id="example031">31. <a href="eg031">Bulk sending envelopes to multiple recipients</a></h4>
267+
268+
<p>
269+
This example will show you how to bulk send envelopes to multiple recipients.
270+
</p>
253271
<p>
254-
Coming Soon
272+
API methods used:
273+
<a target="_blank" href="https://developers.docusign.com/esign-rest-api/reference/Envelopes/EnvelopeRecipients/create">EnvelopeRecipients::create</a>,
274+
<a target="_blank" href="https://developers.docusign.com/esign-rest-api/reference/Envelopes/Envelopes/create">Envelopes::create</a>,
275+
<a target="_blank" href="https://developers.docusign.com/esign-rest-api/reference/BulkEnvelopes/BulkEnvelopes/get">BulkEnvelopes::get</a>,
276+
<a target="_blank" href="https://developers.docusign.com/esign-rest-api/reference/Envelopes/EnvelopeCustomFields/create">EnvelopeCustomFields::create</a>,
277+
<a target="_blank" href="https://developers.docusign.com/esign-rest-api/reference/BulkEnvelopes/BulkSend/createBulkSendList">BulkSend::createBulkSendList</a>
278+
<a target="_blank" href="https://developers.docusign.com/esign-rest-api/reference/Envelopes/EnvelopeRecipients/create">EnvelopeRecipients::create</a>.
255279
</p>
280+
256281
</div>
257282

258283
<!-- anchor-js is only for the index page -->

0 commit comments

Comments
 (0)