summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEmile Joubert <emile@rabbitmq.com>2012-10-12 16:58:12 +0100
committerEmile Joubert <emile@rabbitmq.com>2012-10-12 16:58:12 +0100
commitc1446f87de4add3541738b342b25dd4f427aa288 (patch)
treef429e99ef67e6f13876f2fd260909bd7227e074f
parent948ed9e6f471468f7487c67fcc54b3261673e414 (diff)
downloadrabbitmq-server-c1446f87de4add3541738b342b25dd4f427aa288.tar.gz
Simplify setting of policies
-rw-r--r--src/rabbit_runtime_parameters.erl16
1 files changed, 6 insertions, 10 deletions
diff --git a/src/rabbit_runtime_parameters.erl b/src/rabbit_runtime_parameters.erl
index 138b46ad..d7f08687 100644
--- a/src/rabbit_runtime_parameters.erl
+++ b/src/rabbit_runtime_parameters.erl
@@ -19,7 +19,7 @@
-include("rabbit.hrl").
-export([parse_set_param/4, set_param/4,
- parse_set_policy/4, parse_set_policy/5, set_policy/4, set_policy/5,
+ parse_set_policy/4, parse_set_policy/5, set_policy/5,
clear_param/3, clear_policy/2,
list_param/0, list_param/1, list_param/2,
list_param_strict/1, list_param_strict/2,
@@ -42,8 +42,6 @@
string()) -> ok_or_error_string()).
-spec(parse_set_policy/5 :: (rabbit_types:vhost(), binary(), string(), string(),
string()) -> ok_or_error_string()).
--spec(set_policy/4 :: (rabbit_types:vhost(), binary(), term(), term())
- -> ok_or_error_string()).
-spec(set_policy/5 :: (rabbit_types:vhost(), binary(), term(), term(), term())
-> ok_or_error_string()).
-spec(clear_param/3 :: (rabbit_types:vhost(), binary(), binary())
@@ -118,14 +116,12 @@ parse_set_policy0(VHost, Key, Pattern, Defn, Priority) ->
{error_string, "JSON decoding error"}
end.
-set_policy(VHost, Key, Pattern, Defn) ->
- set_policy0(VHost, Key, policy_values(Pattern, Defn)).
set_policy(VHost, Key, Pattern, Defn, Priority) ->
- set_policy0(VHost, Key, [{<<"priority">>, Priority} |
- policy_values(Pattern, Defn)]).
-
-policy_values(Pattern, Defn) ->
- [{<<"pattern">>, Pattern}, {<<"policy">>, Defn}].
+ PolicyProps = [{<<"pattern">>, Pattern}, {<<"policy">>, Defn}],
+ set_policy0(VHost, Key, case Priority of
+ undefined -> [];
+ _ -> [{<<"priority">>, Priority}]
+ end ++ PolicyProps).
set_policy0(VHost, Key, Term) ->
case set0(VHost, <<"policy">>, Key, Term) of