Best Cerberus-source code snippet using org.cerberus.crud.entity.TestCaseStepActionControlExecution.getSort
Source:ExecutionRunService.java  
...355                            /**356                             * Create and Register TestCaseStepExecution357                             */358                            MessageEvent stepMess = new MessageEvent(MessageEventEnum.STEP_PENDING)359                                    .resolveDescription("STEP", String.valueOf(testCaseStep.getSort()))360                                    .resolveDescription("STEPINDEX", String.valueOf(step_index));361                            testCaseStepExecution = factoryTestCaseStepExecution.create(362                                    runID, testCaseStep.getTest(), testCaseStep.getTestCase(),363                                    testCaseStep.getStep(), step_index, testCaseStep.getSort(), testCaseStep.getLoop(), testCaseStep.getConditionOper(), testCaseStep.getConditionVal1(), testCaseStep.getConditionVal2(), testCaseStep.getConditionVal1(), testCaseStep.getConditionVal2(), null,364                                    startStep, 0, startStep, 0, new BigDecimal("0"), null, stepMess, testCaseStep, tCExecution,365                                    testCaseStep.getUseStep(), testCaseStep.getUseStepTest(), testCaseStep.getUseStepTestCase(), testCaseStep.getUseStepStep(), testCaseStep.getDescription());366                            testCaseStepExecution.setLoop(testCaseStep.getLoop());367                            testCaseStepExecutionService.insertTestCaseStepExecution(testCaseStepExecution);368                            testCaseStepExecution.setExecutionResultMessage(new MessageGeneral(MessageGeneralEnum.EXECUTION_PE_TESTSTARTED));369                            /**370                             * We populate the TestCaseStep inside the execution371                             * List372                             */373                            tCExecution.addTestCaseStepExecutionList(testCaseStepExecution);374                            // determine if step is executed (execute_Step) and if we trigger a new step execution after (execute_Next_Step)375                            boolean execute_Step = true;376                            boolean conditionStepDecodeError = false;377                            boolean conditionStepError = false;378                            AnswerItem<Boolean> conditionAnswer = new AnswerItem<>(new MessageEvent(MessageEventEnum.CONDITIONEVAL_FAILED_UNKNOWNCONDITION));379                            if (testCaseStepExecution.getLoop().equals(TestCaseStep.LOOP_ONCEIFCONDITIONFALSE)380                                    || testCaseStepExecution.getLoop().equals(TestCaseStep.LOOP_ONCEIFCONDITIONTRUE)381                                    || testCaseStepExecution.getLoop().equals(TestCaseStep.LOOP_WHILECONDITIONFALSEDO)382                                    || testCaseStepExecution.getLoop().equals(TestCaseStep.LOOP_WHILECONDITIONTRUEDO)383                                    || testCaseStepExecution.getLoop().equals("")384                                    || step_index > 1) {385                                // Decode Conditionvalue1 and Conditionvalue2 and Evaluate the condition at the Step level.386                                try {387                                    answerDecode = variableService.decodeStringCompletly(testCaseStepExecution.getConditionVal1(), tCExecution, null, false);388                                    testCaseStepExecution.setConditionVal1((String) answerDecode.getItem());389                                    if (!(answerDecode.isCodeStringEquals("OK"))) {390                                        testCaseStepExecution.setExecutionResultMessage(new MessageGeneral(answerDecode.getResultMessage().getMessage()));391                                        testCaseStepExecution.setStepResultMessage(answerDecode.getResultMessage().resolveDescription("FIELD", "Step Condition Value1"));392                                        testCaseStepExecution.setReturnMessage(answerDecode.getResultMessage().resolveDescription("FIELD", "Step Condition Value1").getDescription());393                                        testCaseStepExecution.setReturnCode(answerDecode.getResultMessage().getCodeString());394                                        testCaseStepExecution.setStopExecution(answerDecode.getResultMessage().isStopTest());395                                        testCaseStepExecution.setEnd(new Date().getTime());396                                        LOG.debug("Step interupted due to decode 'Step Condition Value1' Error.");397                                        conditionStepDecodeError = true;398                                    }399                                } catch (CerberusEventException cex) {400                                    LOG.warn(cex);401                                }402                                if (!conditionStepDecodeError) {403                                    try {404                                        answerDecode = variableService.decodeStringCompletly(testCaseStepExecution.getConditionVal2(), tCExecution, null, false);405                                        testCaseStepExecution.setConditionVal2((String) answerDecode.getItem());406                                        if (!(answerDecode.isCodeStringEquals("OK"))) {407                                            testCaseStepExecution.setExecutionResultMessage(new MessageGeneral(answerDecode.getResultMessage().getMessage()));408                                            testCaseStepExecution.setStepResultMessage(answerDecode.getResultMessage().resolveDescription("FIELD", "Step Condition Value2"));409                                            testCaseStepExecution.setReturnMessage(answerDecode.getResultMessage().resolveDescription("FIELD", "Step Condition Value2").getDescription());410                                            testCaseStepExecution.setReturnCode(answerDecode.getResultMessage().getCodeString());411                                            testCaseStepExecution.setStopExecution(answerDecode.getResultMessage().isStopTest());412                                            testCaseStepExecution.setEnd(new Date().getTime());413                                            LOG.debug("Step interupted due to decode 'Step Condition Value2' Error.");414                                            conditionStepDecodeError = true;415                                        }416                                    } catch (CerberusEventException cex) {417                                        LOG.warn(cex);418                                    }419                                }420                                if (!(conditionStepDecodeError)) {421                                    conditionAnswer = this.conditionService.evaluateCondition(testCaseStepExecution.getConditionOper(), testCaseStepExecution.getConditionVal1(), testCaseStepExecution.getConditionVal2(), tCExecution);422                                    execute_Step = (boolean) conditionAnswer.getItem();423                                    if (conditionAnswer.getResultMessage().getMessage().getCodeString().equals("PE")) {424                                        // There were no error when performing the condition evaluation.425                                        switch (testCaseStepExecution.getLoop()) {426                                            case TestCaseStep.LOOP_ONCEIFCONDITIONFALSE:427                                                execute_Step = !execute_Step;428                                                execute_Next_Step = false;429                                                break;430                                            case TestCaseStep.LOOP_ONCEIFCONDITIONTRUE:431                                            case "":432                                                execute_Next_Step = false;433                                                break;434                                            case TestCaseStep.LOOP_WHILECONDITIONFALSEDO:435                                            case TestCaseStep.LOOP_DOWHILECONDITIONFALSE:436                                                execute_Step = !execute_Step;437                                                execute_Next_Step = execute_Step;438                                                break;439                                            case TestCaseStep.LOOP_WHILECONDITIONTRUEDO:440                                            case TestCaseStep.LOOP_DOWHILECONDITIONTRUE:441                                                execute_Next_Step = execute_Step;442                                                break;443                                            default:444                                                execute_Next_Step = false;445                                        }446                                    } else {447                                        // Error when performing the condition evaluation. We force no execution (false)448                                        MessageGeneral mes = new MessageGeneral(MessageGeneralEnum.EXECUTION_FA_CONDITION);449                                        mes.setDescription(mes.getDescription()450                                                .replace("%AREA%", "step ")451                                                .replace("%COND%", testCaseStepExecution.getConditionOper())452                                                .replace("%MES%", conditionAnswer.getResultMessage().getDescription()));453                                        tCExecution.setResultMessage(mes);454                                        testCaseStepExecution.setExecutionResultMessage(mes);455                                        testCaseStepExecution.setStepResultMessage(new MessageEvent(MessageEventEnum.CONDITION_TESTCASESTEP_FAILED)456                                                .resolveDescription("AREA", "")457                                                .resolveDescription("COND", testCaseStepExecution.getConditionOper())458                                                .resolveDescription("MESSAGE", conditionAnswer.getResultMessage().getDescription())459                                        );460                                        testCaseStepExecution.setEnd(new Date().getTime());461                                        LOG.debug("Step interupted due to condition error.");462                                        conditionStepError = true;463                                        execute_Next_Step = false;464                                        execute_Step = false;465                                    }466                                } else {467                                    // If anything wrong with the decode --> we stop here with decode message in the action result.468                                    tCExecution.setResultMessage(new MessageGeneral(MessageGeneralEnum.EXECUTION_FA_CONDITIONDECODE)469                                            .resolveDescription("AREA", "Step ")470                                            .resolveDescription("MES", answerDecode.getMessageDescription()));471                                    tCExecution.setEnd(new Date().getTime());472                                    LOG.debug("TestCase interupted due to decode Condition Error.");473                                    // There was an error on decode so we stop everything.474                                    execute_Next_Step = false;475                                    execute_Step = false;476                                }477                            } else if (testCaseStepExecution.getLoop().equals(TestCaseStep.LOOP_DOWHILECONDITIONFALSE)478                                    || testCaseStepExecution.getLoop().equals(TestCaseStep.LOOP_DOWHILECONDITIONTRUE)) {479                                // First Step execution for LOOP_DOWHILECONDITIONTRUE and LOOP_DOWHILECONDITIONFALSE --> We force the step execution and activate the next step execution.480                                execute_Step = true;481                                execute_Next_Step = true;482                            } else {483                                // First Step execution for Unknown Loop --> We force the step execution only once (default behaviour).484                                execute_Step = true;485                                execute_Next_Step = false;486                                conditionAnswer.setResultMessage(new MessageEvent(MessageEventEnum.CONDITIONEVAL_FAILED_UNKNOWNCONDITION));487                            }488                            /**489                             * Execute Step490                             */491                            LOG.debug(logPrefix + "Executing step : " + testCaseStepExecution.getTest() + " - " + testCaseStepExecution.getTestCase() + " - Step " + testCaseStepExecution.getStep() + " - Index " + testCaseStepExecution.getStep());492                            if (execute_Step) {493                                /**494                                 * We execute the step495                                 */496                                testCaseStepExecution = this.executeStep(testCaseStepExecution, tCExecution);497                                /**498                                 * Updating Execution Result Message only if499                                 * execution result message of the step is not500                                 * PE or OK.501                                 */502                                if ((!(testCaseStepExecution.getExecutionResultMessage().equals(new MessageGeneral(MessageGeneralEnum.EXECUTION_PE_TESTSTARTED))))503                                        && (!(testCaseStepExecution.getExecutionResultMessage().equals(new MessageGeneral(MessageGeneralEnum.EXECUTION_OK))))) {504                                    tCExecution.setResultMessage(testCaseStepExecution.getExecutionResultMessage());505                                }506                                if (testCaseStepExecution.getStepResultMessage().equals(new MessageEvent(MessageEventEnum.STEP_PENDING))) {507                                    testCaseStepExecution.setStepResultMessage(new MessageEvent(MessageEventEnum.STEP_SUCCESS));508                                }509                                testCaseStepExecutionService.updateTestCaseStepExecution(testCaseStepExecution);510                                if (testCaseStepExecution.isStopExecution()) {511                                    break;512                                }513                            } else // We don't execute the step and record a generic execution.514                            if ((!conditionStepDecodeError) && (!conditionStepError)) {515                                /**516                                 * Register Step in database517                                 */518                                LOG.debug("Registering Step : " + testCaseStepExecution.getStep());519                                // We change the Step message only if the Step is not executed due to condition.520                                MessageEvent stepMes = new MessageEvent(MessageEventEnum.CONDITION_TESTCASESTEP_NOTEXECUTED);521                                testCaseStepExecution.setStepResultMessage(stepMes);522                                testCaseStepExecution.setReturnMessage(testCaseStepExecution.getReturnMessage()523                                        .replace("%COND%", testCaseStepExecution.getConditionOper())524                                        .replace("%LOOP%", testCaseStepExecution.getLoop())525                                        .replace("%MESSAGE%", conditionAnswer.getResultMessage().getDescription())526                                );527                                testCaseStepExecution.setEnd(new Date().getTime());528                                this.testCaseStepExecutionService.updateTestCaseStepExecution(testCaseStepExecution);529                                LOG.debug("Registered Step");530                            } else {531                                // Not executed because decode error or failed condition.532                                testCaseStepExecution.setEnd(new Date().getTime());533                                testCaseStepExecution.setStopExecution(true);534                                this.testCaseStepExecutionService.updateTestCaseStepExecution(testCaseStepExecution);535                                LOG.debug("Registered Step");536                            }537                            /**538                             * Log TestCaseStepExecution539                             */540                            if (tCExecution.getVerbose() > 0) {541                                LOG.info(testCaseStepExecution.toJson(false, true));542                            }543                            // Websocket --> we refresh the corresponding Detail Execution pages attached to this execution.544                            if (tCExecution.isCerberus_featureflipping_activatewebsocketpush()) {545                                TestCaseExecutionEndPoint.getInstance().send(tCExecution, false);546                            }547                            step_index++;548                        } while (execute_Next_Step && step_index <= maxloop);549                        if (testCaseStepExecution.isStopExecution()) {550                            break;551                        }552                    }553                    /**554                     * If at that time the execution is still PE, we move it to555                     * OK. It means that no issue were met.556                     */557                    if ((tCExecution.getResultMessage() == null) || (tCExecution.getResultMessage().equals(new MessageGeneral(MessageGeneralEnum.EXECUTION_PE_TESTSTARTED)))) {558                        tCExecution.setResultMessage(new MessageGeneral(MessageGeneralEnum.EXECUTION_OK));559                    }560                    /**561                     * We record Selenium log at the end of the execution.562                     */563                    try {564                        tCExecution.addFileList(recorderService.recordSeleniumLog(tCExecution));565                    } catch (Exception ex) {566                        LOG.error(logPrefix + "Exception Getting Selenium Logs " + tCExecution.getId() + " Exception :" + ex.toString());567                    }568                } else { // We don't execute the testcase linked with condition.569                    MessageGeneral mes;570                    /**571                     * Update Execution status from condition572                     */573                    if (conditionAnswerTc.getResultMessage().getMessage().getCodeString().equals("PE")) {574                        mes = new MessageGeneral(MessageGeneralEnum.EXECUTION_NA_CONDITION);575                    } else {576                        mes = new MessageGeneral(MessageGeneralEnum.EXECUTION_FA_CONDITION);577                    }578                    mes.setDescription(mes.getDescription().replace("%COND%", tCExecution.getConditionOper())579                            .replace("%MES%", conditionAnswerTc.getResultMessage().getDescription()));580                    tCExecution.setResultMessage(mes);581                }582            }583        } catch (Exception ex) {584            /**585             * If an exception is found, set the execution to FA and print the586             * exception587             */588            tCExecution.setResultMessage(new MessageGeneral(MessageGeneralEnum.EXECUTION_FA));589            tCExecution.setControlMessage(tCExecution.getControlMessage() + " Exception: " + ex);590            LOG.error(logPrefix + "Exception found Executing Test " + tCExecution.getId() + " Exception :" + ex.toString());591        } finally {592            /**593             * We stop the server session here (selenium for ex.).594             */595            try {596                tCExecution = this.stopTestCase(tCExecution);597            } catch (Exception ex) {598                LOG.error(logPrefix + "Exception Stopping Test " + tCExecution.getId() + " Exception :" + ex.toString());599            }600            /**601             * Log Execution602             */603            LOG.info(tCExecution.toJson(false));604            /**605             * Clean memory606             */607            try {608                executionUUID.removeExecutionUUID(tCExecution.getExecutionUUID());609                LOG.debug("Clean ExecutionUUID");610            } catch (Exception ex) {611                LOG.error("Exception cleaning Memory: " + ex.toString());612            }613            /**614             * Log execution is finished615             */616            LOG.info("Execution Finished : UUID=" + tCExecution.getExecutionUUID()617                    + "__ID=" + tCExecution.getId() + "__RC=" + tCExecution.getControlStatus() + "__"618                    + "TestName=" + tCExecution.getEnvironment() + "." + tCExecution.getCountry() + "."619                    + tCExecution.getBuild() + "." + tCExecution.getRevision() + "." + tCExecution.getTest() + "_"620                    + tCExecution.getTestCase() + "_" + tCExecution.getTestCaseObj().getDescription().replace(".", ""));621            /**622             * Updating queue to done status only for execution from queue623             */624            if (tCExecution.getQueueID() != 0) {625                executionQueueService.updateToDone(tCExecution.getQueueID(), "", runID);626            }627            /**628             * Retry management, in case the result is not (OK or NE), we629             * execute the job again reducing the retry to 1.630             */631            if (tCExecution.getNumberOfRetries() > 0632                    && !tCExecution.getResultMessage().getCodeString().equals("OK")633                    && !tCExecution.getResultMessage().getCodeString().equals("NE")) {634                TestCaseExecutionQueue newExeQueue = new TestCaseExecutionQueue();635                if (tCExecution.getQueueID() > 0) {636                    // If QueueId exist, we try to get the original execution queue.637                    try {638                        newExeQueue = executionQueueService.convert(executionQueueService.readByKey(tCExecution.getQueueID()));639                    } catch (Exception e) {640                        // Unfortunatly the execution no longuer exist so we pick initial value.641                        newExeQueue = tCExecution.getTestCaseExecutionQueue();642                    }643                } else {644                    // Initial Execution does not come from the queue so we pick the value created at the beginning of the execution.645                    newExeQueue = tCExecution.getTestCaseExecutionQueue();646                }647                // Forcing init value for that new queue execution : exeid=0, no debugflag and State = QUEUED648                int newRetry = tCExecution.getNumberOfRetries() - 1;649                newExeQueue.setId(0);650                newExeQueue.setDebugFlag("N");651                if (newRetry <= 0) {652                    newExeQueue.setComment("Added from Retry. Last attempt to go.");653                } else {654                    newExeQueue.setComment("Added from Retry. Still " + newRetry + " attempt(s) to go.");655                }656                newExeQueue.setState(TestCaseExecutionQueue.State.QUEUED);657                newExeQueue.setRetries(newRetry);658                // Insert execution to the Queue.659                executionQueueService.create(newExeQueue);660            }661            /**662             * After every execution finished, <br>663             * if the execution has a tag that has a campaign associated  <br>664             * and no more executions are in the queue, <br>665             * we trigger : <br>666             * 1/ The update of the EndExeQueue of the tag <br>667             * 2/ We notify the Distribution List with execution report status668             */669            try {670                if (!StringUtil.isNullOrEmpty(tCExecution.getTag())) {671                    Tag currentTag = tagService.convert(tagService.readByKey(tCExecution.getTag()));672                    if ((currentTag != null)) {673                        if (currentTag.getDateEndQueue().before(Timestamp.valueOf("1980-01-01 01:01:01.000000001"))) {674                            AnswerList answerListQueue = new AnswerList();675                            answerListQueue = executionQueueService.readQueueOpen(tCExecution.getTag());676                            if (answerListQueue.isCodeEquals(MessageEventEnum.DATA_OPERATION_OK.getCode()) && (answerListQueue.getDataList().isEmpty())) {677                                LOG.debug("No More executions in (queue) on tag : " + tCExecution.getTag() + " - " + answerListQueue.getDataList().size() + " " + answerListQueue.getMessageCodeString() + " - ");678                                tagService.updateDateEndQueue(tCExecution.getTag(), new Timestamp(new Date().getTime()));679                                if (!StringUtil.isNullOrEmpty(currentTag.getCampaign())) {680                                    // We get the campaig here and potencially send the notification.681                                    emailService.generateAndSendNotifyEndTagExecution(tCExecution.getTag(), currentTag.getCampaign());682                                }683                            } else {684                                LOG.debug("Still executions in queue on tag : " + tCExecution.getTag() + " - " + answerListQueue.getDataList().size() + " " + answerListQueue.getMessageCodeString());685                            }686                        } else {687                            LOG.debug("Tag is already flaged with recent timstamp. " + currentTag.getDateEndQueue());688                        }689                    }690                }691            } catch (Exception e) {692                LOG.error(e);693            }694            //695            // After every execution finished we try to trigger more from the queue;-).696            executionThreadPoolService.executeNextInQueueAsynchroneously(false);697        }698        return tCExecution;699    }700    @Override701    public TestCaseExecution stopTestCase(TestCaseExecution tCExecution) {702        /**703         * Stop Execution704         */705        LOG.debug(tCExecution.getId() + " - Stop the execution " + tCExecution.getId() + " UUID:" + tCExecution.getExecutionUUID());706        try {707            //TODO:FN debug messages to be removed708            LOG.debug("[DEBUG] STOP " + "__ID=" + tCExecution.getId());709            this.stopRunTestCase(tCExecution);710        } catch (Exception ex) {711            LOG.warn("Exception Stopping Execution " + tCExecution.getId() + " Exception :" + ex.toString());712        }713        /**714         * Collecting and calculating Statistics.715         */716        try {717//            this.collectExecutionStats(tCExecution);718        } catch (Exception ex) {719            LOG.warn("Exception collecting stats for execution " + tCExecution.getId() + " Exception:" + ex.toString());720        }721        /**722         * Saving TestCaseExecution object.723         */724        tCExecution.setEnd(new Date().getTime());725        try {726            testCaseExecutionService.updateTCExecution(tCExecution);727        } catch (CerberusException ex) {728            LOG.warn("Exception updating Execution :" + tCExecution.getId() + " Exception:" + ex.toString());729        }730        // Websocket --> we refresh the corresponding Detail Execution pages attached to this execution.731        if (tCExecution.isCerberus_featureflipping_activatewebsocketpush()) {732            TestCaseExecutionEndPoint.getInstance().send(tCExecution, true);733            TestCaseExecutionEndPoint.getInstance().end(tCExecution);734        }735        return tCExecution;736    }737    private TestCaseStepExecution executeStep(TestCaseStepExecution testCaseStepExecution, TestCaseExecution tcExecution) {738        long runID = testCaseStepExecution.getId();739        String logPrefix = runID + " - ";740        AnswerItem<String> answerDecode = new AnswerItem();741        // Initialise the Step Data List.742        List<TestCaseExecutionData> myStepDataList = new ArrayList<TestCaseExecutionData>();743        testCaseStepExecution.setTestCaseExecutionDataList(myStepDataList);744        // Initialise the Data List used to enter the action.745        /**746         * Iterate Actions747         */748        List<TestCaseStepAction> testCaseStepActionList = testCaseStepExecution.getTestCaseStep().getTestCaseStepAction();749        LOG.debug("Getting list of actions of the step. " + testCaseStepActionList.size() + " action(s) to perform.");750        for (TestCaseStepAction testCaseStepAction : testCaseStepActionList) {751            /**752             * Start Execution of TestCaseStepAction753             */754            long startAction = new Date().getTime();755            /**756             * Create and Register TestCaseStepActionExecution.757             */758            TestCaseStepActionExecution testCaseStepActionExecution = factoryTestCaseStepActionExecution.create(759                    testCaseStepExecution.getId(), testCaseStepAction.getTest(), testCaseStepAction.getTestCase(),760                    testCaseStepAction.getStep(), testCaseStepExecution.getIndex(), testCaseStepAction.getSequence(), testCaseStepAction.getSort(), null, null,761                    testCaseStepAction.getConditionOper(), testCaseStepAction.getConditionVal1(), testCaseStepAction.getConditionVal2(), testCaseStepAction.getConditionVal1(), testCaseStepAction.getConditionVal2(),762                    testCaseStepAction.getAction(), testCaseStepAction.getValue1(), testCaseStepAction.getValue2(), testCaseStepAction.getValue1(), testCaseStepAction.getValue2(),763                    testCaseStepAction.getForceExeStatus(), startAction, 0, startAction, 0, new MessageEvent(MessageEventEnum.ACTION_PENDING),764                    testCaseStepAction.getDescription(), testCaseStepAction, testCaseStepExecution);765            this.testCaseStepActionExecutionService.insertTestCaseStepActionExecution(testCaseStepActionExecution);766            /**767             * We populate the TestCase Action List768             */769            testCaseStepExecution.addTestCaseStepActionExecutionList(testCaseStepActionExecution);770            /**771             * If execution is not manual, evaluate the condition at the action772             * level773             */774            AnswerItem<Boolean> conditionAnswer;775            boolean conditionDecodeError = false;776            if (!tcExecution.getManualExecution().equals("Y")) {777                try {778                    answerDecode = variableService.decodeStringCompletly(testCaseStepActionExecution.getConditionVal1(), tcExecution, null, false);779                    testCaseStepActionExecution.setConditionVal1((String) answerDecode.getItem());780                    if (!(answerDecode.isCodeStringEquals("OK"))) {781                        // If anything wrong with the decode --> we stop here with decode message in the action result.782                        testCaseStepActionExecution.setActionResultMessage(answerDecode.getResultMessage().resolveDescription("FIELD", "Action Condition Value1"));783                        testCaseStepActionExecution.setExecutionResultMessage(new MessageGeneral(answerDecode.getResultMessage().getMessage()));784                        testCaseStepActionExecution.setStopExecution(answerDecode.getResultMessage().isStopTest());785                        testCaseStepActionExecution.setEnd(new Date().getTime());786                        LOG.debug("Action interupted due to decode 'Action Condition Value1' Error.");787                        conditionDecodeError = true;788                    }789                } catch (CerberusEventException cex) {790                    LOG.warn(cex);791                }792                try {793                    answerDecode = variableService.decodeStringCompletly(testCaseStepActionExecution.getConditionVal2(), tcExecution, null, false);794                    testCaseStepActionExecution.setConditionVal2((String) answerDecode.getItem());795                    if (!(answerDecode.isCodeStringEquals("OK"))) {796                        // If anything wrong with the decode --> we stop here with decode message in the action result.797                        testCaseStepActionExecution.setActionResultMessage(answerDecode.getResultMessage().resolveDescription("FIELD", "Action Condition Value2"));798                        testCaseStepActionExecution.setExecutionResultMessage(new MessageGeneral(answerDecode.getResultMessage().getMessage()));799                        testCaseStepActionExecution.setStopExecution(answerDecode.getResultMessage().isStopTest());800                        testCaseStepActionExecution.setEnd(new Date().getTime());801                        LOG.debug("Action interupted due to decode 'Action Condition Value2' Error.");802                        conditionDecodeError = true;803                    }804                } catch (CerberusEventException cex) {805                    LOG.warn(cex);806                }807            }808            if (!(conditionDecodeError)) {809                conditionAnswer = this.conditionService.evaluateCondition(testCaseStepActionExecution.getConditionOper(), testCaseStepActionExecution.getConditionVal1(), testCaseStepActionExecution.getConditionVal2(), tcExecution);810                boolean execute_Action = (boolean) conditionAnswer.getItem();811                /**812                 * If condition OK or if manual execution, then execute the813                 * action814                 */815                if (conditionAnswer.getResultMessage().getMessage().getCodeString().equals("PE")816                        || tcExecution.getManualExecution().equals("Y")) {817                    // Execute or not the action here.818                    if (execute_Action || tcExecution.getManualExecution().equals("Y")) {819                        LOG.debug("Executing action : " + testCaseStepActionExecution.getAction() + " with val1 : " + testCaseStepActionExecution.getValue1()820                                + " and val2 : " + testCaseStepActionExecution.getValue2());821                        /**822                         * We execute the Action823                         */824                        testCaseStepActionExecution = this.executeAction(testCaseStepActionExecution, tcExecution);825                        /**826                         * If Action or property reported to stop the testcase,827                         * we stop it and update the step with the message.828                         */829                        testCaseStepExecution.setStopExecution(testCaseStepActionExecution.isStopExecution());830                        if ((!(testCaseStepActionExecution.getExecutionResultMessage().equals(new MessageGeneral(MessageGeneralEnum.EXECUTION_OK))))831                                && (!(testCaseStepActionExecution.getExecutionResultMessage().equals(new MessageGeneral(MessageGeneralEnum.EXECUTION_PE_TESTEXECUTING))))) {832                            testCaseStepExecution.setExecutionResultMessage(testCaseStepActionExecution.getExecutionResultMessage());833                            testCaseStepExecution.setStepResultMessage(testCaseStepActionExecution.getActionResultMessage());834                        }835                        if (testCaseStepActionExecution.isStopExecution()) {836                            break;837                        }838                    } else { // We don't execute the action and record a generic execution.839                        /**840                         * Record Screenshot, PageSource841                         */842                        testCaseStepActionExecution.addFileList(recorderService.recordExecutionInformationAfterStepActionandControl(testCaseStepActionExecution, null));843                        LOG.debug("Registering Action : " + testCaseStepActionExecution.getAction());844                        // We change the Action message only if the action is not executed due to condition.845                        MessageEvent actionMes = new MessageEvent(MessageEventEnum.CONDITION_TESTCASEACTION_NOTEXECUTED);846                        testCaseStepActionExecution.setActionResultMessage(actionMes);847                        testCaseStepActionExecution.setReturnMessage(testCaseStepActionExecution.getReturnMessage()848                                .replace("%COND%", testCaseStepActionExecution.getConditionOper())849                                .replace("%MESSAGE%", conditionAnswer.getResultMessage().getDescription())850                        );851                        testCaseStepActionExecution.setEnd(new Date().getTime());852                        this.testCaseStepActionExecutionService.updateTestCaseStepActionExecution(testCaseStepActionExecution);853                        LOG.debug("Registered Action");854                    }855                } else {856                    // Error when performing the condition evaluation. We force no execution (false)857                    MessageGeneral mes = new MessageGeneral(MessageGeneralEnum.EXECUTION_FA_CONDITION);858                    mes.setDescription(mes.getDescription()859                            .replace("%COND%", testCaseStepActionExecution.getConditionOper())860                            .replace("%AREA%", "action ")861                            .replace("%MES%", conditionAnswer.getResultMessage().getDescription()));862                    testCaseStepActionExecution.setExecutionResultMessage(mes);863                    testCaseStepExecution.setExecutionResultMessage(testCaseStepActionExecution.getExecutionResultMessage());864                    testCaseStepExecution.setStopExecution(testCaseStepActionExecution.isStopExecution());865                    testCaseStepActionExecution.setActionResultMessage(new MessageEvent(MessageEventEnum.CONDITION_TESTCASEACTION_FAILED)866                            .resolveDescription("AREA", "")867                            .resolveDescription("COND", testCaseStepActionExecution.getConditionOper())868                            .resolveDescription("MESSAGE", conditionAnswer.getResultMessage().getDescription()));869                    testCaseStepExecution.setStepResultMessage(new MessageEvent(MessageEventEnum.CONDITION_TESTCASESTEP_FAILED)870                            .resolveDescription("AREA", "action ")871                            .resolveDescription("COND", testCaseStepActionExecution.getConditionOper())872                            .resolveDescription("MESSAGE", conditionAnswer.getResultMessage().getDescription()));873                    testCaseStepActionExecution.setEnd(new Date().getTime());874                    this.testCaseStepActionExecutionService.updateTestCaseStepActionExecution(testCaseStepActionExecution);875                    LOG.debug("Action interupted due to condition error.");876                    // We stop any further Action execution.877                    break;878                }879            } else {880                testCaseStepActionExecution.setEnd(new Date().getTime());881                testCaseStepExecution.setExecutionResultMessage(testCaseStepActionExecution.getExecutionResultMessage());882                testCaseStepExecution.setStepResultMessage(testCaseStepActionExecution.getActionResultMessage());883                testCaseStepExecution.setStopExecution(testCaseStepActionExecution.isStopExecution());884                this.testCaseStepActionExecutionService.updateTestCaseStepActionExecution(testCaseStepActionExecution);885                LOG.debug("Registered Action");886                if (testCaseStepActionExecution.isStopExecution()) {887                    break;888                }889            }890            /**891             * Log TestCaseStepActionExecution892             */893            if (tcExecution.getVerbose() > 0) {894                LOG.info(testCaseStepActionExecution.toJson(false, true));895            }896        }897        testCaseStepExecution.setEnd(new Date().getTime());898        this.testCaseStepExecutionService.updateTestCaseStepExecution(testCaseStepExecution);899        // Websocket --> we refresh the corresponding Detail Execution pages attached to this execution.900        if (tcExecution.isCerberus_featureflipping_activatewebsocketpush()) {901            TestCaseExecutionEndPoint.getInstance().send(tcExecution, false);902        }903        return testCaseStepExecution;904    }905    private TestCaseStepActionExecution executeAction(TestCaseStepActionExecution testCaseStepActionExecution, TestCaseExecution tcExecution) {906        LOG.debug("Starting execute Action : " + testCaseStepActionExecution.getAction());907        AnswerItem<String> answerDecode = new AnswerItem();908        /**909         * If execution is not manual, do action and record files910         */911        if (!tcExecution.getManualExecution().equals("Y")) {912            testCaseStepActionExecution = this.actionService.doAction(testCaseStepActionExecution);913            /**914             * Record Screenshot, PageSource915             */916            try {917                testCaseStepActionExecution.addFileList(recorderService.recordExecutionInformationAfterStepActionandControl(testCaseStepActionExecution, null));918            } catch (Exception ex) {919                LOG.warn("Unable to record Screenshot/PageSource : " + ex.toString());920            }921        } else {922            /**923             * If execution manual, set Action result message as notExecuted924             */925            testCaseStepActionExecution.setActionResultMessage(new MessageEvent(MessageEventEnum.ACTION_NOTEXECUTED));926            testCaseStepActionExecution.setExecutionResultMessage(new MessageGeneral(MessageGeneralEnum.EXECUTION_NE));927            testCaseStepActionExecution.setEnd(new Date().getTime());928        }929        /**930         * Register Action in database931         */932        LOG.debug("Registering Action : " + testCaseStepActionExecution.getAction());933        this.testCaseStepActionExecutionService.updateTestCaseStepActionExecution(testCaseStepActionExecution);934        LOG.debug("Registered Action");935        if (testCaseStepActionExecution.isStopExecution()) {936            return testCaseStepActionExecution;937        }938        //As controls are associated with an action, the current state for the action is stored in order to restore it939        //if some property is not defined for the country940        MessageEvent actionMessage = testCaseStepActionExecution.getActionResultMessage();941        MessageGeneral excutionResultMessage = testCaseStepActionExecution.getExecutionResultMessage();942        /**943         * Iterate Control944         */945        List<TestCaseStepActionControl> tcsacList = testCaseStepActionExecution.getTestCaseStepAction().getTestCaseStepActionControl();946        for (TestCaseStepActionControl testCaseStepActionControl : tcsacList) {947            /**948             * Start Execution of TestCAseStepActionControl949             */950            long startControl = new Date().getTime();951            /**952             * Create and Register TestCaseStepActionControlExecution953             */954            LOG.debug("Creating TestCaseStepActionControlExecution");955            TestCaseStepActionControlExecution testCaseStepActionControlExecution956                    = factoryTestCaseStepActionControlExecution.create(testCaseStepActionExecution.getId(), testCaseStepActionControl.getTest(), testCaseStepActionControl.getTestCase(),957                            testCaseStepActionControl.getStep(), testCaseStepActionExecution.getIndex(), testCaseStepActionControl.getSequence(), testCaseStepActionControl.getControlSequence(), testCaseStepActionControl.getSort(),958                            null, null,959                            testCaseStepActionControl.getConditionOper(), testCaseStepActionControl.getConditionVal1(), testCaseStepActionControl.getConditionVal2(), testCaseStepActionControl.getConditionVal1(), testCaseStepActionControl.getConditionVal2(),960                            testCaseStepActionControl.getControl(), testCaseStepActionControl.getValue1(), testCaseStepActionControl.getValue2(), testCaseStepActionControl.getValue1(), testCaseStepActionControl.getValue2(),961                            testCaseStepActionControl.getFatal(), startControl, 0, 0, 0,962                            testCaseStepActionControl.getDescription(), testCaseStepActionExecution, new MessageEvent(MessageEventEnum.CONTROL_PENDING));963            this.testCaseStepActionControlExecutionService.insertTestCaseStepActionControlExecution(testCaseStepActionControlExecution);964            LOG.debug("Executing control : " + testCaseStepActionControlExecution.getControlSequence() + " type : " + testCaseStepActionControlExecution.getControl());965            /**966             * We populate the TestCase Control List967             */968            testCaseStepActionExecution.addTestCaseStepActionExecutionList(testCaseStepActionControlExecution);969            // Evaluate the condition at the control level.970            AnswerItem<Boolean> conditionAnswer;971            boolean conditionDecodeError = false;...Source:TestCaseStepActionControlExecutionDAO.java  
...85                preStat.setInt(i++, testCaseStepActionControlExecution.getStep());86                preStat.setInt(i++, testCaseStepActionControlExecution.getIndex());87                preStat.setInt(i++, testCaseStepActionControlExecution.getSequence());88                preStat.setInt(i++, testCaseStepActionControlExecution.getControlSequence());89                preStat.setInt(i++, testCaseStepActionControlExecution.getSort());90                preStat.setString(i++, ParameterParserUtil.parseStringParam(testCaseStepActionControlExecution.getReturnCode(), ""));91                preStat.setString(i++, testCaseStepActionControlExecution.getConditionOperator());92                preStat.setString(i++, StringUtil.getLeftString(testCaseStepActionControlExecution.getConditionVal1Init(), 65000));93                preStat.setString(i++, StringUtil.getLeftString(testCaseStepActionControlExecution.getConditionVal2Init(), 65000));94                preStat.setString(i++, StringUtil.getLeftString(testCaseStepActionControlExecution.getConditionVal3Init(), 65000));95                preStat.setString(i++, StringUtil.getLeftString(testCaseStepActionControlExecution.getConditionVal1(), 65000));96                preStat.setString(i++, StringUtil.getLeftString(testCaseStepActionControlExecution.getConditionVal2(), 65000));97                preStat.setString(i++, StringUtil.getLeftString(testCaseStepActionControlExecution.getConditionVal3(), 65000));98                preStat.setString(i++, StringUtil.getLeftString(testCaseStepActionControlExecution.getControl(), 200));99                preStat.setString(i++, StringUtil.getLeftString(testCaseStepActionControlExecution.getValue1Init(), 65000));100                preStat.setString(i++, StringUtil.getLeftString(testCaseStepActionControlExecution.getValue2Init(), 65000));101                preStat.setString(i++, StringUtil.getLeftString(testCaseStepActionControlExecution.getValue3Init(), 65000));102                preStat.setString(i++, StringUtil.getLeftString(testCaseStepActionControlExecution.getValue1(), 65000));103                preStat.setString(i++, StringUtil.getLeftString(testCaseStepActionControlExecution.getValue2(), 65000));104                preStat.setString(i++, StringUtil.getLeftString(testCaseStepActionControlExecution.getValue3(), 65000));105                preStat.setString(i++, testCaseStepActionControlExecution.getFatal());106                if (testCaseStepActionControlExecution.getStart() != 0) {107                    preStat.setTimestamp(i++, new Timestamp(testCaseStepActionControlExecution.getStart()));108                } else {109                    preStat.setString(i++, "1970-01-01 01:01:01");110                }111                if (testCaseStepActionControlExecution.getEnd() != 0) {112                    preStat.setTimestamp(i++, new Timestamp(testCaseStepActionControlExecution.getEnd()));113                } else {114                    preStat.setString(i++, "1970-01-01 01:01:01");115                }116                DateFormat df = new SimpleDateFormat(DateUtil.DATE_FORMAT_TIMESTAMP);117                preStat.setString(i++, df.format(testCaseStepActionControlExecution.getStart()));118                preStat.setString(i++, df.format(testCaseStepActionControlExecution.getEnd()));119                preStat.setString(i++, StringUtil.getLeftString(ParameterParserUtil.parseStringParam(testCaseStepActionControlExecution.getReturnMessage(), ""), 65000));120                preStat.setString(i++, testCaseStepActionControlExecution.getTest());121                preStat.setString(i++, testCaseStepActionControlExecution.getTestCase());122                preStat.setString(i++, testCaseStepActionControlExecution.getDescription());123                preStat.executeUpdate();124            } catch (SQLException exception) {125                LOG.error("Unable to execute query : " + exception.toString());126            } finally {127                preStat.close();128            }129        } catch (SQLException exception) {130            LOG.error("Unable to execute query : " + exception.toString());131        } finally {132            try {133                if (connection != null) {134                    connection.close();135                }136            } catch (SQLException e) {137                LOG.warn(e.toString());138            }139        }140    }141    @Override142    public void updateTestCaseStepActionControlExecution(TestCaseStepActionControlExecution testCaseStepActionControlExecution) {143        final String query = "UPDATE testcasestepactioncontrolexecution SET returncode = ?, conditionOperator = ?, conditionVal1Init = ?, conditionVal2Init = ?, conditionVal3Init = ?, "144                + "conditionVal1 = ?, conditionVal2 = ?, conditionVal3 = ?, control = ?, "145                + "value1Init = ?, value2Init = ?, value3Init = ?, value1 = ?, value2 = ?, value3 = ?, fatal = ?, start = ?, END = ?, startlong = ?, endlong = ?"146                + ", returnmessage = ?, description = ?, sort = ? "147                + "WHERE id = ? AND test = ? AND testcase = ? AND step = ? AND `index` = ? AND sequence = ? AND controlsequence = ? ";148        // Debug message on SQL.149        if (LOG.isDebugEnabled()) {150            LOG.debug("SQL : " + query);151            LOG.debug("SQL.param.id : " + testCaseStepActionControlExecution.getId());152            LOG.debug("SQL.param.test : " + testCaseStepActionControlExecution.getTest());153            LOG.debug("SQL.param.testcase : " + testCaseStepActionControlExecution.getTestCase());154            LOG.debug("SQL.param.step : " + testCaseStepActionControlExecution.getStep());155            LOG.debug("SQL.param.index : " + testCaseStepActionControlExecution.getIndex());156            LOG.debug("SQL.param.sequence : " + testCaseStepActionControlExecution.getSequence());157            LOG.debug("SQL.param.controlsequence : " + testCaseStepActionControlExecution.getControlSequence());158        }159        Connection connection = this.databaseSpring.connect();160        try {161            PreparedStatement preStat = connection.prepareStatement(query);162            try {163                int i = 1;164                preStat.setString(i++, ParameterParserUtil.parseStringParam(testCaseStepActionControlExecution.getReturnCode(), ""));165                preStat.setString(i++, testCaseStepActionControlExecution.getConditionOperator());166                preStat.setString(i++, StringUtil.getLeftString(testCaseStepActionControlExecution.getConditionVal1Init(), 65000));167                preStat.setString(i++, StringUtil.getLeftString(testCaseStepActionControlExecution.getConditionVal2Init(), 65000));168                preStat.setString(i++, StringUtil.getLeftString(testCaseStepActionControlExecution.getConditionVal3Init(), 65000));169                preStat.setString(i++, StringUtil.getLeftString(testCaseStepActionControlExecution.getConditionVal1(), 65000));170                preStat.setString(i++, StringUtil.getLeftString(testCaseStepActionControlExecution.getConditionVal2(), 65000));171                preStat.setString(i++, StringUtil.getLeftString(testCaseStepActionControlExecution.getConditionVal3(), 65000));172                preStat.setString(i++, testCaseStepActionControlExecution.getControl());173                preStat.setString(i++, StringUtil.getLeftString(testCaseStepActionControlExecution.getValue1Init(), 65000));174                preStat.setString(i++, StringUtil.getLeftString(testCaseStepActionControlExecution.getValue2Init(), 65000));175                preStat.setString(i++, StringUtil.getLeftString(testCaseStepActionControlExecution.getValue3Init(), 65000));176                preStat.setString(i++, StringUtil.getLeftString(testCaseStepActionControlExecution.getValue1(), 65000));177                preStat.setString(i++, StringUtil.getLeftString(testCaseStepActionControlExecution.getValue2(), 65000));178                preStat.setString(i++, StringUtil.getLeftString(testCaseStepActionControlExecution.getValue3(), 65000));179                preStat.setString(i++, testCaseStepActionControlExecution.getFatal());180                if (testCaseStepActionControlExecution.getStart() != 0) {181                    preStat.setTimestamp(i++, new Timestamp(testCaseStepActionControlExecution.getStart()));182                } else {183                    preStat.setString(i++, "1970-01-01 01:01:01");184                }185                if (testCaseStepActionControlExecution.getEnd() != 0) {186                    preStat.setTimestamp(i++, new Timestamp(testCaseStepActionControlExecution.getEnd()));187                } else {188                    preStat.setString(i++, "1970-01-01 01:01:01");189                }190                DateFormat df = new SimpleDateFormat(DateUtil.DATE_FORMAT_TIMESTAMP);191                preStat.setString(i++, df.format(testCaseStepActionControlExecution.getStart()));192                preStat.setString(i++, df.format(testCaseStepActionControlExecution.getEnd()));193                preStat.setString(i++, StringUtil.getLeftString(ParameterParserUtil.parseStringParam(testCaseStepActionControlExecution.getReturnMessage(), ""), 65000));194                preStat.setString(i++, testCaseStepActionControlExecution.getDescription());195                preStat.setInt(i++, testCaseStepActionControlExecution.getSort());196                preStat.setLong(i++, testCaseStepActionControlExecution.getId());197                preStat.setString(i++, testCaseStepActionControlExecution.getTest());198                preStat.setString(i++, testCaseStepActionControlExecution.getTestCase());199                preStat.setInt(i++, testCaseStepActionControlExecution.getStep());200                preStat.setInt(i++, testCaseStepActionControlExecution.getIndex());201                preStat.setInt(i++, testCaseStepActionControlExecution.getSequence());202                preStat.setInt(i++, testCaseStepActionControlExecution.getControlSequence());203                preStat.executeUpdate();204            } catch (SQLException exception) {205                LOG.error("Unable to execute query : " + exception.toString());206            } finally {207                preStat.close();208            }209        } catch (SQLException exception) {...getSort
Using AI Code Generation
1package org.cerberus.crud.entity;2import java.util.ArrayList;3import java.util.Collections;4import java.util.Comparator;5import java.util.List;6public class TestCaseStepActionControlExecution {7    private int sort;8    public int getSort() {9        return sort;10    }11    public void setSort(int sort) {12        this.sort = sort;13    }14    public static void main(String[] args) {15        TestCaseStepActionControlExecution testCaseStepActionControlExecution = new TestCaseStepActionControlExecution();16        testCaseStepActionControlExecution.setSort(1);17        TestCaseStepActionControlExecution testCaseStepActionControlExecution1 = new TestCaseStepActionControlExecution();18        testCaseStepActionControlExecution1.setSort(2);19        TestCaseStepActionControlExecution testCaseStepActionControlExecution2 = new TestCaseStepActionControlExecution();20        testCaseStepActionControlExecution2.setSort(3);21        List<TestCaseStepActionControlExecution> testCaseStepActionControlExecutions = new ArrayList<TestCaseStepActionControlExecution>();22        testCaseStepActionControlExecutions.add(testCaseStepActionControlExecution);23        testCaseStepActionControlExecutions.add(testCaseStepActionControlExecution1);24        testCaseStepActionControlExecutions.add(testCaseStepActionControlExecution2);25        Collections.sort(testCaseStepActionControlExecutions, new Comparator<TestCaseStepActionControlExecution>() {26            public int compare(TestCaseStepActionControlExecution o1, TestCaseStepActionControlExecution o2) {27                return o1.getSort() - o2.getSort();28            }29        });30        for (TestCaseStepActionControlExecution testCaseStepActionControlExecution3 : testCaseStepActionControlExecutions) {31            System.out.println(testCaseStepActionControlExecution3.getSort());32        }33    }34}getSort
Using AI Code Generation
1public class 3 {2    public static void main(String[] args) {3        TestCaseStepActionControlExecution testCaseStepActionControlExecution = new TestCaseStepActionControlExecution();4        testCaseStepActionControlExecution.getSort();5    }6}7public class 4 {8    public static void main(String[] args) {9        TestCaseStepActionExecution testCaseStepActionExecution = new TestCaseStepActionExecution();10        testCaseStepActionExecution.getSort();11    }12}13public class 5 {14    public static void main(String[] args) {15        TestCaseStepExecution testCaseStepExecution = new TestCaseStepExecution();16        testCaseStepExecution.getSort();17    }18}19public class 6 {20    public static void main(String[] args) {21        TestCaseExecution testCaseExecution = new TestCaseExecution();22        testCaseExecution.getSort();23    }24}25public class 7 {26    public static void main(String[] args) {27        TestCaseExecutionQueue testCaseExecutionQueue = new TestCaseExecutionQueue();28        testCaseExecutionQueue.getSort();29    }30}31public class 8 {32    public static void main(String[] args) {33        TestCaseExecutionQueueDep testCaseExecutionQueueDep = new TestCaseExecutionQueueDep();34        testCaseExecutionQueueDep.getSort();35    }36}37public class 9 {38    public static void main(String[] args) {39        TestCaseExecutionQueueDepList testCaseExecutionQueueDepList = new TestCaseExecutionQueueDepList();40        testCaseExecutionQueueDepList.getSort();41    }42}43public class 10 {44    public static void main(StringgetSort
Using AI Code Generation
1import org.cerberus.crud.entity.TestCaseStepActionControlExecution;2import java.util.Comparator;3public class SortTestCaseStepActionControlExecution implements Comparator<TestCaseStepActionControlExecution> {4    public int compare(TestCaseStepActionControlExecution a, TestCaseStepActionControlExecution b) {5        return a.getSort().compareTo(b.getSort());6    }7}8import org.cerberus.crud.entity.TestCaseStepActionExecution;9import java.util.Comparator;10public class SortTestCaseStepActionExecution implements Comparator<TestCaseStepActionExecution> {11    public int compare(TestCaseStepActionExecution a, TestCaseStepActionExecution b) {12        return a.getSort().compareTo(b.getSort());13    }14}15import org.cerberus.crud.entity.TestCaseStepExecution;16import java.util.Comparator;17public class SortTestCaseStepExecution implements Comparator<TestCaseStepExecution> {18    public int compare(TestCaseStepExecution a, TestCaseStepExecution b) {19        return a.getSort().compareTo(b.getSort());20    }21}22import org.cerberus.crud.entity.TestCaseExecution;23import java.util.Comparator;24public class SortTestCaseExecution implements Comparator<TestCaseExecution> {25    public int compare(TestCaseExecution a, TestCaseExecution b) {26        return a.getSort().compareTo(b.getSort());27    }28}29import org.cerberus.crud.entity.TestCaseStepActionControlExecution;30import java.util.Comparator;31public class SortTestCaseStepActionControlExecution implements Comparator<TestCaseStepActionControlExecution> {32    public int compare(TestCaseStepActionControlExecution a, TestCaseStepActionControlExecution b) {33        return a.getSort().compareTo(b.getSort());34    }35}36import org.cerberus.crud.entity.TestCaseStepActionExecution;37import java.util.Comparator;getSort
Using AI Code Generation
1public void testGetSort() {2   TestCaseStepActionControlExecution testCaseStepActionControlExecution = new TestCaseStepActionControlExecution();3   int result = testCaseStepActionControlExecution.getSort();4   assertTrue(result == 0);5}6public void testGetControl()7public void testGetControlMessage()8public void testGetControlResultMessage()9public void testGetControlResult()10public void testGetControlStatus()11public void testGetControlValue()12public void testGetControlProperty()13public void testGetControlPropertyIndex()14public void testGetControlSequence()15public void testGetControlType()16public void testGetControlResultProperty()17public void testGetControlResultPropertyIndex()18public void testGetControlResultSequence()19public void testGetControlResultType()20public void testGetControlDescription()21public void testGetControlConditionOperator()22public void testGetControlConditionValue1()23public void testGetControlConditionValue2()24public void testGetControlConditionValue3()25public void testGetControlConditionValue4()26public void testGetControlConditionValue5()27public void testGetControlConditionValue6()28public void testGetControlConditionValue7()29public void testGetControlConditionValue8()30public void testGetControlConditionValue9()31public void testGetControlConditionValue10()32public void testGetControlConditionValue11()33public void testGetControlConditionValue12()34public void testGetControlConditionValue13()35public void testGetControlConditionValue14()36public void testGetControlConditionValue15()37public void testGetControlConditionValue16()38public void testGetControlConditionValue17()39public void testGetControlConditionValue18()40public void testGetControlConditionValue19()41public void testGetControlConditionValue20()42public void testGetControlConditionValue21()43public void testGetControlConditionValue22()44public void testGetControlConditionValue23()45public void testGetControlConditionValue24()46public void testGetControlConditionValue25()47public void testGetControlConditionValue26()48public void testGetControlConditionValue27()49public void testGetControlConditionValue28()50public void testGetControlConditionValue29()51public void testGetControlConditionValue30()52public void testGetControlConditionValue31()53public void testGetControlConditionValue32()54public void testGetControlConditionValue33()55public void testGetControlConditionValue34()getSort
Using AI Code Generation
1package org.cerberus.crud.entity;2import java.util.ArrayList;3import java.util.Collections;4import java.util.Comparator;5import java.util.List;6public class TestCaseStepActionControlExecution {7    private int sort;8    private String description;9    private String conditionOperator;10    private String conditionValue1;11    private String conditionValue2;12    private String conditionValue3;13    private String conditionValue1Init;14    private String conditionValue2Init;15    private String conditionValue3Init;16    private String conditionValue1Target;17    private String conditionValue2Target;18    private String conditionValue3Target;19    private String conditionOptions;20    private String fatal;21    private String control;22    private String controlValue1;23    private String controlValue2;24    private String controlValue3;25    private String controlValue1Init;26    private String controlValue2Init;27    private String controlValue3Init;28    private String controlValue1Target;29    private String controlValue2Target;30    private String controlValue3Target;31    private String controlOptions;32    private String controlProperty;33    private String controlPropertyIndex;34    private String controlPropertyType;35    private String controlPropertyParent;36    private String controlPropertyParentIndex;37    private String controlPropertyParentType;38    private String controlPropertyParentValue;39    private String controlPropertyParentValue2;40    private String controlPropertyParentValue3;41    private String controlPropertyParentValue4;42    private String controlPropertyParentValue5;43    private String controlPropertyParentValue6;44    private String controlPropertyParentValue7;45    private String controlPropertyParentValue8;46    private String controlPropertyParentValue9;47    private String controlPropertyParentValue10;48    private String controlPropertyParentValue11;49    private String controlPropertyParentValue12;50    private String controlPropertyParentValue13;51    private String controlPropertyParentValue14;52    private String controlPropertyParentValue15;53    private String controlPropertyParentValue16;54    private String controlPropertyParentValue17;55    private String controlPropertyParentValue18;56    private String controlPropertyParentValue19;57    private String controlPropertyParentValue20;58    private String controlPropertyParentValue21;59    private String controlPropertyParentValue22;60    private String controlPropertyParentValue23;61    private String controlPropertyParentValue24;62    private String controlPropertyParentValue25;getSort
Using AI Code Generation
1import org.cerberus.crud.entity.TestCaseStepActionControlExecution;2import java.util.ArrayList;3import java.util.Collections;4import java.util.List;5public class Test {6public static void main(String[] args) {7List<TestCaseStepActionControlExecution> list = new ArrayList<TestCaseStepActionControlExecution>();8TestCaseStepActionControlExecution control1 = new TestCaseStepActionControlExecution();9control1.setControlSequence(1);10control1.setControl("control1");11TestCaseStepActionControlExecution control2 = new TestCaseStepActionControlExecution();12control2.setControlSequence(2);13control2.setControl("control2");14TestCaseStepActionControlExecution control3 = new TestCaseStepActionControlExecution();15control3.setControlSequence(3);16control3.setControl("control3");17list.add(control3);18list.add(control1);19list.add(control2);20Collections.sort(list, TestCaseStepActionControlExecution.getSort());21for (TestCaseStepActionControlExecution control : list) {22System.out.println(control.getControlSequence() + " " + control.getControl());23}24}25}26Related posts: Java | Comparator compareTo() method Java | Comparator compare() method Java | Comparator reversed() method Java | Comparator thenComparing() method Java | Comparator thenComparingInt() method Java | Comparator thenComparingLong() method Java | Comparator thenComparingDouble() method Java | Comparator naturalOrder() method Java | Comparator nullsFirst() method Java | Comparator nullsLast() method Java | Comparator reversed() method Java | Comparator static comparing() method Java | Comparator static comparingInt() method Java | Comparator static comparingLong() method Java | Comparator static comparingDouble() method Java | Comparator static naturalOrder() method Java | Comparator static nullsFirst() method Java | Comparator static nullsLast() methodgetSort
Using AI Code Generation
1package org.cerberus.crud.entity;2import java.io.Serializable;3import java.util.ArrayList;4import java.util.List;5import org.cerberus.crud.entity.TestCaseStepActionControlExecution;6public class TestCaseStepActionControlExecution implements Serializable {7    private long id;8    private int sort;9    private String returnCode;10    private String returnMessage;11    private String returnObj;12    private String screenshotFilename;13    private String control;14    private String controlValue;15    private String controlProperty;16    private String fatal;17    private String description;18    private String conditionOperator;19    private String conditionValue1;20    private String conditionValue2;21    private String conditionValue3;22    private String conditionOptions;23    private String conditionValue1Init;24    private String conditionValue2Init;25    private String conditionValue3Init;26    private String conditionOptionsInit;27    private String conditionValue1Target;28    private String conditionValue2Target;29    private String conditionValue3Target;30    private String conditionOptionsTarget;31    private String conditionValue1TargetInit;32    private String conditionValue2TargetInit;33    private String conditionValue3TargetInit;34    private String conditionOptionsTargetInit;35    private String conditionValue1TargetValue;36    private String conditionValue2TargetValue;37    private String conditionValue3TargetValue;38    private String conditionOptionsTargetValue;39    private String conditionValue1TargetValueInit;40    private String conditionValue2TargetValueInit;41    private String conditionValue3TargetValueInit;42    private String conditionOptionsTargetValueInit;43    private String conditionValue1TargetProperty;44    private String conditionValue2TargetProperty;45    private String conditionValue3TargetProperty;46    private String conditionOptionsTargetProperty;47    private String conditionValue1TargetPropertyInit;48    private String conditionValue2TargetPropertyInit;49    private String conditionValue3TargetPropertyInit;50    private String conditionOptionsTargetPropertyInit;51    private String conditionValue1TargetPropertyIndex;52    private String conditionValue2TargetPropertyIndex;53    private String conditionValue3TargetPropertyIndex;54    private String conditionOptionsTargetPropertyIndex;Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!
