Compare commits

...

6 commits
1.11 ... 1.17

58 changed files with 146 additions and 117 deletions

View file

@ -2,23 +2,26 @@
<classpath> <classpath>
<classpathentry kind="src" path="src"/> <classpathentry kind="src" path="src"/>
<classpathentry kind="src" path="test"/> <classpathentry kind="src" path="test"/>
<classpathentry kind="lib" path="lib/commons-codec-1.8.jar" sourcepath="lib/commons-codec-1.8-sources.jar"/>
<classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.module.container"/> <classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.module.container"/>
<classpathentry kind="lib" path="lib/mysql-jdbc-5.0.8.jar"/>
<classpathentry kind="lib" path="lib/Logs/log4j-1.2.17.jar" sourcepath="lib/Logs/log4j-1.2.17-source.zip"/>
<classpathentry kind="lib" path="lib/UnitTesting/hamcrest-core-1.3.jar" sourcepath="lib/UnitTesting/hamcrest-core-1.3-sources.jar"/> <classpathentry kind="lib" path="lib/UnitTesting/hamcrest-core-1.3.jar" sourcepath="lib/UnitTesting/hamcrest-core-1.3-sources.jar"/>
<classpathentry kind="lib" path="lib/hsqldb-2.3.0.jar"/>
<classpathentry kind="lib" path="lib/Logs/slf4j-api-1.7.25.jar" sourcepath="lib/Logs/slf4j-api-1.7.25-sources.jar"/>
<classpathentry kind="lib" path="lib/Logs/slf4j-log4j12-1.7.25.jar" sourcepath="lib/Logs/slf4j-log4j12-1.7.25-sources.jar"/>
<classpathentry kind="lib" path="lib/UnitTesting/junit-4.12.jar" sourcepath="lib/UnitTesting/junit-4.12-sources.jar"/> <classpathentry kind="lib" path="lib/UnitTesting/junit-4.12.jar" sourcepath="lib/UnitTesting/junit-4.12-sources.jar"/>
<classpathentry kind="lib" path="lib/commons-io-2.6.jar" sourcepath="lib/commons-io-2.6-sources.jar"/> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-17">
<classpathentry kind="lib" path="lib/commons-lang3-3.7.jar" sourcepath="lib/commons-lang3-3.7-sources.jar"/>
<classpathentry kind="lib" path="lib/devinsy-strings-0.8.2.jar" sourcepath="lib/devinsy-strings-0.8.2-sources.zip"/>
<classpathentry kind="lib" path="lib/devinsy-xml-0.8.2.jar" sourcepath="lib/devinsy-xml-0.8.2-sources.zip"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11">
<attributes> <attributes>
<attribute name="module" value="true"/>
<attribute name="owner.project.facets" value="java"/> <attribute name="owner.project.facets" value="java"/>
</attributes> </attributes>
</classpathentry> </classpathentry>
<classpathentry kind="lib" path="lib/commons-io-2.16.1.jar" sourcepath="lib/commons-io-2.16.1-sources.jar"/>
<classpathentry kind="lib" path="lib/commons-lang3-3.13.0.jar" sourcepath="lib/commons-lang3-3.13.0-sources.jar"/>
<classpathentry kind="lib" path="lib/devinsy-strings-0.17.0.jar" sourcepath="lib/devinsy-strings-0.17.0-sources.zip"/>
<classpathentry kind="lib" path="lib/devinsy-xml-0.17.0.jar" sourcepath="lib/devinsy-xml-0.17.0-sources.zip"/>
<classpathentry kind="lib" path="lib/commons-codec-1.17.1.jar" sourcepath="lib/commons-codec-1.17.1-sources.jar"/>
<classpathentry kind="lib" path="lib/mariadb-java-client-3.4.1.jar"/>
<classpathentry kind="lib" path="lib/hsqldb-2.7.3.jar"/>
<classpathentry kind="lib" path="lib/Logs/log4j-api-2.23.1.jar"/>
<classpathentry kind="lib" path="lib/Logs/log4j-core-2.23.1.jar"/>
<classpathentry kind="lib" path="lib/Logs/log4j-slf4j2-impl-2.23.1.jar"/>
<classpathentry kind="lib" path="lib/Logs/slf4j-api-2.0.16.jar"/>
<classpathentry kind="lib" path="lib/commons-text-1.12.0.jar" sourcepath="lib/commons-text-1.12.0-sources.jar"/>
<classpathentry kind="output" path="bin"/> <classpathentry kind="output" path="bin"/>
</classpath> </classpath>

View file

@ -0,0 +1,2 @@
eclipse.preferences.version=1
encoding/<project>=UTF-8

View file

@ -1,8 +1,8 @@
eclipse.preferences.version=1 eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=11 org.eclipse.jdt.core.compiler.codegen.targetPlatform=17
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=11 org.eclipse.jdt.core.compiler.compliance=17
org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@ -11,7 +11,7 @@ org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
org.eclipse.jdt.core.compiler.release=enabled org.eclipse.jdt.core.compiler.release=enabled
org.eclipse.jdt.core.compiler.source=11 org.eclipse.jdt.core.compiler.source=17
org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647 org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647
org.eclipse.jdt.core.formatter.align_type_members_on_columns=false org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
org.eclipse.jdt.core.formatter.alignment_for_additive_operator=16 org.eclipse.jdt.core.formatter.alignment_for_additive_operator=16

View file

@ -3,5 +3,5 @@
<fixed facet="java"/> <fixed facet="java"/>
<fixed facet="jst.utility"/> <fixed facet="jst.utility"/>
<installed facet="jst.utility" version="1.0"/> <installed facet="jst.utility" version="1.0"/>
<installed facet="java" version="11"/> <installed facet="java" version="17"/>
</faceted-project> </faceted-project>

View file

@ -1,3 +1,3 @@
#Build Number for ANT. Do not edit! #Build Number for ANT. Do not edit!
#Wed Feb 28 19:03:09 CET 2018 #Fri Aug 23 12:19:51 CEST 2024
build.number=0 build.number=1

View file

@ -1,3 +1,3 @@
product.name=sikevadb product.name=sikevadb
product.revision.major=1 product.revision.major=1
product.revision.minor=8 product.revision.minor=17

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
lib/commons-io-2.16.1.jar Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
lib/commons-text-1.12.0.jar Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
lib/devinsy-xml-0.17.0.jar Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
lib/hsqldb-2.7.3.jar Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2013-2017 Christian Pierre MOMON <christian.momon@devinsy.fr> * Copyright (C) 2013-2024 Christian Pierre MOMON <christian.momon@devinsy.fr>
* *
* This file is part of SikevaDB, simple key value database. * This file is part of SikevaDB, simple key value database.
* *
@ -21,8 +21,8 @@ package fr.devinsy.sikevadb;
import java.io.File; import java.io.File;
import org.apache.commons.lang3.ArrayUtils; import org.apache.commons.lang3.ArrayUtils;
import org.apache.log4j.BasicConfigurator; import org.apache.logging.log4j.core.config.Configurator;
import org.apache.log4j.PropertyConfigurator; import org.apache.logging.log4j.core.config.DefaultConfiguration;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@ -55,13 +55,13 @@ public final class SikevaDBLauncher
File loggerConfig = new File("log4j.properties"); File loggerConfig = new File("log4j.properties");
if (loggerConfig.exists()) if (loggerConfig.exists())
{ {
PropertyConfigurator.configure(loggerConfig.getAbsolutePath()); Configurator.initialize(null, loggerConfig.getAbsolutePath());
logger.info("Dedicated log configuration done."); logger.info("Dedicated log configuration done.");
logger.info("Configuration file was found in [{}].", loggerConfig.getAbsoluteFile()); logger.info("Configuration file was found in [{}].", loggerConfig.getAbsoluteFile());
} }
else else
{ {
BasicConfigurator.configure(); Configurator.initialize(new DefaultConfiguration());
logger.info("Basic log configuration done."); logger.info("Basic log configuration done.");
logger.info("Configuration file was not found in [{}].", loggerConfig.getAbsoluteFile()); logger.info("Configuration file was not found in [{}].", loggerConfig.getAbsoluteFile());
} }

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2013-2018 Christian Pierre MOMON <christian.momon@devinsy.fr> * Copyright (C) 2013-2024 Christian Pierre MOMON <christian.momon@devinsy.fr>
* *
* This file is part of SikevaDB, simple key value database. * This file is part of SikevaDB, simple key value database.
* *
@ -22,8 +22,8 @@ package fr.devinsy.sikevadb.cli;
import java.io.File; import java.io.File;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.log4j.BasicConfigurator; import org.apache.logging.log4j.core.config.Configurator;
import org.apache.log4j.PropertyConfigurator; import org.apache.logging.log4j.core.config.DefaultConfiguration;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@ -76,13 +76,13 @@ public final class SikevaDBCLI
File loggerConfig = new File("log4j.properties"); File loggerConfig = new File("log4j.properties");
if (loggerConfig.exists()) if (loggerConfig.exists())
{ {
PropertyConfigurator.configure(loggerConfig.getAbsolutePath()); Configurator.initialize(null, loggerConfig.getAbsolutePath());
logger.info("Dedicated log configuration done."); logger.info("Dedicated log configuration done.");
logger.info("Configuration file was found in [{}].", loggerConfig.getAbsoluteFile()); logger.info("Configuration file was found in [{}].", loggerConfig.getAbsoluteFile());
} }
else else
{ {
BasicConfigurator.configure(); Configurator.initialize(new DefaultConfiguration());
logger.info("Basic log configuration done."); logger.info("Basic log configuration done.");
logger.info("Configuration file was not found in [{}].", loggerConfig.getAbsoluteFile()); logger.info("Configuration file was not found in [{}].", loggerConfig.getAbsoluteFile());
} }

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2013-2017 Christian Pierre MOMON <christian.momon@devinsy.fr> * Copyright (C) 2013-2024 Christian Pierre MOMON <christian.momon@devinsy.fr>
* *
* This file is part of SikevaDB, simple key value database. * This file is part of SikevaDB, simple key value database.
* *
@ -20,8 +20,6 @@ package fr.devinsy.sikevadb.core;
/** /**
* The Interface Archiver. * The Interface Archiver.
*
* @author Christian Pierre MOMON
*/ */
public interface Archiver public interface Archiver
{ {
@ -31,17 +29,50 @@ public interface Archiver
SUSPENDED SUSPENDED
} }
/**
* Activate.
*/
void activate(); void activate();
/**
* Archive.
*
* @param element
* the element
* @throws SikevaDBException
* the sikeva DB exception
*/
void archive(Element element) throws SikevaDBException; void archive(Element element) throws SikevaDBException;
/**
* Clear.
*
* @throws SikevaDBException
* the sikeva DB exception
*/
void clear() throws SikevaDBException; void clear() throws SikevaDBException;
/**
* Close.
*/
void close(); void close();
/**
* Checks if is activated.
*
* @return true, if is activated
*/
boolean isActivated(); boolean isActivated();
/**
* Checks if is suspended.
*
* @return true, if is suspended
*/
boolean isSuspended(); boolean isSuspended();
/**
* Suspend.
*/
void suspend(); void suspend();
} }

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2018 Christian Pierre MOMON <christian.momon@devinsy.fr> * Copyright (C) 2018-2024 Christian Pierre MOMON <christian.momon@devinsy.fr>
* *
* This file is part of SikevaDB, simple key value database. * This file is part of SikevaDB, simple key value database.
* *
@ -19,15 +19,14 @@
package fr.devinsy.sikevadb.core; package fr.devinsy.sikevadb.core;
/** /**
* * The Class ClosedDatabaseException.
* @author Christian Pierre MOMON (christian.momon@devinsy.fr)
*/ */
public class ClosedDatabaseException extends SikevaDBException public class ClosedDatabaseException extends SikevaDBException
{ {
private static final long serialVersionUID = 8364599416669077052L; private static final long serialVersionUID = 8364599416669077052L;
/** /**
* * Instantiates a new closed database exception.
*/ */
public ClosedDatabaseException() public ClosedDatabaseException()
{ {
@ -35,8 +34,10 @@ public class ClosedDatabaseException extends SikevaDBException
} }
/** /**
* * Instantiates a new closed database exception.
*
* @param message * @param message
* the message
*/ */
public ClosedDatabaseException(final String message) public ClosedDatabaseException(final String message)
{ {
@ -44,9 +45,12 @@ public class ClosedDatabaseException extends SikevaDBException
} }
/** /**
* * Instantiates a new closed database exception.
*
* @param message * @param message
* the message
* @param cause * @param cause
* the cause
*/ */
public ClosedDatabaseException(final String message, final Throwable cause) public ClosedDatabaseException(final String message, final Throwable cause)
{ {
@ -54,8 +58,10 @@ public class ClosedDatabaseException extends SikevaDBException
} }
/** /**
* * Instantiates a new closed database exception.
*
* @param cause * @param cause
* the cause
*/ */
public ClosedDatabaseException(final Throwable cause) public ClosedDatabaseException(final Throwable cause)
{ {

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2018 Christian Pierre MOMON <christian.momon@devinsy.fr> * Copyright (C) 2018-2024 Christian Pierre MOMON <christian.momon@devinsy.fr>
* *
* This file is part of SikevaDB, simple key value database. * This file is part of SikevaDB, simple key value database.
* *
@ -19,15 +19,14 @@
package fr.devinsy.sikevadb.core; package fr.devinsy.sikevadb.core;
/** /**
* * The Class OpenedDatabaseException.
* @author Christian Pierre MOMON (christian.momon@devinsy.fr)
*/ */
public class OpenedDatabaseException extends SikevaDBException public class OpenedDatabaseException extends SikevaDBException
{ {
private static final long serialVersionUID = 8364599416669077052L; private static final long serialVersionUID = 8364599416669077052L;
/** /**
* * Instantiates a new opened database exception.
*/ */
public OpenedDatabaseException() public OpenedDatabaseException()
{ {
@ -35,8 +34,10 @@ public class OpenedDatabaseException extends SikevaDBException
} }
/** /**
* * Instantiates a new opened database exception.
*
* @param message * @param message
* the message
*/ */
public OpenedDatabaseException(final String message) public OpenedDatabaseException(final String message)
{ {
@ -44,9 +45,12 @@ public class OpenedDatabaseException extends SikevaDBException
} }
/** /**
* * Instantiates a new opened database exception.
*
* @param message * @param message
* the message
* @param cause * @param cause
* the cause
*/ */
public OpenedDatabaseException(final String message, final Throwable cause) public OpenedDatabaseException(final String message, final Throwable cause)
{ {
@ -54,8 +58,10 @@ public class OpenedDatabaseException extends SikevaDBException
} }
/** /**
* * Instantiates a new opened database exception.
*
* @param cause * @param cause
* the cause
*/ */
public OpenedDatabaseException(final Throwable cause) public OpenedDatabaseException(final Throwable cause)
{ {

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2013-2018 Christian Pierre MOMON <christian.momon@devinsy.fr> * Copyright (C) 2013-2024 Christian Pierre MOMON <christian.momon@devinsy.fr>
* *
* This file is part of SikevaDB, simple key value database. * This file is part of SikevaDB, simple key value database.
* *
@ -284,18 +284,28 @@ public interface SikevaDB
public String getValue(String key, String subkey) throws SikevaDBException; public String getValue(String key, String subkey) throws SikevaDBException;
/** /**
* Gets the values of a key. * Gets the values.
* *
* @param key * @param key
* the key * the key
* @return the values * @return the values
* @throws SikevaDBException * @throws SikevaDBException
* the SikevaDB exception * the sikeva DB exception
*/ */
public StringList getValues(String key) throws SikevaDBException; public StringList getValues(String key) throws SikevaDBException;
/**
* Checks if is archive activated.
*
* @return true, if is archive activated
*/
boolean isArchiveActivated(); boolean isArchiveActivated();
/**
* Checks if is archive suspended.
*
* @return true, if is archive suspended
*/
boolean isArchiveSuspended(); boolean isArchiveSuspended();
/** /**

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2013-2018 Christian Pierre MOMON <christian.momon@devinsy.fr> * Copyright (C) 2013-2024 Christian Pierre MOMON <christian.momon@devinsy.fr>
* *
* This file is part of SikevaDB, simple key value database. * This file is part of SikevaDB, simple key value database.
* *
@ -41,22 +41,20 @@ import fr.devinsy.xml.XMLZipWriter;
/** /**
* The Class XMLSikevaDB represents a XML persister. * The Class XMLSikevaDB represents a XML persister.
*
* @author Christian Pierre MOMON (christian.momon@devinsy.fr)
*/ */
public class XMLSikevaDB public class XMLSikevaDB
{ {
private static final Logger logger = LoggerFactory.getLogger(XMLSikevaDB.class); private static final Logger logger = LoggerFactory.getLogger(XMLSikevaDB.class);
/** /**
* Export in XML a database in a file. * Export.
* *
* @param out * @param out
* the out * the out
* @param source * @param source
* the source * the source
* @throws SikevaDBException * @throws SikevaDBException
* the SikevaDB exception * the sikeva DB exception
* @throws FileNotFoundException * @throws FileNotFoundException
* the file not found exception * the file not found exception
*/ */
@ -147,14 +145,11 @@ public class XMLSikevaDB
/** /**
* Import data. * Import data.
* *
* @param database * @param database
* the database * the database
* @param file * @param file
* the file * the file
*
* @throws Exception
* the exception
*/ */
public static void importData(final SikevaDB database, final File file) public static void importData(final SikevaDB database, final File file)
{ {
@ -173,11 +168,12 @@ public class XMLSikevaDB
/** /**
* Read element. * Read element.
* *
* @param in * @param in
* the in * the in
* @return the element * @return the element
* @throws SikevaDBException * @throws SikevaDBException
* the sikeva DB exception
*/ */
public static Element readElement(final XMLReader in) throws SikevaDBException public static Element readElement(final XMLReader in) throws SikevaDBException
{ {
@ -243,17 +239,13 @@ public class XMLSikevaDB
/** /**
* Read elements. * Read elements.
* *
* @param target * @param target
* the target * the target
* @param in * @param in
* the in * the in
* @throws XMLBadFormatException
* @throws XMLStreamException
* @throws SikevaDBException * @throws SikevaDBException
* * the sikeva DB exception
* @throws Exception
* the exception
*/ */
public static void readElements(final SikevaDB target, final XMLReader in) throws SikevaDBException public static void readElements(final SikevaDB target, final XMLReader in) throws SikevaDBException
{ {
@ -342,17 +334,15 @@ public class XMLSikevaDB
} }
/** /**
* Write in an XML writer the elements of a database, sorting by keys and sub * Write in an XML writer the elements of a database, sorting by keys and
* keys. * sub keys.
* *
* @param out * @param out
* the out * the out
* @param source * @param source
* the source * the source
* @throws SikevaDBException * @throws SikevaDBException
* * the sikeva DB exception
* @throws Exception
* the exception
*/ */
public static void write(final XMLWriter out, final SikevaDB source) throws SikevaDBException public static void write(final XMLWriter out, final SikevaDB source) throws SikevaDBException
{ {

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2013-2018 Christian Pierre MOMON <christian.momon@devinsy.fr> * Copyright (C) 2013-2024 Christian Pierre MOMON <christian.momon@devinsy.fr>
* *
* This file is part of SikevaDB, simple key value database. * This file is part of SikevaDB, simple key value database.
* *
@ -22,8 +22,8 @@ package fr.devinsy.sikevadb.demo;
import java.io.File; import java.io.File;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.log4j.BasicConfigurator; import org.apache.logging.log4j.core.config.Configurator;
import org.apache.log4j.PropertyConfigurator; import org.apache.logging.log4j.core.config.DefaultConfiguration;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@ -171,13 +171,13 @@ public final class SikevaDBDemo
File loggerConfig = new File("log4j.properties"); File loggerConfig = new File("log4j.properties");
if (loggerConfig.exists()) if (loggerConfig.exists())
{ {
PropertyConfigurator.configure(loggerConfig.getAbsolutePath()); Configurator.initialize(null, loggerConfig.getAbsolutePath());
logger.info("Dedicated log configuration done."); logger.info("Dedicated log configuration done.");
logger.info("Configuration file was found in [{}].", loggerConfig.getAbsoluteFile()); logger.info("Configuration file was found in [{}].", loggerConfig.getAbsoluteFile());
} }
else else
{ {
BasicConfigurator.configure(); Configurator.initialize(new DefaultConfiguration());
logger.info("Basic log configuration done."); logger.info("Basic log configuration done.");
logger.info("Configuration file was not found in [{}].", loggerConfig.getAbsoluteFile()); logger.info("Configuration file was not found in [{}].", loggerConfig.getAbsoluteFile());
} }

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2013-2017 Christian Pierre MOMON <christian.momon@devinsy.fr> * Copyright (C) 2013-2024 Christian Pierre MOMON <christian.momon@devinsy.fr>
* *
* This file is part of SikevaDB, simple key value database. * This file is part of SikevaDB, simple key value database.
* *
@ -27,10 +27,7 @@ import fr.devinsy.sikevadb.core.SikevaDBException;
/** /**
* The Class SQLArchiver. * The Class SQLArchiver.
*
* @author Christian Pierre MOMON
*/ */
public class SQLArchiver implements Archiver public class SQLArchiver implements Archiver
{ {
private static final Logger logger = LoggerFactory.getLogger(SQLArchiver.class);; private static final Logger logger = LoggerFactory.getLogger(SQLArchiver.class);;

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2013-2018 Christian Pierre MOMON <christian.momon@devinsy.fr> * Copyright (C) 2013-2024 Christian Pierre MOMON <christian.momon@devinsy.fr>
* *
* This file is part of SikevaDB, simple key value database. * This file is part of SikevaDB, simple key value database.
* *
@ -20,6 +20,7 @@ package fr.devinsy.sikevadb.sql;
import java.io.FileNotFoundException; import java.io.FileNotFoundException;
import java.io.IOException; import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.sql.Connection; import java.sql.Connection;
import java.sql.DriverManager; import java.sql.DriverManager;
import java.sql.PreparedStatement; import java.sql.PreparedStatement;
@ -130,8 +131,9 @@ public class SQLSikevaDB implements SikevaDB
/** /**
* Activate archiver. * Activate archiver.
* *
* @throws ClosedDatabaseException * @throws ClosedDatabaseException
* the closed database exception
*/ */
public void activateArchiver() throws ClosedDatabaseException public void activateArchiver() throws ClosedDatabaseException
{ {
@ -1808,7 +1810,7 @@ public class SQLSikevaDB implements SikevaDB
// //
if (this.url != null) if (this.url != null)
{ {
Class.forName(this.driverClassname).newInstance(); Class.forName(this.driverClassname).getDeclaredConstructor().newInstance();
this.singleConnection = DriverManager.getConnection(this.url, this.login, this.password); this.singleConnection = DriverManager.getConnection(this.url, this.login, this.password);
logger.info("Single connection opened with [{}].", this.url); logger.info("Single connection opened with [{}].", this.url);
this.status = Status.OPENED; this.status = Status.OPENED;
@ -1828,27 +1830,8 @@ public class SQLSikevaDB implements SikevaDB
throw new IllegalArgumentException("Undefined source."); throw new IllegalArgumentException("Undefined source.");
} }
} }
catch (InstantiationException exception) catch (IllegalArgumentException | InvocationTargetException | NoSuchMethodException | SecurityException | NamingException | SQLException | InstantiationException | IllegalAccessException
{ | ClassNotFoundException exception)
logger.error("Error opening database.", exception);
throw new SikevaDBException("Error opening database.");
}
catch (IllegalAccessException exception)
{
logger.error("Error opening database.", exception);
throw new SikevaDBException("Error opening database.");
}
catch (ClassNotFoundException exception)
{
logger.error("Error opening database.", exception);
throw new SikevaDBException("Error opening database.");
}
catch (SQLException exception)
{
logger.error("Error opening database.", exception);
throw new SikevaDBException("Error opening database.");
}
catch (NamingException exception)
{ {
logger.error("Error opening database.", exception); logger.error("Error opening database.", exception);
throw new SikevaDBException("Error opening database."); throw new SikevaDBException("Error opening database.");

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2013-2017 Christian Pierre MOMON <christian.momon@devinsy.fr> * Copyright (C) 2013-2024 Christian Pierre MOMON <christian.momon@devinsy.fr>
* *
* This file is part of SikevaDB, simple key value database. * This file is part of SikevaDB, simple key value database.
* *
@ -22,6 +22,7 @@ import java.io.BufferedReader;
import java.io.IOException; import java.io.IOException;
import java.io.StringReader; import java.io.StringReader;
import java.net.URL; import java.net.URL;
import java.nio.charset.StandardCharsets;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.ZoneOffset; import java.time.ZoneOffset;
import java.util.Date; import java.util.Date;
@ -55,7 +56,7 @@ public class SQLSikevaDBTools
{ {
StringList result; StringList result;
String script = IOUtils.toString(source); String script = IOUtils.toString(source, StandardCharsets.UTF_8);
result = splitSQLCommands(script); result = splitSQLCommands(script);

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2013-2018 Christian Pierre MOMON, DEVINSY * Copyright (C) 2013-2024 Christian Pierre MOMON, DEVINSY
* *
* This file is part of SikevaDB, simple key value database. * This file is part of SikevaDB, simple key value database.
* *
@ -23,9 +23,9 @@ import java.time.LocalDateTime;
import org.apache.commons.codec.binary.Base64; import org.apache.commons.codec.binary.Base64;
import org.apache.commons.lang3.RandomStringUtils; import org.apache.commons.lang3.RandomStringUtils;
import org.apache.log4j.BasicConfigurator; import org.apache.logging.log4j.Level;
import org.apache.log4j.Level; import org.apache.logging.log4j.core.config.Configurator;
import org.apache.log4j.Logger; import org.apache.logging.log4j.core.config.DefaultConfiguration;
import org.junit.AfterClass; import org.junit.AfterClass;
import org.junit.Assert; import org.junit.Assert;
import org.junit.BeforeClass; import org.junit.BeforeClass;
@ -717,8 +717,8 @@ public class TreeFileSikevaDBTest
@BeforeClass @BeforeClass
public static void beforeClass() throws SikevaDBException public static void beforeClass() throws SikevaDBException
{ {
BasicConfigurator.configure(); Configurator.initialize(new DefaultConfiguration());
Logger.getRootLogger().setLevel(Level.DEBUG); Configurator.setRootLevel(Level.DEBUG);
// Add ?profileSQL=true to generate huge logs. // Add ?profileSQL=true to generate huge logs.

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2013-2018 Christian Pierre MOMON, DEVINSY * Copyright (C) 2013-2024 Christian Pierre MOMON, DEVINSY
* *
* This file is part of SikevaDB, simple key value database. * This file is part of SikevaDB, simple key value database.
* *
@ -22,9 +22,9 @@ import java.time.LocalDateTime;
import org.apache.commons.codec.binary.Base64; import org.apache.commons.codec.binary.Base64;
import org.apache.commons.lang3.RandomStringUtils; import org.apache.commons.lang3.RandomStringUtils;
import org.apache.log4j.BasicConfigurator; import org.apache.logging.log4j.Level;
import org.apache.log4j.Level; import org.apache.logging.log4j.core.config.Configurator;
import org.apache.log4j.Logger; import org.apache.logging.log4j.core.config.DefaultConfiguration;
import org.junit.AfterClass; import org.junit.AfterClass;
import org.junit.Assert; import org.junit.Assert;
import org.junit.BeforeClass; import org.junit.BeforeClass;
@ -692,8 +692,8 @@ public class SQLSikevaDBTest
@BeforeClass @BeforeClass
public static void beforeClass() throws SikevaDBException public static void beforeClass() throws SikevaDBException
{ {
BasicConfigurator.configure(); Configurator.initialize(new DefaultConfiguration());
Logger.getRootLogger().setLevel(Level.ERROR); Configurator.setRootLevel(Level.DEBUG);
// Add ?profileSQL=true to generate huge logs. // Add ?profileSQL=true to generate huge logs.