/**
   * Constructor. Advertises the provided ROS services.
   *
   * @param ros reference to rosjava
   * @param n the node handle
   * @throws RosException if advertising ROS services failed
   */
  public ObjectModelHandler(Ros ros, NodeHandle n) throws RosException {

    super(ros, n);

    this.n.advertiseService("/re_comm/get_object", new GetObject(), new GetObjectCallback());
    this.n.advertiseService("/re_comm/set_object", new SetObject(), new SetObjectCallback());
    this.n.advertiseService("/re_comm/del_object", new DelObject(), new DelObjectCallback());
    this.n.advertiseService(
        "/re_comm/update_object", new UpdateObject(), new UpdateObjectCallback());
    this.n.advertiseService(
        "/re_comm/search_objects", new SearchObjects(), new SearchObjectsCallback());
    this.n.advertiseService(
        "/re_comm/query_objects", new QueryObjects(), new QueryObjectsCallback());

    ros.logInfo("Module 'ObjectHandler' loaded.");
  }
  public EnvironmentHandler(Ros ros, NodeHandle n) throws RosException {

    super(ros, n);

    this.n.advertiseService(
        "/re_comm/get_environment", new GetEnvironment(), new GetEnvironmentCallback());
    this.n.advertiseService(
        "/re_comm/set_environment", new SetEnvironment(), new SetEnvironmentCallback());
    this.n.advertiseService(
        "/re_comm/del_environment", new DelEnvironment(), new DelEnvironmentCallback());
    this.n.advertiseService(
        "/re_comm/update_environment", new UpdateEnvironment(), new UpdateEnvironmentCallback());
    this.n.advertiseService(
        "/re_comm/search_environments", new SearchEnvironments(), new SearchEnvironmentsCallback());
    this.n.advertiseService(
        "/re_comm/query_environments", new QueryEnvironments(), new QueryEnvironmentsCallback());

    ros.logInfo("Module 'EnvironmentHandler' loaded.");
  }