Merge "Bug 581597 - [Robotics, ROS2] Support callback groups"
diff --git a/plugins/ros2/org.eclipse.papyrus.robotics.ros2.codegen.common/src/org/eclipse/papyrus/robotics/ros2/codegen/common/component/CallbackGroups.xtend b/plugins/ros2/org.eclipse.papyrus.robotics.ros2.codegen.common/src/org/eclipse/papyrus/robotics/ros2/codegen/common/component/CallbackGroups.xtend
index 17ab42b..651f61b 100644
--- a/plugins/ros2/org.eclipse.papyrus.robotics.ros2.codegen.common/src/org/eclipse/papyrus/robotics/ros2/codegen/common/component/CallbackGroups.xtend
+++ b/plugins/ros2/org.eclipse.papyrus.robotics.ros2.codegen.common/src/org/eclipse/papyrus/robotics/ros2/codegen/common/component/CallbackGroups.xtend
@@ -17,13 +17,18 @@
 import org.eclipse.uml2.uml.Port
 import org.eclipse.uml2.uml.Class
 import static extension org.eclipse.papyrus.robotics.codegen.common.utils.ActivityUtils.*
+import org.eclipse.papyrus.designer.transformation.base.utils.TransformationException
 
 class CallbackGroups {
  	/**
  	 * name of a callback group for a port (which is connected to an activity)
  	 */
 	def static callbackGroupName(Port port) {
- 		return port.class_.getActivity(port).callbackGroupName
+		val activity = port.class_.getActivity(port)
+		if (activity === null) {
+			throw new TransformationException(String.format("no activity is associated with port '%s' => cannot determine callback group", port.name))
+		}
+ 		return activity.callbackGroupName
  	}
  	
  	/**