]> git.somenet.org - pub/jan/sbc.git/blob - src/main/java/at/ac/tuwien/sbc/valesriegler/group/GroupAgent.java
Merge branch 'master' of
[pub/jan/sbc.git] / src / main / java / at / ac / tuwien / sbc / valesriegler / group / GroupAgent.java
1 package at.ac.tuwien.sbc.valesriegler.group;
2
3 import java.util.ArrayList;
4 import java.util.List;
5
6 import javax.swing.SwingUtilities;
7
8 import at.ac.tuwien.sbc.valesriegler.group.gui.GroupOverviewModel;
9 import at.ac.tuwien.sbc.valesriegler.group.jms.JMSGroupConnector;
10 import at.ac.tuwien.sbc.valesriegler.types.GroupData;
11 import at.ac.tuwien.sbc.valesriegler.xvsm.XVSMConnector;
12
13 /**
14  * The Main class of the Group component.
15  * <p />
16  * Start the communication and the group GUI:
17  * 
18  * @author Gregor Riegler <gregor DOT riegler AT gmail DOT com>
19  * @author jan
20  * 
21  */
22 public class GroupAgent {
23         public static GroupAgent groupAgent;
24         private GroupOverviewModel groupModel;
25         private AbstractGroupConnector groupconn;
26         private XVSMConnector xvsm;
27
28         public static void main(String[] args) {
29                 // TODO: use jms and xvsm manager here.
30                 groupAgent = new GroupAgent(new JMSGroupConnector());
31                 
32                 SwingUtilities.invokeLater(new GroupGUI());
33         }
34
35         public GroupAgent(JMSGroupConnector groupconn) {
36                 groupModel = new GroupOverviewModel();
37                 this.groupconn = groupconn;
38                 groupconn.init();
39                 
40 //              xvsm = new XVSMConnector();
41 //              xvsm.initSpaceCommunication();
42 //              xvsm.useGroupsContainer();
43         }
44
45         public static GroupAgent getInstance() {
46                 return groupAgent;
47         }
48
49         public AbstractGroupConnector getGroupcomm() {
50                 return groupconn;
51         }
52
53         public GroupOverviewModel getGroupModel() {
54                 return groupModel;
55         }
56
57         public void onGroupsCreated(List<Group> newGroups) {
58                 List<GroupData> groupData = new ArrayList<>();
59                 for (Group group : newGroups) {
60                         groupData.add(group.getGroupData());
61                 }
62                 xvsm.createGroups(groupData);
63         }
64 }