anchor.diff: -%%   The contents of this file are subject to the Mozilla Public License
  -%%   Version 1.1 (the "License"); you may not use this file except in
  -%%   compliance with the License. You may obtain a copy of the License at
  -%%   http://www.mozilla.org/MPL/
  -%%
  -%%   Software distributed under the License is distributed on an "AS IS"
  -%%   basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
  -%%   License for the specific language governing rights and limitations
  -%%   under the License.
  -%%
  -%%   The Original Code is RabbitMQ.
  -%%
  -%%   The Initial Developers of the Original Code are LShift Ltd,
  -%%   Cohesive Financial Technologies LLC, and Rabbit Technologies Ltd.
  -%%
  -%%   Portions created before 22-Nov-2008 00:00:00 GMT by LShift Ltd,
  -%%   Cohesive Financial Technologies LLC, or Rabbit Technologies Ltd
  -%%   are Copyright (C) 2007-2008 LShift Ltd, Cohesive Financial
  -%%   Technologies LLC, and Rabbit Technologies Ltd.
  -%%
  -%%   Portions created by LShift Ltd are Copyright (C) 2007-2010 LShift
  -%%   Ltd. Portions created by Cohesive Financial Technologies LLC are
  -%%   Copyright (C) 2007-2010 Cohesive Financial Technologies
  -%%   LLC. Portions created by Rabbit Technologies Ltd are Copyright
  -%%   (C) 2007-2010 Rabbit Technologies Ltd.
  -%%
  -%%   Portions created by AF83 are Copyright (C) 2010 AF83.
  -%%
  -%%   All Rights Reserved.
  -
   -module(uce_ctl).
   
   -author('victor.goya@af83.com').
  
positive.code: 	false ->
  	    {Wanted, [{Key, Value}] ++ Remaining}
      end.
  	    
  call(Object, Action, Args) ->
      Module = list_to_atom("uce_" ++ atom_to_list(Object)),
      NodeStr = "ucengine@localhost",
      rpc:call(list_to_atom(NodeStr), Module, Action, Args).
  
  format_field([], []) ->
      [];
  
negative.code:     FormattedMetadata =
  	[io_lib:format("metadata[~p]: ~p", [Key, Value]) || {Key, Value} <- Metadata],
      string:join(FormattedMetadata, "~n") ++ format_field(Values, Fields);
  format_field([Value|Values], [Field|Fields]) ->
      io_lib:format("~p: ~p~n", [Field, Value]) ++ format_field(Values, Fields).
  
  format(Record, Fields) ->
      [_|Values] = tuple_to_list(Record),
      format_field(Values, Fields).
  	    
  call(Object, Action, Args) ->
      Module = list_to_atom("uce_" ++ atom_to_list(Object)),
      NodeStr = "ucengine@localhost",
      rpc:call(list_to_atom(NodeStr), Module, Action, Args).
  
  action(org, add, Args) ->
      {[Name], Metadata} = getopt(["name"], Args),
  