diff options
author | Badlop <badlop@process-one.net> | 2013-03-14 10:33:02 +0100 |
---|---|---|
committer | Badlop <badlop@process-one.net> | 2013-03-14 10:33:02 +0100 |
commit | 9deb294328bb3f9eb6bd2c0e7cd500732e9b5830 (patch) | |
tree | 7e1066c130250627ee0abab44a135f583a28d07f /src/mod_pubsub/node_dag.erl | |
parent | list_to_integer/2 only works in OTP R14 and newer (diff) |
Accumulated patch to binarize and indent code
Diffstat (limited to 'src/mod_pubsub/node_dag.erl')
-rw-r--r-- | src/mod_pubsub/node_dag.erl | 131 |
1 files changed, 55 insertions, 76 deletions
diff --git a/src/mod_pubsub/node_dag.erl b/src/mod_pubsub/node_dag.erl index b7016946..9a36a4c4 100644 --- a/src/mod_pubsub/node_dag.erl +++ b/src/mod_pubsub/node_dag.erl @@ -16,47 +16,29 @@ %%% ==================================================================== -module(node_dag). + -author('bjc@kublai.com'). -include("pubsub.hrl"). + -include("jlib.hrl"). -behaviour(gen_pubsub_node). %% API definition --export([init/3, terminate/2, - options/0, features/0, - create_node_permission/6, - create_node/2, - delete_node/1, - purge_node/2, - subscribe_node/8, - unsubscribe_node/4, - publish_item/6, - delete_item/4, - remove_extra_items/3, - get_entity_affiliations/2, - get_node_affiliations/1, - get_affiliation/2, - set_affiliation/3, - get_entity_subscriptions/2, - get_node_subscriptions/1, - get_subscriptions/2, - set_subscriptions/4, - get_pending_nodes/2, - get_states/1, - get_state/2, - set_state/1, - get_items/6, - get_items/2, - get_item/7, - get_item/2, - set_item/1, - get_item_name/3, - node_to_path/1, +-export([init/3, terminate/2, options/0, features/0, + create_node_permission/6, create_node/2, delete_node/1, + purge_node/2, subscribe_node/8, unsubscribe_node/4, + publish_item/6, delete_item/4, remove_extra_items/3, + get_entity_affiliations/2, get_node_affiliations/1, + get_affiliation/2, set_affiliation/3, + get_entity_subscriptions/2, get_node_subscriptions/1, + get_subscriptions/2, set_subscriptions/4, + get_pending_nodes/2, get_states/1, get_state/2, + set_state/1, get_items/6, get_items/2, get_item/7, + get_item/2, set_item/1, get_item_name/3, node_to_path/1, path_to_node/1]). - init(Host, ServerHost, Opts) -> node_hometree:init(Host, ServerHost, Opts). @@ -67,10 +49,10 @@ options() -> [{node_type, leaf} | node_hometree:options()]. features() -> - ["multi-collection" | node_hometree:features()]. + [<<"multi-collection">> | node_hometree:features()]. -create_node_permission(_Host, _ServerHost, _Node, _ParentNode, - _Owner, _Access) -> +create_node_permission(_Host, _ServerHost, _Node, + _ParentNode, _Owner, _Access) -> {result, true}. create_node(NodeID, Owner) -> @@ -81,39 +63,40 @@ delete_node(Removed) -> subscribe_node(NodeID, Sender, Subscriber, AccessModel, SendLast, PresenceSubscription, RosterGroup, Options) -> - node_hometree:subscribe_node(NodeID, Sender, Subscriber, AccessModel, - SendLast, PresenceSubscription, RosterGroup, - Options). + node_hometree:subscribe_node(NodeID, Sender, Subscriber, + AccessModel, SendLast, PresenceSubscription, + RosterGroup, Options). unsubscribe_node(NodeID, Sender, Subscriber, SubID) -> - node_hometree:unsubscribe_node(NodeID, Sender, Subscriber, SubID). + node_hometree:unsubscribe_node(NodeID, Sender, + Subscriber, SubID). -publish_item(NodeID, Publisher, Model, MaxItems, ItemID, Payload) -> - %% TODO: should look up the NodeTree plugin here. There's no - %% access to the Host of the request at this level, so for now we - %% just use nodetree_dag. +publish_item(NodeID, Publisher, Model, MaxItems, ItemID, + Payload) -> case nodetree_dag:get_node(NodeID) of - #pubsub_node{options = Options} -> - case find_opt(node_type, Options) of - collection -> - {error, ?ERR_EXTENDED(?ERR_NOT_ALLOWED, "publish")}; - _ -> - node_hometree:publish_item(NodeID, Publisher, Model, - MaxItems, ItemID, Payload) - end; - Err -> - Err + #pubsub_node{options = Options} -> + case find_opt(node_type, Options) of + collection -> + {error, + ?ERR_EXTENDED((?ERR_NOT_ALLOWED), <<"publish">>)}; + _ -> + node_hometree:publish_item(NodeID, Publisher, Model, + MaxItems, ItemID, Payload) + end; + Err -> Err end. -find_opt(_, []) -> false; +find_opt(_, []) -> false; find_opt(Option, [{Option, Value} | _]) -> Value; -find_opt(Option, [_ | T]) -> find_opt(Option, T). +find_opt(Option, [_ | T]) -> find_opt(Option, T). remove_extra_items(NodeID, MaxItems, ItemIDs) -> - node_hometree:remove_extra_items(NodeID, MaxItems, ItemIDs). + node_hometree:remove_extra_items(NodeID, MaxItems, + ItemIDs). delete_item(NodeID, Publisher, PublishModel, ItemID) -> - node_hometree:delete_item(NodeID, Publisher, PublishModel, ItemID). + node_hometree:delete_item(NodeID, Publisher, + PublishModel, ItemID). purge_node(NodeID, Owner) -> node_hometree:purge_node(NodeID, Owner). @@ -128,7 +111,8 @@ get_affiliation(NodeID, Owner) -> node_hometree:get_affiliation(NodeID, Owner). set_affiliation(NodeID, Owner, Affiliation) -> - node_hometree:set_affiliation(NodeID, Owner, Affiliation). + node_hometree:set_affiliation(NodeID, Owner, + Affiliation). get_entity_subscriptions(Host, Owner) -> node_hometree:get_entity_subscriptions(Host, Owner). @@ -140,45 +124,40 @@ get_subscriptions(NodeID, Owner) -> node_hometree:get_subscriptions(NodeID, Owner). set_subscriptions(NodeID, Owner, Subscription, SubID) -> - node_hometree:set_subscriptions(NodeID, Owner, Subscription, SubID). + node_hometree:set_subscriptions(NodeID, Owner, + Subscription, SubID). get_pending_nodes(Host, Owner) -> node_hometree:get_pending_nodes(Host, Owner). -get_states(NodeID) -> - node_hometree:get_states(NodeID). +get_states(NodeID) -> node_hometree:get_states(NodeID). get_state(NodeID, JID) -> node_hometree:get_state(NodeID, JID). -set_state(State) -> - node_hometree:set_state(State). +set_state(State) -> node_hometree:set_state(State). get_items(NodeID, From) -> node_hometree:get_items(NodeID, From). -get_items(NodeID, JID, AccessModel, PresenceSubscription, - RosterGroup, SubID) -> - node_hometree:get_items(NodeID, JID, AccessModel, PresenceSubscription, - RosterGroup, SubID). +get_items(NodeID, JID, AccessModel, + PresenceSubscription, RosterGroup, SubID) -> + node_hometree:get_items(NodeID, JID, AccessModel, + PresenceSubscription, RosterGroup, SubID). get_item(NodeID, ItemID) -> node_hometree:get_item(NodeID, ItemID). -get_item(NodeID, ItemID, JID, AccessModel, PresenceSubscription, - RosterGroup, SubID) -> +get_item(NodeID, ItemID, JID, AccessModel, + PresenceSubscription, RosterGroup, SubID) -> node_hometree:get_item(NodeID, ItemID, JID, AccessModel, - PresenceSubscription, RosterGroup, SubID). + PresenceSubscription, RosterGroup, SubID). -set_item(Item) -> - node_hometree:set_item(Item). +set_item(Item) -> node_hometree:set_item(Item). get_item_name(Host, Node, ID) -> node_hometree:get_item_name(Host, Node, ID). -node_to_path(Node) -> - node_hometree:node_to_path(Node). - -path_to_node(Path) -> - node_hometree:path_to_node(Path). +node_to_path(Node) -> node_hometree:node_to_path(Node). +path_to_node(Path) -> node_hometree:path_to_node(Path). |