diff --git a/src/rosjava_actionlib/rosjava_actionlib/src/main/java/com/github/ekumen/rosjava_actionlib/ActionGoal.java b/src/rosjava_actionlib/rosjava_actionlib/src/main/java/com/github/ekumen/rosjava_actionlib/ActionGoal.java index 1a368c39d8c3cffc0e88c273bfe5d4ff51cdc07d..6bc5fd2ff9db6c0a48f5aa0530e85e34b44ad9dc 100644 --- a/src/rosjava_actionlib/rosjava_actionlib/src/main/java/com/github/ekumen/rosjava_actionlib/ActionGoal.java +++ b/src/rosjava_actionlib/rosjava_actionlib/src/main/java/com/github/ekumen/rosjava_actionlib/ActionGoal.java @@ -237,7 +237,7 @@ public class ActionGoal<T_ACTION_GOAL extends Message, T_GOAL extends Message> { } - public boolean equals(ActionGoal<T_ACTION_GOAL> ag) { + public boolean equals(ActionGoal ag) { return (this.getGoalId() == ag.getGoalId()); } } diff --git a/src/rosjava_actionlib/rosjava_actionlib/src/main/java/com/github/ekumen/rosjava_actionlib/ClientGoalManager.java b/src/rosjava_actionlib/rosjava_actionlib/src/main/java/com/github/ekumen/rosjava_actionlib/ClientGoalManager.java index c8be6c532515acd0e01b321757acc18c3af995dc..3b23d8959f599d93d6e5eff0e951437667f7e473 100644 --- a/src/rosjava_actionlib/rosjava_actionlib/src/main/java/com/github/ekumen/rosjava_actionlib/ClientGoalManager.java +++ b/src/rosjava_actionlib/rosjava_actionlib/src/main/java/com/github/ekumen/rosjava_actionlib/ClientGoalManager.java @@ -16,6 +16,7 @@ package com.github.ekumen.rosjava_actionlib; +import org.ros.internal.message.Message; import actionlib_msgs.GoalID; import actionlib_msgs.GoalStatus; @@ -23,17 +24,17 @@ import actionlib_msgs.GoalStatus; * Class that binds and action goal with a state machine to track its state. * @author Ernesto Corbellini ecorbellini@ekumenlabs.com */ -public class ClientGoalManager<T_ACTION_GOAL extends Message> { - public ActionGoal<T_ACTION_GOAL> actionGoal = null; +public class ClientGoalManager<T_ACTION_GOAL extends Message, T_GOAL extends Message> { + public ActionGoal<T_ACTION_GOAL, T_GOAL> actionGoal = null; public ClientStateMachine stateMachine = null; - public void sendGoal(ActionGoal<T_ACTION_GOAL> ag) { + public void sendGoal(ActionGoal<T_ACTION_GOAL, T_GOAL> ag) { actionGoal = ag; stateMachine = new ClientStateMachine(); stateMachine.setState(ClientStateMachine.ClientStates.WAITING_FOR_GOAL_ACK); } public boolean cancelGoal() { - return stateMachine.cancelGoal(); + return stateMachine.cancel(); } } diff --git a/src/rosjava_actionlib/rosjava_actionlib/src/main/java/com/github/ekumen/rosjava_actionlib/ClientStateMachine.java b/src/rosjava_actionlib/rosjava_actionlib/src/main/java/com/github/ekumen/rosjava_actionlib/ClientStateMachine.java index 58f5010192ca958f0b4b61d25bddca39390deeba..ec025fee59b8cbc9f48bf4e649b6ce4e73ac7f82 100644 --- a/src/rosjava_actionlib/rosjava_actionlib/src/main/java/com/github/ekumen/rosjava_actionlib/ClientStateMachine.java +++ b/src/rosjava_actionlib/rosjava_actionlib/src/main/java/com/github/ekumen/rosjava_actionlib/ClientStateMachine.java @@ -417,8 +417,8 @@ public class ClientStateMachine { * @return True if the goal can be cancelled, false otherwise. */ public boolean cancel() { - bolean ret = false; - switch (stateMachine.getState()) { + boolean ret = false; + switch (state) { case ClientStates.WAITING_FOR_GOAL_ACK: case ClientStates.PENDING: case ClientStates.ACTIVE: