@Override public void inherit(ConstructionHeuristicPhaseConfig inheritedConfig) { super.inherit(inheritedConfig); constructionHeuristicType = ConfigUtils.inheritOverwritableProperty(constructionHeuristicType, inheritedConfig.getConstructionHeuristicType()); entitySorterManner = ConfigUtils.inheritOverwritableProperty(entitySorterManner, inheritedConfig.getEntitySorterManner()); valueSorterManner = ConfigUtils.inheritOverwritableProperty(valueSorterManner, inheritedConfig.getValueSorterManner()); setEntityPlacerConfig(ConfigUtils.inheritOverwritableProperty( getEntityPlacerConfig(), inheritedConfig.getEntityPlacerConfig())); moveSelectorConfigList = ConfigUtils.inheritMergeableListConfig( moveSelectorConfigList, inheritedConfig.getMoveSelectorConfigList()); foragerConfig = ConfigUtils.inheritConfig(foragerConfig, inheritedConfig.getForagerConfig()); }
private List<PhaseConfigModel> create(final List<PhaseConfig> phaseConfigList) { if (phaseConfigList == null) { return new ArrayList<>(); } else { List<PhaseConfigModel> result = new ArrayList<>(phaseConfigList.size()); for (PhaseConfig phaseConfig : phaseConfigList) { if (phaseConfig instanceof ConstructionHeuristicPhaseConfig) { ConstructionHeuristicPhaseConfig constructionHeuristicPhaseConfig = (ConstructionHeuristicPhaseConfig) phaseConfig; ConstructionHeuristicPhaseConfigModel phaseConfigModel = new ConstructionHeuristicPhaseConfigModel(); phaseConfigModel.setConstructionHeuristicType(constructionHeuristicPhaseConfig.getConstructionHeuristicType()); phaseConfigModel.setEntitySorterManner(constructionHeuristicPhaseConfig.getEntitySorterManner()); result.add(phaseConfigModel); } else if (phaseConfig instanceof LocalSearchPhaseConfig) { LocalSearchPhaseConfig localSearchPhaseConfig = (LocalSearchPhaseConfig) phaseConfig; LocalSearchPhaseConfigModel phaseConfigModel = new LocalSearchPhaseConfigModel(); phaseConfigModel.setLocalSearchType(localSearchPhaseConfig.getLocalSearchType()); result.add(phaseConfigModel); } } return result; } } }
@Test public void get() { ToSolverConfig toSolverConfigModel = new ToSolverConfig(getSolverConfigModel()); SolverConfig solverConfig = toSolverConfigModel.get(); TerminationConfig terminationConfig = solverConfig.getTerminationConfig(); assertEquals(Long.valueOf(1), terminationConfig.getMillisecondsSpentLimit()); assertEquals(1, terminationConfig.getTerminationConfigList().size()); assertEquals(Boolean.TRUE, terminationConfig.getTerminationConfigList().get(0).getBestScoreFeasible()); assertEquals("testKsession", solverConfig.getScoreDirectorFactoryConfig().getKsessionName()); assertEquals(2, solverConfig.getPhaseConfigList().size()); ConstructionHeuristicPhaseConfig constructionHeuristicPhaseConfig = (ConstructionHeuristicPhaseConfig) solverConfig.getPhaseConfigList().get(0); assertEquals(ConstructionHeuristicType.FIRST_FIT, constructionHeuristicPhaseConfig.getConstructionHeuristicType()); assertEquals(EntitySorterManner.DECREASING_DIFFICULTY, constructionHeuristicPhaseConfig.getEntitySorterManner()); LocalSearchPhaseConfig localSearchPhaseConfig = (LocalSearchPhaseConfig) solverConfig.getPhaseConfigList().get(1); assertEquals(LocalSearchType.TABU_SEARCH, localSearchPhaseConfig.getLocalSearchType()); }