@@ -49,16 +49,24 @@ public PulseResponseCreateDTO get(
4949 response .setTeamMemberId (lookupUser (memberProfileServices , map ));
5050 response .setSubmissionDate (LocalDate .now ());
5151
52+ // Internal Score
53+ Map <String , Object > internalBlock =
54+ (Map <String , Object >)values .get ("internalNumber" );
5255 response .setInternalScore (Integer .parseInt (getMappedValue (
53- values , "internalNumber" , "internalScore" , true )));
56+ internalBlock , "internalScore" , "selected_option" , true )));
57+ // Internal Feelings
5458 response .setInternalFeelings (getMappedValue (
5559 values , "internaltext" , "internalFeelings" , false ));
5660
57- String score = getMappedValue (values , "externalScore" ,
58- "externalScore" , false );
59- if (!score .isEmpty ()) {
61+ // External Score
62+ Map <String , Object > externalBlock =
63+ (Map <String , Object >)values .get ("externalNumber" );
64+ String score = getMappedValue (externalBlock , "externalScore" ,
65+ "selected_option" , false );
66+ if (score != null && !score .isEmpty ()) {
6067 response .setExternalScore (Integer .parseInt (score ));
6168 }
69+ // External Feelings
6270 response .setExternalFeelings (getMappedValue (
6371 values , "externalText" , "externalFeelings" , false ));
6472
@@ -72,32 +80,25 @@ public PulseResponseCreateDTO get(
7280 }
7381 }
7482
75- private String getMappedValue (Map <String , Object > map , String blockId ,
76- String key , boolean required ) {
77- if (!map .containsKey (blockId )) {
78- if (required ) {
79- throw new BadArgException (
80- String .format ("Block ID - %s was not found" , blockId ));
81- } else {
82- return "" ;
83- }
84- }
85- Map <String , Object > blockMap = (Map <String , Object >)map .get (blockId );
86-
83+ private String getMappedValue (Map <String , Object > map , String key1 ,
84+ String key2 , boolean required ) {
8785 final String valueKey = "value" ;
88- if (blockMap .containsKey (key )) {
89- final Map <String , Object > other =
90- (Map <String , Object >)blockMap .get (key );
91- if (other .containsKey (valueKey )) {
92- return (String )other .get (valueKey );
86+ if (map .containsKey (key1 )) {
87+ Map <String , Object > firstMap = (Map <String , Object >)map .get (key1 );
88+ if (firstMap .containsKey (key2 )) {
89+ final Map <String , Object > secondMap =
90+ (Map <String , Object >)firstMap .get (key2 );
91+ if (secondMap .containsKey (valueKey )) {
92+ return (String )secondMap .get (valueKey );
93+ }
9394 }
9495 }
9596
9697 if (required ) {
97- LOG .error ("Expected {}.{}.{} was not found" , blockId , key , valueKey );
98+ LOG .error ("Expected {}.{}.{} was not found" , key1 , key2 , valueKey );
9899 throw new BadArgException (
99100 String .format ("Expected %s.%s.%s was not found" ,
100- blockId , key , valueKey ));
101+ key1 , key2 , valueKey ));
101102 } else {
102103 return "" ;
103104 }
0 commit comments