public void add(Exchange e) { ServiceConfig cfg = getServiceConfig(e.getService()); if (cfg.getReplayType().isSetMock()) { String key = getAnswersKey(e.getService(), e.getOperation()); AnswersForKey v = answersMap.get(key); if (v == null) { v = new AnswersForKey(); answersMap.put(key, v); } v.answers.add(e); } }
public AnswerResult fetchAnswer(QName service, String operation, Element outgoingMessage, Date currentEventDateTime) { __log.debug("fetching answer for " + service + " " + operation); ServiceConfig cfg = getServiceConfig(service); if (cfg.getReplayType().isSetMock()) { String key = getAnswersKey(service, operation); AnswersForKey v = answersMap.get(key); Exchange e = v == null ? null : v.answerPos < v.answers.size() ? v.answers.get(v.answerPos) : null; if (e == null) { throw new IllegalStateException("answer for " + service + " " + operation + " at time " + currentEventDateTime + " not found, outgoing message was " + DOMUtils.domToString(outgoingMessage)); } v.answerPos++; __log.debug("fetched " + e); return new AnswerResult(false, e); } else if (cfg.getReplayType().isSetMockQuery()) { return new AnswerResult(false, fetchMockQuery(service, operation, outgoingMessage, cfg)); } else if (cfg.getReplayType().isSetLive()) { return new AnswerResult(true, null); } else assert(false); return null; }
MockQueryRequestDocument request = MockQueryRequestDocument.Factory.newInstance(); request.addNewMockQueryRequest().addNewIn().set(XmlObject.Factory.parse(outgoingMessage)); String xquery = serviceConfig.getReplayType().getMockQuery();