Source:
<code>public void process(Exchange exchange) throws Exception { final Message in = exchange.getIn(); Document body = (Document) in.getBody(); if (body == null) { log.warn("Event message contained no body"); return; } Element content = body.getRootElement().getChild("content", JDOMNamespaceUtil.ATOM_NS); Element contentBody = content.getChildren().get(0); if (contentBody == null || contentBody.getChildren().size() == 0) { log.warn("Event message contained no body content"); return; } String targetId = JMSMessageUtil.getPid(body); String solrActionType = (String) in.getHeader(CdrSolrUpdateAction); String userid = (String) in.getHeader("name"); if (solrActionType == null || solrActionType.equals("none")) { log.warn("No solr update action specified, ignoring event for object {}", targetId); return; } List<String> subjects = populateList("subjects", contentBody); if (MOVE.equals(solrActionType)) { <START> messageSender.sendIndexingOperation(userid, Collections.singletonList(PIDs.get(targetId)), <END> IndexingActionType.MOVE); } else if (ADD.equals(solrActionType)) { messageSender.sendIndexingOperation(userid, Collections.singletonList(PIDs.get(targetId)), IndexingActionType.ADD_SET_TO_PARENT); } else if (PUBLISH.equals(solrActionType)) { for (String pidString : subjects) { messageSender.sendIndexingOperation(userid, Collections.singletonList(PIDs.get(pidString)), IndexingActionType.UPDATE_STATUS); } } else { log.warn("Invalid solr update action {}, ignoring event for object {}", solrActionType, targetId); return; } }</code><technical_language>I this change is of ClassCastException. Previously passing subjects in children,</technical_language>

Target:
public void process(Exchange exchange) throws Exception { final Message in = exchange.getIn(); Document body = (Document) in.getBody(); if (body == null) { log.warn("Event message contained no body"); return; } Element content = body.getRootElement().getChild("content", JDOMNamespaceUtil.ATOM_NS); Element contentBody = content.getChildren().get(0); if (contentBody == null || contentBody.getChildren().size() == 0) { log.warn("Event message contained no body content"); return; } String targetId = JMSMessageUtil.getPid(body); String solrActionType = (String) in.getHeader(CdrSolrUpdateAction); String userid = (String) in.getHeader("name"); if (solrActionType == null || solrActionType.equals("none")) { log.warn("No solr update action specified, ignoring event for object {}", targetId); return; } List<String> subjects = populateList("subjects", contentBody); List<PID> childPids = new ArrayList<>(); for (String subject : subjects) { childPids.add(PIDs.get(subject)); } if (MOVE.equals(solrActionType)) { messageSender.sendIndexingOperation(userid, PIDs.get(targetId), childPids, IndexingActionType.MOVE); } else if (ADD.equals(solrActionType)) { messageSender.sendIndexingOperation(userid, PIDs.get(targetId), childPids, IndexingActionType.ADD_SET_TO_PARENT); } else if (PUBLISH.equals(solrActionType)) { messageSender.sendIndexingOperation(userid, PIDs.get(targetId), childPids, IndexingActionType.UPDATE_STATUS); } else { log.warn("Invalid solr update action {}, ignoring event for object {}", solrActionType, targetId); return; } }