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; }
servicesConfig.put(s.getService(), s);
MockQueryRequestDocument request = MockQueryRequestDocument.Factory.newInstance(); request.addNewMockQueryRequest().addNewIn().set(XmlObject.Factory.parse(outgoingMessage)); String xquery = serviceConfig.getReplayType().getMockQuery();
/** * Sets ith "serviceConfig" element */ public void setServiceConfigArray(int i, org.apache.ode.bpel.pmapi.CommunicationType.ServiceConfig serviceConfig) { synchronized (monitor()) { check_orphaned(); org.apache.ode.bpel.pmapi.CommunicationType.ServiceConfig target = null; target = (org.apache.ode.bpel.pmapi.CommunicationType.ServiceConfig)get_store().find_element_user(SERVICECONFIG$4, i); if (target == null) { throw new IndexOutOfBoundsException(); } target.set(serviceConfig); } }
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 ServiceConfig getServiceConfig(QName service) { ServiceConfig c = servicesConfig.get(service); if (c == null) { c = ServiceConfig.Factory.newInstance(); c.setService(service); c.addNewReplayType().setMock(XmlAnySimpleType.Factory.newInstance()); return c; } else return c; }