@@ -141,37 +141,26 @@ private void processJsonNode(ObjectMapper mapper, JsonNode node) {
141
141
142
142
portList .clear ();
143
143
portsNode .forEach (portNode -> {
144
- try {
145
- BoardPort port = mapper .treeToValue (portNode , BoardPort .class );
146
- port .searchMatchingBoard ();
144
+ BoardPort port = mapJsonNodeToBoardPort (mapper , node );
145
+ if (port != null ) {
147
146
addOrUpdate (port );
148
- } catch (JsonProcessingException e ) {
149
- System .err .println (format ("{0}: Invalid BoardPort message" , discoveryName ));
150
- e .printStackTrace ();
151
147
}
152
148
});
153
149
return ;
154
150
155
151
// Messages for SYNC updates
156
152
157
153
case "add" :
158
- try {
159
- BoardPort port = mapper .treeToValue (node .get ("port" ), BoardPort .class );
160
- port .searchMatchingBoard ();
161
- addOrUpdate (port );
162
- } catch (JsonProcessingException e ) {
163
- System .err .println (format ("{0}: Invalid BoardPort message" , discoveryName ));
164
- e .printStackTrace ();
154
+ BoardPort addedPort = mapJsonNodeToBoardPort (mapper , node );
155
+ if (addedPort != null ) {
156
+ addOrUpdate (addedPort );
165
157
}
166
158
return ;
167
159
168
160
case "remove" :
169
- try {
170
- BoardPort port = mapper .treeToValue (node .get ("port" ), BoardPort .class );
171
- remove (port );
172
- } catch (JsonProcessingException e ) {
173
- System .err .println (format ("{0}: Invalid BoardPort message" , discoveryName ));
174
- e .printStackTrace ();
161
+ BoardPort removedPort = mapJsonNodeToBoardPort (mapper , node );
162
+ if (removedPort != null ) {
163
+ remove (removedPort );
175
164
}
176
165
return ;
177
166
@@ -181,6 +170,18 @@ private void processJsonNode(ObjectMapper mapper, JsonNode node) {
181
170
}
182
171
}
183
172
173
+ private BoardPort mapJsonNodeToBoardPort (ObjectMapper mapper , JsonNode node ) {
174
+ try {
175
+ BoardPort port = mapper .treeToValue (node .get ("port" ), BoardPort .class );
176
+ port .searchMatchingBoard ();
177
+ return port ;
178
+ } catch (JsonProcessingException e ) {
179
+ System .err .println (format ("{0}: Invalid BoardPort message" , discoveryName ));
180
+ e .printStackTrace ();
181
+ return null ;
182
+ }
183
+ }
184
+
184
185
@ Override
185
186
public void start () throws Exception {
186
187
try {
0 commit comments