11package test_with_remote_apis .sample_json_generation ;
22
3+ import com .google .gson .Gson ;
34import com .google .gson .JsonElement ;
45import com .slack .api .model .*;
56import com .slack .api .model .block .*;
6- import com .slack .api .model .block .composition .ConfirmationDialogObject ;
7- import com .slack .api .model .block .composition .OptionObject ;
8- import com .slack .api .model .block .composition .PlainTextObject ;
9- import com .slack .api .model .block .composition .TextObject ;
7+ import com .slack .api .model .block .composition .*;
108import com .slack .api .model .block .element .BlockElement ;
119import com .slack .api .model .block .element .ImageElement ;
10+ import com .slack .api .model .block .element .PlainTextInputElement ;
11+ import com .slack .api .model .block .element .RadioButtonsElement ;
1212import com .slack .api .util .json .GsonFactory ;
1313
14- import java .util .Arrays ;
15- import java .util .HashMap ;
16- import java .util .List ;
17- import java .util .Map ;
14+ import java .util .*;
1815
1916import static com .slack .api .model .block .Blocks .*;
2017import static com .slack .api .model .block .composition .BlockCompositions .*;
@@ -34,32 +31,57 @@ private Json() {
3431 GsonFactory .createSnakeCase ().toJsonTree (SampleObjects .Attachments .get (0 ))
3532 );
3633
37- public static List <JsonElement > Blocks = Arrays .asList (
38- GsonFactory .createSnakeCase ().toJsonTree (initProperties (
39- ActionsBlock .builder ().elements (BlockElements ).build ())),
40- GsonFactory .createSnakeCase ().toJsonTree (initProperties (
41- ContextBlock .builder ().elements (ContextBlockElements ).build ())),
42- GsonFactory .createSnakeCase ().toJsonTree (initProperties (
43- DividerBlock .builder ().build ())),
44- GsonFactory .createSnakeCase ().toJsonTree (initProperties (
45- ImageBlock .builder ().build ())),
46- GsonFactory .createSnakeCase ().toJsonTree (initProperties (
34+ private static List <OptionObject > Options = Arrays .asList (initProperties (
35+ OptionObject .builder ().text (plainText ("" )).description (plainText ("" )).build ()
36+ ));
37+ private static List <OptionGroupObject > OptionGroups = Arrays .asList (initProperties (
38+ OptionGroupObject .builder ().options (Options ).label (plainText ("" )).build ()
39+ ));
40+
41+ public static List <JsonElement > SectionBlocksWithAccessory = new ArrayList <>();
42+
43+ static {
44+ for (BlockElement element : BlockElements ) {
45+ SectionBlocksWithAccessory .add (GsonFactory .createSnakeCase ().toJsonTree (initProperties (
4746 SectionBlock .builder ()
48- .accessory (initProperties ( ImageElement . builder (). build ()) )
47+ .accessory (element )
4948 .text (TextObject )
5049 .fields (SectionBlockFieldElements )
51- .build ()))
52- );
50+ .build ())));
51+ }
52+ }
53+
54+ public static List <JsonElement > Blocks = initBlocks ();
55+
56+ private static List <JsonElement > initBlocks () {
57+ List <JsonElement > blocks = new ArrayList <>();
58+ Gson gson = GsonFactory .createSnakeCase ();
59+ blocks .addAll (
60+ Arrays .asList (
61+ gson .toJsonTree (initProperties (ActionsBlock .builder ().elements (BlockElements ).build ())),
62+ gson .toJsonTree (initProperties (ContextBlock .builder ().elements (ContextBlockElements ).build ())),
63+ gson .toJsonTree (initProperties (DividerBlock .builder ().build ())),
64+ gson .toJsonTree (initProperties (ImageBlock .builder ().build ()))
65+ )
66+ );
67+ blocks .addAll (SectionBlocksWithAccessory );
68+ return blocks ;
69+ }
5370 }
5471
5572 public static List <Attachment > Attachments = Arrays .asList (
5673 initProperties (Attachment .builder ()
5774 .fields (Arrays .asList (initProperties (Field .builder ().build ())))
58- .actions (Arrays .asList (initProperties (Action .builder ()
59- .optionGroups (Arrays .asList (initProperties (Action .OptionGroup .builder ().build ())))
60- .options (Arrays .asList (initProperties (Action .Option .builder ().build ())))
61- .selectedOptions (Arrays .asList (initProperties (Action .Option .builder ().build ())))
62- .build ())))
75+ .actions (Arrays .asList (initProperties (
76+ Action .builder ()
77+ .optionGroups (Arrays .asList (initProperties (Action .OptionGroup .builder ()
78+ .options (Arrays .asList (initProperties (Action .Option .builder ().build ())))
79+ .build (), true )))
80+ .options (Arrays .asList (initProperties (Action .Option .builder ().build (), true )))
81+ .selectedOptions (Arrays .asList (initProperties (Action .Option .builder ().build (), true )))
82+ .build (),
83+ true
84+ )))
6385 .mrkdwnIn (Arrays .asList ("" ))
6486 .build ())
6587 );
@@ -75,14 +97,22 @@ private Json() {
7597
7698 public static List <BlockElement > BlockElements = asElements (
7799 initProperties (button (b -> b .confirm (Confirm ))),
100+ initProperties (checkboxes (b -> b .initialOptions (Arrays .asList (Option )).confirm (Confirm ))),
101+ initProperties (radioButtons (b -> b .initialOption (Option ).confirm (Confirm ))),
78102 initProperties (channelsSelect (c -> c .confirm (Confirm ))),
103+ initProperties (multiChannelsSelect (c -> c .initialChannels (Arrays .asList ("" )).confirm (Confirm ))),
79104 initProperties (conversationsSelect (c -> c .confirm (Confirm ))),
105+ initProperties (multiConversationsSelect (c -> c .initialConversations (Arrays .asList ("" )).confirm (Confirm ))),
80106 initProperties (datePicker (d -> d .confirm (Confirm ))),
107+ initProperties (timePicker (d -> d .confirm (Confirm ))),
81108 initProperties (externalSelect (e -> e .initialOption (Option ).confirm (Confirm ))),
109+ initProperties (multiExternalSelect (e -> e .initialOptions (Arrays .asList (Option )).confirm (Confirm ))),
82110 initProperties (com .slack .api .model .block .element .BlockElements .image (i -> i )),
83111 initProperties (overflowMenu (o -> o .confirm (Confirm ))),
84112 initProperties (staticSelect (s -> s .initialOption (Option ).confirm (Confirm ))),
85- initProperties (usersSelect (u -> u .confirm (Confirm )))
113+ initProperties (multiStaticSelect (s -> s .initialOptions (Arrays .asList (Option )).confirm (Confirm ))),
114+ initProperties (usersSelect (u -> u .confirm (Confirm ))),
115+ initProperties (multiUsersSelect (u -> u .initialUsers (Arrays .asList ("" )).confirm (Confirm )))
86116 );
87117 public static List <ContextBlockElement > ContextBlockElements = asContextElements (
88118 initProperties (ImageElement .builder ().build ())
@@ -91,7 +121,62 @@ private Json() {
91121 initProperties (plainText (pt -> pt )),
92122 initProperties (markdownText (m -> m ))
93123 );
94- public static List <LayoutBlock > Blocks = asBlocks (
124+
125+ public static List <SectionBlock > SectionBlocksWithAccessory = new ArrayList <>();
126+
127+ static {
128+ for (BlockElement element : BlockElements ) {
129+ SectionBlocksWithAccessory .add (initProperties (
130+ SectionBlock .builder ()
131+ .accessory (element )
132+ .text (TextObject ).fields (SectionBlockFieldElements ).build ()));
133+ }
134+ }
135+
136+ public static List <LayoutBlock > Blocks = new ArrayList <>();
137+
138+ static {
139+ Blocks .addAll (asBlocks (
140+ initProperties (actions (a -> a .elements (BlockElements ))),
141+ initProperties (context (c -> c .elements (ContextBlockElements ))),
142+ initProperties (divider ()),
143+ initProperties (com .slack .api .model .block .Blocks .image (i -> i )),
144+ initProperties (section (s -> s
145+ .accessory (initProperties (ImageElement .builder ().build ()))
146+ .text (TextObject )
147+ .fields (SectionBlockFieldElements )))
148+ ));
149+ Blocks .addAll (SectionBlocksWithAccessory );
150+ }
151+
152+ public static PlainTextInputElement plainTextInputElement = initProperties (PlainTextInputElement .builder ()
153+ .placeholder (initProperties (PlainTextObject .builder ().build ()))
154+ .dispatchActionConfig (initProperties (DispatchActionConfig .builder ().triggerActionsOn (Arrays .asList ("" )).build ()))
155+ .build ());
156+ public static RadioButtonsElement radioButtonsElement = initProperties (RadioButtonsElement .builder ()
157+ .confirm (initProperties (ConfirmationDialogObject .builder ()
158+ .text (initProperties (PlainTextObject .builder ().build ()))
159+ .build ()))
160+ .options (Arrays .asList (
161+ initProperties (OptionObject .builder ().text (initProperties (PlainTextObject .builder ().build ())).build ()),
162+ initProperties (OptionObject .builder ().text (initProperties (MarkdownTextObject .builder ().build ())).build ())
163+ ))
164+ .initialOption (initProperties (OptionObject .builder ().text (initProperties (PlainTextObject .builder ().build ())).build ()))
165+ .build ());
166+
167+ public static List <LayoutBlock > ModalBlocks = asBlocks (
168+ initProperties (input (i -> i .element (plainTextInputElement ))),
169+ initProperties (input (i -> i .element (radioButtonsElement ))),
170+ initProperties (input (i -> i .element (initProperties (button (b -> b .confirm (Confirm )))))),
171+ initProperties (input (i -> i .element (initProperties (channelsSelect (c -> c .confirm (Confirm )))))),
172+ initProperties (input (i -> i .element (initProperties (conversationsSelect (c -> c .confirm (Confirm )))))),
173+ initProperties (input (i -> i .element (initProperties (datePicker (d -> d .confirm (Confirm )))))),
174+ initProperties (input (i -> i .element (initProperties (timePicker (d -> d .confirm (Confirm )))))),
175+ initProperties (input (i -> i .element (initProperties (externalSelect (e -> e .initialOption (Option ).confirm (Confirm )))))),
176+ initProperties (input (ip -> ip .element (initProperties (com .slack .api .model .block .element .BlockElements .image (i -> i ))))),
177+ initProperties (input (i -> i .element (initProperties (overflowMenu (o -> o .confirm (Confirm )))))),
178+ initProperties (input (i -> i .element (initProperties (staticSelect (s -> s .initialOption (Option ).confirm (Confirm )))))),
179+ initProperties (input (i -> i .element (initProperties (usersSelect (u -> u .confirm (Confirm )))))),
95180 initProperties (actions (a -> a .elements (BlockElements ))),
96181 initProperties (context (c -> c .elements (ContextBlockElements ))),
97182 initProperties (divider ()),
@@ -102,11 +187,9 @@ private Json() {
102187 .fields (SectionBlockFieldElements )))
103188 );
104189
105- public static Message Message = new Message ();
190+ public static File FileObject = initFileObject ();
106191
107- static {
108- Message .setAttachments (Attachments );
109- Message .setBlocks (Blocks );
192+ public static File initFileObject () {
110193 File .Shares shares = new File .Shares ();
111194 Map <String , List <File .ShareDetail >> channels = new HashMap <>();
112195 File .ShareDetail shareDetail = initProperties (new File .ShareDetail ());
@@ -115,9 +198,33 @@ private Json() {
115198 channels .put ("C03E94MKU_" , Arrays .asList (shareDetail ));
116199 shares .setPrivateChannels (channels );
117200 shares .setPublicChannels (channels );
118- File file = initProperties (File .builder ().shares (shares ).build ());
119- Message .setFile (file );
120- Message .setFiles (Arrays .asList (file ));
201+ List <String > stringList = Arrays .asList ("" );
202+ List <File .Address > addressList = Arrays .asList (initProperties (new File .Address ()));
203+ List <Reaction > reactionList = Arrays .asList (initProperties (Reaction .builder ().users (stringList ).build ()));
204+ File file = initProperties (File .builder ()
205+ .headers (initProperties (new com .slack .api .model .File .Headers ()))
206+ .shares (shares )
207+ .channels (stringList )
208+ .groups (stringList )
209+ .ims (stringList )
210+ .to (addressList )
211+ .from (addressList )
212+ .cc (addressList )
213+ .pinnedTo (stringList )
214+ .reactions (reactionList )
215+ .attachments (Attachments )
216+ .blocks (Blocks )
217+ .build ());
218+ return file ;
219+ }
220+
221+ public static Message Message = new Message ();
222+
223+ static {
224+ Message .setAttachments (Attachments );
225+ Message .setBlocks (Blocks );
226+ Message .setFile (FileObject );
227+ Message .setFiles (Arrays .asList (FileObject ));
121228 Message .setPinnedTo (Arrays .asList ("" ));
122229 Message .setReactions (Arrays .asList (initProperties (new Reaction ())));
123230 Message .setReplyUsers (Arrays .asList ("" ));
0 commit comments