@Override public ActionResponse execute( TestContext context, PropertyList propertyList, List<Metadata> metadataList, SubEngineActionType actionType) throws SubEngineException { Metadata metadata = null; try { // Validation this.validateArguments(context, propertyList, metadataList, actionType); SwingActionType swingAction = (SwingActionType) actionType; // Init result metadata = metadataList.get(metadataList.size() - 1); this.initResult(context, metadata, actionType); // this.validateComponent(propertyList, swingAction); // Execute Command ExecutionCommand command = createCommand(propertyList, metadata, swingAction); Integer timeout = getTimeout(metadata, swingAction); Property reply = executeCommand(context, command, timeout); if (reply != null) { PropertyList returnList = PropertyHelper.createPropertyList("Return"); PropertyHelper.add(reply, returnList); result.setReturnProperties(returnList); } } catch (SwingValidationException e) { logger.error(e, "Error validating Swing component."); failResult(metadata, actionType, e.getMessage()); } catch (Exception e) { logger.error(e, "Error during Swing component execution."); failResult(metadata, actionType); } return result; }