[DEV] update some models
This commit is contained in:
parent
9730b89b15
commit
88b945285b
@ -17,7 +17,7 @@ public class DBEntry implements Closeable {
|
||||
public Connection connection;
|
||||
private static List<DBEntry> stored = new ArrayList<>();
|
||||
|
||||
private DBEntry(DBConfig config, boolean root) throws IOException {
|
||||
private DBEntry(final DBConfig config, final boolean root) throws IOException {
|
||||
this.config = config;
|
||||
if (root) {
|
||||
connectRoot();
|
||||
@ -26,13 +26,13 @@ public class DBEntry implements Closeable {
|
||||
}
|
||||
}
|
||||
|
||||
public static DBEntry createInterface(DBConfig config) throws IOException {
|
||||
public static DBEntry createInterface(final DBConfig config) throws IOException {
|
||||
return createInterface(config, false);
|
||||
}
|
||||
|
||||
public static DBEntry createInterface(DBConfig config, boolean root) throws IOException {
|
||||
public static DBEntry createInterface(final DBConfig config, final boolean root) throws IOException {
|
||||
if (config.getKeepConnected()) {
|
||||
for (DBEntry elem : stored) {
|
||||
for (final DBEntry elem : stored) {
|
||||
if (elem == null) {
|
||||
continue;
|
||||
}
|
||||
@ -40,7 +40,7 @@ public class DBEntry implements Closeable {
|
||||
return elem;
|
||||
}
|
||||
}
|
||||
DBEntry tmp = new DBEntry(config, root);
|
||||
final DBEntry tmp = new DBEntry(config, root);
|
||||
stored.add(tmp);
|
||||
return tmp;
|
||||
} else {
|
||||
@ -50,8 +50,8 @@ public class DBEntry implements Closeable {
|
||||
|
||||
public void connectRoot() throws IOException {
|
||||
try {
|
||||
connection = DriverManager.getConnection(config.getUrl(true), config.getLogin(), config.getPassword());
|
||||
} catch (SQLException ex) {
|
||||
this.connection = DriverManager.getConnection(this.config.getUrl(true), this.config.getLogin(), this.config.getPassword());
|
||||
} catch (final SQLException ex) {
|
||||
throw new IOException("Connection db fail: " + ex.getMessage());
|
||||
}
|
||||
|
||||
@ -59,8 +59,8 @@ public class DBEntry implements Closeable {
|
||||
|
||||
public void connect() throws IOException {
|
||||
try {
|
||||
connection = DriverManager.getConnection(config.getUrl(), config.getLogin(), config.getPassword());
|
||||
} catch (SQLException ex) {
|
||||
this.connection = DriverManager.getConnection(this.config.getUrl(), this.config.getLogin(), this.config.getPassword());
|
||||
} catch (final SQLException ex) {
|
||||
throw new IOException("Connection db fail: " + ex.getMessage());
|
||||
}
|
||||
|
||||
@ -68,15 +68,24 @@ public class DBEntry implements Closeable {
|
||||
|
||||
@Override
|
||||
public void close() throws IOException {
|
||||
if (config.getKeepConnected()) {
|
||||
if (this.config.getKeepConnected()) {
|
||||
return;
|
||||
}
|
||||
closeForce();
|
||||
}
|
||||
|
||||
public void closeForce() throws IOException {
|
||||
try {
|
||||
//connection.commit();
|
||||
connection.close();
|
||||
} catch (SQLException ex) {
|
||||
this.connection.close();
|
||||
} catch (final SQLException ex) {
|
||||
throw new IOException("Dis-connection db fail: " + ex.getMessage());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public static void closeAllForceMode() throws IOException {
|
||||
for (final DBEntry entry : stored) {
|
||||
entry.closeForce();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -14,7 +14,6 @@ import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
|
||||
//@SQLWhere(clause = "deleted=false")
|
||||
public class GenericTable {
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
|
31
src/org/kar/archidata/model/GenericTableHardDelete.java
Normal file
31
src/org/kar/archidata/model/GenericTableHardDelete.java
Normal file
@ -0,0 +1,31 @@
|
||||
package org.kar.archidata.model;
|
||||
|
||||
import java.sql.Timestamp;
|
||||
|
||||
import org.kar.archidata.annotation.CreationTimestamp;
|
||||
import org.kar.archidata.annotation.SQLComment;
|
||||
import org.kar.archidata.annotation.SQLNotRead;
|
||||
import org.kar.archidata.annotation.UpdateTimestamp;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
|
||||
public class GenericTableHardDelete {
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(nullable = false, unique = true)
|
||||
@SQLComment("Primary key of the base")
|
||||
public Long id = null;
|
||||
@SQLNotRead
|
||||
@CreationTimestamp
|
||||
@Column(nullable = false)
|
||||
@SQLComment("Create time of the object")
|
||||
public Timestamp createdAt = null;
|
||||
@SQLNotRead
|
||||
@UpdateTimestamp
|
||||
@Column(nullable = false)
|
||||
@SQLComment("When update the object")
|
||||
public Timestamp updatedAt = null;
|
||||
}
|
@ -1,19 +1,39 @@
|
||||
package org.kar.archidata.util;
|
||||
|
||||
public class ConfigBaseVariable {
|
||||
static public String tmpDataFolder = System.getenv("DATA_TMP_FOLDER");
|
||||
static public String dataFolder = System.getenv("DATA_FOLDER");
|
||||
static public String dbType = System.getenv("DB_TYPE");
|
||||
static public String dbHost = System.getenv("DB_HOST");
|
||||
static public String dbPort = System.getenv("DB_PORT");
|
||||
static public String dbUser = System.getenv("DB_USER");
|
||||
static public String dbKeepConnected = System.getenv("DB_KEEP_CONNECTED");
|
||||
static public String dbPassword = System.getenv("DB_PASSWORD");
|
||||
static public String bdDatabase = System.getenv("DB_DATABASE");
|
||||
static public String apiAdress = System.getenv("API_ADDRESS");
|
||||
static public String ssoAdress = System.getenv("SSO_ADDRESS");
|
||||
static public String ssoToken = System.getenv("SSO_TOKEN");
|
||||
static public String tmpDataFolder;
|
||||
static public String dataFolder;
|
||||
static public String dbType;
|
||||
static public String dbHost;
|
||||
static public String dbPort;
|
||||
static public String dbUser;
|
||||
static public String dbKeepConnected;
|
||||
static public String dbPassword;
|
||||
static public String bdDatabase;
|
||||
static public String apiAdress;
|
||||
static public String ssoAdress;
|
||||
static public String ssoToken;
|
||||
|
||||
// For test only
|
||||
public static void clearAllValue() {
|
||||
tmpDataFolder = System.getenv("DATA_TMP_FOLDER");
|
||||
dataFolder = System.getenv("DATA_FOLDER");
|
||||
dbType = System.getenv("DB_TYPE");
|
||||
dbHost = System.getenv("DB_HOST");
|
||||
dbPort = System.getenv("DB_PORT");
|
||||
dbUser = System.getenv("DB_USER");
|
||||
dbKeepConnected = System.getenv("DB_KEEP_CONNECTED");
|
||||
dbPassword = System.getenv("DB_PASSWORD");
|
||||
bdDatabase = System.getenv("DB_DATABASE");
|
||||
apiAdress = System.getenv("API_ADDRESS");
|
||||
ssoAdress = System.getenv("SSO_ADDRESS");
|
||||
ssoToken = System.getenv("SSO_TOKEN");
|
||||
}
|
||||
|
||||
static {
|
||||
clearAllValue();
|
||||
}
|
||||
|
||||
public static String getTmpDataFolder() {
|
||||
if (tmpDataFolder == null) {
|
||||
return "/application/data/tmp";
|
||||
|
@ -1,5 +1,7 @@
|
||||
package test.kar.archidata;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
import org.junit.jupiter.api.AfterAll;
|
||||
import org.junit.jupiter.api.Assertions;
|
||||
import org.junit.jupiter.api.BeforeAll;
|
||||
@ -7,35 +9,40 @@ import org.junit.jupiter.api.MethodOrderer;
|
||||
import org.junit.jupiter.api.Order;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.TestMethodOrder;
|
||||
import org.kar.archidata.sqlWrapper.SqlWrapper;
|
||||
import org.kar.archidata.util.RESTApi;
|
||||
import org.kar.archidata.db.DBEntry;
|
||||
import org.kar.archidata.util.ConfigBaseVariable;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
@TestMethodOrder(MethodOrderer.OrderAnnotation.class)
|
||||
public class TestBase {
|
||||
final static Logger logger = LoggerFactory.getLogger(TestBase.class);
|
||||
|
||||
static RESTApi api = null;
|
||||
|
||||
final static private Logger LOGGER = LoggerFactory.getLogger(TestBase.class);
|
||||
|
||||
@BeforeAll
|
||||
public static void configureWebServer() throws Exception {
|
||||
logger.info("Create DB");
|
||||
/*LOGGER.info("Create DB");
|
||||
final String dbName = "sdfsdfsdfsfsdfsfsfsfsdfsdfsd";
|
||||
boolean data = SqlWrapper.isDBExist(dbName);
|
||||
logger.error("exist: {}", data);
|
||||
LOGGER.error("exist: {}", data);
|
||||
data = SqlWrapper.createDB(dbName);
|
||||
logger.error("create: {}", data);
|
||||
LOGGER.error("create: {}", data);
|
||||
data = SqlWrapper.isDBExist(dbName);
|
||||
logger.error("exist: {}", data);
|
||||
}
|
||||
|
||||
@AfterAll
|
||||
public static void stopWebServer() throws InterruptedException {
|
||||
logger.info("Kill the web server");
|
||||
// TODO: do it better...
|
||||
LOGGER.error("exist: {}", data);
|
||||
*/
|
||||
ConfigBaseVariable.dbType = "sqlite";
|
||||
ConfigBaseVariable.dbHost = "memory";
|
||||
// for test we need to connect all time the DB
|
||||
ConfigBaseVariable.dbKeepConnected = "true";
|
||||
|
||||
}
|
||||
|
||||
@AfterAll
|
||||
public static void removeDataBase() throws IOException {
|
||||
LOGGER.info("Remove the test db");
|
||||
DBEntry.closeAllForceMode();
|
||||
ConfigBaseVariable.clearAllValue();
|
||||
}
|
||||
|
||||
@Order(1)
|
||||
@Test
|
||||
public void checkSimpleTestError() throws Exception {
|
||||
|
Loading…
x
Reference in New Issue
Block a user