Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright 2011 JBoss Inc
   *
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   *
   * http://www.apache.org/licenses/LICENSE-2.0
   *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
 package org.drools.planner.core.bruteforce;
 
 import java.util.List;
 
 
 
 
 
     public BruteForceEntityWalker(SolutionDescriptor solutionDescriptor) {
         this. = solutionDescriptor;
     }
 
     public void phaseStarted(BruteForceSolverPhaseScope bruteForceSolverPhaseScope) {
         List<ObjectworkingPlanningEntityList = bruteForceSolverPhaseScope.getWorkingPlanningEntityList();
          = new ArrayList<PlanningVariableWalker>(workingPlanningEntityList.size());
         for (Object planningEntity : workingPlanningEntityList) {
             PlanningEntityDescriptor planningEntityDescriptor = .getPlanningEntityDescriptor(
                     planningEntity.getClass());
             PlanningVariableWalker planningVariableWalker = new PlanningVariableWalker(planningEntityDescriptor);
             List<PlanningValueWalkerplanningValueWalkerList = buildPlanningValueWalkerList(planningEntityDescriptor);
             planningVariableWalker.setPlanningValueWalkerList(planningValueWalkerList);
             .add(planningVariableWalker);
             planningVariableWalker.phaseStarted(bruteForceSolverPhaseScope);
             planningVariableWalker.initWalk(planningEntity);
         }
     }
 
     private List<PlanningValueWalkerbuildPlanningValueWalkerList(PlanningEntityDescriptor planningEntityDescriptor) {
         Collection<PlanningVariableDescriptorplanningVariableDescriptors
                 = planningEntityDescriptor.getPlanningVariableDescriptors();
         List<PlanningValueWalkerplanningValueWalkerList = new ArrayList<PlanningValueWalker>(
                 planningVariableDescriptors.size());
         for (PlanningVariableDescriptor planningVariableDescriptor : planningVariableDescriptors) {
             PlanningValueSelector planningValueSelector = new PlanningValueSelector(planningVariableDescriptor);
             planningValueSelector.setSelectionOrder(.);
             planningValueSelector.setSelectionPromotion(.);
             planningValueSelector.setRoundRobinSelection(false);
             PlanningValueWalker planningValueWalker = new PlanningValueWalker(planningVariableDescriptor,
                     planningValueSelector);
             planningValueWalkerList.add(planningValueWalker);
         }
         return planningValueWalkerList;
     }
 
     public boolean hasWalk() {
         for (PlanningVariableWalker planningVariableWalker : ) {
             if (planningVariableWalker.hasWalk()) {
                 return true;
             }
         }
         // All levels are maxed out
         return false;
     }
 
     public void walk() {
         // Find the level to increment (for example in 115999)
         for (PlanningVariableWalker planningVariableWalker : ) {
             if (planningVariableWalker.hasWalk()) {
                 // Increment that level (for example 5 in 115999)
                 planningVariableWalker.walk();
                 // Do not touch the higher levels (for example each 1 in 115999)
                 break;
             } else {
                 // Reset the lower levels (for example each 9 in 115999)
                 planningVariableWalker.resetWalk();
             }
         }
     }
 
    public void stepTaken(BruteForceStepScope bruteForceStepScope) {
        for (PlanningVariableWalker planningVariableWalker : ) {
            planningVariableWalker.stepTaken(bruteForceStepScope);
        }
    }
    public void phaseEnded(BruteForceSolverPhaseScope bruteForceSolverPhaseScope) {
        for (PlanningVariableWalker planningVariableWalker : ) {
            planningVariableWalker.phaseEnded(bruteForceSolverPhaseScope);
        }
         = null;
    }
New to GrepCode? Check out our FAQ X