Compare commits
No commits in common. "1.17" and "master" have entirely different histories.
68 changed files with 2138 additions and 2789 deletions
35
.classpath
35
.classpath
|
@ -2,26 +2,29 @@
|
||||||
<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-lang3-3.1.jar"/>
|
||||||
|
<classpathentry kind="lib" path="lib/commons-codec-1.8.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/UnitTesting/hamcrest-core-1.3.jar" sourcepath="lib/UnitTesting/hamcrest-core-1.3-sources.jar"/>
|
<classpathentry kind="con" path="org.eclipse.jst.server.core.container/org.eclipse.jst.server.tomcat.runtimeTarget/Apache Tomcat v7.0">
|
||||||
<classpathentry kind="lib" path="lib/UnitTesting/junit-4.12.jar" sourcepath="lib/UnitTesting/junit-4.12-sources.jar"/>
|
<attributes>
|
||||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-17">
|
<attribute name="owner.project.facets" value="jst.utility"/>
|
||||||
|
</attributes>
|
||||||
|
</classpathentry>
|
||||||
|
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jdk1.6.0_45">
|
||||||
<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/mysql-jdbc-5.0.8.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/joda-time-2.3.jar" sourcepath="lib/joda-time-2.3-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/commons-io-2.4-sources.jar"/>
|
||||||
<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-io-2.4.jar" sourcepath="lib/commons-io-2.4-sources.jar"/>
|
||||||
<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/devinsy-utils-0.3.3.jar" sourcepath="lib/devinsy-utils-0.3.3-sources.zip"/>
|
||||||
<classpathentry kind="lib" path="lib/mariadb-java-client-3.4.1.jar"/>
|
<classpathentry kind="lib" path="lib/Logs/log4j-1.2.17.jar"/>
|
||||||
<classpathentry kind="lib" path="lib/hsqldb-2.7.3.jar"/>
|
<classpathentry kind="lib" path="lib/Logs/slf4j-api-1.7.5.jar" sourcepath="lib/Logs/slf4j-api-1.7.5-sources.jar"/>
|
||||||
<classpathentry kind="lib" path="lib/Logs/log4j-api-2.23.1.jar"/>
|
<classpathentry kind="lib" path="lib/Logs/slf4j-log4j12-1.7.5.jar"/>
|
||||||
<classpathentry kind="lib" path="lib/Logs/log4j-core-2.23.1.jar"/>
|
<classpathentry kind="lib" path="lib/UnitTesting/hamcrest-core-1.3.jar"/>
|
||||||
<classpathentry kind="lib" path="lib/Logs/log4j-slf4j2-impl-2.23.1.jar"/>
|
<classpathentry kind="lib" path="lib/UnitTesting/junit-4.11.jar"/>
|
||||||
<classpathentry kind="lib" path="lib/Logs/slf4j-api-2.0.16.jar"/>
|
<classpathentry kind="lib" path="lib/hsqldb-2.3.0.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>
|
||||||
|
|
|
@ -1,2 +0,0 @@
|
||||||
eclipse.preferences.version=1
|
|
||||||
encoding/<project>=UTF-8
|
|
|
@ -1,20 +1,15 @@
|
||||||
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=17
|
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
|
||||||
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
|
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
|
||||||
org.eclipse.jdt.core.compiler.compliance=17
|
org.eclipse.jdt.core.compiler.compliance=1.6
|
||||||
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
|
||||||
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
|
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
|
||||||
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.source=1.6
|
||||||
org.eclipse.jdt.core.compiler.release=enabled
|
|
||||||
org.eclipse.jdt.core.compiler.source=17
|
|
||||||
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_arguments_in_allocation_expression=16
|
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
|
||||||
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
|
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
|
||||||
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
|
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
|
||||||
|
@ -22,30 +17,22 @@ org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_c
|
||||||
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
|
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
|
||||||
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
|
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
|
||||||
org.eclipse.jdt.core.formatter.alignment_for_assignment=0
|
org.eclipse.jdt.core.formatter.alignment_for_assignment=0
|
||||||
org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=16
|
org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
|
||||||
org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
|
org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
|
||||||
org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
|
org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
|
||||||
org.eclipse.jdt.core.formatter.alignment_for_enum_constants=49
|
org.eclipse.jdt.core.formatter.alignment_for_enum_constants=49
|
||||||
org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
|
org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
|
||||||
org.eclipse.jdt.core.formatter.alignment_for_expressions_in_for_loop_header=0
|
|
||||||
org.eclipse.jdt.core.formatter.alignment_for_logical_operator=16
|
|
||||||
org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
|
org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
|
||||||
org.eclipse.jdt.core.formatter.alignment_for_module_statements=16
|
|
||||||
org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
|
org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
|
||||||
org.eclipse.jdt.core.formatter.alignment_for_multiplicative_operator=16
|
|
||||||
org.eclipse.jdt.core.formatter.alignment_for_parameterized_type_references=0
|
|
||||||
org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
|
org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
|
||||||
org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
|
org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
|
||||||
org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
|
org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
|
||||||
org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
|
org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
|
||||||
org.eclipse.jdt.core.formatter.alignment_for_string_concatenation=16
|
|
||||||
org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
|
org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
|
||||||
org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
|
org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
|
||||||
org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
|
org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
|
||||||
org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
|
org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
|
||||||
org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
|
org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
|
||||||
org.eclipse.jdt.core.formatter.alignment_for_type_arguments=0
|
|
||||||
org.eclipse.jdt.core.formatter.alignment_for_type_parameters=0
|
|
||||||
org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
|
org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
|
||||||
org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
|
org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
|
||||||
org.eclipse.jdt.core.formatter.blank_lines_after_package=1
|
org.eclipse.jdt.core.formatter.blank_lines_after_package=1
|
||||||
|
@ -66,13 +53,11 @@ org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=next_line
|
||||||
org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=next_line
|
org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=next_line
|
||||||
org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=next_line
|
org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=next_line
|
||||||
org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=next_line
|
org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=next_line
|
||||||
org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line
|
|
||||||
org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=next_line
|
org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=next_line
|
||||||
org.eclipse.jdt.core.formatter.brace_position_for_switch=next_line
|
org.eclipse.jdt.core.formatter.brace_position_for_switch=next_line
|
||||||
org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=next_line
|
org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=next_line
|
||||||
org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
|
org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
|
||||||
org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
|
org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
|
||||||
org.eclipse.jdt.core.formatter.comment.count_line_length_from_starting_position=false
|
|
||||||
org.eclipse.jdt.core.formatter.comment.format_block_comments=false
|
org.eclipse.jdt.core.formatter.comment.format_block_comments=false
|
||||||
org.eclipse.jdt.core.formatter.comment.format_header=false
|
org.eclipse.jdt.core.formatter.comment.format_header=false
|
||||||
org.eclipse.jdt.core.formatter.comment.format_html=true
|
org.eclipse.jdt.core.formatter.comment.format_html=true
|
||||||
|
@ -105,7 +90,6 @@ org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
|
||||||
org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
|
org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
|
||||||
org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
|
org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
|
||||||
org.eclipse.jdt.core.formatter.indentation.size=4
|
org.eclipse.jdt.core.formatter.indentation.size=4
|
||||||
org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_enum_constant=insert
|
|
||||||
org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
|
org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
|
||||||
org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
|
org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
|
||||||
org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
|
org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
|
||||||
|
@ -114,7 +98,6 @@ org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do
|
||||||
org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
|
org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
|
||||||
org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
|
org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
|
||||||
org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
|
org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
|
||||||
org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert
|
|
||||||
org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
|
org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
|
||||||
org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=insert
|
org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=insert
|
||||||
org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
|
org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
|
||||||
|
@ -128,12 +111,11 @@ org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
|
||||||
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
|
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
|
||||||
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
|
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
|
||||||
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
|
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
|
||||||
org.eclipse.jdt.core.formatter.insert_space_after_additive_operator=insert
|
|
||||||
org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
|
org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
|
||||||
org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
|
org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
|
||||||
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
|
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
|
||||||
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
|
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
|
||||||
org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert
|
org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
|
||||||
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
|
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
|
||||||
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
|
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
|
||||||
org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
|
org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
|
||||||
|
@ -163,9 +145,6 @@ org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=inser
|
||||||
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
|
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
|
||||||
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
|
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
|
||||||
org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
|
org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
|
||||||
org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
|
|
||||||
org.eclipse.jdt.core.formatter.insert_space_after_logical_operator=insert
|
|
||||||
org.eclipse.jdt.core.formatter.insert_space_after_multiplicative_operator=insert
|
|
||||||
org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
|
org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
|
||||||
org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
|
org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
|
||||||
org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
|
org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
|
||||||
|
@ -190,17 +169,13 @@ org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
|
||||||
org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
|
org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
|
||||||
org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
|
org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
|
||||||
org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
|
org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
|
||||||
org.eclipse.jdt.core.formatter.insert_space_after_relational_operator=insert
|
|
||||||
org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
|
org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
|
||||||
org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
|
org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
|
||||||
org.eclipse.jdt.core.formatter.insert_space_after_shift_operator=insert
|
|
||||||
org.eclipse.jdt.core.formatter.insert_space_after_string_concatenation=insert
|
|
||||||
org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
|
org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
|
||||||
org.eclipse.jdt.core.formatter.insert_space_before_additive_operator=insert
|
|
||||||
org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
|
org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
|
||||||
org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
|
org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
|
||||||
org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
|
org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
|
||||||
org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert
|
org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
|
||||||
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
|
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
|
||||||
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
|
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
|
||||||
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
|
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
|
||||||
|
@ -247,9 +222,6 @@ org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do n
|
||||||
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
|
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
|
||||||
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
|
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
|
||||||
org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
|
org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
|
||||||
org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
|
|
||||||
org.eclipse.jdt.core.formatter.insert_space_before_logical_operator=insert
|
|
||||||
org.eclipse.jdt.core.formatter.insert_space_before_multiplicative_operator=insert
|
|
||||||
org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
|
org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
|
||||||
org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
|
org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
|
||||||
org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
|
org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
|
||||||
|
@ -286,12 +258,9 @@ org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not inser
|
||||||
org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
|
org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
|
||||||
org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
|
org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
|
||||||
org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
|
org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
|
||||||
org.eclipse.jdt.core.formatter.insert_space_before_relational_operator=insert
|
|
||||||
org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
|
org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
|
||||||
org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
|
org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
|
||||||
org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
|
org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
|
||||||
org.eclipse.jdt.core.formatter.insert_space_before_shift_operator=insert
|
|
||||||
org.eclipse.jdt.core.formatter.insert_space_before_string_concatenation=insert
|
|
||||||
org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
|
org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
|
||||||
org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
|
org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
|
||||||
org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
|
org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
|
||||||
|
@ -312,27 +281,11 @@ org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
|
||||||
org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
|
org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
|
||||||
org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
|
org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
|
||||||
org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
|
org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
|
||||||
org.eclipse.jdt.core.formatter.parentheses_positions_in_annotation=common_lines
|
|
||||||
org.eclipse.jdt.core.formatter.parentheses_positions_in_catch_clause=common_lines
|
|
||||||
org.eclipse.jdt.core.formatter.parentheses_positions_in_enum_constant_declaration=common_lines
|
|
||||||
org.eclipse.jdt.core.formatter.parentheses_positions_in_for_statment=common_lines
|
|
||||||
org.eclipse.jdt.core.formatter.parentheses_positions_in_if_while_statement=common_lines
|
|
||||||
org.eclipse.jdt.core.formatter.parentheses_positions_in_lambda_declaration=common_lines
|
|
||||||
org.eclipse.jdt.core.formatter.parentheses_positions_in_method_delcaration=common_lines
|
|
||||||
org.eclipse.jdt.core.formatter.parentheses_positions_in_method_invocation=common_lines
|
|
||||||
org.eclipse.jdt.core.formatter.parentheses_positions_in_switch_statement=common_lines
|
|
||||||
org.eclipse.jdt.core.formatter.parentheses_positions_in_try_clause=common_lines
|
|
||||||
org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
|
org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
|
||||||
org.eclipse.jdt.core.formatter.tabulation.char=tab
|
org.eclipse.jdt.core.formatter.tabulation.char=tab
|
||||||
org.eclipse.jdt.core.formatter.tabulation.size=4
|
org.eclipse.jdt.core.formatter.tabulation.size=4
|
||||||
org.eclipse.jdt.core.formatter.use_on_off_tags=false
|
org.eclipse.jdt.core.formatter.use_on_off_tags=false
|
||||||
org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
|
org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
|
||||||
org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true
|
org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
|
||||||
org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false
|
|
||||||
org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true
|
|
||||||
org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true
|
|
||||||
org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true
|
|
||||||
org.eclipse.jdt.core.formatter.wrap_before_multiplicative_operator=true
|
|
||||||
org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
|
org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
|
||||||
org.eclipse.jdt.core.formatter.wrap_before_string_concatenation=true
|
|
||||||
org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
|
org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
|
||||||
|
|
|
@ -11,12 +11,10 @@ cleanup.always_use_blocks=true
|
||||||
cleanup.always_use_parentheses_in_expressions=false
|
cleanup.always_use_parentheses_in_expressions=false
|
||||||
cleanup.always_use_this_for_non_static_field_access=true
|
cleanup.always_use_this_for_non_static_field_access=true
|
||||||
cleanup.always_use_this_for_non_static_method_access=false
|
cleanup.always_use_this_for_non_static_method_access=false
|
||||||
cleanup.convert_functional_interfaces=false
|
|
||||||
cleanup.convert_to_enhanced_for_loop=false
|
cleanup.convert_to_enhanced_for_loop=false
|
||||||
cleanup.correct_indentation=false
|
cleanup.correct_indentation=false
|
||||||
cleanup.format_source_code=true
|
cleanup.format_source_code=true
|
||||||
cleanup.format_source_code_changes_only=false
|
cleanup.format_source_code_changes_only=false
|
||||||
cleanup.insert_inferred_type_arguments=false
|
|
||||||
cleanup.make_local_variable_final=false
|
cleanup.make_local_variable_final=false
|
||||||
cleanup.make_parameters_final=true
|
cleanup.make_parameters_final=true
|
||||||
cleanup.make_private_fields_final=false
|
cleanup.make_private_fields_final=false
|
||||||
|
@ -31,7 +29,6 @@ cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=fal
|
||||||
cleanup.qualify_static_member_accesses_with_declaring_class=true
|
cleanup.qualify_static_member_accesses_with_declaring_class=true
|
||||||
cleanup.qualify_static_method_accesses_with_declaring_class=false
|
cleanup.qualify_static_method_accesses_with_declaring_class=false
|
||||||
cleanup.remove_private_constructors=true
|
cleanup.remove_private_constructors=true
|
||||||
cleanup.remove_redundant_type_arguments=false
|
|
||||||
cleanup.remove_trailing_whitespaces=true
|
cleanup.remove_trailing_whitespaces=true
|
||||||
cleanup.remove_trailing_whitespaces_all=true
|
cleanup.remove_trailing_whitespaces_all=true
|
||||||
cleanup.remove_trailing_whitespaces_ignore_empty=false
|
cleanup.remove_trailing_whitespaces_ignore_empty=false
|
||||||
|
@ -45,10 +42,8 @@ cleanup.remove_unused_private_methods=true
|
||||||
cleanup.remove_unused_private_types=true
|
cleanup.remove_unused_private_types=true
|
||||||
cleanup.sort_members=true
|
cleanup.sort_members=true
|
||||||
cleanup.sort_members_all=false
|
cleanup.sort_members_all=false
|
||||||
cleanup.use_anonymous_class_creation=false
|
|
||||||
cleanup.use_blocks=true
|
cleanup.use_blocks=true
|
||||||
cleanup.use_blocks_only_for_return_and_throw=false
|
cleanup.use_blocks_only_for_return_and_throw=false
|
||||||
cleanup.use_lambda=true
|
|
||||||
cleanup.use_parentheses_in_expressions=false
|
cleanup.use_parentheses_in_expressions=false
|
||||||
cleanup.use_this_for_non_static_field_access=true
|
cleanup.use_this_for_non_static_field_access=true
|
||||||
cleanup.use_this_for_non_static_field_access_only_if_necessary=false
|
cleanup.use_this_for_non_static_field_access_only_if_necessary=false
|
||||||
|
@ -59,9 +54,7 @@ cleanup_settings_version=2
|
||||||
eclipse.preferences.version=1
|
eclipse.preferences.version=1
|
||||||
editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
|
editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
|
||||||
formatter_profile=_SikevaDB
|
formatter_profile=_SikevaDB
|
||||||
formatter_settings_version=13
|
formatter_settings_version=12
|
||||||
jautodoc.cleanup.add_header=false
|
|
||||||
jautodoc.cleanup.replace_header=false
|
|
||||||
sp_cleanup.add_default_serial_version_id=true
|
sp_cleanup.add_default_serial_version_id=true
|
||||||
sp_cleanup.add_generated_serial_version_id=false
|
sp_cleanup.add_generated_serial_version_id=false
|
||||||
sp_cleanup.add_missing_annotations=true
|
sp_cleanup.add_missing_annotations=true
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<faceted-project>
|
<faceted-project>
|
||||||
|
<runtime name="Apache Tomcat v7.0"/>
|
||||||
<fixed facet="java"/>
|
<fixed facet="java"/>
|
||||||
<fixed facet="jst.utility"/>
|
<fixed facet="jst.utility"/>
|
||||||
|
<installed facet="java" version="1.6"/>
|
||||||
<installed facet="jst.utility" version="1.0"/>
|
<installed facet="jst.utility" version="1.0"/>
|
||||||
<installed facet="java" version="17"/>
|
|
||||||
</faceted-project>
|
</faceted-project>
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
#Build Number for ANT. Do not edit!
|
#Build Number for ANT. Do not edit!
|
||||||
#Fri Aug 23 12:19:51 CEST 2024
|
#Sun Feb 04 12:20:07 CET 2018
|
||||||
build.number=1
|
build.number=1
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
product.name=sikevadb
|
product.name=sikevadb
|
||||||
product.revision.major=1
|
product.revision.major=1
|
||||||
product.revision.minor=17
|
product.revision.minor=0
|
||||||
|
|
BIN
lib/Logs/log4j-1.2.17-source.zip
Normal file
BIN
lib/Logs/log4j-1.2.17-source.zip
Normal file
Binary file not shown.
BIN
lib/Logs/log4j-1.2.17.jar
Normal file
BIN
lib/Logs/log4j-1.2.17.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.
BIN
lib/Logs/slf4j-api-1.7.5-sources.jar
Normal file
BIN
lib/Logs/slf4j-api-1.7.5-sources.jar
Normal file
Binary file not shown.
BIN
lib/Logs/slf4j-api-1.7.5.jar
Normal file
BIN
lib/Logs/slf4j-api-1.7.5.jar
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
lib/Logs/slf4j-log4j12-1.7.5-sources.jar
Normal file
BIN
lib/Logs/slf4j-log4j12-1.7.5-sources.jar
Normal file
Binary file not shown.
BIN
lib/Logs/slf4j-log4j12-1.7.5.jar
Normal file
BIN
lib/Logs/slf4j-log4j12-1.7.5.jar
Normal file
Binary file not shown.
|
@ -12,9 +12,4 @@ Description of used libraries:
|
||||||
|
|
||||||
- other:
|
- other:
|
||||||
- commons-codec digest tools
|
- commons-codec digest tools
|
||||||
- commons-io
|
|
||||||
- commons-lang useful tools (StringUtils...)
|
- commons-lang useful tools (StringUtils...)
|
||||||
- devinsy-strings
|
|
||||||
- devinsy-xml
|
|
||||||
- hsqldb
|
|
||||||
- mysql-jdbc
|
|
BIN
lib/UnitTesting/junit-4.11-sources.jar
Normal file
BIN
lib/UnitTesting/junit-4.11-sources.jar
Normal file
Binary file not shown.
BIN
lib/UnitTesting/junit-4.11.jar
Normal file
BIN
lib/UnitTesting/junit-4.11.jar
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
lib/commons-codec-1.8-sources.jar
Normal file
BIN
lib/commons-codec-1.8-sources.jar
Normal file
Binary file not shown.
BIN
lib/commons-codec-1.8.jar
Normal file
BIN
lib/commons-codec-1.8.jar
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
lib/commons-io-2.4-sources.jar
Normal file
BIN
lib/commons-io-2.4-sources.jar
Normal file
Binary file not shown.
BIN
lib/commons-io-2.4.jar
Normal file
BIN
lib/commons-io-2.4.jar
Normal file
Binary file not shown.
BIN
lib/commons-lang3-3.1-sources.jar
Normal file
BIN
lib/commons-lang3-3.1-sources.jar
Normal file
Binary file not shown.
BIN
lib/commons-lang3-3.1.jar
Normal file
BIN
lib/commons-lang3-3.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.
BIN
lib/devinsy-utils-0.3.3-sources.zip
Normal file
BIN
lib/devinsy-utils-0.3.3-sources.zip
Normal file
Binary file not shown.
BIN
lib/devinsy-utils-0.3.3.jar
Normal file
BIN
lib/devinsy-utils-0.3.3.jar
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
lib/hsqldb-2.3.0.jar
Normal file
BIN
lib/hsqldb-2.3.0.jar
Normal file
Binary file not shown.
Binary file not shown.
BIN
lib/joda-time-2.3-sources.jar
Normal file
BIN
lib/joda-time-2.3-sources.jar
Normal file
Binary file not shown.
BIN
lib/joda-time-2.3.jar
Normal file
BIN
lib/joda-time-2.3.jar
Normal file
Binary file not shown.
Binary file not shown.
BIN
lib/mysql-jdbc-5.0.8.jar
Normal file
BIN
lib/mysql-jdbc-5.0.8.jar
Normal file
Binary file not shown.
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2013-2024 Christian Pierre MOMON <christian.momon@devinsy.fr>
|
* Copyright (C) 2013-2017 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.logging.log4j.core.config.Configurator;
|
import org.apache.log4j.BasicConfigurator;
|
||||||
import org.apache.logging.log4j.core.config.DefaultConfiguration;
|
import org.apache.log4j.PropertyConfigurator;
|
||||||
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())
|
||||||
{
|
{
|
||||||
Configurator.initialize(null, loggerConfig.getAbsolutePath());
|
PropertyConfigurator.configure(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
|
||||||
{
|
{
|
||||||
Configurator.initialize(new DefaultConfiguration());
|
BasicConfigurator.configure();
|
||||||
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());
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2013-2024 Christian Pierre MOMON <christian.momon@devinsy.fr>
|
* Copyright (C) 2013-2017 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,14 +22,14 @@ 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.logging.log4j.core.config.Configurator;
|
import org.apache.log4j.BasicConfigurator;
|
||||||
import org.apache.logging.log4j.core.config.DefaultConfiguration;
|
import org.apache.log4j.PropertyConfigurator;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
import fr.devinsy.sikevadb.core.SikevaDBException;
|
|
||||||
import fr.devinsy.strings.StringList;
|
|
||||||
import utils.BuildInformation;
|
import utils.BuildInformation;
|
||||||
|
import fr.devinsy.sikevadb.core.SikevaDBException;
|
||||||
|
import fr.devinsy.util.strings.StringList;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The Class <code>SikevaDBCLI</code> manages a Command Line Interface for
|
* The Class <code>SikevaDBCLI</code> manages a Command Line Interface for
|
||||||
|
@ -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())
|
||||||
{
|
{
|
||||||
Configurator.initialize(null, loggerConfig.getAbsolutePath());
|
PropertyConfigurator.configure(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
|
||||||
{
|
{
|
||||||
Configurator.initialize(new DefaultConfiguration());
|
BasicConfigurator.configure();
|
||||||
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());
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2013-2024 Christian Pierre MOMON <christian.momon@devinsy.fr>
|
* Copyright (C) 2013-2017 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,8 @@ package fr.devinsy.sikevadb.core;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The Interface Archiver.
|
* The Interface Archiver.
|
||||||
|
*
|
||||||
|
* @author Christian Pierre MOMON
|
||||||
*/
|
*/
|
||||||
public interface Archiver
|
public interface Archiver
|
||||||
{
|
{
|
||||||
|
@ -29,50 +31,17 @@ 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();
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,70 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright (C) 2018-2024 Christian Pierre MOMON <christian.momon@devinsy.fr>
|
|
||||||
*
|
|
||||||
* This file is part of SikevaDB, simple key value database.
|
|
||||||
*
|
|
||||||
* SikevaDB is free software: you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU Affero General Public License as
|
|
||||||
* published by the Free Software Foundation, either version 3 of the
|
|
||||||
* License, or (at your option) any later version.
|
|
||||||
*
|
|
||||||
* SikevaDB is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU Affero General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU Affero General Public License
|
|
||||||
* along with SikevaDB. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
*/
|
|
||||||
package fr.devinsy.sikevadb.core;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The Class ClosedDatabaseException.
|
|
||||||
*/
|
|
||||||
public class ClosedDatabaseException extends SikevaDBException
|
|
||||||
{
|
|
||||||
private static final long serialVersionUID = 8364599416669077052L;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Instantiates a new closed database exception.
|
|
||||||
*/
|
|
||||||
public ClosedDatabaseException()
|
|
||||||
{
|
|
||||||
super("Invalid database status for this operation: closed.");
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Instantiates a new closed database exception.
|
|
||||||
*
|
|
||||||
* @param message
|
|
||||||
* the message
|
|
||||||
*/
|
|
||||||
public ClosedDatabaseException(final String message)
|
|
||||||
{
|
|
||||||
super(message);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Instantiates a new closed database exception.
|
|
||||||
*
|
|
||||||
* @param message
|
|
||||||
* the message
|
|
||||||
* @param cause
|
|
||||||
* the cause
|
|
||||||
*/
|
|
||||||
public ClosedDatabaseException(final String message, final Throwable cause)
|
|
||||||
{
|
|
||||||
super(message, cause);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Instantiates a new closed database exception.
|
|
||||||
*
|
|
||||||
* @param cause
|
|
||||||
* the cause
|
|
||||||
*/
|
|
||||||
public ClosedDatabaseException(final Throwable cause)
|
|
||||||
{
|
|
||||||
super(cause);
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2013-2018 Christian Pierre MOMON <christian.momon@devinsy.fr>
|
* Copyright (C) 2013-2017 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.
|
||||||
*
|
*
|
||||||
|
@ -18,9 +18,8 @@
|
||||||
*/
|
*/
|
||||||
package fr.devinsy.sikevadb.core;
|
package fr.devinsy.sikevadb.core;
|
||||||
|
|
||||||
import java.time.LocalDateTime;
|
|
||||||
|
|
||||||
import org.apache.commons.codec.digest.DigestUtils;
|
import org.apache.commons.codec.digest.DigestUtils;
|
||||||
|
import org.joda.time.DateTime;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The Class Element.
|
* The Class Element.
|
||||||
|
@ -32,10 +31,10 @@ public class Element
|
||||||
public static final long NO_ID = -1;
|
public static final long NO_ID = -1;
|
||||||
|
|
||||||
private long id;
|
private long id;
|
||||||
private LocalDateTime creationDate;
|
private DateTime creationDate;
|
||||||
private LocalDateTime editionDate;
|
private DateTime editionDate;
|
||||||
/* archiveDate field is reserved for journalizer. */
|
/* archiveDate field is reserved for journalizer. */
|
||||||
private LocalDateTime archiveDate;
|
private DateTime archiveDate;
|
||||||
private String key;
|
private String key;
|
||||||
private String subkey;
|
private String subkey;
|
||||||
private long size;
|
private long size;
|
||||||
|
@ -73,7 +72,7 @@ public class Element
|
||||||
*/
|
*/
|
||||||
public void archive()
|
public void archive()
|
||||||
{
|
{
|
||||||
this.archiveDate = LocalDateTime.now();
|
this.archiveDate = DateTime.now();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -81,7 +80,7 @@ public class Element
|
||||||
*
|
*
|
||||||
* @return the archive date
|
* @return the archive date
|
||||||
*/
|
*/
|
||||||
public LocalDateTime getArchiveDate()
|
public DateTime getArchiveDate()
|
||||||
{
|
{
|
||||||
return this.archiveDate;
|
return this.archiveDate;
|
||||||
}
|
}
|
||||||
|
@ -91,7 +90,7 @@ public class Element
|
||||||
*
|
*
|
||||||
* @return the creation date
|
* @return the creation date
|
||||||
*/
|
*/
|
||||||
public LocalDateTime getCreationDate()
|
public DateTime getCreationDate()
|
||||||
{
|
{
|
||||||
return this.creationDate;
|
return this.creationDate;
|
||||||
}
|
}
|
||||||
|
@ -111,7 +110,7 @@ public class Element
|
||||||
*
|
*
|
||||||
* @return the edition date
|
* @return the edition date
|
||||||
*/
|
*/
|
||||||
public LocalDateTime getEditionDate()
|
public DateTime getEditionDate()
|
||||||
{
|
{
|
||||||
return this.editionDate;
|
return this.editionDate;
|
||||||
}
|
}
|
||||||
|
@ -172,7 +171,7 @@ public class Element
|
||||||
* @param date
|
* @param date
|
||||||
* the new archive date
|
* the new archive date
|
||||||
*/
|
*/
|
||||||
public void setArchiveDate(final LocalDateTime date)
|
public void setArchiveDate(final DateTime date)
|
||||||
{
|
{
|
||||||
this.archiveDate = date;
|
this.archiveDate = date;
|
||||||
}
|
}
|
||||||
|
@ -183,7 +182,7 @@ public class Element
|
||||||
* @param date
|
* @param date
|
||||||
* the new creation date
|
* the new creation date
|
||||||
*/
|
*/
|
||||||
public void setCreationDate(final LocalDateTime date)
|
public void setCreationDate(final DateTime date)
|
||||||
{
|
{
|
||||||
this.creationDate = date;
|
this.creationDate = date;
|
||||||
}
|
}
|
||||||
|
@ -205,7 +204,7 @@ public class Element
|
||||||
* @param date
|
* @param date
|
||||||
* the new edition date
|
* the new edition date
|
||||||
*/
|
*/
|
||||||
public void setEditionDate(final LocalDateTime date)
|
public void setEditionDate(final DateTime date)
|
||||||
{
|
{
|
||||||
this.editionDate = date;
|
this.editionDate = date;
|
||||||
}
|
}
|
||||||
|
@ -277,7 +276,7 @@ public class Element
|
||||||
setValue(value);
|
setValue(value);
|
||||||
|
|
||||||
//
|
//
|
||||||
this.editionDate = LocalDateTime.now();
|
this.editionDate = DateTime.now();
|
||||||
|
|
||||||
//
|
//
|
||||||
if (value == null)
|
if (value == null)
|
||||||
|
|
|
@ -1,70 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright (C) 2018-2024 Christian Pierre MOMON <christian.momon@devinsy.fr>
|
|
||||||
*
|
|
||||||
* This file is part of SikevaDB, simple key value database.
|
|
||||||
*
|
|
||||||
* SikevaDB is free software: you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU Affero General Public License as
|
|
||||||
* published by the Free Software Foundation, either version 3 of the
|
|
||||||
* License, or (at your option) any later version.
|
|
||||||
*
|
|
||||||
* SikevaDB is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU Affero General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU Affero General Public License
|
|
||||||
* along with SikevaDB. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
*/
|
|
||||||
package fr.devinsy.sikevadb.core;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The Class OpenedDatabaseException.
|
|
||||||
*/
|
|
||||||
public class OpenedDatabaseException extends SikevaDBException
|
|
||||||
{
|
|
||||||
private static final long serialVersionUID = 8364599416669077052L;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Instantiates a new opened database exception.
|
|
||||||
*/
|
|
||||||
public OpenedDatabaseException()
|
|
||||||
{
|
|
||||||
super("Invalid database status for this operation: opened.");
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Instantiates a new opened database exception.
|
|
||||||
*
|
|
||||||
* @param message
|
|
||||||
* the message
|
|
||||||
*/
|
|
||||||
public OpenedDatabaseException(final String message)
|
|
||||||
{
|
|
||||||
super(message);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Instantiates a new opened database exception.
|
|
||||||
*
|
|
||||||
* @param message
|
|
||||||
* the message
|
|
||||||
* @param cause
|
|
||||||
* the cause
|
|
||||||
*/
|
|
||||||
public OpenedDatabaseException(final String message, final Throwable cause)
|
|
||||||
{
|
|
||||||
super(message, cause);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Instantiates a new opened database exception.
|
|
||||||
*
|
|
||||||
* @param cause
|
|
||||||
* the cause
|
|
||||||
*/
|
|
||||||
public OpenedDatabaseException(final Throwable cause)
|
|
||||||
{
|
|
||||||
super(cause);
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2013-2024 Christian Pierre MOMON <christian.momon@devinsy.fr>
|
* Copyright (C) 2013-2017 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.
|
||||||
*
|
*
|
||||||
|
@ -18,7 +18,7 @@
|
||||||
*/
|
*/
|
||||||
package fr.devinsy.sikevadb.core;
|
package fr.devinsy.sikevadb.core;
|
||||||
|
|
||||||
import fr.devinsy.strings.StringList;
|
import fr.devinsy.util.strings.StringList;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The Interface SikevaDB.
|
* The Interface SikevaDB.
|
||||||
|
@ -27,466 +27,89 @@ import fr.devinsy.strings.StringList;
|
||||||
*/
|
*/
|
||||||
public interface SikevaDB
|
public interface SikevaDB
|
||||||
{
|
{
|
||||||
/**
|
|
||||||
* Archiver.
|
|
||||||
*
|
|
||||||
* @return the archiver
|
|
||||||
* @throws SikevaDBException
|
|
||||||
* the sikeva DB exception
|
|
||||||
*/
|
|
||||||
public Archiver archiver() throws SikevaDBException;
|
public Archiver archiver() throws SikevaDBException;
|
||||||
|
|
||||||
/**
|
|
||||||
* Delete all elements of current opened database.
|
|
||||||
*
|
|
||||||
* @throws SikevaDBException
|
|
||||||
* the SikevaDB exception
|
|
||||||
*/
|
|
||||||
public void clear() throws SikevaDBException;
|
public void clear() throws SikevaDBException;
|
||||||
|
|
||||||
/**
|
|
||||||
* Close the current database session.
|
|
||||||
*
|
|
||||||
* @throws SikevaDBException
|
|
||||||
* the SikevaDB exception
|
|
||||||
*/
|
|
||||||
public void close() throws SikevaDBException;
|
public void close() throws SikevaDBException;
|
||||||
|
|
||||||
/**
|
|
||||||
* Count of elements in current database.
|
|
||||||
*
|
|
||||||
* @return the long
|
|
||||||
* @throws SikevaDBException
|
|
||||||
* the SikevaDB exception
|
|
||||||
*/
|
|
||||||
public long countOfElements() throws SikevaDBException;
|
public long countOfElements() throws SikevaDBException;
|
||||||
|
|
||||||
/**
|
|
||||||
* Count of elements by key.
|
|
||||||
*
|
|
||||||
* @param key
|
|
||||||
* the key
|
|
||||||
* @return the long
|
|
||||||
* @throws SikevaDBException
|
|
||||||
* the SikevaDB exception
|
|
||||||
*/
|
|
||||||
public long countOfElements(String key) throws SikevaDBException;
|
public long countOfElements(String key) throws SikevaDBException;
|
||||||
|
|
||||||
/**
|
|
||||||
* Count of elements by key and sub key.
|
|
||||||
*
|
|
||||||
* @param key
|
|
||||||
* the key
|
|
||||||
* @param subkey
|
|
||||||
* the sub key
|
|
||||||
* @return the long
|
|
||||||
* @throws SikevaDBException
|
|
||||||
* the SikevaDB exception
|
|
||||||
*/
|
|
||||||
public long countOfElements(String key, long subkey) throws SikevaDBException;
|
public long countOfElements(String key, long subkey) throws SikevaDBException;
|
||||||
|
|
||||||
/**
|
|
||||||
* Count of elements by key and sub key.
|
|
||||||
*
|
|
||||||
* @param key
|
|
||||||
* the key
|
|
||||||
* @param subkey
|
|
||||||
* the subkey
|
|
||||||
* @return the long
|
|
||||||
* @throws SikevaDBException
|
|
||||||
* the SikevaDB exception
|
|
||||||
*/
|
|
||||||
public long countOfElements(String key, String subkey) throws SikevaDBException;
|
public long countOfElements(String key, String subkey) throws SikevaDBException;
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates the database.
|
|
||||||
*
|
|
||||||
* @throws SikevaDBException
|
|
||||||
* the SikevaDB exception
|
|
||||||
*/
|
|
||||||
public void create() throws SikevaDBException;
|
public void create() throws SikevaDBException;
|
||||||
|
|
||||||
/**
|
|
||||||
* Delete an database element with its key.
|
|
||||||
*
|
|
||||||
* @param key
|
|
||||||
* the key
|
|
||||||
* @throws SikevaDBException
|
|
||||||
* the SikevaDB exception
|
|
||||||
*/
|
|
||||||
void delete(final String key) throws SikevaDBException;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Delete an database element with its key and subkey.
|
|
||||||
*
|
|
||||||
* @param key
|
|
||||||
* the key
|
|
||||||
* @param subkey
|
|
||||||
* the sub key
|
|
||||||
* @throws SikevaDBException
|
|
||||||
* the SikevaDB exception
|
|
||||||
*/
|
|
||||||
void delete(final String key, final long subkey) throws SikevaDBException;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Delete an database element with its key and subkey.
|
|
||||||
*
|
|
||||||
* @param key
|
|
||||||
* the key
|
|
||||||
* @param subkey
|
|
||||||
* the sub key
|
|
||||||
* @throws SikevaDBException
|
|
||||||
* the SikevaDB exception
|
|
||||||
*/
|
|
||||||
void delete(final String key, final String subkey) throws SikevaDBException;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Delete many database elements from key and sub keys.
|
|
||||||
*
|
|
||||||
* @param key
|
|
||||||
* the key
|
|
||||||
* @param subkeys
|
|
||||||
* the subkeys
|
|
||||||
* @throws SikevaDBException
|
|
||||||
* the SikevaDB exception
|
|
||||||
*/
|
|
||||||
void deleteMany(final String key, final String... subkeys) throws SikevaDBException;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Destroy.
|
|
||||||
*
|
|
||||||
* @throws SikevaDBException
|
|
||||||
* the sikeva DB exception
|
|
||||||
*/
|
|
||||||
public void destroy() throws SikevaDBException;
|
public void destroy() throws SikevaDBException;
|
||||||
|
|
||||||
/**
|
|
||||||
* Checks if is created.
|
|
||||||
*
|
|
||||||
* @return true, if is created
|
|
||||||
* @throws SikevaDBException
|
|
||||||
* the SikevaDB exception
|
|
||||||
*/
|
|
||||||
public boolean exists() throws SikevaDBException;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets an element by key.
|
|
||||||
*
|
|
||||||
* @param key
|
|
||||||
* the key
|
|
||||||
* @return the element
|
|
||||||
* @throws SikevaDBException
|
|
||||||
* the SikevaDB exception
|
|
||||||
*/
|
|
||||||
public Element getElement(String key) throws SikevaDBException;
|
public Element getElement(String key) throws SikevaDBException;
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets an element by key and sub key.
|
|
||||||
*
|
|
||||||
* @param key
|
|
||||||
* the key
|
|
||||||
* @param subkey
|
|
||||||
* the sub key
|
|
||||||
* @return the element
|
|
||||||
* @throws SikevaDBException
|
|
||||||
* the SikevaDB exception
|
|
||||||
*/
|
|
||||||
public Element getElement(String key, long subkey) throws SikevaDBException;
|
public Element getElement(String key, long subkey) throws SikevaDBException;
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets an element by key and sub key.
|
|
||||||
*
|
|
||||||
* @param key
|
|
||||||
* the key
|
|
||||||
* @param subkey
|
|
||||||
* the sub key
|
|
||||||
* @return the element
|
|
||||||
* @throws SikevaDBException
|
|
||||||
* the SikevaDB exception
|
|
||||||
*/
|
|
||||||
public Element getElement(String key, String subkey) throws SikevaDBException;
|
public Element getElement(String key, String subkey) throws SikevaDBException;
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets all elements in current database.
|
|
||||||
*
|
|
||||||
* @return the elements
|
|
||||||
* @throws SikevaDBException
|
|
||||||
* the SikevaDB exception
|
|
||||||
*/
|
|
||||||
public Elements getElements() throws SikevaDBException;
|
public Elements getElements() throws SikevaDBException;
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets all elements of a top key.
|
|
||||||
*
|
|
||||||
* @param key
|
|
||||||
* the key
|
|
||||||
* @return the elements
|
|
||||||
* @throws SikevaDBException
|
|
||||||
* the SikevaDB exception
|
|
||||||
*/
|
|
||||||
public Elements getElements(String key) throws SikevaDBException;
|
public Elements getElements(String key) throws SikevaDBException;
|
||||||
|
|
||||||
/**
|
public fr.devinsy.util.strings.StringList getKeys() throws SikevaDBException;
|
||||||
* Gets all the sub keys of a key.
|
|
||||||
*
|
|
||||||
* @param key
|
|
||||||
* the key
|
|
||||||
* @return the subkeys
|
|
||||||
* @throws SikevaDBException
|
|
||||||
* the SikevaDB exception
|
|
||||||
*/
|
|
||||||
public StringList getSubkeys(String key) throws SikevaDBException;
|
public StringList getSubkeys(String key) throws SikevaDBException;
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets all the top keys.
|
|
||||||
*
|
|
||||||
* @return the keys
|
|
||||||
* @throws SikevaDBException
|
|
||||||
* the SikevaDB exception
|
|
||||||
*/
|
|
||||||
public StringList getTopKeys() throws SikevaDBException;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets the value of a key.
|
|
||||||
*
|
|
||||||
* @param key
|
|
||||||
* the key
|
|
||||||
* @return the value
|
|
||||||
* @throws SikevaDBException
|
|
||||||
* the SikevaDB exception
|
|
||||||
*/
|
|
||||||
public String getValue(String key) throws SikevaDBException;
|
public String getValue(String key) throws SikevaDBException;
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets the value of a key and a sub key.
|
|
||||||
*
|
|
||||||
* @param key
|
|
||||||
* the key
|
|
||||||
* @param subkey
|
|
||||||
* the sub key
|
|
||||||
* @return the value
|
|
||||||
* @throws SikevaDBException
|
|
||||||
* the SikevaDB exception
|
|
||||||
*/
|
|
||||||
public String getValue(String key, long subkey) throws SikevaDBException;
|
public String getValue(String key, long subkey) throws SikevaDBException;
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets the value of a key and a sub key.
|
|
||||||
*
|
|
||||||
* @param key
|
|
||||||
* the key
|
|
||||||
* @param subkey
|
|
||||||
* the sub key
|
|
||||||
* @return the value
|
|
||||||
* @throws SikevaDBException
|
|
||||||
* the SikevaDB exception
|
|
||||||
*/
|
|
||||||
public String getValue(String key, String subkey) throws SikevaDBException;
|
public String getValue(String key, String subkey) throws SikevaDBException;
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets the values.
|
|
||||||
*
|
|
||||||
* @param key
|
|
||||||
* the key
|
|
||||||
* @return the values
|
|
||||||
* @throws SikevaDBException
|
|
||||||
* 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();
|
||||||
|
|
||||||
/**
|
|
||||||
* Checks if is closed.
|
|
||||||
*
|
|
||||||
* @return true, if is closed
|
|
||||||
*/
|
|
||||||
public boolean isClosed();
|
public boolean isClosed();
|
||||||
|
|
||||||
/**
|
public boolean isCreated() throws SikevaDBException;
|
||||||
* Checks if is opened.
|
|
||||||
*
|
|
||||||
* @return true, if is opened
|
|
||||||
*/
|
|
||||||
public boolean isOpened();
|
public boolean isOpened();
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the memory size of the elements in database.
|
|
||||||
*
|
|
||||||
* @return the long
|
|
||||||
* @throws SikevaDBException
|
|
||||||
* the SikevaDB exception
|
|
||||||
*/
|
|
||||||
public long memorySize() throws SikevaDBException;
|
public long memorySize() throws SikevaDBException;
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the memory size of elements of a key.
|
|
||||||
*
|
|
||||||
* @param key
|
|
||||||
* the key
|
|
||||||
* @return the long
|
|
||||||
* @throws SikevaDBException
|
|
||||||
* the SikevaDB exception
|
|
||||||
*/
|
|
||||||
public long memorySize(String key) throws SikevaDBException;
|
public long memorySize(String key) throws SikevaDBException;
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the memory size of element of a key and a sub key.
|
|
||||||
*
|
|
||||||
* @param key
|
|
||||||
* the key
|
|
||||||
* @param subkey
|
|
||||||
* the sub key
|
|
||||||
* @return the long
|
|
||||||
* @throws SikevaDBException
|
|
||||||
* the SikevaDB exception
|
|
||||||
*/
|
|
||||||
public long memorySize(String key, long subkey) throws SikevaDBException;
|
public long memorySize(String key, long subkey) throws SikevaDBException;
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the memory size of element of a key and a sub key.
|
|
||||||
*
|
|
||||||
* @param key
|
|
||||||
* the key
|
|
||||||
* @param subkey
|
|
||||||
* the sub key
|
|
||||||
* @return the long
|
|
||||||
* @throws SikevaDBException
|
|
||||||
* the SikevaDB exception
|
|
||||||
*/
|
|
||||||
public long memorySize(String key, String subkey) throws SikevaDBException;
|
public long memorySize(String key, String subkey) throws SikevaDBException;
|
||||||
|
|
||||||
/**
|
|
||||||
* Open a database.
|
|
||||||
*
|
|
||||||
* @throws SikevaDBException
|
|
||||||
* the SikevaDB exception
|
|
||||||
*/
|
|
||||||
void open() throws SikevaDBException;
|
void open() throws SikevaDBException;
|
||||||
|
|
||||||
/**
|
|
||||||
* Put an element in database.
|
|
||||||
*
|
|
||||||
* @param element
|
|
||||||
* the element
|
|
||||||
* @throws SikevaDBException
|
|
||||||
* the SikevaDB exception
|
|
||||||
*/
|
|
||||||
void put(Element element) throws SikevaDBException;
|
void put(Element element) throws SikevaDBException;
|
||||||
|
|
||||||
/**
|
|
||||||
* Put a value for a key and a sub key in current opened database.
|
|
||||||
*
|
|
||||||
* @param key
|
|
||||||
* the key
|
|
||||||
* @param subkey
|
|
||||||
* the sub key
|
|
||||||
* @param value
|
|
||||||
* the value
|
|
||||||
* @throws SikevaDBException
|
|
||||||
* the SikevaDB exception
|
|
||||||
*/
|
|
||||||
void put(String key, long subkey, String value) throws SikevaDBException;
|
void put(String key, long subkey, String value) throws SikevaDBException;
|
||||||
|
|
||||||
/**
|
|
||||||
* Put a value for a key in current opened database.
|
|
||||||
*
|
|
||||||
* @param key
|
|
||||||
* the key
|
|
||||||
* @param value
|
|
||||||
* the value
|
|
||||||
* @throws SikevaDBException
|
|
||||||
* the SikevaDB exception
|
|
||||||
*/
|
|
||||||
void put(String key, String value) throws SikevaDBException;
|
void put(String key, String value) throws SikevaDBException;
|
||||||
|
|
||||||
/**
|
|
||||||
* Put a value for a key and a sub key in current opened database.
|
|
||||||
*
|
|
||||||
* @param key
|
|
||||||
* the key
|
|
||||||
* @param subkey
|
|
||||||
* the sub key
|
|
||||||
* @param value
|
|
||||||
* the value
|
|
||||||
* @throws SikevaDBException
|
|
||||||
* the SikevaDB exception
|
|
||||||
*/
|
|
||||||
void put(String key, String subkey, String value) throws SikevaDBException;
|
void put(String key, String subkey, String value) throws SikevaDBException;
|
||||||
|
|
||||||
/**
|
void remove(final String key) throws SikevaDBException;
|
||||||
* Rename a key.
|
|
||||||
*
|
void remove(final String key, final long subkey) throws SikevaDBException;
|
||||||
* @param oldKey
|
|
||||||
* the old key
|
void remove(final String key, final String subkey) throws SikevaDBException;
|
||||||
* @param newKey
|
|
||||||
* the new key
|
void removeMany(final String key, final String... subkeys) throws SikevaDBException;
|
||||||
* @throws SikevaDBException
|
|
||||||
* the SikevaDB exception
|
|
||||||
*/
|
|
||||||
void renameKey(final String oldKey, final String newKey) throws SikevaDBException;
|
void renameKey(final String oldKey, final String newKey) throws SikevaDBException;
|
||||||
|
|
||||||
/**
|
|
||||||
* Rename a sub key.
|
|
||||||
*
|
|
||||||
* @param key
|
|
||||||
* the key
|
|
||||||
* @param oldSubKey
|
|
||||||
* the old sub key
|
|
||||||
* @param newSubKey
|
|
||||||
* the new sub key
|
|
||||||
* @throws SikevaDBException
|
|
||||||
* the SikevaDB exception
|
|
||||||
*/
|
|
||||||
void renameSubkey(final String key, final long oldSubKey, final long newSubKey) throws SikevaDBException;
|
void renameSubkey(final String key, final long oldSubKey, final long newSubKey) throws SikevaDBException;
|
||||||
|
|
||||||
/**
|
|
||||||
* Rename a sub key.
|
|
||||||
*
|
|
||||||
* @param key
|
|
||||||
* the key
|
|
||||||
* @param oldSubKey
|
|
||||||
* the old sub key
|
|
||||||
* @param newSubKey
|
|
||||||
* the new sub key
|
|
||||||
* @throws SikevaDBException
|
|
||||||
* the SikevaDB exception
|
|
||||||
*/
|
|
||||||
void renameSubkey(final String key, final String oldSubKey, final String newSubKey) throws SikevaDBException;
|
void renameSubkey(final String key, final String oldSubKey, final String newSubKey) throws SikevaDBException;
|
||||||
|
|
||||||
/**
|
|
||||||
* Replace a substring in a value of a key.
|
|
||||||
*
|
|
||||||
* @param key
|
|
||||||
* the key
|
|
||||||
* @param tokens
|
|
||||||
* the tokens
|
|
||||||
* @throws SikevaDBException
|
|
||||||
* the SikevaDB exception
|
|
||||||
*/
|
|
||||||
void replaceInValue(final String key, final String... tokens) throws SikevaDBException;
|
void replaceInValue(final String key, final String... tokens) throws SikevaDBException;
|
||||||
|
|
||||||
/**
|
|
||||||
* Replace a substring in values of all sub keys of a key.
|
|
||||||
*
|
|
||||||
* @param key
|
|
||||||
* the key
|
|
||||||
* @param tokens
|
|
||||||
* the tokens
|
|
||||||
* @throws SikevaDBException
|
|
||||||
* the SikevaDB exception
|
|
||||||
*/
|
|
||||||
void replaceInValues(final String key, final String... tokens) throws SikevaDBException;
|
void replaceInValues(final String key, final String... tokens) throws SikevaDBException;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2013-2024 Christian Pierre MOMON <christian.momon@devinsy.fr>
|
* Copyright (C) 2013-2017 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,90 +19,73 @@
|
||||||
package fr.devinsy.sikevadb.core;
|
package fr.devinsy.sikevadb.core;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.FileNotFoundException;
|
|
||||||
import java.io.FileOutputStream;
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.io.OutputStream;
|
import java.io.OutputStream;
|
||||||
import java.time.LocalDateTime;
|
|
||||||
import java.time.format.DateTimeFormatter;
|
|
||||||
|
|
||||||
import javax.xml.stream.XMLStreamException;
|
import javax.xml.stream.XMLStreamException;
|
||||||
|
|
||||||
import org.apache.commons.lang3.StringEscapeUtils;
|
import org.apache.commons.lang3.StringEscapeUtils;
|
||||||
|
import org.joda.time.DateTime;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
import fr.devinsy.xml.XMLBadFormatException;
|
import fr.devinsy.util.xml.XMLBadFormatException;
|
||||||
import fr.devinsy.xml.XMLReader;
|
import fr.devinsy.util.xml.XMLReader;
|
||||||
import fr.devinsy.xml.XMLTag;
|
import fr.devinsy.util.xml.XMLTag;
|
||||||
import fr.devinsy.xml.XMLTag.TagType;
|
import fr.devinsy.util.xml.XMLTag.TagType;
|
||||||
import fr.devinsy.xml.XMLWriter;
|
import fr.devinsy.util.xml.XMLWriter;
|
||||||
import fr.devinsy.xml.XMLZipWriter;
|
import fr.devinsy.util.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.
|
* Saves a net in a file.
|
||||||
*
|
*
|
||||||
* @param out
|
* @param out
|
||||||
* the out
|
* the out
|
||||||
* @param source
|
* @param source
|
||||||
* the source
|
* Source.
|
||||||
* @throws SikevaDBException
|
|
||||||
* the sikeva DB exception
|
|
||||||
* @throws FileNotFoundException
|
|
||||||
* the file not found exception
|
|
||||||
*/
|
|
||||||
public static void export(final File out, final SikevaDB source) throws SikevaDBException, FileNotFoundException
|
|
||||||
{
|
|
||||||
export(new FileOutputStream(out), source, out.getName());
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Export.
|
|
||||||
*
|
*
|
||||||
* @param out
|
* @throws Exception
|
||||||
* the out
|
* the exception
|
||||||
* @param source
|
|
||||||
* the source
|
|
||||||
* @throws SikevaDBException
|
|
||||||
* the SikevaDB exception
|
|
||||||
*/
|
*/
|
||||||
public static void export(final OutputStream out, final SikevaDB source) throws SikevaDBException
|
public static void export(final OutputStream out, final SikevaDB source) throws Exception
|
||||||
{
|
{
|
||||||
//
|
//
|
||||||
String fileName = "sikevadb-" + LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd-HH'h'mm'mn'ss's'")) + ".xml.zip";
|
String fileName = "sikevadb-" + DateTime.now().toString("yyyy-MM-dd-HH'h'mm'mn'ss's'") + ".xml.zip";
|
||||||
|
|
||||||
//
|
//
|
||||||
export(out, source, fileName);
|
export(out, source, fileName);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Export.
|
* Saves a net in a file.
|
||||||
*
|
*
|
||||||
* @param out
|
* @param out
|
||||||
* the out
|
* the out
|
||||||
* @param source
|
* @param source
|
||||||
* the source
|
* Source.
|
||||||
* @param fileName
|
* @param fileName
|
||||||
* the file name
|
* the file name
|
||||||
* @throws SikevaDBException
|
*
|
||||||
* the SikevaDB exception
|
* @throws Exception
|
||||||
|
* the exception
|
||||||
*/
|
*/
|
||||||
public static void export(final OutputStream out, final SikevaDB source, final String fileName) throws SikevaDBException
|
public static void export(final OutputStream out, final SikevaDB source, final String fileName) throws Exception
|
||||||
{
|
{
|
||||||
if (out == null)
|
if (out == null)
|
||||||
{
|
{
|
||||||
throw new IllegalArgumentException("out is null.");
|
throw new NullPointerException("out is null.");
|
||||||
}
|
}
|
||||||
else if (source == null)
|
else if (source == null)
|
||||||
{
|
{
|
||||||
throw new IllegalArgumentException("source is null.");
|
throw new NullPointerException("source is null.");
|
||||||
}
|
}
|
||||||
else if (fileName == null)
|
else if (fileName == null)
|
||||||
{
|
{
|
||||||
|
@ -122,23 +105,12 @@ public class XMLSikevaDB
|
||||||
//
|
//
|
||||||
write(target, source);
|
write(target, source);
|
||||||
}
|
}
|
||||||
catch (IOException exception)
|
|
||||||
{
|
|
||||||
throw new SikevaDBException("Problem writing element.", exception);
|
|
||||||
}
|
|
||||||
finally
|
finally
|
||||||
{
|
{
|
||||||
if (target != null)
|
if (target != null)
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
{
|
||||||
target.close();
|
target.close();
|
||||||
}
|
}
|
||||||
catch (IOException exception)
|
|
||||||
{
|
|
||||||
logger.warn("Problem closing stream.", exception);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -150,11 +122,12 @@ public class XMLSikevaDB
|
||||||
* 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) throws Exception
|
||||||
{
|
{
|
||||||
// TODO
|
|
||||||
|
|
||||||
// XMLReader in = null;
|
// XMLReader in = null;
|
||||||
// try {
|
// try {
|
||||||
// in = new XMLZipReader(file);
|
// in = new XMLZipReader(file);
|
||||||
|
@ -172,15 +145,16 @@ public class XMLSikevaDB
|
||||||
* @param in
|
* @param in
|
||||||
* the in
|
* the in
|
||||||
* @return the element
|
* @return the element
|
||||||
* @throws SikevaDBException
|
*
|
||||||
* the sikeva DB exception
|
* @throws XMLStreamException
|
||||||
|
* the XML stream exception
|
||||||
|
* @throws XMLBadFormatException
|
||||||
|
* the XML bad format exception
|
||||||
*/
|
*/
|
||||||
public static Element readElement(final XMLReader in) throws SikevaDBException
|
public static Element readElement(final XMLReader in) throws XMLStreamException, XMLBadFormatException
|
||||||
{
|
{
|
||||||
Element result;
|
Element result;
|
||||||
|
|
||||||
try
|
|
||||||
{
|
|
||||||
//
|
//
|
||||||
XMLTag tag = in.readStartTag("element");
|
XMLTag tag = in.readStartTag("element");
|
||||||
|
|
||||||
|
@ -193,10 +167,10 @@ public class XMLSikevaDB
|
||||||
String value = StringEscapeUtils.unescapeXml(in.readContentTag("value").getContent());
|
String value = StringEscapeUtils.unescapeXml(in.readContentTag("value").getContent());
|
||||||
int size = Integer.parseInt(tag.attributes().getByLabel("size").getValue());
|
int size = Integer.parseInt(tag.attributes().getByLabel("size").getValue());
|
||||||
String digest = in.readContentTag("digest").getContent();
|
String digest = in.readContentTag("digest").getContent();
|
||||||
LocalDateTime creationDate = LocalDateTime.parse(in.readContentTag("creation_date").getContent());
|
DateTime creationDate = DateTime.parse(in.readContentTag("creation_date").getContent());
|
||||||
LocalDateTime editionDate = LocalDateTime.parse(in.readContentTag("edition_date").getContent());
|
DateTime editionDate = DateTime.parse(in.readContentTag("edition_date").getContent());
|
||||||
|
|
||||||
LocalDateTime archiveDate;
|
DateTime archiveDate;
|
||||||
String archiveDateValue = in.readNullableContentTag("archive_date").getContent();
|
String archiveDateValue = in.readNullableContentTag("archive_date").getContent();
|
||||||
if (archiveDateValue == null)
|
if (archiveDateValue == null)
|
||||||
{
|
{
|
||||||
|
@ -204,7 +178,7 @@ public class XMLSikevaDB
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
archiveDate = LocalDateTime.parse(archiveDateValue);
|
archiveDate = DateTime.parse(archiveDateValue);
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
|
@ -223,15 +197,6 @@ public class XMLSikevaDB
|
||||||
|
|
||||||
//
|
//
|
||||||
in.readEndTag("element");
|
in.readEndTag("element");
|
||||||
}
|
|
||||||
catch (XMLStreamException exception)
|
|
||||||
{
|
|
||||||
throw new SikevaDBException("Problem reading element.", exception);
|
|
||||||
}
|
|
||||||
catch (XMLBadFormatException exception)
|
|
||||||
{
|
|
||||||
throw new SikevaDBException("Problem reading element.", exception);
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
//
|
||||||
return result;
|
return result;
|
||||||
|
@ -244,22 +209,25 @@ public class XMLSikevaDB
|
||||||
* the target
|
* the target
|
||||||
* @param in
|
* @param in
|
||||||
* the in
|
* the in
|
||||||
* @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 Exception
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
{
|
||||||
|
//
|
||||||
XMLTag list = in.readListTag("elements");
|
XMLTag list = in.readListTag("elements");
|
||||||
|
|
||||||
//
|
//
|
||||||
if (list.getType() != TagType.EMPTY)
|
if (list.getType() != TagType.EMPTY)
|
||||||
{
|
{
|
||||||
//
|
|
||||||
while (in.hasNextStartTag("element"))
|
while (in.hasNextStartTag("element"))
|
||||||
{
|
{
|
||||||
|
|
||||||
|
//
|
||||||
Element element = readElement(in);
|
Element element = readElement(in);
|
||||||
|
|
||||||
|
//
|
||||||
target.put(element);
|
target.put(element);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -267,15 +235,6 @@ public class XMLSikevaDB
|
||||||
in.readEndTag("elements");
|
in.readEndTag("elements");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (XMLStreamException exception)
|
|
||||||
{
|
|
||||||
throw new SikevaDBException("Problem reading element.", exception);
|
|
||||||
}
|
|
||||||
catch (XMLBadFormatException exception)
|
|
||||||
{
|
|
||||||
throw new SikevaDBException("Problem reading element.", exception);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Write.
|
* Write.
|
||||||
|
@ -290,11 +249,11 @@ public class XMLSikevaDB
|
||||||
|
|
||||||
if (out == null)
|
if (out == null)
|
||||||
{
|
{
|
||||||
throw new IllegalArgumentException("Parameter out is null.");
|
throw new NullPointerException("out is null.");
|
||||||
}
|
}
|
||||||
else if (source == null)
|
else if (source == null)
|
||||||
{
|
{
|
||||||
throw new IllegalArgumentException("Parameter element is null.");
|
throw new NullPointerException("element is null.");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -334,21 +293,21 @@ public class XMLSikevaDB
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Write in an XML writer the elements of a database, sorting by keys and
|
* Write.
|
||||||
* sub keys.
|
|
||||||
*
|
*
|
||||||
* @param out
|
* @param out
|
||||||
* the out
|
* the out
|
||||||
* @param source
|
* @param source
|
||||||
* the source
|
* the source
|
||||||
* @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 Exception
|
||||||
{
|
{
|
||||||
if (out == null)
|
if (out == null)
|
||||||
{
|
{
|
||||||
throw new IllegalArgumentException("out is null.");
|
throw new NullPointerException("out is null.");
|
||||||
}
|
}
|
||||||
else if (source == null)
|
else if (source == null)
|
||||||
{
|
{
|
||||||
|
@ -358,19 +317,19 @@ public class XMLSikevaDB
|
||||||
{
|
{
|
||||||
out.writeStartTag("elements");
|
out.writeStartTag("elements");
|
||||||
|
|
||||||
for (String topkey : source.getTopKeys().sort())
|
for (String key : source.getKeys())
|
||||||
{
|
{
|
||||||
//
|
//
|
||||||
Element topElement = source.getElement(topkey);
|
Elements elements = source.getElements(key);
|
||||||
if (topElement != null)
|
for (Element element : elements)
|
||||||
{
|
{
|
||||||
write(out, topElement);
|
write(out, element);
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
for (String subkey : source.getSubkeys(topkey).sort())
|
for (String subkey : source.getSubkeys(key))
|
||||||
{
|
{
|
||||||
Element subElement = source.getElement(topkey, subkey);
|
Element subElement = source.getElement(key, subkey);
|
||||||
write(out, subElement);
|
write(out, subElement);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2013-2024 Christian Pierre MOMON <christian.momon@devinsy.fr>
|
* Copyright (C) 2013-2017 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,16 +22,16 @@ 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.logging.log4j.core.config.Configurator;
|
import org.apache.log4j.BasicConfigurator;
|
||||||
import org.apache.logging.log4j.core.config.DefaultConfiguration;
|
import org.apache.log4j.PropertyConfigurator;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
|
import utils.BuildInformation;
|
||||||
import fr.devinsy.sikevadb.core.SikevaDB;
|
import fr.devinsy.sikevadb.core.SikevaDB;
|
||||||
import fr.devinsy.sikevadb.core.SikevaDBException;
|
import fr.devinsy.sikevadb.core.SikevaDBException;
|
||||||
import fr.devinsy.sikevadb.core.SikevaDBFactory;
|
import fr.devinsy.sikevadb.core.SikevaDBFactory;
|
||||||
import fr.devinsy.strings.StringList;
|
import fr.devinsy.util.strings.StringList;
|
||||||
import utils.BuildInformation;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The Class SikevaDBDemo is a demo for SikevaDB.
|
* The Class SikevaDBDemo is a demo for SikevaDB.
|
||||||
|
@ -62,7 +62,7 @@ public final class SikevaDBDemo
|
||||||
File homeDirectory = new File("/tmp/footest");
|
File homeDirectory = new File("/tmp/footest");
|
||||||
database = SikevaDBFactory.get(homeDirectory);
|
database = SikevaDBFactory.get(homeDirectory);
|
||||||
|
|
||||||
if (database.exists())
|
if (database.isCreated())
|
||||||
{
|
{
|
||||||
database.destroy();
|
database.destroy();
|
||||||
}
|
}
|
||||||
|
@ -87,14 +87,14 @@ public final class SikevaDBDemo
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
database.delete("alpha");
|
database.remove("alpha");
|
||||||
if (database.getValue("alpha") == null)
|
if (database.getValue("alpha") == null)
|
||||||
{
|
{
|
||||||
System.out.println("alpha is correctly deleted.");
|
System.out.println("alpha is correctly removed.");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
System.out.println("alpha is NOT correctly deleted.");
|
System.out.println("alpha is NOT correctly removed.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -116,14 +116,14 @@ public final class SikevaDBDemo
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
database.delete("victor", 5);
|
database.remove("victor", 5);
|
||||||
if (database.getValue("victor", 5) == null)
|
if (database.getValue("victor", 5) == null)
|
||||||
{
|
{
|
||||||
System.out.println("(victor, 5) is correctly deleted.");
|
System.out.println("(victor, 5) is correctly removed.");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
System.out.println("(victor, 5) is NOT correctly deleted.");
|
System.out.println("(victor, 5) is NOT correctly removed.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -136,7 +136,7 @@ public final class SikevaDBDemo
|
||||||
}
|
}
|
||||||
finally
|
finally
|
||||||
{
|
{
|
||||||
if ((database != null) && (database.exists()))
|
if ((database != null) && (database.isCreated()))
|
||||||
{
|
{
|
||||||
database.destroy();
|
database.destroy();
|
||||||
}
|
}
|
||||||
|
@ -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())
|
||||||
{
|
{
|
||||||
Configurator.initialize(null, loggerConfig.getAbsolutePath());
|
PropertyConfigurator.configure(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
|
||||||
{
|
{
|
||||||
Configurator.initialize(new DefaultConfiguration());
|
BasicConfigurator.configure();
|
||||||
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());
|
||||||
}
|
}
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2013-2018 Christian Pierre MOMON <christian.momon@devinsy.fr>
|
* Copyright (C) 2013-2017 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,18 +22,18 @@ import java.io.File;
|
||||||
import java.io.FileNotFoundException;
|
import java.io.FileNotFoundException;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.UnsupportedEncodingException;
|
import java.io.UnsupportedEncodingException;
|
||||||
import java.time.LocalDateTime;
|
|
||||||
|
|
||||||
import javax.xml.stream.XMLStreamException;
|
import javax.xml.stream.XMLStreamException;
|
||||||
|
|
||||||
|
import org.joda.time.DateTime;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
import fr.devinsy.sikevadb.core.Element;
|
import fr.devinsy.sikevadb.core.Element;
|
||||||
import fr.devinsy.sikevadb.core.SikevaDBException;
|
import fr.devinsy.sikevadb.core.SikevaDBException;
|
||||||
import fr.devinsy.xml.XMLBadFormatException;
|
import fr.devinsy.util.xml.XMLBadFormatException;
|
||||||
import fr.devinsy.xml.XMLReader;
|
import fr.devinsy.util.xml.XMLReader;
|
||||||
import fr.devinsy.xml.XMLWriter;
|
import fr.devinsy.util.xml.XMLWriter;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The Class FileTreeSikevaDBTools.
|
* The Class FileTreeSikevaDBTools.
|
||||||
|
@ -84,11 +84,11 @@ public class FileTreeSikevaDBTools
|
||||||
result.setId(id);
|
result.setId(id);
|
||||||
|
|
||||||
// private DateTime creationDate; IN
|
// private DateTime creationDate; IN
|
||||||
LocalDateTime creationDate = LocalDateTime.parse(in.readContentTag("creation_date").getContent());
|
DateTime creationDate = DateTime.parse(in.readContentTag("creation_date").getContent());
|
||||||
result.setCreationDate(creationDate);
|
result.setCreationDate(creationDate);
|
||||||
|
|
||||||
// private DateTime editionDate; IN
|
// private DateTime editionDate; IN
|
||||||
LocalDateTime editionDate = LocalDateTime.parse(in.readContentTag("edition_date").getContent());
|
DateTime editionDate = DateTime.parse(in.readContentTag("edition_date").getContent());
|
||||||
result.setEditionDate(editionDate);
|
result.setEditionDate(editionDate);
|
||||||
|
|
||||||
// private long size; IN
|
// private long size; IN
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2013-2024 Christian Pierre MOMON <christian.momon@devinsy.fr>
|
* Copyright (C) 2013-2017 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,7 +27,10 @@ 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);;
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2013-2024 Christian Pierre MOMON <christian.momon@devinsy.fr>
|
* Copyright (C) 2013-2017 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,17 +22,15 @@ 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.ZoneOffset;
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
||||||
import org.apache.commons.io.IOUtils;
|
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
import org.joda.time.DateTime;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
import fr.devinsy.strings.StringList;
|
import fr.devinsy.util.FileTools;
|
||||||
|
import fr.devinsy.util.strings.StringList;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The Class SQLSikevaDBTools.
|
* The Class SQLSikevaDBTools.
|
||||||
|
@ -56,7 +54,7 @@ public class SQLSikevaDBTools
|
||||||
{
|
{
|
||||||
StringList result;
|
StringList result;
|
||||||
|
|
||||||
String script = IOUtils.toString(source, StandardCharsets.UTF_8);
|
String script = FileTools.load(source);
|
||||||
|
|
||||||
result = splitSQLCommands(script);
|
result = splitSQLCommands(script);
|
||||||
|
|
||||||
|
@ -100,16 +98,22 @@ public class SQLSikevaDBTools
|
||||||
{
|
{
|
||||||
if ((StringUtils.isNotBlank(line)) && (!line.startsWith("--")))
|
if ((StringUtils.isNotBlank(line)) && (!line.startsWith("--")))
|
||||||
{
|
{
|
||||||
|
//
|
||||||
if (line.endsWith(";"))
|
if (line.endsWith(";"))
|
||||||
{
|
{
|
||||||
|
//
|
||||||
sql.append(line.substring(0, line.length() - 1));
|
sql.append(line.substring(0, line.length() - 1));
|
||||||
|
|
||||||
|
//
|
||||||
result.add(sql.toString());
|
result.add(sql.toString());
|
||||||
|
|
||||||
|
//
|
||||||
sql.clear();
|
sql.clear();
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
//
|
||||||
sql.append(line).append(' ');
|
sql.append(line).append(' ');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -131,9 +135,9 @@ public class SQLSikevaDBTools
|
||||||
* the source
|
* the source
|
||||||
* @return the date time
|
* @return the date time
|
||||||
*/
|
*/
|
||||||
public static LocalDateTime toDateTime(final java.sql.Timestamp source)
|
public static DateTime toDateTime(final java.sql.Timestamp source)
|
||||||
{
|
{
|
||||||
LocalDateTime result;
|
DateTime result;
|
||||||
|
|
||||||
if (source == null)
|
if (source == null)
|
||||||
{
|
{
|
||||||
|
@ -141,9 +145,7 @@ public class SQLSikevaDBTools
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
long seconds = source.getTime() / 1000;
|
result = new DateTime(source.getTime());
|
||||||
long nanos = (source.getTime() - seconds * 1000) * 1000000;
|
|
||||||
result = LocalDateTime.ofEpochSecond(seconds, (int) nanos, ZoneOffset.UTC);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
|
@ -167,7 +169,7 @@ public class SQLSikevaDBTools
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
result = new java.sql.Timestamp(source.getTime() * 1000);
|
result = new java.sql.Timestamp(source.getTime());
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
|
@ -181,7 +183,7 @@ public class SQLSikevaDBTools
|
||||||
* the source
|
* the source
|
||||||
* @return the java.sql. timestamp
|
* @return the java.sql. timestamp
|
||||||
*/
|
*/
|
||||||
public static java.sql.Timestamp toTimestamp(final LocalDateTime source)
|
public static java.sql.Timestamp toTimestamp(final DateTime source)
|
||||||
{
|
{
|
||||||
java.sql.Timestamp result;
|
java.sql.Timestamp result;
|
||||||
|
|
||||||
|
@ -191,9 +193,7 @@ public class SQLSikevaDBTools
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
long seconds = source.toEpochSecond(ZoneOffset.UTC);
|
result = new java.sql.Timestamp(source.getMillis());
|
||||||
long milliseconds = source.getNano() / 1000000;
|
|
||||||
result = new java.sql.Timestamp(seconds * 1000 + milliseconds);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2013-2024 Christian Pierre MOMON, DEVINSY
|
* Copyright (C) 2013-2017 Christian Pierre MOMON, DEVINSY
|
||||||
*
|
*
|
||||||
* This file is part of SikevaDB, simple key value database.
|
* This file is part of SikevaDB, simple key value database.
|
||||||
*
|
*
|
||||||
|
@ -19,13 +19,13 @@
|
||||||
package fr.devinsy.sikevadb.filetree;
|
package fr.devinsy.sikevadb.filetree;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
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.logging.log4j.Level;
|
import org.apache.log4j.BasicConfigurator;
|
||||||
import org.apache.logging.log4j.core.config.Configurator;
|
import org.apache.log4j.Level;
|
||||||
import org.apache.logging.log4j.core.config.DefaultConfiguration;
|
import org.apache.log4j.Logger;
|
||||||
|
import org.joda.time.DateTime;
|
||||||
import org.junit.AfterClass;
|
import org.junit.AfterClass;
|
||||||
import org.junit.Assert;
|
import org.junit.Assert;
|
||||||
import org.junit.BeforeClass;
|
import org.junit.BeforeClass;
|
||||||
|
@ -34,8 +34,7 @@ import org.junit.Test;
|
||||||
import fr.devinsy.sikevadb.core.Element;
|
import fr.devinsy.sikevadb.core.Element;
|
||||||
import fr.devinsy.sikevadb.core.Elements;
|
import fr.devinsy.sikevadb.core.Elements;
|
||||||
import fr.devinsy.sikevadb.core.SikevaDBException;
|
import fr.devinsy.sikevadb.core.SikevaDBException;
|
||||||
import fr.devinsy.sikevadb.core.XMLSikevaDB;
|
import fr.devinsy.util.strings.StringList;
|
||||||
import fr.devinsy.strings.StringList;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The Class TreeFileSikevaDBTest.
|
* The Class TreeFileSikevaDBTest.
|
||||||
|
@ -47,38 +46,6 @@ public class TreeFileSikevaDBTest
|
||||||
private static org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(TreeFileSikevaDBTest.class);
|
private static org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(TreeFileSikevaDBTest.class);
|
||||||
private static FileTreeSikevaDB database;
|
private static FileTreeSikevaDB database;
|
||||||
|
|
||||||
@Test
|
|
||||||
public void testExport01() throws Exception
|
|
||||||
{
|
|
||||||
//
|
|
||||||
logger.debug("===== test starting...");
|
|
||||||
|
|
||||||
database.clear();
|
|
||||||
|
|
||||||
database.put("alpha01", "qlskjfmlqja");
|
|
||||||
database.put("alpha01", "qlskjfmlqjb");
|
|
||||||
database.put("alpha02", "qlskjfmlqj");
|
|
||||||
database.put("alpha03", "qlskjfmlqj");
|
|
||||||
database.put("alpha04", "qlskjfmlqj");
|
|
||||||
database.put("alpha05", "qlskjfmlqj");
|
|
||||||
database.delete("alpha03");
|
|
||||||
database.put("alpha01s", "bravo1", "qlskjfmlqja");
|
|
||||||
database.put("alpha01s", "bravo1", "qlskjfmlqjb");
|
|
||||||
database.put("alpha01s", "bravo2", "qlskjfmlqj");
|
|
||||||
database.put("alpha01s", "bravo3", "qlskjfmlqj");
|
|
||||||
database.put("alpha01s", "bravo4", "qlskjfmlqj");
|
|
||||||
database.put("alpha01s", "bravo5", "qlskjfmlqj");
|
|
||||||
database.delete("alpha01s", "bravo3");
|
|
||||||
|
|
||||||
File file = File.createTempFile("sikevadb-", ".tmp");
|
|
||||||
XMLSikevaDB.export(file, database);
|
|
||||||
Assert.assertTrue(file.exists());
|
|
||||||
file.delete();
|
|
||||||
|
|
||||||
//
|
|
||||||
logger.debug("===== test done.");
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test get keyse 01.
|
* Test get keyse 01.
|
||||||
*
|
*
|
||||||
|
@ -139,9 +106,9 @@ public class TreeFileSikevaDBTest
|
||||||
database.put("alpha01s", "bravo4", "qlskjfmlqj");
|
database.put("alpha01s", "bravo4", "qlskjfmlqj");
|
||||||
database.put("alpha01s", "bravo5", "qlskjfmlqj");
|
database.put("alpha01s", "bravo5", "qlskjfmlqj");
|
||||||
|
|
||||||
StringList keys = database.getTopKeys();
|
StringList keys = database.getKeys();
|
||||||
|
|
||||||
Assert.assertEquals(6, keys.size());
|
Assert.assertEquals(5, keys.size());
|
||||||
Assert.assertTrue(keys.contains("alpha03"));
|
Assert.assertTrue(keys.contains("alpha03"));
|
||||||
Assert.assertEquals(0, database.getSubkeys("alpha03s").size());
|
Assert.assertEquals(0, database.getSubkeys("alpha03s").size());
|
||||||
Assert.assertEquals(5, database.getSubkeys("alpha01s").size());
|
Assert.assertEquals(5, database.getSubkeys("alpha01s").size());
|
||||||
|
@ -372,9 +339,9 @@ public class TreeFileSikevaDBTest
|
||||||
element.setSubkey(null);
|
element.setSubkey(null);
|
||||||
element.setSize(10);
|
element.setSize(10);
|
||||||
element.setDigest("qsdkfqskjf");
|
element.setDigest("qsdkfqskjf");
|
||||||
element.setCreationDate(LocalDateTime.now().minusDays(11));
|
element.setCreationDate(DateTime.now().minusDays(11));
|
||||||
element.setEditionDate(LocalDateTime.now().minusDays(11));
|
element.setEditionDate(DateTime.now().minusDays(11));
|
||||||
element.setArchiveDate(LocalDateTime.now().minusDays(10));
|
element.setArchiveDate(DateTime.now().minusDays(10));
|
||||||
element.setValue("bonjour");
|
element.setValue("bonjour");
|
||||||
|
|
||||||
database.put(element);
|
database.put(element);
|
||||||
|
@ -409,9 +376,9 @@ public class TreeFileSikevaDBTest
|
||||||
element.setSubkey(null);
|
element.setSubkey(null);
|
||||||
element.setSize(10);
|
element.setSize(10);
|
||||||
element.setDigest("qsdkfqskjf");
|
element.setDigest("qsdkfqskjf");
|
||||||
element.setCreationDate(LocalDateTime.now().minusDays(11));
|
element.setCreationDate(DateTime.now().minusDays(11));
|
||||||
element.setEditionDate(LocalDateTime.now().minusDays(11));
|
element.setEditionDate(DateTime.now().minusDays(11));
|
||||||
element.setArchiveDate(LocalDateTime.now().minusDays(10));
|
element.setArchiveDate(DateTime.now().minusDays(10));
|
||||||
element.setValue("bonjour");
|
element.setValue("bonjour");
|
||||||
|
|
||||||
database.put(element);
|
database.put(element);
|
||||||
|
@ -446,9 +413,9 @@ public class TreeFileSikevaDBTest
|
||||||
element.setSubkey(null);
|
element.setSubkey(null);
|
||||||
element.setSize(10);
|
element.setSize(10);
|
||||||
element.setDigest("qsdkfqskjf");
|
element.setDigest("qsdkfqskjf");
|
||||||
element.setCreationDate(LocalDateTime.now().minusDays(11));
|
element.setCreationDate(DateTime.now().minusDays(11));
|
||||||
element.setEditionDate(LocalDateTime.now().minusDays(11));
|
element.setEditionDate(DateTime.now().minusDays(11));
|
||||||
element.setArchiveDate(LocalDateTime.now().minusDays(10));
|
element.setArchiveDate(DateTime.now().minusDays(10));
|
||||||
element.setValue("bonjour");
|
element.setValue("bonjour");
|
||||||
|
|
||||||
database.put(element);
|
database.put(element);
|
||||||
|
@ -461,9 +428,9 @@ public class TreeFileSikevaDBTest
|
||||||
element.setSubkey(null);
|
element.setSubkey(null);
|
||||||
element.setSize(10);
|
element.setSize(10);
|
||||||
element.setDigest("qsdkfqskjf");
|
element.setDigest("qsdkfqskjf");
|
||||||
element.setCreationDate(LocalDateTime.now().minusDays(11));
|
element.setCreationDate(DateTime.now().minusDays(11));
|
||||||
element.setEditionDate(LocalDateTime.now().minusDays(11));
|
element.setEditionDate(DateTime.now().minusDays(11));
|
||||||
element.setArchiveDate(LocalDateTime.now().minusDays(10));
|
element.setArchiveDate(DateTime.now().minusDays(10));
|
||||||
element.setValue("bonjour");
|
element.setValue("bonjour");
|
||||||
|
|
||||||
database.put(element);
|
database.put(element);
|
||||||
|
@ -577,7 +544,7 @@ public class TreeFileSikevaDBTest
|
||||||
|
|
||||||
Assert.assertEquals(12, database.countOfElements());
|
Assert.assertEquals(12, database.countOfElements());
|
||||||
|
|
||||||
database.deleteMany("alpha01", "bravo", "delta", "fox");
|
database.removeMany("alpha01", "bravo", "delta", "fox");
|
||||||
|
|
||||||
Assert.assertEquals(9, database.countOfElements());
|
Assert.assertEquals(9, database.countOfElements());
|
||||||
|
|
||||||
|
@ -642,14 +609,14 @@ public class TreeFileSikevaDBTest
|
||||||
database.put("alpha03", "qlskjfmlqj");
|
database.put("alpha03", "qlskjfmlqj");
|
||||||
database.put("alpha04", "qlskjfmlqj");
|
database.put("alpha04", "qlskjfmlqj");
|
||||||
database.put("alpha05", "qlskjfmlqj");
|
database.put("alpha05", "qlskjfmlqj");
|
||||||
database.delete("alpha03");
|
database.remove("alpha03");
|
||||||
database.put("alpha01s", "bravo1", "qlskjfmlqja");
|
database.put("alpha01s", "bravo1", "qlskjfmlqja");
|
||||||
database.put("alpha01s", "bravo1", "qlskjfmlqjb");
|
database.put("alpha01s", "bravo1", "qlskjfmlqjb");
|
||||||
database.put("alpha01s", "bravo2", "qlskjfmlqj");
|
database.put("alpha01s", "bravo2", "qlskjfmlqj");
|
||||||
database.put("alpha01s", "bravo3", "qlskjfmlqj");
|
database.put("alpha01s", "bravo3", "qlskjfmlqj");
|
||||||
database.put("alpha01s", "bravo4", "qlskjfmlqj");
|
database.put("alpha01s", "bravo4", "qlskjfmlqj");
|
||||||
database.put("alpha01s", "bravo5", "qlskjfmlqj");
|
database.put("alpha01s", "bravo5", "qlskjfmlqj");
|
||||||
database.delete("alpha01s", "bravo3");
|
database.remove("alpha01s", "bravo3");
|
||||||
|
|
||||||
// System.out.println(database.countOfElements() + " " +
|
// System.out.println(database.countOfElements() + " " +
|
||||||
// database.countOfArchivedElements() + " " +
|
// database.countOfArchivedElements() + " " +
|
||||||
|
@ -704,7 +671,6 @@ public class TreeFileSikevaDBTest
|
||||||
if (database != null)
|
if (database != null)
|
||||||
{
|
{
|
||||||
database.close();
|
database.close();
|
||||||
database.destroy();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -717,8 +683,8 @@ public class TreeFileSikevaDBTest
|
||||||
@BeforeClass
|
@BeforeClass
|
||||||
public static void beforeClass() throws SikevaDBException
|
public static void beforeClass() throws SikevaDBException
|
||||||
{
|
{
|
||||||
Configurator.initialize(new DefaultConfiguration());
|
BasicConfigurator.configure();
|
||||||
Configurator.setRootLevel(Level.DEBUG);
|
Logger.getRootLogger().setLevel(Level.DEBUG);
|
||||||
|
|
||||||
// Add ?profileSQL=true to generate huge logs.
|
// Add ?profileSQL=true to generate huge logs.
|
||||||
|
|
||||||
|
@ -729,7 +695,7 @@ public class TreeFileSikevaDBTest
|
||||||
File homeDirectory = new File("/tmp/footest");
|
File homeDirectory = new File("/tmp/footest");
|
||||||
database = new FileTreeSikevaDB(homeDirectory, null, null);
|
database = new FileTreeSikevaDB(homeDirectory, null, null);
|
||||||
|
|
||||||
if (!database.exists())
|
if (!database.isCreated())
|
||||||
{
|
{
|
||||||
database.create();
|
database.create();
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2013-2024 Christian Pierre MOMON, DEVINSY
|
* Copyright (C) 2013-2017 Christian Pierre MOMON, DEVINSY
|
||||||
*
|
*
|
||||||
* This file is part of SikevaDB, simple key value database.
|
* This file is part of SikevaDB, simple key value database.
|
||||||
*
|
*
|
||||||
|
@ -18,13 +18,12 @@
|
||||||
*/
|
*/
|
||||||
package fr.devinsy.sikevadb.sql;
|
package fr.devinsy.sikevadb.sql;
|
||||||
|
|
||||||
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.logging.log4j.Level;
|
import org.apache.log4j.BasicConfigurator;
|
||||||
import org.apache.logging.log4j.core.config.Configurator;
|
import org.apache.log4j.Level;
|
||||||
import org.apache.logging.log4j.core.config.DefaultConfiguration;
|
import org.apache.log4j.Logger;
|
||||||
|
import org.joda.time.DateTime;
|
||||||
import org.junit.AfterClass;
|
import org.junit.AfterClass;
|
||||||
import org.junit.Assert;
|
import org.junit.Assert;
|
||||||
import org.junit.BeforeClass;
|
import org.junit.BeforeClass;
|
||||||
|
@ -33,7 +32,7 @@ import org.junit.Test;
|
||||||
import fr.devinsy.sikevadb.core.Element;
|
import fr.devinsy.sikevadb.core.Element;
|
||||||
import fr.devinsy.sikevadb.core.Elements;
|
import fr.devinsy.sikevadb.core.Elements;
|
||||||
import fr.devinsy.sikevadb.core.SikevaDBException;
|
import fr.devinsy.sikevadb.core.SikevaDBException;
|
||||||
import fr.devinsy.strings.StringList;
|
import fr.devinsy.util.strings.StringList;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The Class SQLSikevaDBTest.
|
* The Class SQLSikevaDBTest.
|
||||||
|
@ -62,9 +61,9 @@ public class SQLSikevaDBTest
|
||||||
element.setSubkey(null);
|
element.setSubkey(null);
|
||||||
element.setSize(10);
|
element.setSize(10);
|
||||||
element.setDigest("qsdkfqskjf");
|
element.setDigest("qsdkfqskjf");
|
||||||
element.setCreationDate(LocalDateTime.now().minusDays(11));
|
element.setCreationDate(DateTime.now().minusDays(11));
|
||||||
element.setEditionDate(LocalDateTime.now().minusDays(11));
|
element.setEditionDate(DateTime.now().minusDays(11));
|
||||||
element.setArchiveDate(LocalDateTime.now().minusDays(10));
|
element.setArchiveDate(DateTime.now().minusDays(10));
|
||||||
element.setValue("bonjour");
|
element.setValue("bonjour");
|
||||||
|
|
||||||
database.put(element);
|
database.put(element);
|
||||||
|
@ -98,9 +97,9 @@ public class SQLSikevaDBTest
|
||||||
element.setSubkey(null);
|
element.setSubkey(null);
|
||||||
element.setSize(10);
|
element.setSize(10);
|
||||||
element.setDigest("qsdkfqskjf");
|
element.setDigest("qsdkfqskjf");
|
||||||
element.setCreationDate(LocalDateTime.now());
|
element.setCreationDate(DateTime.now());
|
||||||
element.setEditionDate(LocalDateTime.now());
|
element.setEditionDate(DateTime.now());
|
||||||
element.setArchiveDate(LocalDateTime.now().minusDays(10));
|
element.setArchiveDate(DateTime.now().minusDays(10));
|
||||||
element.setValue("bonjour");
|
element.setValue("bonjour");
|
||||||
|
|
||||||
database.put(element);
|
database.put(element);
|
||||||
|
@ -171,7 +170,7 @@ public class SQLSikevaDBTest
|
||||||
database.put("alpha01", "bravo4", "qlskjfmlqj");
|
database.put("alpha01", "bravo4", "qlskjfmlqj");
|
||||||
database.put("alpha01", "bravo5", "qlskjfmlqj");
|
database.put("alpha01", "bravo5", "qlskjfmlqj");
|
||||||
|
|
||||||
StringList keys = database.getTopKeys();
|
StringList keys = database.getKeys();
|
||||||
|
|
||||||
Assert.assertEquals(5, keys.size());
|
Assert.assertEquals(5, keys.size());
|
||||||
Assert.assertTrue(keys.contains("alpha03"));
|
Assert.assertTrue(keys.contains("alpha03"));
|
||||||
|
@ -380,9 +379,9 @@ public class SQLSikevaDBTest
|
||||||
element.setSubkey(null);
|
element.setSubkey(null);
|
||||||
element.setSize(10);
|
element.setSize(10);
|
||||||
element.setDigest("qsdkfqskjf");
|
element.setDigest("qsdkfqskjf");
|
||||||
element.setCreationDate(LocalDateTime.now().minusDays(11));
|
element.setCreationDate(DateTime.now().minusDays(11));
|
||||||
element.setEditionDate(LocalDateTime.now().minusDays(11));
|
element.setEditionDate(DateTime.now().minusDays(11));
|
||||||
element.setArchiveDate(LocalDateTime.now().minusDays(10));
|
element.setArchiveDate(DateTime.now().minusDays(10));
|
||||||
element.setValue("bonjour");
|
element.setValue("bonjour");
|
||||||
|
|
||||||
database.put(element);
|
database.put(element);
|
||||||
|
@ -413,9 +412,9 @@ public class SQLSikevaDBTest
|
||||||
element.setSubkey(null);
|
element.setSubkey(null);
|
||||||
element.setSize(10);
|
element.setSize(10);
|
||||||
element.setDigest("qsdkfqskjf");
|
element.setDigest("qsdkfqskjf");
|
||||||
element.setCreationDate(LocalDateTime.now().minusDays(11));
|
element.setCreationDate(DateTime.now().minusDays(11));
|
||||||
element.setEditionDate(LocalDateTime.now().minusDays(11));
|
element.setEditionDate(DateTime.now().minusDays(11));
|
||||||
element.setArchiveDate(LocalDateTime.now().minusDays(10));
|
element.setArchiveDate(DateTime.now().minusDays(10));
|
||||||
element.setValue("bonjour");
|
element.setValue("bonjour");
|
||||||
|
|
||||||
database.put(element);
|
database.put(element);
|
||||||
|
@ -447,9 +446,9 @@ public class SQLSikevaDBTest
|
||||||
element.setSubkey(null);
|
element.setSubkey(null);
|
||||||
element.setSize(10);
|
element.setSize(10);
|
||||||
element.setDigest("qsdkfqskjf");
|
element.setDigest("qsdkfqskjf");
|
||||||
element.setCreationDate(LocalDateTime.now().minusDays(11));
|
element.setCreationDate(DateTime.now().minusDays(11));
|
||||||
element.setEditionDate(LocalDateTime.now().minusDays(11));
|
element.setEditionDate(DateTime.now().minusDays(11));
|
||||||
element.setArchiveDate(LocalDateTime.now().minusDays(10));
|
element.setArchiveDate(DateTime.now().minusDays(10));
|
||||||
element.setValue("bonjour");
|
element.setValue("bonjour");
|
||||||
|
|
||||||
database.put(element);
|
database.put(element);
|
||||||
|
@ -462,9 +461,9 @@ public class SQLSikevaDBTest
|
||||||
element.setSubkey(null);
|
element.setSubkey(null);
|
||||||
element.setSize(10);
|
element.setSize(10);
|
||||||
element.setDigest("qsdkfqskjf");
|
element.setDigest("qsdkfqskjf");
|
||||||
element.setCreationDate(LocalDateTime.now().minusDays(11));
|
element.setCreationDate(DateTime.now().minusDays(11));
|
||||||
element.setEditionDate(LocalDateTime.now().minusDays(11));
|
element.setEditionDate(DateTime.now().minusDays(11));
|
||||||
element.setArchiveDate(LocalDateTime.now().minusDays(10));
|
element.setArchiveDate(DateTime.now().minusDays(10));
|
||||||
element.setValue("bonjour");
|
element.setValue("bonjour");
|
||||||
|
|
||||||
database.put(element);
|
database.put(element);
|
||||||
|
@ -568,7 +567,7 @@ public class SQLSikevaDBTest
|
||||||
|
|
||||||
Assert.assertEquals(12, database.countOfElements());
|
Assert.assertEquals(12, database.countOfElements());
|
||||||
|
|
||||||
database.deleteMany("alpha01", "bravo", "delta", "fox");
|
database.removeMany("alpha01", "bravo", "delta", "fox");
|
||||||
|
|
||||||
Assert.assertEquals(9, database.countOfElements());
|
Assert.assertEquals(9, database.countOfElements());
|
||||||
|
|
||||||
|
@ -627,14 +626,14 @@ public class SQLSikevaDBTest
|
||||||
database.put("alpha03", "qlskjfmlqj");
|
database.put("alpha03", "qlskjfmlqj");
|
||||||
database.put("alpha04", "qlskjfmlqj");
|
database.put("alpha04", "qlskjfmlqj");
|
||||||
database.put("alpha05", "qlskjfmlqj");
|
database.put("alpha05", "qlskjfmlqj");
|
||||||
database.delete("alpha03");
|
database.remove("alpha03");
|
||||||
database.put("alpha01", "bravo1", "qlskjfmlqja");
|
database.put("alpha01", "bravo1", "qlskjfmlqja");
|
||||||
database.put("alpha01", "bravo1", "qlskjfmlqjb");
|
database.put("alpha01", "bravo1", "qlskjfmlqjb");
|
||||||
database.put("alpha01", "bravo2", "qlskjfmlqj");
|
database.put("alpha01", "bravo2", "qlskjfmlqj");
|
||||||
database.put("alpha01", "bravo3", "qlskjfmlqj");
|
database.put("alpha01", "bravo3", "qlskjfmlqj");
|
||||||
database.put("alpha01", "bravo4", "qlskjfmlqj");
|
database.put("alpha01", "bravo4", "qlskjfmlqj");
|
||||||
database.put("alpha01", "bravo5", "qlskjfmlqj");
|
database.put("alpha01", "bravo5", "qlskjfmlqj");
|
||||||
database.delete("alpha01", "bravo3");
|
database.remove("alpha01", "bravo3");
|
||||||
|
|
||||||
// System.out.println(database.countOfElements() + " " +
|
// System.out.println(database.countOfElements() + " " +
|
||||||
// database.countOfArchivedElements() + " " +
|
// database.countOfArchivedElements() + " " +
|
||||||
|
@ -692,8 +691,8 @@ public class SQLSikevaDBTest
|
||||||
@BeforeClass
|
@BeforeClass
|
||||||
public static void beforeClass() throws SikevaDBException
|
public static void beforeClass() throws SikevaDBException
|
||||||
{
|
{
|
||||||
Configurator.initialize(new DefaultConfiguration());
|
BasicConfigurator.configure();
|
||||||
Configurator.setRootLevel(Level.DEBUG);
|
Logger.getRootLogger().setLevel(Level.ERROR);
|
||||||
|
|
||||||
// Add ?profileSQL=true to generate huge logs.
|
// Add ?profileSQL=true to generate huge logs.
|
||||||
|
|
||||||
|
@ -702,7 +701,7 @@ public class SQLSikevaDBTest
|
||||||
// "12345678");
|
// "12345678");
|
||||||
|
|
||||||
database = new SQLSikevaDB("org.hsqldb.jdbcDriver", "jdbc:hsqldb:mem:sikevadb-unittest;sql.syntax_mys=true", "sa", "");
|
database = new SQLSikevaDB("org.hsqldb.jdbcDriver", "jdbc:hsqldb:mem:sikevadb-unittest;sql.syntax_mys=true", "sa", "");
|
||||||
database.create();
|
|
||||||
database.open();
|
database.open();
|
||||||
|
database.create();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue