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