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.simulation.fluent.simulation.impl;
 
 import java.util.Date;
 import java.util.List;
 
 
         implements SimulationFluent {
     
 
     private Simulation simulation;
     private VariableContext variableContext;
 
     private SimulationPath activePath = null;
     private int pathCounter = 0;
     private SimulationStep activeStep = null;
 
     private String activeKieSessionId = null;
     
     private static final String DEFAULT_ID = "__DEFAULT__";
 
     public DefaultSimulationFluent() {
         super();
 
          = new SimulationImpl();
          = new MapVariableContext();
     }
 
     public <P> VariableContext<P> getVariableContext() {
         return ;
     }
 
     public SimulationFluent newPath() {
         String pathId = "path" + ;
         ++;
          = null;
         return newPath(pathId);
     }
 
     public SimulationFluent newPath(String id) {
          = new SimulationPathImpl(id);
         .getPaths().put(id);
          = null;
         return this;
     }
 
     public SimulationFluent getPath(String id) {
          = .getPaths().get(id);
         if ( == null) {
             throw new IllegalArgumentException("There is no path with path id (" + id + ") created yet." +
                     " Call newPath(id) first.");
         }
         List<SimulationStepsteps = .getSteps();
          = steps.get(steps.size() - 1);
         return this;
     }
 
     private void assureActivePath() {
         if ( == null) {
             newPath();
         }
     }
 
    public SimulationPath getActivePath() {
        return ;
    }
    public SimulationFluent newStep(long distanceMillis) {
        assureActivePath();
         = new SimulationStepImpl(distanceMillis);
        .getSteps().add();
        return this;
    }
    public SimulationFluent newStep(long distanceMillisTimeUnit timeUnit) {
        return newStep(timeUnit.toMillis(distanceMillis));
    }
    public SimulationFluent newRelativeStep(long relativeDistanceMillis) {
        if ( == null) {
            return newStep(relativeDistanceMillis);
        }
        return newStep(.getDistanceMillis() + relativeDistanceMillis);
    }
    public SimulationFluent newRelativeStep(long relativeDistanceTimeUnit timeUnit) {
        return newRelativeStep(timeUnit.toMillis(relativeDistance));
    }
    private void assureActiveStep() {
        if ( == null) {
            newStep(0L);
        }
    }
    public SimulationStep getActiveStep() {
        return ;
    }
    public SimulationFluent addCommand(Command command) {
        .getCommands().add(command);
        return this;
    }
    public String getActiveKieSessionId() {
        return ;
    }
        return newKieSessionnullnull);
    }
    
    public KieSessionSimulationFluent newKieSession(ReleaseId releaseIdString id) {
        assureActiveStep();
         = id == null ?  : id;
        addCommandnew NewKieSessionCommandreleaseIdid ) );
        return new DefaultStatefulKnowledgeSessionSimFluentthis );
    }
        if ( == null) {
            throw new IllegalStateException("There is no activeKnowledgeSession. Call newStatefulKnowledgeSession() instead.");
        }
        return new DefaultStatefulKnowledgeSessionSimFluentthis );
    }
         = id;
        addCommand(new GetVariableCommand(id));
        return new DefaultStatefulKnowledgeSessionSimFluentthis );
    }
    public Simulation getSimulation() {
        return ;
    }
    public void runSimulation() {
        runSimulationnew Date().getTime() );
    }
    public void runSimulation(long startTimeMillis) {
        Simulator simulator = new SimulatorstartTimeMillis );
        simulator.run();
    }
New to GrepCode? Check out our FAQ X