source: trunk/quest-ui-core/src/main/java/de/ugoe/cs/quest/commands/usage/CMDupdateModel.java @ 766

Last change on this file since 766 was 766, checked in by sherbold, 12 years ago
  • Property svn:mime-type set to text/plain
File size: 1.9 KB
Line 
1package de.ugoe.cs.quest.commands.usage;
2
3import java.util.Collection;
4import java.util.List;
5
6import de.ugoe.cs.quest.CommandHelpers;
7import de.ugoe.cs.quest.SequenceInstanceOf;
8import de.ugoe.cs.quest.eventcore.Event;
9import de.ugoe.cs.quest.usageprofiles.TrieBasedModel;
10import de.ugoe.cs.util.console.Command;
11import de.ugoe.cs.util.console.GlobalDataContainer;
12
13/**
14 * <p>
15 * Command to update a {@link TrieBasedModel}.
16 * </p>
17 *
18 * @author Steffen Herbold
19 * @version 1.0
20 */
21public class CMDupdateModel implements Command {
22
23        /*
24         * (non-Javadoc)
25         *
26         * @see de.ugoe.cs.util.console.Command#run(java.util.List)
27         */
28        @SuppressWarnings("unchecked")
29        @Override
30        public void run(List<Object> parameters) {
31                String modelname;
32                String sequencesName;
33
34                try {
35                        modelname = (String) parameters.get(0);
36                        sequencesName = (String) parameters.get(1);
37                } catch (Exception e) {
38                        throw new IllegalArgumentException();
39                }
40
41                Object dataObject = GlobalDataContainer.getInstance().getData(
42                                sequencesName);
43                if (dataObject == null) {
44                        CommandHelpers.objectNotFoundMessage(sequencesName);
45                        return;
46                }
47                if (!SequenceInstanceOf.isCollectionOfSequences(dataObject)) {
48                        CommandHelpers.objectNotType(sequencesName,
49                                        "Collection<List<Event<?>>>");
50                        return;
51                }
52                Collection<List<Event>> sequences = (Collection<List<Event>>) dataObject;
53
54                dataObject = GlobalDataContainer.getInstance().getData(modelname);
55                if (dataObject == null) {
56                        CommandHelpers.objectNotFoundMessage(modelname);
57                        return;
58                }
59                if (!(dataObject instanceof TrieBasedModel)) {
60                        CommandHelpers.objectNotType(modelname, "TrieBasedModel");
61                        return;
62                }
63
64                TrieBasedModel model = (TrieBasedModel) dataObject;
65                model.update(sequences);
66        }
67
68        /*
69         * (non-Javadoc)
70         *
71         * @see de.ugoe.cs.util.console.Command#help()
72         */
73        @Override
74        public String help() {
75                return "updateModel <modelname> <sequencesName>";
76        }
77
78}
Note: See TracBrowser for help on using the repository browser.