Skip to content

Commit d1526f0

Browse files
committed
Using EntityInfo messages AND EntityList messages to compute entity
names.
1 parent 8b8c77a commit d1526f0

File tree

1 file changed

+28
-0
lines changed

1 file changed

+28
-0
lines changed

src/pt/lsts/imc/lsf/LsfIndex.java

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@
4646
import java.util.Date;
4747
import java.util.HashSet;
4848
import java.util.LinkedHashMap;
49+
import java.util.Map.Entry;
4950
import java.util.TimeZone;
5051
import java.util.Vector;
5152

@@ -872,6 +873,33 @@ protected void loadEntities() {
872873
defs.getResolver().setEntityName(src, einfo.getInteger("id"),
873874
einfo.getString("label"));
874875
}
876+
877+
type = defs.getMessageId("EntityList");
878+
for (int i = getFirstMessageOfType(type); i != -1; i = getNextMessageOfType(
879+
type, i)) {
880+
IMCMessage einfo = getMessage(i);
881+
882+
int src = einfo.getInteger("src");
883+
884+
if (!(systemEntityIds.containsKey(src))) {
885+
systemEntityIds.put(src, new LinkedHashMap<String, Integer>());
886+
systemEntityNames
887+
.put(src, new LinkedHashMap<Integer, String>());
888+
}
889+
890+
LinkedHashMap<String, String> entities = einfo.getTupleList("list");
891+
892+
for (Entry<String, String> entry : entities.entrySet()) {
893+
systemEntityIds.get(src).put(entry.getKey(),
894+
Integer.parseInt(entry.getValue()));
895+
systemEntityNames.get(src).put(Integer.parseInt(entry.getValue()),
896+
entry.getKey());
897+
}
898+
899+
if (defs != IMCDefinition.getInstance())
900+
defs.getResolver().setEntityName(src, einfo.getInteger("id"),
901+
einfo.getString("label"));
902+
}
875903
}
876904

877905
protected LinkedHashMap<Integer, LinkedHashMap<Integer, String>> systemEntityNames = null;

0 commit comments

Comments
 (0)