All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.github.agentsoz.bushfire.jack.plans.Fast_routeP Maven / Gradle / Ivy

/*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
  This code is generated by JAC version 5.6 by
  Agent Oriented Software. http://www.agent-software.com.au

    DO NOT ALTER THIS CODE AND DO NOT REMOVE THIS COMMENT
 *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*/
package io.github.agentsoz.bushfire.jack.plans;
import aos.jack.jak.plan.Plan;
import aos.jack.jak.plan.PlanFSM;
import aos.jack.jak.plan.ExMap;
import aos.jack.jak.agent.NameSpace;
import aos.jack.jak.event.Event;
import aos.jack.jak.task.Task;
import aos.jack.jak.core.Generator;
import aos.jack.jak.cursor.Cursor;
import aos.jack.jak.cursor.BinaryBoolOp;
import aos.jack.jak.logic.Signature;
import io.github.agentsoz.bushfire.jack.events.Decide_routeG;
import io.github.agentsoz.bushfire.jack.agents.EvacController;
import io.github.agentsoz.bushfire.jack.data.Shelter_Assignments;
import io.github.agentsoz.bushfire.jack.data.Routes;
import io.github.agentsoz.bushfire.jack.data.Route_Assignments;
import org.slf4j.Logger;
import java.util.List;
import java.lang.Object;
import aos.jack.jak.fsm.FSM;
import org.slf4j.LoggerFactory;
import aos.jack.jak.core.Jak;

/**
 * @author Sewwandi Perera
 */

public class Fast_routeP extends aos.jack.jak.plan.Plan {
    aos.jack.jak.logic.StringVariable shelter;
    aos.jack.jak.logic.StringVariable routeName;
    aos.jack.jak.logic.ObjectVariable route;
    aos.jack.jak.logic.ObjectVariable waypointNames;
    aos.jack.jak.logic.LongVariable desc_time;
    final org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger("");
    public io.github.agentsoz.bushfire.jack.events.Decide_routeG h_Decide_routeG;
    public io.github.agentsoz.bushfire.jack.agents.EvacController enc;
    public io.github.agentsoz.bushfire.jack.data.Shelter_Assignments shelterAssignments;
    public io.github.agentsoz.bushfire.jack.data.Routes routes;
    public io.github.agentsoz.bushfire.jack.data.Route_Assignments routeAssignments;
    private static aos.jack.jak.plan.ExMap[] __exMap_body;
    private static java.lang.String[] __tt__body = {
            "io/github/agentsoz/bushfire/jack/plans/Fast_routeP.plan",
            "body",
            "52",
            "53",
            "49"};
    private final static java.lang.String[] __planVariableNames = {
            "shelter",
            "routeName",
            "route",
            "waypointNames",
            "desc_time",
            "logger",
            "h_Decide_routeG",
            "enc",
            "shelterAssignments",
            "routes",
            "routeAssignments"};
    private final static java.lang.String[] __planVariableTypes = {
            "aos.jack.jak.logic.StringVariable",
            "aos.jack.jak.logic.StringVariable",
            "aos.jack.jak.logic.ObjectVariable",
            "aos.jack.jak.logic.ObjectVariable",
            "logical long",
            "org.slf4j.Logger",
            "io.github.agentsoz.bushfire.jack.events.Decide_routeG",
            "EvacController",
            "Shelter_Assignments",
            "Routes",
            "io.github.agentsoz.bushfire.jack.data.Route_Assignments"};
    private final static java.lang.String[] __reasoningMethods = {
            "body"};
    private final static java.lang.String[] __logSignatureVariableNames = {
            "shelter",
            "routeName",
            "route",
            "waypointNames",
            "desc_time"};
    private final static java.lang.String[] __logSignatureVariableTypes = {
            "aos.jack.jak.logic.StringVariable",
            "aos.jack.jak.logic.StringVariable",
            "aos.jack.jak.logic.ObjectVariable",
            "aos.jack.jak.logic.ObjectVariable",
            "logical long"};
    static boolean relevant(io.github.agentsoz.bushfire.jack.events.Decide_routeG ev)
    {
        return true;
    }
    
    public java.lang.String getDocumentation()
    {
        return "/**\n * @author Sewwandi Perera\n */\n";
    }
    
    public Fast_routeP()
    {
    }
    
    private Fast_routeP(aos.jack.jak.task.Task __t, io.github.agentsoz.bushfire.jack.plans.Fast_routeP __env)
    {
        __agent = __env.__agent;
        __ns = __env.__ns;
        __planTask = __t;
        __logic = __t.logic;
        h_Decide_routeG = __env.h_Decide_routeG;
        enc = (io.github.agentsoz.bushfire.jack.agents.EvacController) __ns.getIF(io.github.agentsoz.bushfire.jack.agents.EvacController.class);
        shelterAssignments = __env.shelterAssignments;
        routes = __env.routes;
        routeAssignments = __env.routeAssignments;
        shelter = (aos.jack.jak.logic.StringVariable) __logic.new_variable(java.lang.String.class);
        routeName = (aos.jack.jak.logic.StringVariable) __logic.new_variable(java.lang.String.class);
        route = (aos.jack.jak.logic.ObjectVariable) __logic.new_variable(java.util.List.class);
        waypointNames = (aos.jack.jak.logic.ObjectVariable) __logic.new_variable(java.util.List.class);
        desc_time = (aos.jack.jak.logic.LongVariable) __logic.new_variable(java.lang.Long.TYPE);
    }
    
    public boolean init_sentinel(aos.jack.jak.agent.NameSpace __a)
    {
        h_Decide_routeG = (io.github.agentsoz.bushfire.jack.events.Decide_routeG) __a.findEvent("io.github.agentsoz.bushfire.jack.events.Decide_routeG");
        if (h_Decide_routeG == null) {
            warning("Decide_routeG h_Decide_routeG: is not found in the capability/agent this plan comes from");
            return false;
        }
        shelterAssignments = (io.github.agentsoz.bushfire.jack.data.Shelter_Assignments) lookupNamedObject("shelterAssignments","io.github.agentsoz.bushfire.jack.data.Shelter_Assignments",0);
        if (shelterAssignments == null) {
            warning("Shelter_Assignments shelterAssignments: is not found in the capability/agent this plan comes from");
            return false;
        }
        routes = (io.github.agentsoz.bushfire.jack.data.Routes) lookupNamedObject("routes","io.github.agentsoz.bushfire.jack.data.Routes",0);
        if (routes == null) {
            warning("Routes routes: is not found in the capability/agent this plan comes from");
            return false;
        }
        routeAssignments = (io.github.agentsoz.bushfire.jack.data.Route_Assignments) lookupNamedObject("routeAssignments","io.github.agentsoz.bushfire.jack.data.Route_Assignments",0);
        if (routeAssignments == null) {
            warning("Route_Assignments routeAssignments: is not found in the capability/agent this plan comes from");
            return false;
        }
        return true;
    }
    
    public aos.jack.jak.plan.Plan freeze()
    {
        return this;
    }
    
    public aos.jack.jak.plan.Plan unfreeze()
    {
        return this;
    }
    
    public java.lang.Object genObject(int __index)
    {
        switch (__index) {
        }
        aos.jack.jak.core.Jak.error("illegal Object Construction");
        return null;
    }
    
    public aos.jack.jak.cursor.Cursor genCursor(int __index)
        throws java.lang.Exception
    {
        switch (__index) {
            case 0: 
            {
                return (shelterAssignments.qGetShelter(h_Decide_routeG.areaName,shelter));
            }
            case 1: 
            {
                return (routes.qGetRoute(h_Decide_routeG.areaName,(java.lang.String) shelter.getValue(),routeName,route,waypointNames,"FAST",desc_time));
            }
            case 2: 
            {
                return (new aos.jack.jak.cursor.BinaryBoolOp(this,__logic,aos.jack.jak.cursor.BinaryBoolOp.AND,(short) 0,true,(short) 1,true));
            }
        }
        aos.jack.jak.core.Jak.error("illegal Cursor Construction");
        return null;
    }
    
    public aos.jack.jak.fsm.FSM genFSM(int __index)
        throws java.lang.Exception
    {
        switch (__index) {
        }
        aos.jack.jak.core.Jak.error("illegal FSM Construction");
        return null;
    }
    
    public boolean testCondition(int __index)
        throws java.lang.Exception
    {
        switch (__index) {
        }
        aos.jack.jak.core.Jak.error("illegal test Construction");
        return false;
    }
    
    public aos.jack.jak.plan.PlanFSM body()
    {
        return new io.github.agentsoz.bushfire.jack.plans.Fast_routeP.__bodyFSM();
    }
    
    private Fast_routeP(io.github.agentsoz.bushfire.jack.events.Decide_routeG __ev, aos.jack.jak.task.Task __t, io.github.agentsoz.bushfire.jack.plans.Fast_routeP __env)
    {
        this(__t,__env);
        this.h_Decide_routeG = __ev;
    }
    
    protected aos.jack.jak.logic.Signature eventSignature(int __log)
    {
        return h_Decide_routeG.getSignature(__log);
    }
    
    public java.lang.String handledEvent()
    {
        return "io.github.agentsoz.bushfire.jack.events.Decide_routeG";
    }
    
    public boolean __relevant(aos.jack.jak.event.Event __e)
    {
        return __ns.isEnabled() && relevant(((io.github.agentsoz.bushfire.jack.events.Decide_routeG) __e));
    }
    
    public aos.jack.jak.plan.Plan createPlan(aos.jack.jak.event.Event __e, aos.jack.jak.task.Task __t)
    {
        if (!(__e instanceof io.github.agentsoz.bushfire.jack.events.Decide_routeG)) 
            return null;
        io.github.agentsoz.bushfire.jack.events.Decide_routeG __e1 = (io.github.agentsoz.bushfire.jack.events.Decide_routeG) __e;
        return new io.github.agentsoz.bushfire.jack.plans.Fast_routeP(__e1,__t,this);
    }
    
    protected aos.jack.jak.logic.Signature initSignature(int __log)
    {
        aos.jack.jak.logic.Signature __s = super.initSignature(__log + 5);
        __s.addLogical(shelter);
        __s.addLogical(routeName);
        __s.addLogical(route);
        __s.addLogical(waypointNames);
        __s.addLogical(desc_time);
        return __s;
    }
    
    public void setFromSignature(aos.jack.jak.logic.Signature __s)
    {
        super.setFromSignature(__s);
        shelter = (aos.jack.jak.logic.StringVariable) __s.getLogical();
        routeName = (aos.jack.jak.logic.StringVariable) __s.getLogical();
        route = (aos.jack.jak.logic.ObjectVariable) __s.getLogical();
        waypointNames = (aos.jack.jak.logic.ObjectVariable) __s.getLogical();
        desc_time = (aos.jack.jak.logic.LongVariable) __s.getLogical();
    }
    
    public java.lang.String[] variableNames()
    {
        return __planVariableNames;
    }
    
    public java.lang.String[] variableTypes()
    {
        return __planVariableTypes;
    }
    
    public java.lang.Object getVariable(int n)
    {
        switch (n) {
            case 0: 
            {
                return aos.util.ToObject.box(shelter);
            }
            case 1: 
            {
                return aos.util.ToObject.box(routeName);
            }
            case 2: 
            {
                return aos.util.ToObject.box(route);
            }
            case 3: 
            {
                return aos.util.ToObject.box(waypointNames);
            }
            case 4: 
            {
                return aos.util.ToObject.box(desc_time);
            }
            case 5: 
            {
                return aos.util.ToObject.box(logger);
            }
            case 6: 
            {
                return aos.util.ToObject.box(h_Decide_routeG);
            }
            case 7: 
            {
                return aos.util.ToObject.box(enc);
            }
            case 8: 
            {
                return aos.util.ToObject.box(shelterAssignments);
            }
            case 9: 
            {
                return aos.util.ToObject.box(routes);
            }
            case 10: 
            {
                return aos.util.ToObject.box(routeAssignments);
            }
            default: 
            {
                throw new java.lang.IndexOutOfBoundsException("Plan " + this + " does not have variable number " + n);
            }
        }
    }
    
    public java.lang.String[] reasoningMethods()
    {
        return mergeReasoningMethods(__reasoningMethods,super.reasoningMethods());
    }
    
    public java.lang.String[] logSignatureVariableNames()
    {
        return __logSignatureVariableNames;
    }
    
    public java.lang.String[] logSignatureVariableTypes()
    {
        return __logSignatureVariableTypes;
    }
    
    public aos.jack.jak.cursor.Cursor context()
    {
        try {
            return (genCursor(2));
        }
        catch (java.lang.Exception e) {
            e.printStackTrace();
            return aos.jack.jak.cursor.Cursor.falseCursor;
        }
    }
    
    class __bodyFSM extends aos.jack.jak.plan.PlanFSM implements aos.jack.jak.core.Generator {
        private int __breakLevel = 0;
        public int run(int __status)
            throws java.lang.Throwable
        {
            do {
                try {
                    if (__tothrow != null) 
                        throw __tothrow;
                    if ((aos.jack.jak.core.Jak.debugging & aos.jack.jak.core.Jak.LOG_PLANS) != 0) 
                        aos.util.logging.LogMsg.log(this,aos.jack.jak.core.Jak.LOG_PLANS,__task + "-Fast_routeP.body:" + java.lang.Integer.toString(__state));
                    if (__task.nsteps > 0) {
                        __task.nsteps-- ;
                        if (__task.nsteps == 0) 
                            agent.changeFocus();
                    }
                    if (__state < 10) {
                        __status = super.stdrun(io.github.agentsoz.bushfire.jack.plans.Fast_routeP.this,__status);
                        if (__status != CONTINUE || agent.changing_focus) 
                            return __status;
                        continue;
                    }
                    __curstate = __state;
                    switch (__state) {
                        default: 
                        {
                            aos.jack.jak.core.Jak.error("Fast_routeP.body: Illegal state");
                            return FAILED_STATE;
                        }
                        //* (52)         logger.trace("Fast_routeP is initiated for area " + h_Decide_routeG.areaName);
                        case 10: 
                        {
                            __breakLevel = 0;
                            __state = 11;
                            logger.trace("Fast_routeP is initiated for area " + h_Decide_routeG.areaName);
                            break;
                        }
                        //* (53)         routeAssignments.insert(h_Decide_routeG.areaName, (String)shelter.getValue(), (String)routeName.getValue(), (List)route.getValue(), (List)waypointNames.getValue());
                        case 11: 
                        {
                            __state = 12;
                            routeAssignments.insert(h_Decide_routeG.areaName,(java.lang.String) shelter.getValue(),(java.lang.String) routeName.getValue(),(java.util.List) route.getValue(),(java.util.List) waypointNames.getValue());
                            break;
                        }
                        //* (49)     #reasoning method
                        case 12: 
                        {
                            if (__pending == null) 
                                __state = PASSED_STATE;
                            __tothrow = __pending;
                            break;
                        }
                    }
                }
                catch (java.lang.Throwable e) {
                    handleException(e,__exMap_body);
                }
            }
             while (!agent.changing_focus);
            return CONTINUE;
        }
        
        public java.lang.String methodName()
        {
            return "body";
        }
        
        __bodyFSM()
        {
        }
        
        public java.lang.String stateInfo()
        {
            int n = __curstate;
            java.lang.String file = __tt__body[0];
            java.lang.String method = __tt__body[1];
            if (n < 0) 
                n = -n;
            n -= (10 - 2);
            java.lang.String line = (n < 2)?"??":__tt__body[n];
            return file + ":" + line + " " + method + " [" + __curstate + "]";
        }
        
        public java.lang.Object genObject(int __index)
        {
            switch (__index) {
            }
            aos.jack.jak.core.Jak.error("illegal Object Construction");
            return null;
        }
        
        public aos.jack.jak.cursor.Cursor genCursor(int __index)
            throws java.lang.Exception
        {
            switch (__index) {
            }
            aos.jack.jak.core.Jak.error("illegal Cursor Construction");
            return null;
        }
        
        public aos.jack.jak.fsm.FSM genFSM(int __index)
            throws java.lang.Exception
        {
            switch (__index) {
            }
            aos.jack.jak.core.Jak.error("illegal FSM Construction");
            return null;
        }
        
        public boolean testCondition(int __index)
            throws java.lang.Exception
        {
            switch (__index) {
            }
            aos.jack.jak.core.Jak.error("illegal test Construction");
            return false;
        }
        
        public aos.jack.jak.plan.Plan getPlan()
        {
            return io.github.agentsoz.bushfire.jack.plans.Fast_routeP.this;
        }
        
        protected aos.jack.jak.fsm.FSM fail()
        {
            return getPlan().fail();
        }
        
        protected aos.jack.jak.fsm.FSM pass()
        {
            return getPlan().pass();
        }
        
        public void enter()
        {
            __trace = agent.trace("io.github.agentsoz.bushfire.jack.plans.Fast_routeP.body");
        }
        
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy