0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 function aos = fromRepository(a, pli)
0018
0019 VERSION = '$Id: fromRepository.m,v 1.10 2008/08/11 13:14:35 hewitson Exp $';
0020
0021
0022
0023 ii = ao.getInfo('ao', 'From Repository');
0024
0025
0026 ii.setMversion([VERSION '-->' ii.mversion]);
0027
0028
0029 pl = combine(pli, ii.plists);
0030
0031
0032 conn = find(pl, 'conn');
0033 hostname = find(pl, 'hostname');
0034 database = find(pl, 'database');
0035 ids = find(pl, 'id');
0036
0037
0038 closeConn = 0;
0039 if isempty(conn)
0040 closeConn = 1;
0041
0042 conn = utils.mysql.connect(hostname, database);
0043 end
0044 if ~isa(conn, 'database')
0045 error('### connection failed.');
0046 end
0047
0048
0049 Nids = length(ids);
0050 aos = [];
0051 for kk=1:Nids
0052
0053
0054 id = ids(kk);
0055
0056 utils.helper.msg(utils.const.msg.PROC1, 'retrieving ID %d', id);
0057
0058
0059 tt = utils.mysql.getObjType(conn, id);
0060
0061
0062 if strcmp(tt, 'ao')
0063
0064 a = ltpda_uo.retrieve(conn, id);
0065
0066 a.addHistory(ii, remove(pli, 'conn'), [], a.hist);
0067
0068
0069 aos = [aos a];
0070 else
0071 warning('!!!skipping ID %d, type %s', id, tt);
0072 end
0073
0074 end
0075
0076
0077 if closeConn
0078 close(conn);
0079 end
0080
0081 end
0082