source: MML/trunk/applications/database/mym/dbm/@ParFilterDB/itemNew.m @ 4

Last change on this file since 4 was 4, checked in by zhangj, 10 years ago

Initial import--MML version from SOLEIL@2013

File size: 771 bytes
Line 
1function id = itemNew(a_f, a_item, a_tag, a_parent)
2
3if ~isempty(a_tag)
4  error('tag: should be empty')
5end
6
7if ~ischar(a_parent)
8  if ~isinteger(a_parent)||~numel(a_parent)==1
9    error('parent: should be an integer scalar')
10  end
11  id_parent = a_parent;
12else
13  id_parent = itemSearch(tableParent(a_f, 1), a_parent);
14  if isempty(id_parent)
15    error('parent: unknow')
16  end
17end
18
19if isempty(a_item)
20  hash_value = hash(0, 'MD5');
21else
22  hash_value = hash(a_item, 'MD5');
23end
24
25[id, item] = itemSearch(a_f.BasicDB, hash_value, id_parent);
26already_exist = false;
27for i = 1:numel(item)
28  if all(item{i}(:)==a_item(:))
29    id = id(i);
30    already_exist = true;
31    break
32  end
33end
34if isempty(id)||~already_exist
35  id = itemNew(a_f.BasicDB, a_item, hash_value, id_parent);
36end
Note: See TracBrowser for help on using the repository browser.