Skip to content

Commit

Permalink
Merge pull request #257 from robotics-in-concert/admin_app_patch
Browse files Browse the repository at this point in the history
Improvment of service manager
  • Loading branch information
jihoonl committed Jan 20, 2015
2 parents e5f5c9e + dcc63c0 commit 9b4774e
Show file tree
Hide file tree
Showing 8 changed files with 606 additions and 58 deletions.
5 changes: 3 additions & 2 deletions concert_master/launch/concert_master.launch
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
<arg name="conductor_local_clients_only" default="false"/>
<!-- Service Manager -->
<arg name="services" default=""/> <!-- service list resource location. e.g. concert_tutorial/tutorial.services -->
<arg name="auto_enable_services" default="[]"/> <!-- autoenable services, e.g. [admin, initialisation] services which auto enabled on start up or "all" to enable all services -->
<arg name="default_auto_enable_services" default="[]"/> <!-- autoenable services, e.g. [admin, initialisation] services which auto enabled on start up or "all" to enable all services -->

<!-- Interactions -->
<arg name="enable_rosbridge" default="false"/>
Expand All @@ -43,8 +43,9 @@

<!-- ***************************** Service Manager *************************** -->
<include file="$(find concert_service_manager)/launch/service_manager.launch">
<arg name="concert_name" value="$(arg concert_name)"/>
<arg name="services" value="$(arg services)" />
<arg name="auto_enable_services" value="$(arg auto_enable_services)" />
<arg name="default_auto_enable_services" value="$(arg default_auto_enable_services)" />
</include>

<!-- ***************************** Software Farmer *************************** -->
Expand Down
6 changes: 4 additions & 2 deletions concert_service_manager/launch/service_manager.launch
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
<launch>
<arg name="auto_enable_services" default="[]"/> <!-- autoenable services, e.g. [admin, initialisation] services which auto enabled on start up or "all" to enable all services -->
<arg name="concert_name" default="Rocon concert"/> <!-- concert name, e.g. Pirate Concert, demo_concert, etc. -->
<arg name="default_auto_enable_services" default="[]"/> <!-- autoenable services, e.g. [admin, initialisation] services which auto enabled on start up or "all" to enable all services -->
<arg name="services" default="[]"/> <!-- comma separated list of service resource names (e.g. 'chatter_concert/chatter') -->

<node pkg="concert_service_manager" name="services" type="service_manager">
<rosparam param="concert_name" subst_value="True">$(arg concert_name)</rosparam>
<rosparam param="services" subst_value="True">$(arg services)</rosparam>
<rosparam param="auto_enable_services" subst_value="True">$(arg auto_enable_services)</rosparam>
<rosparam param="default_auto_enable_services" subst_value="True">$(arg default_auto_enable_services)</rosparam>
</node>
</launch>
Original file line number Diff line number Diff line change
Expand Up @@ -11,3 +11,5 @@
from .service_pool import ServicePool
from .exceptions import InvalidSolutionConfigurationException, InvalidServiceProfileException
from .service_profile import ServiceProfile
from .service_cache_manager import ServiceCacheManager
from .utils import *
Original file line number Diff line number Diff line change
Expand Up @@ -10,26 +10,27 @@
import yaml
import rocon_python_utils

INVALID_PARAM = ['name', 'description', 'uuid']

##############################################################################
# Methods
##############################################################################

def load_parameters_from_resource(parameter_resource_name, namespace, name, load):
filepath = rocon_python_utils.ros.find_resource_from_string(resource_name, extension='parameters')
load_parameters_from_file(filepath, namespace, name, load)

def load_parameters_from_file(parameter_file, namespace, name, load):

INVALID_PARAM = ['name', 'description', 'uuid']

filepath = rocon_python_utils.ros.find_resource_from_string(parameter_file, extension='parameters')

def load_parameters_from_file(parameter_file_path, namespace, name, load):
filepath = parameter_file_path
with open(filepath) as f:
params = yaml.load(f)
for k, v in params.items():
if k in INVALID_PARAM:
if load:
rospy.logwarn("Service Manager: %s%s [%s]" % (str(k), ' is prohibitted parameter. Ignoring...', name))
rospy.logwarn("Service Manager : %s%s [%s]" % (str(k), ' is prohibitted parameter. Ignoring...', name))
continue
param_name = namespace + '/' + k
if load:
rospy.set_param(param_name, v)
else:
rospy.delete_param(param_name)
rospy.delete_param(param_name)
Loading

0 comments on commit 9b4774e

Please sign in to comment.