aboutsummaryrefslogtreecommitdiffstats
path: root/Metrics/Metrics-Calculation/SocialNetwork_plugin/src/ca/mcgill/ecse/socialnetwork/runner/SocialNetworkModel.java
diff options
context:
space:
mode:
Diffstat (limited to 'Metrics/Metrics-Calculation/SocialNetwork_plugin/src/ca/mcgill/ecse/socialnetwork/runner/SocialNetworkModel.java')
-rw-r--r--Metrics/Metrics-Calculation/SocialNetwork_plugin/src/ca/mcgill/ecse/socialnetwork/runner/SocialNetworkModel.java62
1 files changed, 62 insertions, 0 deletions
diff --git a/Metrics/Metrics-Calculation/SocialNetwork_plugin/src/ca/mcgill/ecse/socialnetwork/runner/SocialNetworkModel.java b/Metrics/Metrics-Calculation/SocialNetwork_plugin/src/ca/mcgill/ecse/socialnetwork/runner/SocialNetworkModel.java
new file mode 100644
index 00000000..51c50b11
--- /dev/null
+++ b/Metrics/Metrics-Calculation/SocialNetwork_plugin/src/ca/mcgill/ecse/socialnetwork/runner/SocialNetworkModel.java
@@ -0,0 +1,62 @@
1package ca.mcgill.ecse.socialnetwork.runner;
2
3import org.eclipse.emf.common.util.EList;
4
5import socialnetwork.Person;
6import socialnetwork.SocialNetwork;
7import socialnetwork.SocialnetworkFactory;
8import socialnetwork.SocialnetworkPackage;
9import socialnetwork.impl.SocialnetworkFactoryImpl;
10
11
12
13public class SocialNetworkModel {
14 private final static String SUFFIX = "xmi";
15
16 private static boolean isInit = false;
17
18 public static void init() {
19 SocialnetworkFactory.eINSTANCE.eClass();
20 SocialnetworkPackage.eINSTANCE.eClass();
21 SocialnetworkFactoryImpl.init();
22 }
23
24 // container for the social network model
25 public SocialNetwork socialNetwork;
26
27 // factory for social network model
28 SocialnetworkFactory factory;
29
30 // persistent
31 Persisitence<SocialNetwork> persistence;
32
33
34 public SocialNetworkModel(String uri){
35 if(!isInit) {
36 init();
37 }
38
39 //create persistence
40 persistence = new Persisitence<SocialNetwork>(SUFFIX, uri);
41 factory = SocialnetworkFactory.eINSTANCE;
42 // try load the model
43 this.socialNetwork = persistence.load();
44 if(this.socialNetwork == null) {
45 this.socialNetwork = factory.createSocialNetwork();
46 }
47 }
48
49 public Person createPerson() {
50 Person p = factory.createPerson();
51 socialNetwork.getPersons().add(p);
52 return p;
53 }
54
55 public EList<Person> getPersons(){
56 return socialNetwork.getPersons();
57 }
58
59 public boolean save() {
60 return persistence.save(socialNetwork);
61 }
62}