% RESETTIMER resets the input timer.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% description: RESETTIMER resets the input timer.
%
% call:        resetTimer(t)
%
% inputs       t - timer object or the name of a timer.
%
% version:     $Id: resetTimer.m,v 1.3 2011/04/08 08:56:35 hewitson Exp $
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

function resetTimer(inputTimer, conn)
  
  if ischar(inputTimer)
    inputTimer = timerfind('name', inputTimer);
  end
  
  if isa(inputTimer, 'timer')
    stop(inputTimer);
    start(inputTimer);
  end
  
  newTime = java.lang.System.currentTimeMillis();
  if nargin == 2 && isa(conn, 'mpipeline.repository.RepositoryConnection')
    conn.setConnectedAt(newTime);
    conn.setPasswordSetAt(newTime);
  else
    rm = LTPDARepositoryManager();
    conns = rm.manager.getConnections();
    for ii=1:conns.size
      conn = conns.get(ii-1);
      conn.setConnectedAt(newTime);
      conn.setPasswordSetAt(newTime);
    end
  end
  
end
