@Override public Object getSymbol(String symbolName) { MethodExecutionResult result = context.getVariable(symbolName); if (result == null) { return null; } return result.returnValue(); }
private void checkForPatternOfFixturesHandlingSymbols(String symbolName) { if (!SLIM_AGENT_FIXTURE_HANDLES_SYMBOLS.equals(symbolName)) return; // Special Symbol Name need to update try { MethodExecutionResult mer = context.getVariable(SLIM_AGENT_FIXTURE_HANDLES_SYMBOLS); if (mer == null) return; try { if (mer.returnValue() == null) { patternOfFixturesHandlingSymbols = null; } else { patternOfFixturesHandlingSymbols = Pattern.compile(mer.returnValue().toString()); } } catch (Exception e) { patternOfFixturesHandlingSymbols = null; } } catch (Exception e) { return; } }
@Override public Object callAndAssign( String variable, String instanceName, String methodName, Object... args) throws SlimException { try { MethodExecutionResult result = getMethodExecutionResult(instanceName, methodName, args); context.setVariable(variable, result); checkForPatternOfFixturesHandlingSymbols(variable); return result.returnValue(); } catch (Throwable e) { // NOSONAR checkExceptionForStop(e); throw new SlimException(e); } }