@@ -20,50 +20,42 @@ public class SlackPulseResponseConverter {
2020
2121 public static PulseResponseCreateDTO get (
2222 MemberProfileServices memberProfileServices , String body ) {
23- final String key = "payload=" ;
24- final int start = body .indexOf (key );
25- if (start >= 0 ) {
26- try {
27- // Get the map of values from the string body
28- final ObjectMapper mapper = new ObjectMapper ();
29- final Map <String , Object > map =
30- mapper .readValue (body .substring (start + key .length ()),
31- new TypeReference <>() {});
32- final Map <String , Object > view =
33- (Map <String , Object >)map .get ("view" );
34- final Map <String , Object > state =
35- (Map <String , Object >)view .get ("state" );
36- final Map <String , Object > values =
37- (Map <String , Object >)state .get ("values" );
23+ try {
24+ // Get the map of values from the string body
25+ final ObjectMapper mapper = new ObjectMapper ();
26+ final Map <String , Object > map =
27+ mapper .readValue (body , new TypeReference <>() {});
28+ final Map <String , Object > view =
29+ (Map <String , Object >)map .get ("view" );
30+ final Map <String , Object > state =
31+ (Map <String , Object >)view .get ("state" );
32+ final Map <String , Object > values =
33+ (Map <String , Object >)state .get ("values" );
3834
39- // Create the pulse DTO and fill in the values.
40- PulseResponseCreateDTO response = new PulseResponseCreateDTO ();
41- response .setTeamMemberId (lookupUser (memberProfileServices , map ));
42- response .setSubmissionDate (LocalDate .now ());
35+ // Create the pulse DTO and fill in the values.
36+ PulseResponseCreateDTO response = new PulseResponseCreateDTO ();
37+ response .setTeamMemberId (lookupUser (memberProfileServices , map ));
38+ response .setSubmissionDate (LocalDate .now ());
4339
44- response .setInternalScore (Integer .parseInt (
45- getMappedValue (values , "internalScore" , true )));
46- response .setInternalFeelings (
47- getMappedValue (values , "internalFeelings" , false ));
40+ response .setInternalScore (Integer .parseInt (
41+ getMappedValue (values , "internalScore" , true )));
42+ response .setInternalFeelings (
43+ getMappedValue (values , "internalFeelings" , false ));
4844
49- String score = getMappedValue (values , "externalScore" , false );
50- if (!score .isEmpty ()) {
51- response .setExternalScore (Integer .parseInt (score ));
52- }
53- response .setExternalFeelings (
54- getMappedValue (values , "externalFeelings" , false ));
55-
56- return response ;
57- } catch (JsonProcessingException ex ) {
58- LOG .error (ex .getMessage ());
59- throw new BadArgException (ex .getMessage ());
60- } catch (NumberFormatException ex ) {
61- LOG .error (ex .getMessage ());
62- throw new BadArgException ("Pulse scores must be integers" );
45+ String score = getMappedValue (values , "externalScore" , false );
46+ if (!score .isEmpty ()) {
47+ response .setExternalScore (Integer .parseInt (score ));
6348 }
64- } else {
65- LOG .error (body );
66- throw new BadArgException ("Invalid pulse response body" );
49+ response .setExternalFeelings (
50+ getMappedValue (values , "externalFeelings" , false ));
51+
52+ return response ;
53+ } catch (JsonProcessingException ex ) {
54+ LOG .error (ex .getMessage ());
55+ throw new BadArgException (ex .getMessage ());
56+ } catch (NumberFormatException ex ) {
57+ LOG .error (ex .getMessage ());
58+ throw new BadArgException ("Pulse scores must be integers" );
6759 }
6860 }
6961
0 commit comments