Merge branch 'master' of ssh://xp-dev.com/RRRRHHHH_Code
[RRRRHHHH_Code] / ruralHouses / src / domain / Administrator.java
index 8a554de..eb42f26 100644 (file)
@@ -1,25 +1,84 @@
 package domain;
 
+import java.io.Serializable;
 import java.util.LinkedList;
 
-public class Administrator {
+import configuration.ConfigXML;
+import dataAccess.DB4oManager;
 
-       private LinkedList<RuralHouse> addRequest;
-       private LinkedList<RuralHouse> removeRequest;
-       
-       private Administrator(){
+public class Administrator implements Serializable {
+
+       /**
+        * 
+        */
+       private static final long serialVersionUID = 1L;
+
+       private static Administrator admin = null;
+       private static LinkedList<RuralHouse> addRequest;
+       private static LinkedList<RuralHouse> removeRequest;
+       private static LinkedList<Account> newOwnerRequest;
+       static ConfigXML c;
+
+       private Administrator() {
+               addRequest = new LinkedList<RuralHouse>();
+               removeRequest = new LinkedList<RuralHouse>();
+               newOwnerRequest = new LinkedList<Account>();
+       }
+
+       public static Administrator getInstance() {
+               c = ConfigXML.getInstance();
+               if (admin == null) {
+                       if (c.getDataBaseOpenMode().equals("initialize")) {
+                               admin = new Administrator();
+                       } else {
+                               DB4oManager db4o;
+                               try {
+                                       db4o = DB4oManager.getInstance();
+                                       admin = db4o.getAdminData();
+                               } catch (Exception e) {
+                                       // TODO Auto-generated catch block
+                                       e.printStackTrace();
+                               }
+                       }
+               }
+               
+               return admin;
+
+       }
+
+       public static void saveInstance() {
+               try {
+                       DB4oManager.getInstance().storeAdmin();
+               } catch (Exception e) {
+                       // TODO Auto-generated catch block
+                       e.printStackTrace();
+               }
        }
+
        
        public LinkedList<RuralHouse> getAddRequest() {
                return addRequest;
        }
-       public void setAddRequest(LinkedList<RuralHouse> addRequest) {
-               this.addRequest = addRequest;
-       }
+
        public LinkedList<RuralHouse> getRemoveRequest() {
                return removeRequest;
        }
+
+       public void setAddRequest(LinkedList<RuralHouse> addRequest) {
+               Administrator.addRequest = addRequest;
+       }
+
        public void setRemoveRequest(LinkedList<RuralHouse> removeRequest) {
-               this.removeRequest = removeRequest;
+               Administrator.removeRequest = removeRequest;
+
        }
+
+       public LinkedList<Account> getNewOwnerRequest() {
+               return newOwnerRequest;
+       }
+
+       public void setNewOwnerRequest(LinkedList<Account> newOwnerRequest) {
+               Administrator.newOwnerRequest = newOwnerRequest;
+       }
+
 }