package org.jboss.qa.brms.performance.localsearch.projectjobscheduling.moveselector;

import org.jboss.qa.brms.performance.examples.projectjobscheduling.termination.ProjectJobSchedulingCalculateCountTermination;
import org.jboss.qa.brms.performance.configuration.AcceptorConfigurations;
import org.jboss.qa.brms.performance.localsearch.projectjobscheduling.AbstractProjectJobSchedulingLocalSearchBenchmark;
import org.optaplanner.core.config.heuristic.selector.value.ValueSelectorConfig;
import org.optaplanner.core.config.localsearch.decider.acceptor.LocalSearchAcceptorConfig;
import org.optaplanner.core.config.solver.termination.TerminationConfig;

public abstract class AbstractProjectJobSchedulingMoveSelectorBenchmark extends AbstractProjectJobSchedulingLocalSearchBenchmark {

    protected ValueSelectorConfig getExecutionModeValueSelectorConfig() {
        ValueSelectorConfig valueSelectorConfig = new ValueSelectorConfig();
        valueSelectorConfig.setVariableName("executionMode");
        return valueSelectorConfig;
    }

    protected ValueSelectorConfig getDelayValueSelectorConfig() {
        ValueSelectorConfig valueSelectorConfig = new ValueSelectorConfig();
        valueSelectorConfig.setVariableName("delay");
        return valueSelectorConfig;
    }

    @Override
    public LocalSearchAcceptorConfig createAcceptorConfig() {
        return AcceptorConfigurations.createSimulatedAnnealingAcceptor("[0]hard/[0/0]soft");
    }

    @Override
    public int getAcceptedCountLimit() {
        return 1000000;
    }

    @Override
    public TerminationConfig getTerminationConfig() {
        TerminationConfig terminationConfig = new TerminationConfig();
        terminationConfig.setTerminationClass(ProjectJobSchedulingCalculateCountTermination.class);
        return terminationConfig;
    }
}

@@ -1426,21 +1426,23 @@
 or(%22
-%5B0%5D
+0
 hard/
-%5B
 0
+medium
 /0
-%5D
 soft

Update to scoreString ([0]hard/[0/0]soft) to match pattern (999hard/999medium/999soft)