Skip to content

Commit 4badbad

Browse files
committed
Generate CSV of line numbers
1 parent 2e6abf1 commit 4badbad

File tree

2 files changed

+219
-6
lines changed

2 files changed

+219
-6
lines changed

snippets_line_numbers.csv

Lines changed: 189 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,189 @@
1+
File,MainStart,MainEnd,ClientStart,ClientEnd
2+
ApplicationAuthWithKeyContents.java,31,37,32,2
3+
FullAuth.java,32,39,33,2
4+
BasicAuth.java,31,33,32,2
5+
ApplicationAuthWithKeyPath.java,31,37,32,2
6+
CreateSecret.java,33,37,30,33
7+
ConfigureAccount.java,33,37,30,33
8+
RevokeSecret.java,32,35,29,32
9+
GetBalance.java,33,38,30,33
10+
GetSecret.java,33,37,30,33
11+
ListSecrets.java,34,41,31,34
12+
DeleteApplication.java,33,36,30,33
13+
CreateApplication.java,37,54,34,37
14+
GetApplication.java,34,39,31,34
15+
ListApplications.java,34,41,31,34
16+
UpdateApplication.java,38,77,35,38
17+
BasicInsight.java,34,42,31,34
18+
AdvancedInsight.java,35,67,32,35
19+
StandardInsight.java,34,49,31,34
20+
AdvancedInsightAsync.java,33,39,30,33
21+
AdvancedInsightWithCnam.java,34,73,33,34
22+
AsyncInsightTrigger.java,30,39,0,2
23+
ValidateInboundJwt.java,30,46,0,2
24+
GenerateJwt.java,32,54,0,2
25+
DeleteTheme.java,35,38,31,35
26+
ListThemes.java,34,37,31,34
27+
ListDialInNumbers.java,34,37,31,34
28+
DeleteRecording.java,35,38,31,35
29+
GetRoom.java,36,39,32,36
30+
UploadLogo.java,40,43,36,40
31+
CreateLongTermRoom.java,38,45,34,38
32+
UpdateRoom.java,38,42,34,38
33+
ListRecordings.java,36,39,32,36
34+
UpdateApplication.java,37,42,33,37
35+
ListRoomsByTheme.java,37,40,33,37
36+
UpdateTheme.java,38,42,34,38
37+
CreateInstantRoom.java,36,40,32,36
38+
GetRecording.java,36,39,32,36
39+
ListRooms.java,34,37,31,34
40+
GetTheme.java,36,39,32,36
41+
CreateTheme.java,36,40,32,36
42+
SendSmsText.java,33,41,30,33
43+
SendRcsText.java,33,41,30,33
44+
SendRcsImage.java,33,41,30,33
45+
SendRcsRichCard.java,35,73,32,35
46+
SendRcsSuggestedViewLocation.java,35,61,32,35
47+
RevokeMessage.java,33,35,30,33
48+
SendRcsSuggestedReply.java,35,59,32,35
49+
SendRcsRichCardCarousel.java,35,87,32,35
50+
SendRcsVideo.java,33,41,30,33
51+
SendRcsSuggestedCalendarEvent.java,36,61,33,36
52+
SendRcsFile.java,33,41,30,33
53+
SendRcsSuggestedOpenUrl.java,35,56,32,35
54+
SendRcsSuggestedMultipleActions.java,35,66,32,35
55+
SendRcsSuggestedDialNumber.java,35,57,32,35
56+
SendRcsSuggestedShareLocation.java,35,54,32,35
57+
SendMmsVideo.java,33,41,30,33
58+
SendMmsVcard.java,33,41,30,33
59+
SendMmsImage.java,33,41,30,33
60+
SendMmsAudio.java,33,41,30,33
61+
SendMessengerText.java,33,42,30,33
62+
SendMessengerImage.java,33,42,30,33
63+
SendMessengerAudio.java,33,42,30,33
64+
SendMessengerVideo.java,33,42,30,33
65+
SendMessengerFile.java,33,42,30,33
66+
IncomingMessage.java,29,43,0,2
67+
SendViberVideo.java,33,47,30,33
68+
SendViberImage.java,33,42,30,33
69+
SendViberFile.java,33,42,30,33
70+
SendViberText.java,33,42,30,33
71+
SendMessengerText.java,29,43,0,2
72+
SendMessengerVideo.java,29,43,0,2
73+
SendViberVideo.java,30,46,0,2
74+
SendViberText.java,30,45,0,2
75+
SendWhatsappLocation.java,29,44,0,2
76+
SendWhatsappText.java,29,43,0,2
77+
SendWhatsappUnreaction.java,29,42,0,2
78+
SendWhatsappContact.java,31,107,0,2
79+
SendWhatsappSticker.java,29,43,0,2
80+
SendWhatsappAudio.java,29,43,0,2
81+
SendWhatsappFile.java,29,44,0,2
82+
SendWhatsappImage.java,29,44,0,2
83+
SendWhatsappReaction.java,29,43,0,2
84+
SendWhatsappVideo.java,29,43,0,2
85+
MessageStatusWebhook.java,29,43,0,2
86+
SendWhatsappLocation.java,33,43,30,33
87+
SendWhatsappStickerUrl.java,33,41,30,33
88+
SendWhatsappText.java,33,41,30,33
89+
SendWhatsappMultiProduct.java,34,47,31,34
90+
SendWhatsappStickerId.java,33,41,30,33
91+
SendWhatsappOTP.java,34,67,31,34
92+
SendWhatsappQuickReplyButton.java,38,105,35,38
93+
SendWhatsappMediaTemplate.java,38,76,35,38
94+
SendWhatsappUnreaction.java,33,41,30,33
95+
MarkAsRead.java,33,35,30,33
96+
SendWhatsappContact.java,35,105,32,35
97+
SendWhatsappTemplate.java,36,50,33,36
98+
SendWhatsappSingleProduct.java,33,44,30,33
99+
SendWhatsappAudio.java,33,42,30,33
100+
SendWhatsappFile.java,33,41,30,33
101+
SendWhatsappImage.java,33,41,30,33
102+
SendWhatsappLinkButton.java,37,100,34,37
103+
SendWhatsappReaction.java,33,41,30,33
104+
SendWhatsappVideo.java,33,41,30,33
105+
SendWhatsappAuthenticationTemplate.java,36,74,33,36
106+
FraudScore.java,30,34,30,30
107+
SimSwap.java,30,34,30,30
108+
CancelNumber.java,32,35,29,32
109+
BuyNumber.java,32,35,29,32
110+
SearchNumbers.java,33,54,30,33
111+
UpdateNumber.java,33,42,30,33
112+
ListNumbers.java,33,46,30,33
113+
RedactATransaction.java,33,36,30,33
114+
RetrieveSimSwapDate.java,32,36,30,32
115+
SimSwapped.java,31,37,29,31
116+
ReceiveSignedSms.java,30,62,0,2
117+
ReceiveDlr.java,27,51,0,2
118+
ReceiveSms.java,29,75,0,2
119+
SendUnicodeMessage.java,33,42,32,33
120+
SendMessage.java,33,47,32,33
121+
SendSignedSms.java,2,51,33,2
122+
TransferCredit.java,34,41,30,34
123+
TransferBalance.java,34,41,30,34
124+
ListBalanceTransfers.java,35,39,32,35
125+
ListSubaccounts.java,34,36,30,34
126+
GetSubaccount.java,34,36,30,34
127+
DeactivateSubaccount.java,35,39,31,35
128+
RenameSubaccount.java,35,40,31,35
129+
CreateSubaccount.java,35,42,31,35
130+
TransferNumber.java,34,41,30,34
131+
ReactivateSubaccount.java,35,39,31,35
132+
ListCreditTransfers.java,35,39,32,35
133+
UpdateUser.java,33,41,30,33
134+
GetUser.java,33,36,30,33
135+
DeleteUser.java,32,35,29,32
136+
CreateUser.java,34,54,31,34
137+
ListUsers.java,34,37,31,34
138+
CancelVerification.java,33,44,30,33
139+
AdvanceVerification.java,33,44,30,33
140+
StartVerificationWithWorkflow.java,33,45,30,33
141+
SearchVerification.java,34,42,31,34
142+
CheckVerification.java,34,44,31,34
143+
StartVerification.java,34,44,31,34
144+
StartPsd2VerificationWithWorkflow.java,33,45,30,33
145+
StartPsd2Verification.java,34,46,31,34
146+
SendRequestWhatsapp.java,33,40,30,33
147+
SendRequestAllChannels.java,34,52,31,34
148+
SendRequestEmail.java,33,40,30,33
149+
SendRequestVoice.java,33,41,30,33
150+
SendRequestSms.java,33,40,30,33
151+
SendRequestWithFallback.java,33,41,30,33
152+
CheckVerificationCode.java,34,50,31,34
153+
SendRequestSilentAuth.java,33,40,30,33
154+
DeleteTemplate.java,32,34,29,32
155+
GetTemplate.java,32,35,29,32
156+
ListTemplates.java,32,35,29,32
157+
ListTemplateFragments.java,32,35,29,32
158+
CreateTemplate.java,32,35,29,32
159+
UpdateTemplateFragment.java,32,38,29,32
160+
CreateTemplateFragment.java,34,42,31,34
161+
UpdateTemplate.java,32,35,29,32
162+
GetTemplateFragment.java,32,35,29,32
163+
DeleteTemplateFragment.java,32,34,29,32
164+
SendRequestWhatsappInteractive.java,33,40,30,33
165+
CancelRequest.java,33,35,30,33
166+
RetrieveCallInfo.java,33,37,30,33
167+
RecordMessage.java,32,70,0,40
168+
OutboundTextToSpeechWithEventUrl.java,34,42,31,34
169+
TrackNccoProgress.java,32,68,0,42
170+
TransferCallNCCO.java,34,38,31,34
171+
MuteCall.java,32,37,29,32
172+
EndCall.java,33,36,30,33
173+
TransferCall.java,32,35,29,32
174+
RecordConversation.java,33,64,0,44
175+
DownloadRecording.java,38,55,34,38
176+
EarmuffCall.java,32,37,29,32
177+
ConferenceCall.java,31,49,0,39
178+
RecordCall.java,34,64,0,41
179+
StreamAudioToCall.java,32,37,29,32
180+
InboundCall.java,30,56,0,38
181+
RetrieveInfoForAllCalls.java,37,49,34,37
182+
RecordCallSplitAudio.java,31,65,0,42
183+
DtmfInput.java,33,71,0,40
184+
SendDtmfToCall.java,33,37,30,33
185+
ConnectInboundCall.java,32,50,0,40
186+
SendTalkToCall.java,33,37,30,33
187+
OutboundTextToSpeech.java,33,36,30,33
188+
AsrInput.java,35,75,0,42
189+
OutboundTextToSpeechWithNcco.java,36,41,33,36

src/main/java/AggregateSnippets.java

Lines changed: 30 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ public static void main(String[] args) throws Throwable {
1212
final var snippetsSrcRoot = repoRoot.resolve("src/main/java/com/vonage/quickstart");
1313
final var aggregator = new AggregateSnippets(snippetsSrcRoot);
1414
aggregator.computeContents();
15-
var destPath = repoRoot.resolve("SNIPPETS.md");
16-
aggregator.saveToFile(destPath);
15+
aggregator.saveContentsToFile(repoRoot.resolve("SNIPPETS.md"));
16+
aggregator.saveLineNumbersToCsv(repoRoot.resolve("snippets_line_numbers.csv"));
1717
}
1818

1919

@@ -47,12 +47,28 @@ public String getContents() {
4747
return sb.toString();
4848
}
4949

50-
public void saveToFile(Path destPath) throws IOException {
50+
public void saveContentsToFile(Path destPath) throws IOException {
5151
Files.writeString(destPath, getContents(), StandardOpenOption.CREATE);
5252
}
5353

54+
public void saveLineNumbersToCsv(Path destPath) throws IOException {
55+
checkComputed();
56+
try (var writer = Files.newBufferedWriter(destPath, StandardOpenOption.CREATE)) {
57+
writer.write("File,MainStart,MainEnd,ClientStart,ClientEnd\n");
58+
for (var file : snippetFiles) {
59+
writer.write(
60+
file.file.getFileName() + "," +
61+
file.mainStartIndex + "," +
62+
file.mainEndIndex + "," +
63+
file.clientStartIndex + "," +
64+
file.clientEndIndex + "\n"
65+
);
66+
}
67+
}
68+
}
69+
5470
public void computeContents() throws IOException {
55-
snippetFiles = new LinkedHashSet<>(256);
71+
snippetFiles = new ArrayList<>(256);
5672
final String classFileName = getClass().getSimpleName() + ".java";
5773
sb = new StringBuilder(1 << 17)
5874
.append("# Vonage Java SDK Code Snippets\n")
@@ -124,12 +140,20 @@ else if (level > 2 && path.getName().endsWith(".java")) {
124140

125141
sb.append("\n```java\n").append(nugget).append("\n```\n");
126142

127-
snippetFiles.add(new CodeSnippetFile(
128-
path.toPath(), startIndex, endIndex, clientInitStartIndex, clientInitEndIndex
143+
snippetFiles.add(new CodeSnippetFile(path.toPath(),
144+
lineNumberFromIndex(fileContent, startIndex),
145+
lineNumberFromIndex(fileContent, endIndex),
146+
lineNumberFromIndex(fileContent, clientInitStartIndex) + 1,
147+
lineNumberFromIndex(fileContent, clientInitEndIndex)
129148
));
130149
}
131150
}
132151

152+
private static int lineNumberFromIndex(String content, int index) {
153+
if (index < 0) return -1;
154+
return content.substring(0, index).split("\n").length;
155+
}
156+
133157
private static boolean isInitialize(File file) {
134158
return file.getName().equals("initialize");
135159
}

0 commit comments

Comments
 (0)