@Override public Pattern getStepPattern() { return wrappedInvoker.getStepPattern(); }
@Override public String getPendingMessage() { return wrappedInvoker.getPendingMessage(); }
@Override public StepRetry getRetry() { return wrappedInvoker.getRetry(); }
private void publishStep(StepInvoker invoker) { PublishStepMessage publishStepMessage = new PublishStepMessage( invoker.getId(), chorusClientId, invoker.getStepPattern().toString(), invoker.isPending(), invoker.getPendingMessage() == null ? Step.NO_PENDING_MESSAGE : invoker.getPendingMessage(), invoker.getTechnicalDescription(), invoker.getRetry().getDuration(), invoker.getRetry().getInterval() ); chorusWebSocketClient.sendMessage(publishStepMessage); }
@Override public void addSteps(List<StepInvoker> l) { List<CataloguedStep> c = l.stream() .map( si -> new CataloguedStep(si.getCategory(), si.isDeprecated(), si.getStepPattern().toString())) .collect(Collectors.toList()); c.forEach(this::addToCatalogue); }
@Test public void canExtractStepHandlersFromAStepInvokerProvider() { StepInvoker mockStepInvoker = mock(StepInvoker.class); when(mockStepInvoker.getStepPattern()).thenReturn(Pattern.compile(EXPECTED_PATTERN)); when(mockStepInvoker.getRetry()).thenReturn(StepRetry.NO_RETRY); StepInvokerProvider mockStepInvokerProvider = mock(StepInvokerProvider.class); when(mockStepInvokerProvider.getStepInvokers()).thenReturn(Arrays.asList(mockStepInvoker)); ChorusHandlerJmxExporter chorusHandlerJmxExporter = new ChorusHandlerJmxExporter(mockStepInvokerProvider); List<JmxInvokerResult> jmxInvokerResults = chorusHandlerJmxExporter.getStepInvokers(); assertEquals(1, jmxInvokerResults.size()); String stepPattern = (String)jmxInvokerResults.get(0).get(JmxInvokerResult.PATTERN); assertEquals(EXPECTED_PATTERN, stepPattern); }
public ResultWithRetryCount invoke(final String stepTokenId, List<String> args) throws Exception { ResultWithRetryCount result; StepRetry retry = foundStepInvoker.getRetry(); if ( retry.isValid()) { result = invokeWithRetry(stepTokenId, args, retry); } else { result = createResult(foundStepInvoker.invoke(stepTokenId, args), 0); } return result; }
private StepEndState callStepMethod(ExecutionToken executionToken, StepToken step, StepEndState endState, StepMatcher stepMatcher, StepCatalogue stepCatalogue) { //setting a pending message in the step annotation implies the step is pending - we don't execute it StepInvoker chosenStepInvoker = stepMatcher.getFoundStepInvoker(); if ( chosenStepInvoker.isPending()) { String pendingMessage = chosenStepInvoker.getPendingMessage(); log.debug("Step has a pending message " + pendingMessage + " skipping step"); step.setMessage(pendingMessage); endState = StepEndState.PENDING; executionToken.incrementStepsPending(); } else { if (dryRun) { log.debug("Dry Run, so not executing this step"); step.setMessage("This step is OK"); endState = StepEndState.DRYRUN; executionToken.incrementStepsPassed(); // treat dry run as passed? This state was unsupported in previous results } else { endState = executeStepMethod(executionToken, step, stepMatcher, stepCatalogue); } } return endState; }
@Override public String getId() { return wrappedInvoker.getId(); }
@Override public Object invoke(String stepTokenId, List<String> args) throws Exception { return wrappedInvoker.invoke(stepTokenId, args); }
/** * @return true if this step is 'pending' (a placeholder for future implementation) and should not be invoked */ public boolean isPending() { return wrappedInvoker.isPending(); }
@Override public String getTechnicalDescription() { return wrappedInvoker.getTechnicalDescription(); }
@Override public boolean isDeprecated() { return wrappedInvoker.isDeprecated(); } }
/** * a map of properties representing a step invoker exported over the network using RMI protocol, * or null if the step invoker cannot be converted for remoting */ public JmxInvokerResult(StepInvoker i) { put(API_VERSION, ApiVersion.API_VERSION); put(STEP_ID, i.getId()); put(PENDING_MSG, i.getPendingMessage()); put(IS_PENDING, i.isPending()); put(PATTERN, i.getStepPattern().toString()); put(TECHNICAL_DESCRIPTION, i.getTechnicalDescription()); put(RETRY_DURATION, i.getRetry().getDuration()); put(RETRY_INTERVAL, i.getRetry().getInterval()); put(IS_DEPRECATED, i.isDeprecated()); }
@Override public void addExecutedStep(StepInvoker foundStepInvoker, long executionTime, boolean passed) { CataloguedStep cataloguedStep = new CataloguedStep( foundStepInvoker.getCategory(), foundStepInvoker.isDeprecated(), foundStepInvoker.getStepPattern().toString(), 1, executionTime, executionTime, passed ? 1 : 0, passed ? 0 : 1 ); addToCatalogue(cataloguedStep); }
public String getId() { return wrappedInvoker.getId(); }
protected void validate() throws Exception { Object r = wrappedInvoker.invoke(stepTokenId, args); resultRef.set(r); }
@Override public boolean isPending() { return wrappedInvoker.isPending(); }
public String getTechnicalDescription() { return wrappedInvoker.getTechnicalDescription(); }
public boolean isDeprecated() { return wrappedInvoker.isDeprecated(); }