no message
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
package Common.Database.Objects;
|
||||
import Common_old.Utils.Utils;
|
||||
import Common.Utils.CommonUtils;
|
||||
import com.sun.org.glassfish.gmbal.Description;
|
||||
public abstract class nDBObject extends DBObject {
|
||||
@Description("PRIMARY KEY, UNIQUE")
|
||||
@@ -13,7 +13,7 @@ public abstract class nDBObject extends DBObject {
|
||||
return "";
|
||||
}
|
||||
public void genName() {
|
||||
id = Utils.getDateName(getClass().getSimpleName().toLowerCase());
|
||||
id = CommonUtils.getDateName(getClass().getSimpleName().toLowerCase());
|
||||
}
|
||||
//-
|
||||
@Override
|
||||
|
||||
@@ -5,7 +5,6 @@ import Common.Database.Tables.DBTableColumn;
|
||||
import Common.Database.Database;
|
||||
import Common.Utils.CommonUtils;
|
||||
import Common_old.UI.UI;
|
||||
import Common_old.Utils.Utils;
|
||||
import Visual_DVM_2021.Passes.PassException;
|
||||
import javafx.util.Pair;
|
||||
|
||||
@@ -14,7 +13,7 @@ import java.sql.*;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.Vector;
|
||||
|
||||
import static Common_old.Utils.Utils.requireNonNullElse;
|
||||
import static Common.Utils.CommonUtils.requireNonNullElse;
|
||||
public abstract class SQLiteDatabase extends Database {
|
||||
protected Connection conn = null;
|
||||
protected Statement statement = null;
|
||||
@@ -37,7 +36,7 @@ public abstract class SQLiteDatabase extends Database {
|
||||
ex.printStackTrace();
|
||||
conn = null;
|
||||
System.gc();
|
||||
Utils.sleep(2000);
|
||||
CommonUtils.sleep(2000);
|
||||
}
|
||||
}
|
||||
if (conn == null)
|
||||
|
||||
@@ -17,6 +17,7 @@ import java.text.SimpleDateFormat;
|
||||
import java.util.Arrays;
|
||||
import java.util.Date;
|
||||
import java.util.Vector;
|
||||
import java.util.concurrent.Semaphore;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.stream.Collectors;
|
||||
public class CommonUtils {
|
||||
@@ -26,7 +27,13 @@ public class CommonUtils {
|
||||
public static String Home;
|
||||
//ГЛОБАЛЬНЫЙ ЖУРНАЛ
|
||||
public static Loggable MainLog;
|
||||
public static Semaphore date_semaphore = new Semaphore(1);
|
||||
public static long last_ticks = CommonConstants.Nan;
|
||||
//------------------------------------------------------------------------
|
||||
public static Object requireNonNullElse(Object value, Object default_value) {
|
||||
return (value != null) ? value : default_value;
|
||||
}
|
||||
//--
|
||||
//JSON
|
||||
//--
|
||||
// public static String jsonToPrettyFormat(String packed) {
|
||||
@@ -401,7 +408,41 @@ public class CommonUtils {
|
||||
public static String print_date(Date date) {
|
||||
return new SimpleDateFormat("dd.MM.yyyy HH:mm:ss").format(date);
|
||||
}
|
||||
//-
|
||||
public static String printSplittedDateInterval(long milliseconds) {
|
||||
//--
|
||||
long seconds = milliseconds / 1000;
|
||||
long hours = seconds / 3600;
|
||||
seconds = seconds - hours * 3600;
|
||||
long minutes = (seconds) / 60;
|
||||
seconds = seconds - minutes * 60;
|
||||
//--
|
||||
return hours + " часов, " + minutes + " минут, " + seconds + " секунд";
|
||||
}
|
||||
//Синхронизация
|
||||
public static void sleep(long millis) {
|
||||
try {
|
||||
Thread.sleep(millis);
|
||||
} catch (Exception ignore) {
|
||||
}
|
||||
}
|
||||
//ГЕНЕРАЦИЯ ИМЕН
|
||||
|
||||
public static long getDateNumber() {
|
||||
//-
|
||||
try {
|
||||
date_semaphore.acquire();
|
||||
} catch (Exception ignore) {
|
||||
}
|
||||
//-
|
||||
long ticks = new Date().toInstant().getEpochSecond();
|
||||
while (ticks == last_ticks) {
|
||||
sleep(1);
|
||||
ticks = new Date().toInstant().getEpochSecond();
|
||||
}
|
||||
last_ticks = ticks; // Это и есть разделяемый ресурс.
|
||||
date_semaphore.release();
|
||||
return ticks;
|
||||
}
|
||||
public static String getDateName(String name_) {
|
||||
return name_ + "_" + getDateNumber();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user