Home > classes > @provenance > provenance.m

provenance

PURPOSE ^

PROVENANCE constructors for provenance class.

SYNOPSIS ^

function p = provenance(varargin)

DESCRIPTION ^

 PROVENANCE constructors for provenance class.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

 DESCRIPTION:  PROVENANCE constructors for provenance class.

 CONSTRUCTORS: p = provenance();
               p = provenance('creator');

 VERSION:      $Id: provenance.m,v 1.10 2007/08/31 17:40:09 hewitson Exp $

 HISTORY:      07-05-2007 M Hewitson
                  Creation

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function p = provenance(varargin)
0002 % PROVENANCE constructors for provenance class.
0003 %
0004 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0005 %
0006 % DESCRIPTION:  PROVENANCE constructors for provenance class.
0007 %
0008 % CONSTRUCTORS: p = provenance();
0009 %               p = provenance('creator');
0010 %
0011 % VERSION:      $Id: provenance.m,v 1.10 2007/08/31 17:40:09 hewitson Exp $
0012 %
0013 % HISTORY:      07-05-2007 M Hewitson
0014 %                  Creation
0015 %
0016 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0017 
0018 ALGONAME = mfilename;
0019 VERSION  = '$Id: provenance.m,v 1.10 2007/08/31 17:40:09 hewitson Exp $';
0020 
0021 if nargin == 2
0022   if isa(varargin{1}, 'database')
0023     p = retrieve(varargin{1}, varargin{2:end});
0024     return
0025   else
0026     error('### Incorrect provenance constructor.');
0027   end
0028   
0029 elseif nargin == 1
0030   
0031   %%%%%%%%%% Create from XML fragment %%%%%%%%%%%
0032   if isa(varargin{1}, 'org.apache.xerces.dom.DeferredElementImpl')
0033     p = fromxml(varargin{1});
0034     return
0035   %%%%%%%%%%% From File %%%%%%%%%%%%%%%%
0036   elseif ischar(varargin{1})
0037     
0038     filename = varargin{1};
0039     [path, name, ext, vers] = fileparts(filename);
0040     
0041     if ~isempty(ext)
0042       switch ext
0043         case '.mat'
0044           p = load(filename);
0045         case '.xml'
0046           p = xmlparse(provenance, filename);
0047         otherwise
0048           error('### Unknown file type.');
0049       end
0050       return      
0051     else      
0052       % Set creator
0053       creator = varargin{1};
0054     end
0055   %%%%%%%%%% Create from structure %%%%%%%%%%%%%%%
0056   elseif isstruct(varargin{1})
0057     
0058     p = class(varargin{1}, 'provenance');
0059     return
0060   else
0061     error('### incorrect inputs');
0062   end
0063 else
0064   creator = 'unknown';
0065 end
0066 created = time;
0067 
0068 %--------------------------------------------------------------------------
0069 % Machine Info
0070 %
0071 ipaddress = char(getHostAddress(java.net.InetAddress.getLocalHost));
0072 hostname  = char(getHostName(java.net.InetAddress.getLocalHost));
0073 os        = computer;
0074 
0075 %--------------------------------------------------------------------------
0076 % Process software versions
0077 %
0078 
0079 matlab_version  = getappdata(0, 'matlab_version');
0080 sigproc_version = getappdata(0, 'sigproc_version');
0081 ltpda_version   = getappdata(0, 'ltpda_version');
0082 
0083 %--------------------------------------------------------------------------
0084 % Make provenance object
0085 %
0086 
0087 p.creator         = creator;
0088 p.created         = created;
0089 p.ip              = ipaddress;
0090 p.hostname        = hostname;
0091 p.os              = os;
0092 p.matlab_version  = matlab_version;
0093 p.sigproc_version = sigproc_version;
0094 p.ltpda_version   = ltpda_version;
0095 p = class(p, 'provenance');
0096 
0097 % END

Generated on Mon 03-Sep-2007 12:12:34 by m2html © 2003