From c5901e1ae5abb7b43ff36a54c57e92f6165e2e6e Mon Sep 17 00:00:00 2001 From: ori agranat Date: Thu, 12 Sep 2019 01:05:27 +0300 Subject: [PATCH] removed singleton inheritance and re implemented with thread safe --- .../java/Classes/MetaClass/Singleton.java | 9 ----- .../main/java/Classes/SettingsManager.java | 31 +++++++++++------- Main/src/main/java/Main.java | 2 +- Main/target/classes/Main.class | Bin 0 -> 407 bytes 4 files changed, 21 insertions(+), 21 deletions(-) delete mode 100644 Main/src/main/java/Classes/MetaClass/Singleton.java create mode 100644 Main/target/classes/Main.class diff --git a/Main/src/main/java/Classes/MetaClass/Singleton.java b/Main/src/main/java/Classes/MetaClass/Singleton.java deleted file mode 100644 index 75d58cffa..000000000 --- a/Main/src/main/java/Classes/MetaClass/Singleton.java +++ /dev/null @@ -1,9 +0,0 @@ -package Classes.MetaClass; - -public class Singleton { - private static Singleton single_instance = new Singleton(); - - public static Singleton getInstance(){ - return single_instance; - } -} diff --git a/Main/src/main/java/Classes/SettingsManager.java b/Main/src/main/java/Classes/SettingsManager.java index 0685a9c9d..c47e6b3a7 100644 --- a/Main/src/main/java/Classes/SettingsManager.java +++ b/Main/src/main/java/Classes/SettingsManager.java @@ -1,29 +1,38 @@ package Classes; - -import Classes.MetaClass.Singleton; import Objects.*; import org.json.JSONObject; import java.util.HashMap; -public class SettingsManager extends Singleton { - public static int x = 5; // example of how to setup variable in singleton +public class SettingsManager { + private static SettingsManager instance; + private SettingsManager() { + InitiateGeneralSettings(); + InitiateCamerasInfo(); + InitiateUsbCameras(); + InitiateUsbCamerasSettings(); + } + public static synchronized SettingsManager getInstance(){ + if(instance == null){ + synchronized (SettingsManager.class) { + if(instance == null){ + instance = new SettingsManager(); + } + } + } + return instance; + } public static HashMap cams = new HashMap(); public static HashMap UsbCameras = new HashMap(); public static HashMap USBCamerasInfo = new HashMap(); public static DefaultGeneralSettings GeneralSettings; public static HashMap CameraPort = new HashMap(); public static HashMap CamerasCurrentPipeline = new HashMap(); - public SettingsManager(){ - InitiateGeneralSettings(); - InitiateCamerasInfo(); - InitiateUsbCameras(); - InitiateUsbCamerasSettings(); - } private void InitiateGeneralSettings(){ - + System.out.println("run"); } + private void InitiateCamerasInfo(){ } diff --git a/Main/src/main/java/Main.java b/Main/src/main/java/Main.java index 70ab90cb6..8246bef58 100644 --- a/Main/src/main/java/Main.java +++ b/Main/src/main/java/Main.java @@ -2,7 +2,7 @@ import Classes.SettingsManager; import Handlers.Web.Server; public class Main { public static void main(String [] args) { - SettingsManager Manager = new SettingsManager(); + SettingsManager manager = SettingsManager.getInstance(); Server.main(8888); } } diff --git a/Main/target/classes/Main.class b/Main/target/classes/Main.class new file mode 100644 index 0000000000000000000000000000000000000000..07a95badbe98c465b880d4a9f52d69326ec9c7cb GIT binary patch literal 407 zcmZvXK~KU!5QX1Dp|(~LP}HNIiU)c!F~N8-F`868)YOBgEo|zNQj(?czdT7i_yhb= z#bg}Q^z(r4>d8tcXT?y2~ek$Nx&&Eoi73)$x zET)+BO^;(MvfA-AWj0=@7hp2($)3R&h+QW;(5!!=!+ zocZoQV*x*zEzC&WXnW4H#DRqbXrSrhFhGDKp0ERfy$$~{o2XGm>a8rtg);N#S!Ge8 z%u*TV!@GWp6V&>c85J>H_)v5k7v;5Pst+jJiN4m)=FoYm&s d_UUSc+GgG7DtNESOB;lXU9{Ne