From 84b8b0545fd77d715ae38cdda4d9825cc1f70e9c Mon Sep 17 00:00:00 2001 From: Joern Muehlencord Date: Mon, 13 Dec 2021 22:13:20 +0100 Subject: [PATCH] dependency updates --- .editorconfig | 1154 +++++++++++++++++ db/pom.xml | 4 +- .../shared/db/AbstractController.java | 15 +- .../muehlencord/shared/db/AuditListener.java | 54 +- db/src/main/resources/log4j.xml | 48 - .../jeeutil/restexfw/APIErrorResponse.java | 4 +- .../shared/jeeutil/restexfw/APIException.java | 6 +- .../restexfw/APIExceptionInterceptor.java | 65 +- network/pom.xml | 132 +- .../muehlencord/shared/network/CidrTool.java | 113 +- .../shared/network/whois/ArinWhoisParser.java | 51 +- .../network/whois/DefaultWhoisParser.java | 43 +- .../network/whois/DefaultWhoisParserTest.java | 28 + .../shared/network/90.63.251.1.txt | 53 + network/src/test/resources/log4j.xml | 48 - poi-util/pom.xml | 75 +- pom.xml | 772 +++++------ .../tags/AbstractAccessControlTag.java | 2 +- .../tags/AbstractAuthenticationTag.java | 61 +- .../shirofaces/tags/AbstractTag.java | 6 +- .../muehlencord/shared/util/StreamUtils.java | 37 +- .../shared/util/StringEncodingException.java | 2 +- .../util/StringEncodingExceptionTest.java | 58 +- 23 files changed, 1981 insertions(+), 850 deletions(-) create mode 100644 .editorconfig delete mode 100644 db/src/main/resources/log4j.xml create mode 100644 network/src/test/java/de/muehlencord/shared/network/whois/DefaultWhoisParserTest.java create mode 100644 network/src/test/resources/de/muehlencord/shared/network/90.63.251.1.txt delete mode 100644 network/src/test/resources/log4j.xml diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..2ccc4ff --- /dev/null +++ b/.editorconfig @@ -0,0 +1,1154 @@ +[*] +charset = utf-8 +end_of_line = lf +indent_size = 2 +indent_style = space +insert_final_newline = true +max_line_length = 160 +tab_width = 2 +ij_continuation_indent_size = 4 +ij_formatter_off_tag = @formatter:off +ij_formatter_on_tag = @formatter:on +ij_formatter_tags_enabled = true +ij_smart_tabs = false +ij_visual_guides = none +ij_wrap_on_typing = false + +[*.bib] +indent_size = 4 +tab_width = 4 +ij_continuation_indent_size = 8 +ij_bibtex_keep_first_column_comment = true +ij_bibtex_keep_indents_on_empty_lines = false +ij_bibtex_wrap_long_lines = false + +[*.css] +indent_size = 4 +tab_width = 4 +ij_continuation_indent_size = 8 +ij_css_align_closing_brace_with_properties = false +ij_css_blank_lines_around_nested_selector = 1 +ij_css_blank_lines_between_blocks = 1 +ij_css_brace_placement = end_of_line +ij_css_enforce_quotes_on_format = false +ij_css_hex_color_long_format = false +ij_css_hex_color_lower_case = false +ij_css_hex_color_short_format = false +ij_css_hex_color_upper_case = false +ij_css_keep_blank_lines_in_code = 2 +ij_css_keep_indents_on_empty_lines = false +ij_css_keep_single_line_blocks = false +ij_css_properties_order = font,font-family,font-size,font-weight,font-style,font-variant,font-size-adjust,font-stretch,line-height,position,z-index,top,right,bottom,left,display,visibility,float,clear,overflow,overflow-x,overflow-y,clip,zoom,align-content,align-items,align-self,flex,flex-flow,flex-basis,flex-direction,flex-grow,flex-shrink,flex-wrap,justify-content,order,box-sizing,width,min-width,max-width,height,min-height,max-height,margin,margin-top,margin-right,margin-bottom,margin-left,padding,padding-top,padding-right,padding-bottom,padding-left,table-layout,empty-cells,caption-side,border-spacing,border-collapse,list-style,list-style-position,list-style-type,list-style-image,content,quotes,counter-reset,counter-increment,resize,cursor,user-select,nav-index,nav-up,nav-right,nav-down,nav-left,transition,transition-delay,transition-timing-function,transition-duration,transition-property,transform,transform-origin,animation,animation-name,animation-duration,animation-play-state,animation-timing-function,animation-delay,animation-iteration-count,animation-direction,text-align,text-align-last,vertical-align,white-space,text-decoration,text-emphasis,text-emphasis-color,text-emphasis-style,text-emphasis-position,text-indent,text-justify,letter-spacing,word-spacing,text-outline,text-transform,text-wrap,text-overflow,text-overflow-ellipsis,text-overflow-mode,word-wrap,word-break,tab-size,hyphens,pointer-events,opacity,color,border,border-width,border-style,border-color,border-top,border-top-width,border-top-style,border-top-color,border-right,border-right-width,border-right-style,border-right-color,border-bottom,border-bottom-width,border-bottom-style,border-bottom-color,border-left,border-left-width,border-left-style,border-left-color,border-radius,border-top-left-radius,border-top-right-radius,border-bottom-right-radius,border-bottom-left-radius,border-image,border-image-source,border-image-slice,border-image-width,border-image-outset,border-image-repeat,outline,outline-width,outline-style,outline-color,outline-offset,background,background-color,background-image,background-repeat,background-attachment,background-position,background-position-x,background-position-y,background-clip,background-origin,background-size,box-decoration-break,box-shadow,text-shadow +ij_css_space_after_colon = true +ij_css_space_before_opening_brace = true +ij_css_use_double_quotes = true +ij_css_value_alignment = do_not_align + +[*.feature] +tab_width = 4 +ij_continuation_indent_size = 8 +ij_gherkin_keep_indents_on_empty_lines = false + +[*.gsp] +indent_size = 4 +tab_width = 4 +ij_continuation_indent_size = 8 +ij_gsp_keep_indents_on_empty_lines = false + +[*.haml] +tab_width = 4 +ij_continuation_indent_size = 8 +ij_haml_keep_indents_on_empty_lines = false + +[*.java] +ij_java_align_consecutive_assignments = false +ij_java_align_consecutive_variable_declarations = false +ij_java_align_group_field_declarations = false +ij_java_align_multiline_annotation_parameters = false +ij_java_align_multiline_array_initializer_expression = false +ij_java_align_multiline_assignment = false +ij_java_align_multiline_binary_operation = false +ij_java_align_multiline_chained_methods = true +ij_java_align_multiline_extends_list = false +ij_java_align_multiline_for = true +ij_java_align_multiline_method_parentheses = false +ij_java_align_multiline_parameters = false +ij_java_align_multiline_parameters_in_calls = false +ij_java_align_multiline_parenthesized_expression = false +ij_java_align_multiline_records = true +ij_java_align_multiline_resources = false +ij_java_align_multiline_ternary_operation = false +ij_java_align_multiline_text_blocks = false +ij_java_align_multiline_throws_list = false +ij_java_align_subsequent_simple_methods = false +ij_java_align_throws_keyword = false +ij_java_annotation_parameter_wrap = on_every_item +ij_java_array_initializer_new_line_after_left_brace = false +ij_java_array_initializer_right_brace_on_new_line = false +ij_java_array_initializer_wrap = normal +ij_java_assert_statement_colon_on_next_line = false +ij_java_assert_statement_wrap = off +ij_java_assignment_wrap = off +ij_java_binary_operation_sign_on_next_line = true +ij_java_binary_operation_wrap = normal +ij_java_blank_lines_after_anonymous_class_header = 0 +ij_java_blank_lines_after_class_header = 1 +ij_java_blank_lines_after_imports = 1 +ij_java_blank_lines_after_package = 1 +ij_java_blank_lines_around_class = 1 +ij_java_blank_lines_around_field = 0 +ij_java_blank_lines_around_field_in_interface = 0 +ij_java_blank_lines_around_initializer = 1 +ij_java_blank_lines_around_method = 1 +ij_java_blank_lines_around_method_in_interface = 1 +ij_java_blank_lines_before_class_end = 0 +ij_java_blank_lines_before_imports = 1 +ij_java_blank_lines_before_method_body = 0 +ij_java_blank_lines_before_package = 0 +ij_java_block_brace_style = end_of_line +ij_java_block_comment_at_first_column = true +ij_java_builder_methods = none +ij_java_call_parameters_new_line_after_left_paren = false +ij_java_call_parameters_right_paren_on_new_line = false +ij_java_call_parameters_wrap = normal +ij_java_case_statement_on_separate_line = true +ij_java_catch_on_new_line = false +ij_java_class_annotation_wrap = split_into_lines +ij_java_class_brace_style = end_of_line +ij_java_class_count_to_use_import_on_demand = 999 +ij_java_class_names_in_javadoc = 1 +ij_java_do_not_indent_top_level_class_members = false +ij_java_do_not_wrap_after_single_annotation = false +ij_java_do_while_brace_force = always +ij_java_doc_add_blank_line_after_description = true +ij_java_doc_add_blank_line_after_param_comments = true +ij_java_doc_add_blank_line_after_return = true +ij_java_doc_add_p_tag_on_empty_lines = true +ij_java_doc_align_exception_comments = true +ij_java_doc_align_param_comments = true +ij_java_doc_do_not_wrap_if_one_line = true +ij_java_doc_enable_formatting = true +ij_java_doc_enable_leading_asterisks = true +ij_java_doc_indent_on_continuation = false +ij_java_doc_keep_empty_lines = true +ij_java_doc_keep_empty_parameter_tag = true +ij_java_doc_keep_empty_return_tag = true +ij_java_doc_keep_empty_throws_tag = true +ij_java_doc_keep_invalid_tags = true +ij_java_doc_param_description_on_new_line = false +ij_java_doc_preserve_line_breaks = false +ij_java_doc_use_throws_not_exception_tag = true +ij_java_else_on_new_line = false +ij_java_entity_dd_suffix = EJB +ij_java_entity_eb_suffix = Bean +ij_java_entity_hi_suffix = Home +ij_java_entity_lhi_prefix = Local +ij_java_entity_lhi_suffix = Home +ij_java_entity_li_prefix = Local +ij_java_entity_pk_class = java.lang.String +ij_java_entity_vo_suffix = VO +ij_java_enum_constants_wrap = off +ij_java_extends_keyword_wrap = off +ij_java_extends_list_wrap = normal +ij_java_field_annotation_wrap = split_into_lines +ij_java_finally_on_new_line = false +ij_java_for_brace_force = always +ij_java_for_statement_new_line_after_left_paren = false +ij_java_for_statement_right_paren_on_new_line = false +ij_java_for_statement_wrap = normal +ij_java_generate_final_locals = false +ij_java_generate_final_parameters = false +ij_java_if_brace_force = always +ij_java_imports_layout = $*,|,* +ij_java_indent_case_from_switch = true +ij_java_insert_inner_class_imports = true +ij_java_insert_override_annotation = true +ij_java_keep_blank_lines_before_right_brace = 2 +ij_java_keep_blank_lines_between_package_declaration_and_header = 2 +ij_java_keep_blank_lines_in_code = 1 +ij_java_keep_blank_lines_in_declarations = 2 +ij_java_keep_builder_methods_indents = false +ij_java_keep_control_statement_in_one_line = false +ij_java_keep_first_column_comment = true +ij_java_keep_indents_on_empty_lines = false +ij_java_keep_line_breaks = true +ij_java_keep_multiple_expressions_in_one_line = false +ij_java_keep_simple_blocks_in_one_line = false +ij_java_keep_simple_classes_in_one_line = false +ij_java_keep_simple_lambdas_in_one_line = false +ij_java_keep_simple_methods_in_one_line = false +ij_java_label_indent_absolute = false +ij_java_label_indent_size = 0 +ij_java_lambda_brace_style = end_of_line +ij_java_layout_static_imports_separately = true +ij_java_line_comment_add_space = false +ij_java_line_comment_at_first_column = true +ij_java_message_dd_suffix = EJB +ij_java_message_eb_suffix = Bean +ij_java_method_annotation_wrap = split_into_lines +ij_java_method_brace_style = end_of_line +ij_java_method_call_chain_wrap = normal +ij_java_method_parameters_new_line_after_left_paren = false +ij_java_method_parameters_right_paren_on_new_line = false +ij_java_method_parameters_wrap = normal +ij_java_modifier_list_wrap = false +ij_java_names_count_to_use_import_on_demand = 999 +ij_java_new_line_after_lparen_in_record_header = false +ij_java_parameter_annotation_wrap = off +ij_java_parentheses_expression_new_line_after_left_paren = false +ij_java_parentheses_expression_right_paren_on_new_line = false +ij_java_place_assignment_sign_on_next_line = false +ij_java_prefer_longer_names = true +ij_java_prefer_parameters_wrap = false +ij_java_record_components_wrap = normal +ij_java_repeat_synchronized = true +ij_java_replace_instanceof_and_cast = false +ij_java_replace_null_check = true +ij_java_replace_sum_lambda_with_method_ref = true +ij_java_resource_list_new_line_after_left_paren = false +ij_java_resource_list_right_paren_on_new_line = false +ij_java_resource_list_wrap = off +ij_java_rparen_on_new_line_in_record_header = false +ij_java_session_dd_suffix = EJB +ij_java_session_eb_suffix = Bean +ij_java_session_hi_suffix = Home +ij_java_session_lhi_prefix = Local +ij_java_session_lhi_suffix = Home +ij_java_session_li_prefix = Local +ij_java_session_si_suffix = Service +ij_java_space_after_closing_angle_bracket_in_type_argument = false +ij_java_space_after_colon = true +ij_java_space_after_comma = true +ij_java_space_after_comma_in_type_arguments = true +ij_java_space_after_for_semicolon = true +ij_java_space_after_quest = true +ij_java_space_after_type_cast = true +ij_java_space_before_annotation_array_initializer_left_brace = false +ij_java_space_before_annotation_parameter_list = false +ij_java_space_before_array_initializer_left_brace = true +ij_java_space_before_catch_keyword = true +ij_java_space_before_catch_left_brace = true +ij_java_space_before_catch_parentheses = true +ij_java_space_before_class_left_brace = true +ij_java_space_before_colon = true +ij_java_space_before_colon_in_foreach = true +ij_java_space_before_comma = false +ij_java_space_before_do_left_brace = true +ij_java_space_before_else_keyword = true +ij_java_space_before_else_left_brace = true +ij_java_space_before_finally_keyword = true +ij_java_space_before_finally_left_brace = true +ij_java_space_before_for_left_brace = true +ij_java_space_before_for_parentheses = true +ij_java_space_before_for_semicolon = false +ij_java_space_before_if_left_brace = true +ij_java_space_before_if_parentheses = true +ij_java_space_before_method_call_parentheses = false +ij_java_space_before_method_left_brace = true +ij_java_space_before_method_parentheses = false +ij_java_space_before_opening_angle_bracket_in_type_parameter = false +ij_java_space_before_quest = true +ij_java_space_before_switch_left_brace = true +ij_java_space_before_switch_parentheses = true +ij_java_space_before_synchronized_left_brace = true +ij_java_space_before_synchronized_parentheses = true +ij_java_space_before_try_left_brace = true +ij_java_space_before_try_parentheses = true +ij_java_space_before_type_parameter_list = false +ij_java_space_before_while_keyword = true +ij_java_space_before_while_left_brace = true +ij_java_space_before_while_parentheses = true +ij_java_space_inside_one_line_enum_braces = false +ij_java_space_within_empty_array_initializer_braces = false +ij_java_space_within_empty_method_call_parentheses = false +ij_java_space_within_empty_method_parentheses = false +ij_java_spaces_around_additive_operators = true +ij_java_spaces_around_assignment_operators = true +ij_java_spaces_around_bitwise_operators = true +ij_java_spaces_around_equality_operators = true +ij_java_spaces_around_lambda_arrow = true +ij_java_spaces_around_logical_operators = true +ij_java_spaces_around_method_ref_dbl_colon = false +ij_java_spaces_around_multiplicative_operators = true +ij_java_spaces_around_relational_operators = true +ij_java_spaces_around_shift_operators = true +ij_java_spaces_around_type_bounds_in_type_parameters = true +ij_java_spaces_around_unary_operator = false +ij_java_spaces_within_angle_brackets = false +ij_java_spaces_within_annotation_parentheses = false +ij_java_spaces_within_array_initializer_braces = true +ij_java_spaces_within_braces = false +ij_java_spaces_within_brackets = false +ij_java_spaces_within_cast_parentheses = false +ij_java_spaces_within_catch_parentheses = false +ij_java_spaces_within_for_parentheses = false +ij_java_spaces_within_if_parentheses = false +ij_java_spaces_within_method_call_parentheses = false +ij_java_spaces_within_method_parentheses = false +ij_java_spaces_within_parentheses = false +ij_java_spaces_within_record_header = false +ij_java_spaces_within_switch_parentheses = false +ij_java_spaces_within_synchronized_parentheses = false +ij_java_spaces_within_try_parentheses = false +ij_java_spaces_within_while_parentheses = false +ij_java_special_else_if_treatment = true +ij_java_subclass_name_suffix = Impl +ij_java_ternary_operation_signs_on_next_line = true +ij_java_ternary_operation_wrap = normal +ij_java_test_name_suffix = Test +ij_java_throws_keyword_wrap = normal +ij_java_throws_list_wrap = normal +ij_java_use_external_annotations = false +ij_java_use_fq_class_names = false +ij_java_use_relative_indents = false +ij_java_use_single_class_imports = true +ij_java_variable_annotation_wrap = split_into_lines +ij_java_visibility = public +ij_java_while_brace_force = always +ij_java_while_on_new_line = false +ij_java_wrap_comments = true +ij_java_wrap_first_method_in_call_chain = false +ij_java_wrap_long_lines = false + +[*.less] +tab_width = 4 +ij_continuation_indent_size = 8 +ij_less_align_closing_brace_with_properties = false +ij_less_blank_lines_around_nested_selector = 1 +ij_less_blank_lines_between_blocks = 1 +ij_less_brace_placement = 0 +ij_less_enforce_quotes_on_format = false +ij_less_hex_color_long_format = false +ij_less_hex_color_lower_case = false +ij_less_hex_color_short_format = false +ij_less_hex_color_upper_case = false +ij_less_keep_blank_lines_in_code = 2 +ij_less_keep_indents_on_empty_lines = false +ij_less_keep_single_line_blocks = false +ij_less_properties_order = font,font-family,font-size,font-weight,font-style,font-variant,font-size-adjust,font-stretch,line-height,position,z-index,top,right,bottom,left,display,visibility,float,clear,overflow,overflow-x,overflow-y,clip,zoom,align-content,align-items,align-self,flex,flex-flow,flex-basis,flex-direction,flex-grow,flex-shrink,flex-wrap,justify-content,order,box-sizing,width,min-width,max-width,height,min-height,max-height,margin,margin-top,margin-right,margin-bottom,margin-left,padding,padding-top,padding-right,padding-bottom,padding-left,table-layout,empty-cells,caption-side,border-spacing,border-collapse,list-style,list-style-position,list-style-type,list-style-image,content,quotes,counter-reset,counter-increment,resize,cursor,user-select,nav-index,nav-up,nav-right,nav-down,nav-left,transition,transition-delay,transition-timing-function,transition-duration,transition-property,transform,transform-origin,animation,animation-name,animation-duration,animation-play-state,animation-timing-function,animation-delay,animation-iteration-count,animation-direction,text-align,text-align-last,vertical-align,white-space,text-decoration,text-emphasis,text-emphasis-color,text-emphasis-style,text-emphasis-position,text-indent,text-justify,letter-spacing,word-spacing,text-outline,text-transform,text-wrap,text-overflow,text-overflow-ellipsis,text-overflow-mode,word-wrap,word-break,tab-size,hyphens,pointer-events,opacity,color,border,border-width,border-style,border-color,border-top,border-top-width,border-top-style,border-top-color,border-right,border-right-width,border-right-style,border-right-color,border-bottom,border-bottom-width,border-bottom-style,border-bottom-color,border-left,border-left-width,border-left-style,border-left-color,border-radius,border-top-left-radius,border-top-right-radius,border-bottom-right-radius,border-bottom-left-radius,border-image,border-image-source,border-image-slice,border-image-width,border-image-outset,border-image-repeat,outline,outline-width,outline-style,outline-color,outline-offset,background,background-color,background-image,background-repeat,background-attachment,background-position,background-position-x,background-position-y,background-clip,background-origin,background-size,box-decoration-break,box-shadow,text-shadow +ij_less_space_after_colon = true +ij_less_space_before_opening_brace = true +ij_less_use_double_quotes = true +ij_less_value_alignment = 0 + +[*.proto] +ij_continuation_indent_size = 2 +ij_protobuf_keep_blank_lines_in_code = 2 +ij_protobuf_keep_indents_on_empty_lines = false +ij_protobuf_keep_line_breaks = true +ij_protobuf_space_after_comma = true +ij_protobuf_space_before_comma = false +ij_protobuf_spaces_around_assignment_operators = true +ij_protobuf_spaces_within_braces = false +ij_protobuf_spaces_within_brackets = false + +[*.sass] +ij_sass_align_closing_brace_with_properties = false +ij_sass_blank_lines_around_nested_selector = 1 +ij_sass_blank_lines_between_blocks = 1 +ij_sass_brace_placement = 0 +ij_sass_enforce_quotes_on_format = false +ij_sass_hex_color_long_format = false +ij_sass_hex_color_lower_case = false +ij_sass_hex_color_short_format = false +ij_sass_hex_color_upper_case = false +ij_sass_keep_blank_lines_in_code = 2 +ij_sass_keep_indents_on_empty_lines = false +ij_sass_keep_single_line_blocks = false +ij_sass_properties_order = font,font-family,font-size,font-weight,font-style,font-variant,font-size-adjust,font-stretch,line-height,position,z-index,top,right,bottom,left,display,visibility,float,clear,overflow,overflow-x,overflow-y,clip,zoom,align-content,align-items,align-self,flex,flex-flow,flex-basis,flex-direction,flex-grow,flex-shrink,flex-wrap,justify-content,order,box-sizing,width,min-width,max-width,height,min-height,max-height,margin,margin-top,margin-right,margin-bottom,margin-left,padding,padding-top,padding-right,padding-bottom,padding-left,table-layout,empty-cells,caption-side,border-spacing,border-collapse,list-style,list-style-position,list-style-type,list-style-image,content,quotes,counter-reset,counter-increment,resize,cursor,user-select,nav-index,nav-up,nav-right,nav-down,nav-left,transition,transition-delay,transition-timing-function,transition-duration,transition-property,transform,transform-origin,animation,animation-name,animation-duration,animation-play-state,animation-timing-function,animation-delay,animation-iteration-count,animation-direction,text-align,text-align-last,vertical-align,white-space,text-decoration,text-emphasis,text-emphasis-color,text-emphasis-style,text-emphasis-position,text-indent,text-justify,letter-spacing,word-spacing,text-outline,text-transform,text-wrap,text-overflow,text-overflow-ellipsis,text-overflow-mode,word-wrap,word-break,tab-size,hyphens,pointer-events,opacity,color,border,border-width,border-style,border-color,border-top,border-top-width,border-top-style,border-top-color,border-right,border-right-width,border-right-style,border-right-color,border-bottom,border-bottom-width,border-bottom-style,border-bottom-color,border-left,border-left-width,border-left-style,border-left-color,border-radius,border-top-left-radius,border-top-right-radius,border-bottom-right-radius,border-bottom-left-radius,border-image,border-image-source,border-image-slice,border-image-width,border-image-outset,border-image-repeat,outline,outline-width,outline-style,outline-color,outline-offset,background,background-color,background-image,background-repeat,background-attachment,background-position,background-position-x,background-position-y,background-clip,background-origin,background-size,box-decoration-break,box-shadow,text-shadow +ij_sass_space_after_colon = true +ij_sass_space_before_opening_brace = true +ij_sass_use_double_quotes = true +ij_sass_value_alignment = 0 + +[*.scss] +ij_scss_align_closing_brace_with_properties = false +ij_scss_blank_lines_around_nested_selector = 1 +ij_scss_blank_lines_between_blocks = 1 +ij_scss_brace_placement = 0 +ij_scss_enforce_quotes_on_format = false +ij_scss_hex_color_long_format = false +ij_scss_hex_color_lower_case = false +ij_scss_hex_color_short_format = false +ij_scss_hex_color_upper_case = false +ij_scss_keep_blank_lines_in_code = 2 +ij_scss_keep_indents_on_empty_lines = false +ij_scss_keep_single_line_blocks = false +ij_scss_properties_order = font,font-family,font-size,font-weight,font-style,font-variant,font-size-adjust,font-stretch,line-height,position,z-index,top,right,bottom,left,display,visibility,float,clear,overflow,overflow-x,overflow-y,clip,zoom,align-content,align-items,align-self,flex,flex-flow,flex-basis,flex-direction,flex-grow,flex-shrink,flex-wrap,justify-content,order,box-sizing,width,min-width,max-width,height,min-height,max-height,margin,margin-top,margin-right,margin-bottom,margin-left,padding,padding-top,padding-right,padding-bottom,padding-left,table-layout,empty-cells,caption-side,border-spacing,border-collapse,list-style,list-style-position,list-style-type,list-style-image,content,quotes,counter-reset,counter-increment,resize,cursor,user-select,nav-index,nav-up,nav-right,nav-down,nav-left,transition,transition-delay,transition-timing-function,transition-duration,transition-property,transform,transform-origin,animation,animation-name,animation-duration,animation-play-state,animation-timing-function,animation-delay,animation-iteration-count,animation-direction,text-align,text-align-last,vertical-align,white-space,text-decoration,text-emphasis,text-emphasis-color,text-emphasis-style,text-emphasis-position,text-indent,text-justify,letter-spacing,word-spacing,text-outline,text-transform,text-wrap,text-overflow,text-overflow-ellipsis,text-overflow-mode,word-wrap,word-break,tab-size,hyphens,pointer-events,opacity,color,border,border-width,border-style,border-color,border-top,border-top-width,border-top-style,border-top-color,border-right,border-right-width,border-right-style,border-right-color,border-bottom,border-bottom-width,border-bottom-style,border-bottom-color,border-left,border-left-width,border-left-style,border-left-color,border-radius,border-top-left-radius,border-top-right-radius,border-bottom-right-radius,border-bottom-left-radius,border-image,border-image-source,border-image-slice,border-image-width,border-image-outset,border-image-repeat,outline,outline-width,outline-style,outline-color,outline-offset,background,background-color,background-image,background-repeat,background-attachment,background-position,background-position-x,background-position-y,background-clip,background-origin,background-size,box-decoration-break,box-shadow,text-shadow +ij_scss_space_after_colon = true +ij_scss_space_before_opening_brace = true +ij_scss_use_double_quotes = true +ij_scss_value_alignment = 0 + +[*.styl] +tab_width = 4 +ij_continuation_indent_size = 8 +ij_stylus_align_closing_brace_with_properties = false +ij_stylus_blank_lines_around_nested_selector = 1 +ij_stylus_blank_lines_between_blocks = 1 +ij_stylus_brace_placement = 0 +ij_stylus_enforce_quotes_on_format = false +ij_stylus_hex_color_long_format = false +ij_stylus_hex_color_lower_case = false +ij_stylus_hex_color_short_format = false +ij_stylus_hex_color_upper_case = false +ij_stylus_keep_blank_lines_in_code = 2 +ij_stylus_keep_indents_on_empty_lines = false +ij_stylus_keep_single_line_blocks = false +ij_stylus_properties_order = font,font-family,font-size,font-weight,font-style,font-variant,font-size-adjust,font-stretch,line-height,position,z-index,top,right,bottom,left,display,visibility,float,clear,overflow,overflow-x,overflow-y,clip,zoom,align-content,align-items,align-self,flex,flex-flow,flex-basis,flex-direction,flex-grow,flex-shrink,flex-wrap,justify-content,order,box-sizing,width,min-width,max-width,height,min-height,max-height,margin,margin-top,margin-right,margin-bottom,margin-left,padding,padding-top,padding-right,padding-bottom,padding-left,table-layout,empty-cells,caption-side,border-spacing,border-collapse,list-style,list-style-position,list-style-type,list-style-image,content,quotes,counter-reset,counter-increment,resize,cursor,user-select,nav-index,nav-up,nav-right,nav-down,nav-left,transition,transition-delay,transition-timing-function,transition-duration,transition-property,transform,transform-origin,animation,animation-name,animation-duration,animation-play-state,animation-timing-function,animation-delay,animation-iteration-count,animation-direction,text-align,text-align-last,vertical-align,white-space,text-decoration,text-emphasis,text-emphasis-color,text-emphasis-style,text-emphasis-position,text-indent,text-justify,letter-spacing,word-spacing,text-outline,text-transform,text-wrap,text-overflow,text-overflow-ellipsis,text-overflow-mode,word-wrap,word-break,tab-size,hyphens,pointer-events,opacity,color,border,border-width,border-style,border-color,border-top,border-top-width,border-top-style,border-top-color,border-right,border-right-width,border-right-style,border-right-color,border-bottom,border-bottom-width,border-bottom-style,border-bottom-color,border-left,border-left-width,border-left-style,border-left-color,border-radius,border-top-left-radius,border-top-right-radius,border-bottom-right-radius,border-bottom-left-radius,border-image,border-image-source,border-image-slice,border-image-width,border-image-outset,border-image-repeat,outline,outline-width,outline-style,outline-color,outline-offset,background,background-color,background-image,background-repeat,background-attachment,background-position,background-position-x,background-position-y,background-clip,background-origin,background-size,box-decoration-break,box-shadow,text-shadow +ij_stylus_space_after_colon = true +ij_stylus_space_before_opening_brace = true +ij_stylus_use_double_quotes = true +ij_stylus_value_alignment = 0 + +[.editorconfig] +ij_editorconfig_align_group_field_declarations = false +ij_editorconfig_space_after_colon = false +ij_editorconfig_space_after_comma = true +ij_editorconfig_space_before_colon = false +ij_editorconfig_space_before_comma = false +ij_editorconfig_spaces_around_assignment_operators = true + +[{*.ad,*.adoc,*.asciidoc,.asciidoctorconfig}] +ij_asciidoc_blank_lines_after_header = 1 +ij_asciidoc_blank_lines_keep_after_header = 1 +ij_asciidoc_formatting_enabled = true +ij_asciidoc_one_sentence_per_line = true + +[{*.ant,*.fxml,*.jhm,*.jnlp,*.jrxml,*.pom,*.rng,*.tld,*.wadl,*.wsdd,*.wsdl,*.xjb,*.xml,*.xsd,*.xsl,*.xslt,*.xul}] +ij_continuation_indent_size = 2 +ij_xml_align_attributes = false +ij_xml_align_text = false +ij_xml_attribute_wrap = normal +ij_xml_block_comment_at_first_column = true +ij_xml_keep_blank_lines = 2 +ij_xml_keep_indents_on_empty_lines = false +ij_xml_keep_line_breaks = true +ij_xml_keep_line_breaks_in_text = true +ij_xml_keep_whitespaces = false +ij_xml_keep_whitespaces_around_cdata = preserve +ij_xml_keep_whitespaces_inside_cdata = false +ij_xml_line_comment_at_first_column = true +ij_xml_space_after_tag_name = false +ij_xml_space_around_equals_in_attribute = false +ij_xml_space_inside_empty_tag = false +ij_xml_text_wrap = normal + +[{*.ats,*.ts,timers}] +ij_typescript_align_imports = false +ij_typescript_align_multiline_array_initializer_expression = false +ij_typescript_align_multiline_binary_operation = false +ij_typescript_align_multiline_chained_methods = false +ij_typescript_align_multiline_extends_list = false +ij_typescript_align_multiline_for = true +ij_typescript_align_multiline_parameters = true +ij_typescript_align_multiline_parameters_in_calls = false +ij_typescript_align_multiline_ternary_operation = false +ij_typescript_align_object_properties = 0 +ij_typescript_align_union_types = false +ij_typescript_align_var_statements = 0 +ij_typescript_array_initializer_new_line_after_left_brace = false +ij_typescript_array_initializer_right_brace_on_new_line = false +ij_typescript_array_initializer_wrap = off +ij_typescript_assignment_wrap = off +ij_typescript_binary_operation_sign_on_next_line = false +ij_typescript_binary_operation_wrap = off +ij_typescript_blacklist_imports = rxjs/Rx,node_modules/**,**/node_modules/**,@angular/material,@angular/material/typings/** +ij_typescript_blank_lines_after_imports = 1 +ij_typescript_blank_lines_around_class = 1 +ij_typescript_blank_lines_around_field = 0 +ij_typescript_blank_lines_around_field_in_interface = 0 +ij_typescript_blank_lines_around_function = 1 +ij_typescript_blank_lines_around_method = 1 +ij_typescript_blank_lines_around_method_in_interface = 1 +ij_typescript_block_brace_style = end_of_line +ij_typescript_call_parameters_new_line_after_left_paren = false +ij_typescript_call_parameters_right_paren_on_new_line = false +ij_typescript_call_parameters_wrap = off +ij_typescript_catch_on_new_line = false +ij_typescript_chained_call_dot_on_new_line = true +ij_typescript_class_brace_style = end_of_line +ij_typescript_comma_on_new_line = false +ij_typescript_do_while_brace_force = never +ij_typescript_else_on_new_line = false +ij_typescript_enforce_trailing_comma = keep +ij_typescript_extends_keyword_wrap = off +ij_typescript_extends_list_wrap = off +ij_typescript_field_prefix = _ +ij_typescript_file_name_style = relaxed +ij_typescript_finally_on_new_line = false +ij_typescript_for_brace_force = never +ij_typescript_for_statement_new_line_after_left_paren = false +ij_typescript_for_statement_right_paren_on_new_line = false +ij_typescript_for_statement_wrap = off +ij_typescript_force_quote_style = false +ij_typescript_force_semicolon_style = false +ij_typescript_function_expression_brace_style = end_of_line +ij_typescript_if_brace_force = never +ij_typescript_import_merge_members = global +ij_typescript_import_prefer_absolute_path = global +ij_typescript_import_sort_members = true +ij_typescript_import_sort_module_name = false +ij_typescript_import_use_node_resolution = true +ij_typescript_imports_wrap = on_every_item +ij_typescript_indent_case_from_switch = true +ij_typescript_indent_chained_calls = false +ij_typescript_indent_package_children = 0 +ij_typescript_jsdoc_include_types = false +ij_typescript_jsx_attribute_value = braces +ij_typescript_keep_blank_lines_in_code = 2 +ij_typescript_keep_first_column_comment = true +ij_typescript_keep_indents_on_empty_lines = false +ij_typescript_keep_line_breaks = true +ij_typescript_keep_simple_blocks_in_one_line = false +ij_typescript_keep_simple_methods_in_one_line = false +ij_typescript_line_comment_add_space = true +ij_typescript_line_comment_at_first_column = false +ij_typescript_method_brace_style = end_of_line +ij_typescript_method_call_chain_wrap = off +ij_typescript_method_parameters_new_line_after_left_paren = false +ij_typescript_method_parameters_right_paren_on_new_line = false +ij_typescript_method_parameters_wrap = off +ij_typescript_object_literal_wrap = on_every_item +ij_typescript_parentheses_expression_new_line_after_left_paren = false +ij_typescript_parentheses_expression_right_paren_on_new_line = false +ij_typescript_place_assignment_sign_on_next_line = false +ij_typescript_prefer_as_type_cast = false +ij_typescript_prefer_explicit_types_function_expression_returns = false +ij_typescript_prefer_explicit_types_function_returns = false +ij_typescript_prefer_explicit_types_vars_fields = false +ij_typescript_prefer_parameters_wrap = false +ij_typescript_reformat_c_style_comments = false +ij_typescript_space_after_colon = true +ij_typescript_space_after_comma = true +ij_typescript_space_after_dots_in_rest_parameter = false +ij_typescript_space_after_generator_mult = true +ij_typescript_space_after_property_colon = true +ij_typescript_space_after_quest = true +ij_typescript_space_after_type_colon = true +ij_typescript_space_after_unary_not = false +ij_typescript_space_before_async_arrow_lparen = true +ij_typescript_space_before_catch_keyword = true +ij_typescript_space_before_catch_left_brace = true +ij_typescript_space_before_catch_parentheses = true +ij_typescript_space_before_class_lbrace = true +ij_typescript_space_before_class_left_brace = true +ij_typescript_space_before_colon = true +ij_typescript_space_before_comma = false +ij_typescript_space_before_do_left_brace = true +ij_typescript_space_before_else_keyword = true +ij_typescript_space_before_else_left_brace = true +ij_typescript_space_before_finally_keyword = true +ij_typescript_space_before_finally_left_brace = true +ij_typescript_space_before_for_left_brace = true +ij_typescript_space_before_for_parentheses = true +ij_typescript_space_before_for_semicolon = false +ij_typescript_space_before_function_left_parenth = true +ij_typescript_space_before_generator_mult = false +ij_typescript_space_before_if_left_brace = true +ij_typescript_space_before_if_parentheses = true +ij_typescript_space_before_method_call_parentheses = false +ij_typescript_space_before_method_left_brace = true +ij_typescript_space_before_method_parentheses = false +ij_typescript_space_before_property_colon = false +ij_typescript_space_before_quest = true +ij_typescript_space_before_switch_left_brace = true +ij_typescript_space_before_switch_parentheses = true +ij_typescript_space_before_try_left_brace = true +ij_typescript_space_before_type_colon = false +ij_typescript_space_before_unary_not = false +ij_typescript_space_before_while_keyword = true +ij_typescript_space_before_while_left_brace = true +ij_typescript_space_before_while_parentheses = true +ij_typescript_spaces_around_additive_operators = true +ij_typescript_spaces_around_arrow_function_operator = true +ij_typescript_spaces_around_assignment_operators = true +ij_typescript_spaces_around_bitwise_operators = true +ij_typescript_spaces_around_equality_operators = true +ij_typescript_spaces_around_logical_operators = true +ij_typescript_spaces_around_multiplicative_operators = true +ij_typescript_spaces_around_relational_operators = true +ij_typescript_spaces_around_shift_operators = true +ij_typescript_spaces_around_unary_operator = false +ij_typescript_spaces_within_array_initializer_brackets = false +ij_typescript_spaces_within_brackets = false +ij_typescript_spaces_within_catch_parentheses = false +ij_typescript_spaces_within_for_parentheses = false +ij_typescript_spaces_within_if_parentheses = false +ij_typescript_spaces_within_imports = false +ij_typescript_spaces_within_interpolation_expressions = false +ij_typescript_spaces_within_method_call_parentheses = false +ij_typescript_spaces_within_method_parentheses = false +ij_typescript_spaces_within_object_literal_braces = false +ij_typescript_spaces_within_object_type_braces = true +ij_typescript_spaces_within_parentheses = false +ij_typescript_spaces_within_switch_parentheses = false +ij_typescript_spaces_within_type_assertion = false +ij_typescript_spaces_within_union_types = true +ij_typescript_spaces_within_while_parentheses = false +ij_typescript_special_else_if_treatment = true +ij_typescript_ternary_operation_signs_on_next_line = false +ij_typescript_ternary_operation_wrap = off +ij_typescript_union_types_wrap = on_every_item +ij_typescript_use_chained_calls_group_indents = false +ij_typescript_use_double_quotes = true +ij_typescript_use_explicit_js_extension = global +ij_typescript_use_path_mapping = always +ij_typescript_use_public_modifier = false +ij_typescript_use_semicolon_after_statement = true +ij_typescript_var_declaration_wrap = normal +ij_typescript_while_brace_force = never +ij_typescript_while_on_new_line = false +ij_typescript_wrap_comments = false + +[{*.bash,*.sh,*.zsh}] +ij_shell_binary_ops_start_line = false +ij_shell_keep_column_alignment_padding = false +ij_shell_minify_program = false +ij_shell_redirect_followed_by_space = false +ij_shell_switch_cases_indented = false +ij_shell_use_unix_line_separator = true + +[{*.cjs,*.js}] +ij_javascript_align_imports = false +ij_javascript_align_multiline_array_initializer_expression = false +ij_javascript_align_multiline_binary_operation = false +ij_javascript_align_multiline_chained_methods = false +ij_javascript_align_multiline_extends_list = false +ij_javascript_align_multiline_for = false +ij_javascript_align_multiline_parameters = false +ij_javascript_align_multiline_parameters_in_calls = false +ij_javascript_align_multiline_ternary_operation = false +ij_javascript_align_object_properties = 0 +ij_javascript_align_union_types = false +ij_javascript_align_var_statements = 0 +ij_javascript_array_initializer_new_line_after_left_brace = false +ij_javascript_array_initializer_right_brace_on_new_line = false +ij_javascript_array_initializer_wrap = normal +ij_javascript_assignment_wrap = off +ij_javascript_binary_operation_sign_on_next_line = true +ij_javascript_binary_operation_wrap = normal +ij_javascript_blacklist_imports = rxjs/Rx,node_modules/**,**/node_modules/**,@angular/material,@angular/material/typings/** +ij_javascript_blank_lines_after_imports = 1 +ij_javascript_blank_lines_around_class = 1 +ij_javascript_blank_lines_around_field = 0 +ij_javascript_blank_lines_around_function = 1 +ij_javascript_blank_lines_around_method = 1 +ij_javascript_block_brace_style = end_of_line +ij_javascript_call_parameters_new_line_after_left_paren = false +ij_javascript_call_parameters_right_paren_on_new_line = false +ij_javascript_call_parameters_wrap = normal +ij_javascript_catch_on_new_line = false +ij_javascript_chained_call_dot_on_new_line = true +ij_javascript_class_brace_style = end_of_line +ij_javascript_comma_on_new_line = false +ij_javascript_do_while_brace_force = always +ij_javascript_else_on_new_line = false +ij_javascript_enforce_trailing_comma = keep +ij_javascript_extends_keyword_wrap = off +ij_javascript_extends_list_wrap = off +ij_javascript_field_prefix = _ +ij_javascript_file_name_style = relaxed +ij_javascript_finally_on_new_line = false +ij_javascript_for_brace_force = always +ij_javascript_for_statement_new_line_after_left_paren = false +ij_javascript_for_statement_right_paren_on_new_line = false +ij_javascript_for_statement_wrap = normal +ij_javascript_force_quote_style = false +ij_javascript_force_semicolon_style = false +ij_javascript_function_expression_brace_style = end_of_line +ij_javascript_if_brace_force = always +ij_javascript_import_merge_members = global +ij_javascript_import_prefer_absolute_path = global +ij_javascript_import_sort_members = true +ij_javascript_import_sort_module_name = false +ij_javascript_import_use_node_resolution = true +ij_javascript_imports_wrap = on_every_item +ij_javascript_indent_case_from_switch = true +ij_javascript_indent_chained_calls = false +ij_javascript_indent_package_children = 0 +ij_javascript_jsx_attribute_value = braces +ij_javascript_keep_blank_lines_in_code = 1 +ij_javascript_keep_first_column_comment = true +ij_javascript_keep_indents_on_empty_lines = false +ij_javascript_keep_line_breaks = true +ij_javascript_keep_simple_blocks_in_one_line = false +ij_javascript_keep_simple_methods_in_one_line = false +ij_javascript_line_comment_add_space = true +ij_javascript_line_comment_at_first_column = false +ij_javascript_method_brace_style = end_of_line +ij_javascript_method_call_chain_wrap = off +ij_javascript_method_parameters_new_line_after_left_paren = false +ij_javascript_method_parameters_right_paren_on_new_line = false +ij_javascript_method_parameters_wrap = normal +ij_javascript_object_literal_wrap = on_every_item +ij_javascript_parentheses_expression_new_line_after_left_paren = false +ij_javascript_parentheses_expression_right_paren_on_new_line = false +ij_javascript_place_assignment_sign_on_next_line = false +ij_javascript_prefer_as_type_cast = false +ij_javascript_prefer_explicit_types_function_expression_returns = false +ij_javascript_prefer_explicit_types_function_returns = false +ij_javascript_prefer_explicit_types_vars_fields = false +ij_javascript_prefer_parameters_wrap = false +ij_javascript_reformat_c_style_comments = false +ij_javascript_space_after_colon = true +ij_javascript_space_after_comma = true +ij_javascript_space_after_dots_in_rest_parameter = false +ij_javascript_space_after_generator_mult = true +ij_javascript_space_after_property_colon = true +ij_javascript_space_after_quest = true +ij_javascript_space_after_type_colon = true +ij_javascript_space_after_unary_not = false +ij_javascript_space_before_async_arrow_lparen = true +ij_javascript_space_before_catch_keyword = true +ij_javascript_space_before_catch_left_brace = true +ij_javascript_space_before_catch_parentheses = true +ij_javascript_space_before_class_lbrace = true +ij_javascript_space_before_class_left_brace = true +ij_javascript_space_before_colon = true +ij_javascript_space_before_comma = false +ij_javascript_space_before_do_left_brace = true +ij_javascript_space_before_else_keyword = true +ij_javascript_space_before_else_left_brace = true +ij_javascript_space_before_finally_keyword = true +ij_javascript_space_before_finally_left_brace = true +ij_javascript_space_before_for_left_brace = true +ij_javascript_space_before_for_parentheses = true +ij_javascript_space_before_for_semicolon = false +ij_javascript_space_before_function_left_parenth = true +ij_javascript_space_before_generator_mult = false +ij_javascript_space_before_if_left_brace = true +ij_javascript_space_before_if_parentheses = true +ij_javascript_space_before_method_call_parentheses = false +ij_javascript_space_before_method_left_brace = true +ij_javascript_space_before_method_parentheses = false +ij_javascript_space_before_property_colon = false +ij_javascript_space_before_quest = true +ij_javascript_space_before_switch_left_brace = true +ij_javascript_space_before_switch_parentheses = true +ij_javascript_space_before_try_left_brace = true +ij_javascript_space_before_type_colon = false +ij_javascript_space_before_unary_not = false +ij_javascript_space_before_while_keyword = true +ij_javascript_space_before_while_left_brace = true +ij_javascript_space_before_while_parentheses = true +ij_javascript_spaces_around_additive_operators = true +ij_javascript_spaces_around_arrow_function_operator = true +ij_javascript_spaces_around_assignment_operators = true +ij_javascript_spaces_around_bitwise_operators = true +ij_javascript_spaces_around_equality_operators = true +ij_javascript_spaces_around_logical_operators = true +ij_javascript_spaces_around_multiplicative_operators = true +ij_javascript_spaces_around_relational_operators = true +ij_javascript_spaces_around_shift_operators = true +ij_javascript_spaces_around_unary_operator = false +ij_javascript_spaces_within_array_initializer_brackets = false +ij_javascript_spaces_within_brackets = false +ij_javascript_spaces_within_catch_parentheses = false +ij_javascript_spaces_within_for_parentheses = false +ij_javascript_spaces_within_if_parentheses = false +ij_javascript_spaces_within_imports = false +ij_javascript_spaces_within_interpolation_expressions = false +ij_javascript_spaces_within_method_call_parentheses = false +ij_javascript_spaces_within_method_parentheses = false +ij_javascript_spaces_within_object_literal_braces = false +ij_javascript_spaces_within_object_type_braces = true +ij_javascript_spaces_within_parentheses = false +ij_javascript_spaces_within_switch_parentheses = false +ij_javascript_spaces_within_type_assertion = false +ij_javascript_spaces_within_union_types = true +ij_javascript_spaces_within_while_parentheses = false +ij_javascript_special_else_if_treatment = true +ij_javascript_ternary_operation_signs_on_next_line = true +ij_javascript_ternary_operation_wrap = normal +ij_javascript_union_types_wrap = on_every_item +ij_javascript_use_chained_calls_group_indents = false +ij_javascript_use_double_quotes = true +ij_javascript_use_explicit_js_extension = global +ij_javascript_use_path_mapping = always +ij_javascript_use_public_modifier = false +ij_javascript_use_semicolon_after_statement = true +ij_javascript_var_declaration_wrap = normal +ij_javascript_while_brace_force = always +ij_javascript_while_on_new_line = false +ij_javascript_wrap_comments = false + +[{*.ft,*.vm,*.vsl}] +indent_size = 4 +tab_width = 4 +ij_continuation_indent_size = 8 +ij_vtl_keep_indents_on_empty_lines = false + +[{*.gant,*.gradle,*.groovy,*.gson,*.gy}] +indent_size = 4 +tab_width = 4 +ij_continuation_indent_size = 8 +ij_groovy_align_group_field_declarations = false +ij_groovy_align_multiline_array_initializer_expression = false +ij_groovy_align_multiline_assignment = false +ij_groovy_align_multiline_binary_operation = false +ij_groovy_align_multiline_chained_methods = false +ij_groovy_align_multiline_extends_list = false +ij_groovy_align_multiline_for = true +ij_groovy_align_multiline_list_or_map = true +ij_groovy_align_multiline_method_parentheses = false +ij_groovy_align_multiline_parameters = true +ij_groovy_align_multiline_parameters_in_calls = false +ij_groovy_align_multiline_resources = true +ij_groovy_align_multiline_ternary_operation = false +ij_groovy_align_multiline_throws_list = false +ij_groovy_align_named_args_in_map = true +ij_groovy_align_throws_keyword = false +ij_groovy_array_initializer_new_line_after_left_brace = false +ij_groovy_array_initializer_right_brace_on_new_line = false +ij_groovy_array_initializer_wrap = off +ij_groovy_assert_statement_wrap = off +ij_groovy_assignment_wrap = off +ij_groovy_binary_operation_wrap = off +ij_groovy_blank_lines_after_class_header = 0 +ij_groovy_blank_lines_after_imports = 1 +ij_groovy_blank_lines_after_package = 1 +ij_groovy_blank_lines_around_class = 1 +ij_groovy_blank_lines_around_field = 0 +ij_groovy_blank_lines_around_field_in_interface = 0 +ij_groovy_blank_lines_around_method = 1 +ij_groovy_blank_lines_around_method_in_interface = 1 +ij_groovy_blank_lines_before_imports = 1 +ij_groovy_blank_lines_before_method_body = 0 +ij_groovy_blank_lines_before_package = 0 +ij_groovy_block_brace_style = end_of_line +ij_groovy_block_comment_at_first_column = true +ij_groovy_call_parameters_new_line_after_left_paren = false +ij_groovy_call_parameters_right_paren_on_new_line = false +ij_groovy_call_parameters_wrap = off +ij_groovy_catch_on_new_line = false +ij_groovy_class_annotation_wrap = split_into_lines +ij_groovy_class_brace_style = end_of_line +ij_groovy_class_count_to_use_import_on_demand = 5 +ij_groovy_do_while_brace_force = never +ij_groovy_else_on_new_line = false +ij_groovy_enum_constants_wrap = off +ij_groovy_extends_keyword_wrap = off +ij_groovy_extends_list_wrap = off +ij_groovy_field_annotation_wrap = split_into_lines +ij_groovy_finally_on_new_line = false +ij_groovy_for_brace_force = never +ij_groovy_for_statement_new_line_after_left_paren = false +ij_groovy_for_statement_right_paren_on_new_line = false +ij_groovy_for_statement_wrap = off +ij_groovy_if_brace_force = never +ij_groovy_import_annotation_wrap = 2 +ij_groovy_imports_layout = *,|,javax.**,java.**,|,$* +ij_groovy_indent_case_from_switch = true +ij_groovy_indent_label_blocks = true +ij_groovy_insert_inner_class_imports = false +ij_groovy_keep_blank_lines_before_right_brace = 2 +ij_groovy_keep_blank_lines_in_code = 2 +ij_groovy_keep_blank_lines_in_declarations = 2 +ij_groovy_keep_control_statement_in_one_line = true +ij_groovy_keep_first_column_comment = true +ij_groovy_keep_indents_on_empty_lines = false +ij_groovy_keep_line_breaks = true +ij_groovy_keep_multiple_expressions_in_one_line = false +ij_groovy_keep_simple_blocks_in_one_line = false +ij_groovy_keep_simple_classes_in_one_line = true +ij_groovy_keep_simple_lambdas_in_one_line = true +ij_groovy_keep_simple_methods_in_one_line = true +ij_groovy_label_indent_absolute = false +ij_groovy_label_indent_size = 0 +ij_groovy_lambda_brace_style = end_of_line +ij_groovy_layout_static_imports_separately = true +ij_groovy_line_comment_add_space = false +ij_groovy_line_comment_at_first_column = true +ij_groovy_method_annotation_wrap = split_into_lines +ij_groovy_method_brace_style = end_of_line +ij_groovy_method_call_chain_wrap = off +ij_groovy_method_parameters_new_line_after_left_paren = false +ij_groovy_method_parameters_right_paren_on_new_line = false +ij_groovy_method_parameters_wrap = off +ij_groovy_modifier_list_wrap = false +ij_groovy_names_count_to_use_import_on_demand = 3 +ij_groovy_parameter_annotation_wrap = off +ij_groovy_parentheses_expression_new_line_after_left_paren = false +ij_groovy_parentheses_expression_right_paren_on_new_line = false +ij_groovy_prefer_parameters_wrap = false +ij_groovy_resource_list_new_line_after_left_paren = false +ij_groovy_resource_list_right_paren_on_new_line = false +ij_groovy_resource_list_wrap = off +ij_groovy_space_after_assert_separator = true +ij_groovy_space_after_colon = true +ij_groovy_space_after_comma = true +ij_groovy_space_after_comma_in_type_arguments = true +ij_groovy_space_after_for_semicolon = true +ij_groovy_space_after_quest = true +ij_groovy_space_after_type_cast = true +ij_groovy_space_before_annotation_parameter_list = false +ij_groovy_space_before_array_initializer_left_brace = false +ij_groovy_space_before_assert_separator = false +ij_groovy_space_before_catch_keyword = true +ij_groovy_space_before_catch_left_brace = true +ij_groovy_space_before_catch_parentheses = true +ij_groovy_space_before_class_left_brace = true +ij_groovy_space_before_closure_left_brace = true +ij_groovy_space_before_colon = true +ij_groovy_space_before_comma = false +ij_groovy_space_before_do_left_brace = true +ij_groovy_space_before_else_keyword = true +ij_groovy_space_before_else_left_brace = true +ij_groovy_space_before_finally_keyword = true +ij_groovy_space_before_finally_left_brace = true +ij_groovy_space_before_for_left_brace = true +ij_groovy_space_before_for_parentheses = true +ij_groovy_space_before_for_semicolon = false +ij_groovy_space_before_if_left_brace = true +ij_groovy_space_before_if_parentheses = true +ij_groovy_space_before_method_call_parentheses = false +ij_groovy_space_before_method_left_brace = true +ij_groovy_space_before_method_parentheses = false +ij_groovy_space_before_quest = true +ij_groovy_space_before_switch_left_brace = true +ij_groovy_space_before_switch_parentheses = true +ij_groovy_space_before_synchronized_left_brace = true +ij_groovy_space_before_synchronized_parentheses = true +ij_groovy_space_before_try_left_brace = true +ij_groovy_space_before_try_parentheses = true +ij_groovy_space_before_while_keyword = true +ij_groovy_space_before_while_left_brace = true +ij_groovy_space_before_while_parentheses = true +ij_groovy_space_in_named_argument = true +ij_groovy_space_in_named_argument_before_colon = false +ij_groovy_space_within_empty_array_initializer_braces = false +ij_groovy_space_within_empty_method_call_parentheses = false +ij_groovy_spaces_around_additive_operators = true +ij_groovy_spaces_around_assignment_operators = true +ij_groovy_spaces_around_bitwise_operators = true +ij_groovy_spaces_around_equality_operators = true +ij_groovy_spaces_around_lambda_arrow = true +ij_groovy_spaces_around_logical_operators = true +ij_groovy_spaces_around_multiplicative_operators = true +ij_groovy_spaces_around_regex_operators = true +ij_groovy_spaces_around_relational_operators = true +ij_groovy_spaces_around_shift_operators = true +ij_groovy_spaces_within_annotation_parentheses = false +ij_groovy_spaces_within_array_initializer_braces = false +ij_groovy_spaces_within_braces = true +ij_groovy_spaces_within_brackets = false +ij_groovy_spaces_within_cast_parentheses = false +ij_groovy_spaces_within_catch_parentheses = false +ij_groovy_spaces_within_for_parentheses = false +ij_groovy_spaces_within_gstring_injection_braces = false +ij_groovy_spaces_within_if_parentheses = false +ij_groovy_spaces_within_list_or_map = false +ij_groovy_spaces_within_method_call_parentheses = false +ij_groovy_spaces_within_method_parentheses = false +ij_groovy_spaces_within_parentheses = false +ij_groovy_spaces_within_switch_parentheses = false +ij_groovy_spaces_within_synchronized_parentheses = false +ij_groovy_spaces_within_try_parentheses = false +ij_groovy_spaces_within_tuple_expression = false +ij_groovy_spaces_within_while_parentheses = false +ij_groovy_special_else_if_treatment = true +ij_groovy_ternary_operation_wrap = off +ij_groovy_throws_keyword_wrap = off +ij_groovy_throws_list_wrap = off +ij_groovy_use_flying_geese_braces = false +ij_groovy_use_fq_class_names = false +ij_groovy_use_fq_class_names_in_javadoc = true +ij_groovy_use_relative_indents = false +ij_groovy_use_single_class_imports = true +ij_groovy_variable_annotation_wrap = off +ij_groovy_while_brace_force = never +ij_groovy_while_on_new_line = false +ij_groovy_wrap_chain_calls_after_dot = false +ij_groovy_wrap_long_lines = false + +[{*.glstex,*.tex}] +indent_size = 4 +tab_width = 4 +ij_continuation_indent_size = 8 +ij_latex_keep_first_column_comment = true +ij_latex_keep_indents_on_empty_lines = false +ij_latex_line_comment_add_space = false +ij_latex_line_comment_at_first_column = true +ij_latex_wrap_long_lines = false + +[{*.gradle.kts,*.kt,*.kts,*.main.kts,*.space.kts}] +indent_size = 4 +tab_width = 4 +ij_continuation_indent_size = 8 +ij_kotlin_align_in_columns_case_branch = false +ij_kotlin_align_multiline_binary_operation = false +ij_kotlin_align_multiline_extends_list = false +ij_kotlin_align_multiline_method_parentheses = false +ij_kotlin_align_multiline_parameters = true +ij_kotlin_align_multiline_parameters_in_calls = false +ij_kotlin_allow_trailing_comma = false +ij_kotlin_allow_trailing_comma_on_call_site = false +ij_kotlin_assignment_wrap = off +ij_kotlin_blank_lines_after_class_header = 0 +ij_kotlin_blank_lines_around_block_when_branches = 0 +ij_kotlin_blank_lines_before_declaration_with_comment_or_annotation_on_separate_line = 1 +ij_kotlin_block_comment_at_first_column = true +ij_kotlin_call_parameters_new_line_after_left_paren = false +ij_kotlin_call_parameters_right_paren_on_new_line = false +ij_kotlin_call_parameters_wrap = off +ij_kotlin_catch_on_new_line = false +ij_kotlin_class_annotation_wrap = split_into_lines +ij_kotlin_continuation_indent_for_chained_calls = true +ij_kotlin_continuation_indent_for_expression_bodies = true +ij_kotlin_continuation_indent_in_argument_lists = true +ij_kotlin_continuation_indent_in_elvis = true +ij_kotlin_continuation_indent_in_if_conditions = true +ij_kotlin_continuation_indent_in_parameter_lists = true +ij_kotlin_continuation_indent_in_supertype_lists = true +ij_kotlin_else_on_new_line = false +ij_kotlin_enum_constants_wrap = off +ij_kotlin_extends_list_wrap = off +ij_kotlin_field_annotation_wrap = split_into_lines +ij_kotlin_finally_on_new_line = false +ij_kotlin_if_rparen_on_new_line = false +ij_kotlin_import_nested_classes = false +ij_kotlin_imports_layout = *,java.**,javax.**,kotlin.**,^ +ij_kotlin_insert_whitespaces_in_simple_one_line_method = true +ij_kotlin_keep_blank_lines_before_right_brace = 2 +ij_kotlin_keep_blank_lines_in_code = 2 +ij_kotlin_keep_blank_lines_in_declarations = 2 +ij_kotlin_keep_first_column_comment = true +ij_kotlin_keep_indents_on_empty_lines = false +ij_kotlin_keep_line_breaks = true +ij_kotlin_lbrace_on_next_line = false +ij_kotlin_line_comment_add_space = false +ij_kotlin_line_comment_at_first_column = true +ij_kotlin_method_annotation_wrap = split_into_lines +ij_kotlin_method_call_chain_wrap = off +ij_kotlin_method_parameters_new_line_after_left_paren = false +ij_kotlin_method_parameters_right_paren_on_new_line = false +ij_kotlin_method_parameters_wrap = off +ij_kotlin_name_count_to_use_star_import = 5 +ij_kotlin_name_count_to_use_star_import_for_members = 3 +ij_kotlin_packages_to_use_import_on_demand = java.util.*,kotlinx.android.synthetic.**,io.ktor.** +ij_kotlin_parameter_annotation_wrap = off +ij_kotlin_space_after_comma = true +ij_kotlin_space_after_extend_colon = true +ij_kotlin_space_after_type_colon = true +ij_kotlin_space_before_catch_parentheses = true +ij_kotlin_space_before_comma = false +ij_kotlin_space_before_extend_colon = true +ij_kotlin_space_before_for_parentheses = true +ij_kotlin_space_before_if_parentheses = true +ij_kotlin_space_before_lambda_arrow = true +ij_kotlin_space_before_type_colon = false +ij_kotlin_space_before_when_parentheses = true +ij_kotlin_space_before_while_parentheses = true +ij_kotlin_spaces_around_additive_operators = true +ij_kotlin_spaces_around_assignment_operators = true +ij_kotlin_spaces_around_equality_operators = true +ij_kotlin_spaces_around_function_type_arrow = true +ij_kotlin_spaces_around_logical_operators = true +ij_kotlin_spaces_around_multiplicative_operators = true +ij_kotlin_spaces_around_range = false +ij_kotlin_spaces_around_relational_operators = true +ij_kotlin_spaces_around_unary_operator = false +ij_kotlin_spaces_around_when_arrow = true +ij_kotlin_variable_annotation_wrap = off +ij_kotlin_while_on_new_line = false +ij_kotlin_wrap_elvis_expressions = 1 +ij_kotlin_wrap_expression_body_functions = 0 +ij_kotlin_wrap_first_method_in_call_chain = false + +[{*.har,*.jsb2,*.jsb3,*.json,.babelrc,.eslintrc,.stylelintrc,bowerrc,jest.config}] +ij_json_keep_blank_lines_in_code = 0 +ij_json_keep_indents_on_empty_lines = false +ij_json_keep_line_breaks = true +ij_json_space_after_colon = true +ij_json_space_after_comma = true +ij_json_space_before_colon = true +ij_json_space_before_comma = false +ij_json_spaces_within_braces = false +ij_json_spaces_within_brackets = false +ij_json_wrap_long_lines = false + +[{*.htm,*.html,*.ng,*.sht,*.shtm,*.shtml}] +ij_html_add_new_line_before_tags = body,div,p,form,h1,h2,h3 +ij_html_align_attributes = true +ij_html_align_text = false +ij_html_attribute_wrap = normal +ij_html_block_comment_at_first_column = true +ij_html_do_not_align_children_of_min_lines = 0 +ij_html_do_not_break_if_inline_tags = title,h1,h2,h3,h4,h5,h6,p +ij_html_do_not_indent_children_of_tags = html,body,thead,tbody,tfoot +ij_html_enforce_quotes = false +ij_html_inline_tags = a,abbr,acronym,b,basefont,bdo,big,br,cite,cite,code,dfn,em,font,i,img,input,kbd,label,q,s,samp,select,small,span,strike,strong,sub,sup,textarea,tt,u,var +ij_html_keep_blank_lines = 2 +ij_html_keep_indents_on_empty_lines = false +ij_html_keep_line_breaks = true +ij_html_keep_line_breaks_in_text = true +ij_html_keep_whitespaces = false +ij_html_keep_whitespaces_inside = span,pre,textarea +ij_html_line_comment_at_first_column = true +ij_html_new_line_after_last_attribute = never +ij_html_new_line_before_first_attribute = never +ij_html_quote_style = double +ij_html_remove_new_line_before_tags = br +ij_html_space_after_tag_name = false +ij_html_space_around_equality_in_attribute = false +ij_html_space_inside_empty_tag = false +ij_html_text_wrap = normal + +[{*.jsf,*.jsp,*.jspf,*.tag,*.tagf,*.xjsp}] +indent_size = 4 +tab_width = 4 +ij_continuation_indent_size = 8 +ij_jsp_jsp_prefer_comma_separated_import_list = false +ij_jsp_keep_indents_on_empty_lines = false + +[{*.jspx,*.tagx}] +indent_size = 4 +tab_width = 4 +ij_continuation_indent_size = 8 +ij_jspx_keep_indents_on_empty_lines = false + +[{*.markdown,*.md}] +indent_size = 4 +tab_width = 4 +ij_continuation_indent_size = 8 +ij_markdown_force_one_space_after_blockquote_symbol = true +ij_markdown_force_one_space_after_header_symbol = true +ij_markdown_force_one_space_after_list_bullet = true +ij_markdown_force_one_space_between_words = true +ij_markdown_keep_indents_on_empty_lines = false +ij_markdown_max_lines_around_block_elements = 1 +ij_markdown_max_lines_around_header = 1 +ij_markdown_max_lines_between_paragraphs = 1 +ij_markdown_min_lines_around_block_elements = 1 +ij_markdown_min_lines_around_header = 1 +ij_markdown_min_lines_between_paragraphs = 1 + +[{*.pb,*.textproto}] +ij_prototext_keep_blank_lines_in_code = 2 +ij_prototext_keep_indents_on_empty_lines = false +ij_prototext_keep_line_breaks = true +ij_prototext_space_after_colon = true +ij_prototext_space_after_comma = true +ij_prototext_space_before_colon = false +ij_prototext_space_before_comma = false +ij_prototext_spaces_within_braces = true +ij_prototext_spaces_within_brackets = false + +[{*.properties,spring.handlers,spring.schemas}] +ij_properties_align_group_field_declarations = false +ij_properties_keep_blank_lines = false +ij_properties_key_value_delimiter = equals +ij_properties_spaces_around_key_value_delimiter = false + +[{*.yaml,*.yml}] +ij_yaml_align_values_properties = do_not_align +ij_yaml_autoinsert_sequence_marker = true +ij_yaml_block_mapping_on_new_line = false +ij_yaml_indent_sequence_value = true +ij_yaml_keep_indents_on_empty_lines = false +ij_yaml_keep_line_breaks = true +ij_yaml_sequence_on_new_line = false +ij_yaml_space_before_colon = false +ij_yaml_spaces_within_braces = true +ij_yaml_spaces_within_brackets = true diff --git a/db/pom.xml b/db/pom.xml index 477b138..9e7ec1c 100644 --- a/db/pom.xml +++ b/db/pom.xml @@ -62,7 +62,7 @@ limitations under the License. org.slf4j - slf4j-log4j12 + slf4j-jdk14 test @@ -95,4 +95,4 @@ limitations under the License. - \ No newline at end of file + diff --git a/db/src/main/java/de/muehlencord/shared/db/AbstractController.java b/db/src/main/java/de/muehlencord/shared/db/AbstractController.java index 1679c7e..af0269f 100644 --- a/db/src/main/java/de/muehlencord/shared/db/AbstractController.java +++ b/db/src/main/java/de/muehlencord/shared/db/AbstractController.java @@ -42,7 +42,7 @@ public abstract class AbstractController extends CommonA private final Class entityClass; - public AbstractController(Class clazz) { + protected AbstractController(Class clazz) { this.entityClass = clazz; } @@ -68,24 +68,21 @@ public abstract class AbstractController extends CommonA */ @Lock(LockType.READ) public T find(Object id, String... subGraphItems) { - EntityGraph graph = this.em.createEntityGraph(entityClass); + EntityGraph graph = this.em.createEntityGraph(entityClass); for (String subGraphItem : subGraphItems) { graph.addSubgraph(subGraphItem); } - Map hints = new HashMap<>(); + Map hints = new HashMap<>(); hints.put("javax.persistence.loadgraph", graph); - T entity = (T) em.find(entityClass, id, hints); - return entity; + return em.find(entityClass, id, hints); } @Lock(LockType.READ) - public List find(String queryName, Map parameterMap) throws ControllerException { + public List find(String queryName, Map parameterMap) { Query query = em.createNamedQuery(queryName); - parameterMap.entrySet().forEach((entry) -> { - query.setParameter(entry.getKey(), entry.getValue()); - }); + parameterMap.entrySet().forEach(entry -> query.setParameter(entry.getKey(), entry.getValue())); return query.getResultList(); } diff --git a/db/src/main/java/de/muehlencord/shared/db/AuditListener.java b/db/src/main/java/de/muehlencord/shared/db/AuditListener.java index 4188591..a62a968 100644 --- a/db/src/main/java/de/muehlencord/shared/db/AuditListener.java +++ b/db/src/main/java/de/muehlencord/shared/db/AuditListener.java @@ -1,4 +1,4 @@ -/* +/* * Copyright 2019 Joern Muehlencord (joern@muehlencord.de). * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -15,52 +15,50 @@ */ package de.muehlencord.shared.db; -import de.muehlencord.shared.util.DateUtil; import java.time.LocalDateTime; import java.time.ZoneOffset; -import java.util.Date; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * Does not work, cannot Spring independent inject current username - implemented in AbstractController manually + * * @author Joern Muehlencord (joern@muehlencord.de) */ public class AuditListener { - private static final Logger LOGGER = LoggerFactory.getLogger(AuditListener.class); + private static final Logger logger = LoggerFactory.getLogger(AuditListener.class); -// @PrePersist - public void prePersist(Auditable auditable) { - Audit audit = auditable.getAudit(); + // @PrePersist + public void prePersist(Auditable auditable) { + Audit audit = auditable.getAudit(); - if (audit == null) { - audit = new Audit(); - auditable.setAudit(audit); - } + if (audit == null) { + audit = new Audit(); + auditable.setAudit(audit); + } - LocalDateTime now = LocalDateTime.now(ZoneOffset.UTC); - audit.setCreatedOn(now); - audit.setLastUpdatedOn(now); + LocalDateTime now = LocalDateTime.now(ZoneOffset.UTC); + audit.setCreatedOn(now); + audit.setLastUpdatedOn(now); // audit.setCreatedBy(LoggedUser.get()); // TODO where to get the user from - if (LOGGER.isDebugEnabled()) { - LOGGER.debug("prePersist executed"); - } - + if (logger.isDebugEnabled()) { + logger.debug("prePersist executed"); } -// @PreUpdate - public void preUpdate(Auditable auditable) { - Audit audit = auditable.getAudit(); + } - LocalDateTime now = LocalDateTime.now(ZoneOffset.UTC); -// Date now = DateUtil.getCurrentTimeInUTC(); - audit.setLastUpdatedOn(now); -// audit.setUpdatedBy(LoggedUser.get()); // TODO where to get the user from - if (LOGGER.isDebugEnabled()) { - LOGGER.debug("preUpdate executed"); - } + // @PreUpdate + public void preUpdate(Auditable auditable) { + Audit audit = auditable.getAudit(); + // TODO where to get the user from + LocalDateTime now = LocalDateTime.now(ZoneOffset.UTC); + audit.setLastUpdatedOn(now); + if (logger.isDebugEnabled()) { + logger.debug("preUpdate executed"); } + } + } diff --git a/db/src/main/resources/log4j.xml b/db/src/main/resources/log4j.xml deleted file mode 100644 index b9c3be9..0000000 --- a/db/src/main/resources/log4j.xml +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/jeeutil/src/main/java/de/muehlencord/shared/jeeutil/restexfw/APIErrorResponse.java b/jeeutil/src/main/java/de/muehlencord/shared/jeeutil/restexfw/APIErrorResponse.java index 6d315ab..814ada4 100644 --- a/jeeutil/src/main/java/de/muehlencord/shared/jeeutil/restexfw/APIErrorResponse.java +++ b/jeeutil/src/main/java/de/muehlencord/shared/jeeutil/restexfw/APIErrorResponse.java @@ -60,14 +60,14 @@ public class APIErrorResponse { this.rootCause = rootCauseMessage; } - public APIErrorResponse(Exception exception, Locale locale) { + public APIErrorResponse(Exception exception) { this.status = Response.Status.INTERNAL_SERVER_ERROR; this.errorCode = "0"; this.message = exception.getLocalizedMessage(); this.rootCause = null; } - public APIErrorResponse(Exception exception, Locale locale, Throwable th) { + public APIErrorResponse(Exception exception, Throwable th) { this.status = Response.Status.INTERNAL_SERVER_ERROR; this.errorCode = "0"; this.message = exception.getLocalizedMessage(); diff --git a/jeeutil/src/main/java/de/muehlencord/shared/jeeutil/restexfw/APIException.java b/jeeutil/src/main/java/de/muehlencord/shared/jeeutil/restexfw/APIException.java index f55258b..12bdce7 100644 --- a/jeeutil/src/main/java/de/muehlencord/shared/jeeutil/restexfw/APIException.java +++ b/jeeutil/src/main/java/de/muehlencord/shared/jeeutil/restexfw/APIException.java @@ -31,7 +31,7 @@ public class APIException extends RuntimeException { public static final String HTTP_HEADER_X_ROOT_CAUSE = "X-Root-Cause"; private static final long serialVersionUID = -4356132354448841938L; - private final Response httpResponse; + private final transient Response httpResponse; public APIException(APIError apiError, Locale locale) { httpResponse = createHttpResponse(new APIErrorResponse(apiError, locale)); @@ -49,8 +49,8 @@ public class APIException extends RuntimeException { httpResponse = createHttpResponse(new APIErrorResponse(apiError, new Locale(locale), rootCause)); } - public APIException(Exception exception, Locale locale) { - httpResponse = createHttpResponse(new APIErrorResponse(exception, locale)); + public APIException(Exception exception) { + httpResponse = createHttpResponse(new APIErrorResponse(exception)); } public Response getHttpResponse() { diff --git a/jeeutil/src/main/java/de/muehlencord/shared/jeeutil/restexfw/APIExceptionInterceptor.java b/jeeutil/src/main/java/de/muehlencord/shared/jeeutil/restexfw/APIExceptionInterceptor.java index e774836..b4c031b 100644 --- a/jeeutil/src/main/java/de/muehlencord/shared/jeeutil/restexfw/APIExceptionInterceptor.java +++ b/jeeutil/src/main/java/de/muehlencord/shared/jeeutil/restexfw/APIExceptionInterceptor.java @@ -1,4 +1,4 @@ -/* +/* * Copyright 2019 Joern Muehlencord (joern@muehlencord.de). * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -25,46 +25,41 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** - * * @author Joern Muehlencord (joern@muehlencord.de) */ public class APIExceptionInterceptor { - private static final Logger LOGGER = LoggerFactory.getLogger(APIExceptionInterceptor.class); + private static final Logger logger = LoggerFactory.getLogger(APIExceptionInterceptor.class); - @Inject - Locale locale; + @Inject + Locale locale; - @AroundInvoke - public Object handleException(InvocationContext context) { - Object proceedResponse; - try { - // continue to execute context - // if an exception is thrown during processing, this is passed in to the catch block below - proceedResponse = context.proceed(); - } catch (Exception ex) { - if (LOGGER.isDebugEnabled()) { - LOGGER.debug(ex.getMessage()); - LOGGER.debug("Detailed stacktrace", new Object[]{ex}); - } - - Response errorResponse; - if (ex instanceof APIException) { - errorResponse = ((APIException) ex).getHttpResponse(); - } else if (ex.getCause() instanceof APIException) { - errorResponse = ((APIException) ex.getCause()).getHttpResponse(); - } else if (ex instanceof ConstraintViolationException) { - // this exception is handled via the ConstraintViolationMapper - throw (ConstraintViolationException) ex; - } else if (ex.getCause() instanceof ConstraintViolationException) { - // this exception is handled via the ConstraintViolationMapper - throw (ConstraintViolationException) ex.getCause(); - } else { - errorResponse = new APIException(ex, locale).getHttpResponse(); - } - return errorResponse; - } - return proceedResponse; + @AroundInvoke + public Object handleException(InvocationContext context) { + Object proceedResponse; + try { + // continue to execute context + // if an exception is thrown during processing, this is passed in to the catch block below + proceedResponse = context.proceed(); + } catch (Exception ex) { + logger.debug(ex.getMessage(), ex); + Response errorResponse; + if (ex instanceof APIException) { + errorResponse = ((APIException) ex).getHttpResponse(); + } else if (ex.getCause() instanceof APIException) { + errorResponse = ((APIException) ex.getCause()).getHttpResponse(); + } else if (ex instanceof ConstraintViolationException) { + // this exception is handled via the ConstraintViolationMapper + throw (ConstraintViolationException) ex; + } else if (ex.getCause() instanceof ConstraintViolationException) { + // this exception is handled via the ConstraintViolationMapper + throw (ConstraintViolationException) ex.getCause(); + } else { + errorResponse = new APIException(ex).getHttpResponse(); + } + return errorResponse; } + return proceedResponse; + } } diff --git a/network/pom.xml b/network/pom.xml index cfed573..8ff595f 100644 --- a/network/pom.xml +++ b/network/pom.xml @@ -1,4 +1,3 @@ - - - 4.0.0 + + shared-network - de.muehlencord.shared - shared-network + + ${project.artifactId} + + + + junit-jupiter-engine + org.junit.jupiter + test + + + slf4j-api + org.slf4j + provided + + + slf4j-jdk14 + org.slf4j + test + + + shared-util + de.muehlencord.shared + jar + + + + javax.mail + com.sun.mail + + + ews-java-api + com.microsoft.ews-java-api + + + + commons-net + commons-net + compile + + + + jaxws-api + javax.xml.ws + test + 2.3.1 + + + de.muehlencord.shared + 4.0.0 + shared-network + + jar + + + shared + de.muehlencord 1.2-SNAPSHOT - jar - shared-network - - - shared - de.muehlencord - 1.2-SNAPSHOT - - - http://maven.apache.org - - UTF-8 - - - - ${project.artifactId} - + + + UTF-8 + - - - org.junit.jupiter - junit-jupiter-engine - test - - - org.slf4j - slf4j-api - provided - - - org.slf4j - slf4j-log4j12 - test - - - de.muehlencord.shared - shared-util - jar - - - - com.sun.mail - javax.mail - - - com.microsoft.ews-java-api - ews-java-api - - - - commons-net - commons-net - compile - - - - javax.xml.ws - jaxws-api - 2.3.1 - test - - + http://maven.apache.org + + 1.2-SNAPSHOT diff --git a/network/src/main/java/de/muehlencord/shared/network/CidrTool.java b/network/src/main/java/de/muehlencord/shared/network/CidrTool.java index a67ad0f..8c14978 100644 --- a/network/src/main/java/de/muehlencord/shared/network/CidrTool.java +++ b/network/src/main/java/de/muehlencord/shared/network/CidrTool.java @@ -1,4 +1,4 @@ -/* +/* * Copyright 2019 Joern Muehlencord (joern@muehlencord.de). * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -19,74 +19,77 @@ import static java.lang.Long.valueOf; import static java.lang.Math.floor; import static java.lang.Math.log; import static java.lang.Math.pow; + import java.util.ArrayList; import java.util.List; /** - * * @author Joern Muehlencord (joern@muehlencord.de) */ public class CidrTool { - - public static List rangeToCidrList(String startIp, String endIp) { - long start = ipToLong(startIp); - long end = ipToLong(endIp); - ArrayList pairs = new ArrayList<>(); - while (end >= start) { - byte maxsize = 32; - while (maxsize > 0) { - long mask = CIDR2MASK[ maxsize - 1]; - long maskedBase = start & mask; + private static final int[] CIDR2MASK = new int[]{0x00000000, 0x80000000, + 0xC0000000, 0xE0000000, 0xF0000000, 0xF8000000, 0xFC000000, + 0xFE000000, 0xFF000000, 0xFF800000, 0xFFC00000, 0xFFE00000, + 0xFFF00000, 0xFFF80000, 0xFFFC0000, 0xFFFE0000, 0xFFFF0000, + 0xFFFF8000, 0xFFFFC000, 0xFFFFE000, 0xFFFFF000, 0xFFFFF800, + 0xFFFFFC00, 0xFFFFFE00, 0xFFFFFF00, 0xFFFFFF80, 0xFFFFFFC0, + 0xFFFFFFE0, 0xFFFFFFF0, 0xFFFFFFF8, 0xFFFFFFFC, 0xFFFFFFFE, + 0xFFFFFFFF}; - if (maskedBase != start) { - break; - } + private CidrTool() { + // hide constructor + } - maxsize--; - } - double x = log(end - start + 1) / log(2); - byte maxdiff = (byte) (32 - floor(x)); - if (maxsize < maxdiff) { - maxsize = maxdiff; - } - String ip = longToIP(start); - pairs.add(ip + "/" + maxsize); - start += pow(2, (32 - maxsize)); - } - return pairs; - } - - - private static final int[] CIDR2MASK = new int[]{0x00000000, 0x80000000, - 0xC0000000, 0xE0000000, 0xF0000000, 0xF8000000, 0xFC000000, - 0xFE000000, 0xFF000000, 0xFF800000, 0xFFC00000, 0xFFE00000, - 0xFFF00000, 0xFFF80000, 0xFFFC0000, 0xFFFE0000, 0xFFFF0000, - 0xFFFF8000, 0xFFFFC000, 0xFFFFE000, 0xFFFFF000, 0xFFFFF800, - 0xFFFFFC00, 0xFFFFFE00, 0xFFFFFF00, 0xFFFFFF80, 0xFFFFFFC0, - 0xFFFFFFE0, 0xFFFFFFF0, 0xFFFFFFF8, 0xFFFFFFFC, 0xFFFFFFFE, - 0xFFFFFFFF}; + public static List rangeToCidrList(String startIp, String endIp) { + long start = ipToLong(startIp); + long end = ipToLong(endIp); - private static long ipToLong(String strIP) { - long[] ip = new long[4]; - String[] ipSec = strIP.split("\\."); - for (int k = 0; k < 4; k++) { - ip[k] = valueOf(ipSec[k]); + ArrayList pairs = new ArrayList<>(); + while (end >= start) { + byte maxsize = 32; + while (maxsize > 0) { + long mask = CIDR2MASK[maxsize - 1]; + long maskedBase = start & mask; + + if (maskedBase != start) { + break; } - return (ip[0] << 24) + (ip[1] << 16) + (ip[2] << 8) + ip[3]; + maxsize--; + } + double x = log(end - start + 1D) / log(2); + byte maxdiff = (byte) (32 - floor(x)); + if (maxsize < maxdiff) { + maxsize = maxdiff; + } + String ip = longToIP(start); + pairs.add(ip + "/" + maxsize); + start += pow(2, (32 - maxsize)); + } + return pairs; + } + + private static long ipToLong(String strIP) { + long[] ip = new long[4]; + String[] ipSec = strIP.split("\\."); + for (int k = 0; k < 4; k++) { + ip[k] = valueOf(ipSec[k]); } - private static String longToIP(long longIP) { - StringBuilder sb = new StringBuilder(""); - sb.append(String.valueOf(longIP >>> 24)); - sb.append("."); - sb.append(String.valueOf((longIP & 0x00FFFFFF) >>> 16)); - sb.append("."); - sb.append(String.valueOf((longIP & 0x0000FFFF) >>> 8)); - sb.append("."); - sb.append(String.valueOf(longIP & 0x000000FF)); + return (ip[0] << 24) + (ip[1] << 16) + (ip[2] << 8) + ip[3]; + } - return sb.toString(); - } + private static String longToIP(long longIP) { + StringBuilder sb = new StringBuilder(""); + sb.append(String.valueOf(longIP >>> 24)); + sb.append("."); + sb.append(String.valueOf((longIP & 0x00FFFFFF) >>> 16)); + sb.append("."); + sb.append(String.valueOf((longIP & 0x0000FFFF) >>> 8)); + sb.append("."); + sb.append(String.valueOf(longIP & 0x000000FF)); + + return sb.toString(); + } } diff --git a/network/src/main/java/de/muehlencord/shared/network/whois/ArinWhoisParser.java b/network/src/main/java/de/muehlencord/shared/network/whois/ArinWhoisParser.java index 6c1bb8a..910c2d4 100644 --- a/network/src/main/java/de/muehlencord/shared/network/whois/ArinWhoisParser.java +++ b/network/src/main/java/de/muehlencord/shared/network/whois/ArinWhoisParser.java @@ -17,6 +17,7 @@ package de.muehlencord.shared.network.whois; import static de.muehlencord.shared.network.CidrTool.rangeToCidrList; import static de.muehlencord.shared.util.StringUtil.getValueBetweenKeywords; + import java.text.ParseException; import java.util.Map; import org.slf4j.Logger; @@ -31,7 +32,12 @@ public class ArinWhoisParser extends AbstractWhoisParser implements WhoisParser /** * logger object */ - private final static Logger LOGGER = LoggerFactory.getLogger(DefaultWhoisParser.class); + private static final Logger logger = LoggerFactory.getLogger(ArinWhoisParser.class); + + private static final String START_STRING = "# start"; + private static final String END_STRING = "# end"; + private static final String NET_RANGE = "NetRange:"; + private static final String ORG_NAME = "OrgName:"; /** * information to be returned */ @@ -41,19 +47,19 @@ public class ArinWhoisParser extends AbstractWhoisParser implements WhoisParser public WhoisInformation parseWhoIsString(String whoisString) throws WhoisException { whoisInformation = new WhoisInformation(); whoisInformation.setResponseString(whoisString); - if (whoisString.contains("# start")) { // multiple values + if (whoisString.contains(START_STRING)) { String multipleWhoisString = whoisString; - while (multipleWhoisString.contains("# start")) { + while (multipleWhoisString.contains(START_STRING)) { String whoisPartString; try { - whoisPartString = getValueBetweenKeywords(multipleWhoisString, "# start", "# end"); + whoisPartString = getValueBetweenKeywords(multipleWhoisString, START_STRING, END_STRING); } catch (ParseException ex) { throw new WhoisException("Error while reading whois part elements. Reason: " + ex.getMessage(), ex); } analyse(whoisPartString); - multipleWhoisString = multipleWhoisString.substring(multipleWhoisString.indexOf("# end") + 4); + multipleWhoisString = multipleWhoisString.substring(multipleWhoisString.indexOf(END_STRING) + 4); } } else { @@ -78,11 +84,11 @@ public class ArinWhoisParser extends AbstractWhoisParser implements WhoisParser } private void analyseBlock(String block) throws WhoisException { - LOGGER.debug("Start analysing block"); - LOGGER.debug("\n---\n" + block + "\n---\n"); + logger.debug("Start analysing block"); + logger.debug("\n---\n{}\n---\n", block); - if ((block == null) || (block.equals("")) || (!block.contains(" "))) { - LOGGER.debug("Skippig empty block"); + if ((block == null) || (!block.contains(" "))) { + logger.debug("Skipping empty block"); return; } @@ -98,23 +104,24 @@ public class ArinWhoisParser extends AbstractWhoisParser implements WhoisParser switch (startString) { - case "NetRange:": - if (valueMap.containsKey("NetRange:")) { - String netRange = valueMap.get("NetRange:"); - // convert inetnum to CDIR - String[] ipAddresses = netRange.split(" "); // TODO - what happens if not 3 parts are found + case NET_RANGE: + if (valueMap.containsKey(NET_RANGE)) { + String netRange = valueMap.get(NET_RANGE); + // convert inetnum to CDIR + // TODO - what happens if not 3 parts are found + String[] ipAddresses = netRange.split(" "); // FIXME add CDIR notation support String startIpAddress = ipAddresses[0]; String endIPAddress = ipAddresses[2]; whoisInformation.addNetwork(rangeToCidrList(startIpAddress, endIPAddress)); - LOGGER.info("Network:" + whoisInformation.getNetwork().toString()); + logger.info("Network: {}", whoisInformation.getNetwork()); } else { throw new WhoisException("Cannot identify netrange value"); } break; - case "OrgName:": - String orgName = getValue("OrgName:", valueMap); + case ORG_NAME: + String orgName = getValue(ORG_NAME, valueMap); String orgId = getValue("OrgId:", valueMap); String country = getValue("Country:", valueMap); @@ -125,23 +132,23 @@ public class ArinWhoisParser extends AbstractWhoisParser implements WhoisParser orgId = orgName; } whoisInformation.setNetworkInformation(new NetworkInformation(orgName, orgId, country)); - LOGGER.info("Networkinformation:" + whoisInformation.getNetworkInformation().toString()); + logger.info("Networkinformation: {}", whoisInformation.getNetworkInformation()); break; case "OrgAbuseHandle:": // TODO add abuse handler - LOGGER.info("Skipping OrgAbuseHandle block"); + logger.info("Skipping OrgAbuseHandle block"); break; case "OrgTechHandle:": // admin person of network server belongs to - LOGGER.info("Skipping OrgTechHandle block"); + logger.info("Skipping OrgTechHandle block"); break; case "#": - LOGGER.info("Skipping comment block"); + logger.info("Skipping comment block"); break; default: - LOGGER.info("Unknown block found"); + logger.info("Unknown block found"); } } } diff --git a/network/src/main/java/de/muehlencord/shared/network/whois/DefaultWhoisParser.java b/network/src/main/java/de/muehlencord/shared/network/whois/DefaultWhoisParser.java index f7a35ae..dd6840e 100644 --- a/network/src/main/java/de/muehlencord/shared/network/whois/DefaultWhoisParser.java +++ b/network/src/main/java/de/muehlencord/shared/network/whois/DefaultWhoisParser.java @@ -16,6 +16,7 @@ package de.muehlencord.shared.network.whois; import static de.muehlencord.shared.network.CidrTool.rangeToCidrList; + import java.util.Map; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -29,7 +30,7 @@ public class DefaultWhoisParser extends AbstractWhoisParser implements WhoisPars /** * logger object */ - private final static Logger LOGGER = LoggerFactory.getLogger(DefaultWhoisParser.class); + private static final Logger logger = LoggerFactory.getLogger(DefaultWhoisParser.class); /** * information to be returned */ @@ -56,11 +57,11 @@ public class DefaultWhoisParser extends AbstractWhoisParser implements WhoisPars } private void analyseBlock(String block) throws WhoisException { - LOGGER.debug("Start analysing block"); - LOGGER.debug("\n---\n" + block + "\n---\n"); + logger.debug("Start analysing block"); + logger.debug("\n---\n{}\n---\n", block); - if ((block == null) || (block.equals("")) || (!block.contains(" "))) { - LOGGER.debug("Skippig empty block"); + if ((block == null) || (!block.contains(" "))) { + logger.debug("Skipping empty block"); return; } @@ -76,17 +77,17 @@ public class DefaultWhoisParser extends AbstractWhoisParser implements WhoisPars case "inetnum:": String inetnum = getValue("inetnum:", valueMap); String country = getValue("country:", valueMap); - String netname = getValue("descr:", valueMap); - String descr = getValue("netname:", valueMap); - String parent = getValue("parent:", valueMap); + String netname = getValue("netname:", valueMap); + String descr = getValue("descr:", valueMap); if ((inetnum == null) || (country == null)) { throw new WhoisException("Cannot identify inetnum and/or country value"); } if (inetnum.contains(" ")) { - // convert inetnum to CDIR - String[] ipAddresses = inetnum.split(" "); // TODO - what happens if not 3 parts are found + // convert inetnum to CDIR + // TODO - what happens if not 3 parts are found + String[] ipAddresses = inetnum.split(" "); // FIXME add CDIR notation support String startIpAddress = ipAddresses[0]; String endIPAddress = ipAddresses[2]; @@ -95,15 +96,7 @@ public class DefaultWhoisParser extends AbstractWhoisParser implements WhoisPars whoisInformation.addNetwork(inetnum); } - /* - if (parent != null) { - whoisInformation.addRootNetwork(parent); - LOGGER.info("Root network by parent" + whoisInformation.getRootNetwork().toString()); - break; - } -*/ - - LOGGER.info("Network:" + whoisInformation.getNetwork().toString()); + logger.info("Network: {}", whoisInformation.getNetwork()); whoisInformation.setNetworkInformation(new NetworkInformation(netname, descr, country)); break; @@ -111,26 +104,26 @@ public class DefaultWhoisParser extends AbstractWhoisParser implements WhoisPars // get information on level-2 network String route = getValue("route:", valueMap); whoisInformation.addRootNetwork(route); - LOGGER.info("Root network " + whoisInformation.getRootNetwork().toString()); + logger.info("Root network: {}", whoisInformation.getRootNetwork()); break; case "role:": // admin company of network server belongs to - LOGGER.info("Skipping role block"); + logger.info("Skipping role block"); break; case "person:": // admin person of network server belongs to - LOGGER.info("Skipping person block"); + logger.info("Skipping person block"); break; case "% Information": case "% Note:": case "% This": case "%": - LOGGER.info("Skipping comment block"); + logger.info("Skipping comment block"); break; default: - LOGGER.info("Unknown block found"); - LOGGER.error(block); + logger.info("Unknown block found"); + logger.error(block); } } } diff --git a/network/src/test/java/de/muehlencord/shared/network/whois/DefaultWhoisParserTest.java b/network/src/test/java/de/muehlencord/shared/network/whois/DefaultWhoisParserTest.java new file mode 100644 index 0000000..90a51af --- /dev/null +++ b/network/src/test/java/de/muehlencord/shared/network/whois/DefaultWhoisParserTest.java @@ -0,0 +1,28 @@ +package de.muehlencord.shared.network.whois; + +import static org.junit.jupiter.api.Assertions.assertNotNull; + +import de.muehlencord.shared.network.BaseTest; +import org.junit.jupiter.api.Test; + +/** + * test the default implementation + * + * @author Joern Muehlencord, 2021-09-22 + * @since 1.2.0 + */ +class DefaultWhoisParserTest extends BaseTest { + + @Test + void parseWhoIsString() throws Exception { + String whoisInformation = this.readContentFromFile("90.63.251.1.txt"); + DefaultWhoisParser parser = new DefaultWhoisParser(); + WhoisInformation information = parser.parseWhoIsString(whoisInformation); + assertNotNull (information); + information.validate(); + System.out.println ("parseWhoIsString"); + System.out.println (information.getNetworkInformation().toString()); + System.out.println (information.getNetwork().toString()); + System.out.println (information.getRootNetwork().toString()); + } +} diff --git a/network/src/test/resources/de/muehlencord/shared/network/90.63.251.1.txt b/network/src/test/resources/de/muehlencord/shared/network/90.63.251.1.txt new file mode 100644 index 0000000..45ee135 --- /dev/null +++ b/network/src/test/resources/de/muehlencord/shared/network/90.63.251.1.txt @@ -0,0 +1,53 @@ +% This is the RIPE Database query service. +% The objects are in RPSL format. +% +% The RIPE Database is subject to Terms and Conditions. +% See http://www.ripe.net/db/support/db-terms-conditions.pdf + +% Note: this output has been filtered. +% To receive output for a database update, use the "-B" flag. + +% Information related to '90.63.251.0 - 90.63.251.255' + +% Abuse contact for '90.63.251.0 - 90.63.251.255' is 'gestionip.ft@orange.com' + +inetnum: 90.63.251.0 - 90.63.251.255 +netname: IP2000-ADSL-BAS +descr: LNAUB658 Aubervilliers Bloc 1 +country: FR +admin-c: WITR1-RIPE +tech-c: WITR1-RIPE +status: ASSIGNED PA +remarks: for hacking, spamming or security problems send mail to +remarks: abuse@orange.fr +mnt-by: FT-BRX +created: 2015-10-09T11:39:49Z +last-modified: 2019-10-07T13:05:05Z +source: RIPE + +role: Wanadoo France Technical Role +address: FRANCE TELECOM/SCR +address: 48 rue Camille Desmoulins +address: 92791 ISSY LES MOULINEAUX CEDEX 9 +address: FR +phone: +33 1 58 88 50 00 +abuse-mailbox: abuse@orange.fr +admin-c: BRX1-RIPE +tech-c: BRX1-RIPE +nic-hdl: WITR1-RIPE +mnt-by: FT-BRX +created: 2001-12-04T17:57:08Z +last-modified: 2013-07-16T14:09:50Z +source: RIPE # Filtered + +% Information related to '90.63.192.0/18AS3215' + +route: 90.63.192.0/18 +descr: France Telecom IP2000-ADSL-BAS +origin: AS3215 +mnt-by: FT-BRX +created: 2012-12-11T10:12:42Z +last-modified: 2012-12-11T10:12:42Z +source: RIPE + +% This query was served by the RIPE Database Query Service version 1.101 (ANGUS) diff --git a/network/src/test/resources/log4j.xml b/network/src/test/resources/log4j.xml deleted file mode 100644 index e8de847..0000000 --- a/network/src/test/resources/log4j.xml +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/poi-util/pom.xml b/poi-util/pom.xml index 0caa566..0686089 100644 --- a/poi-util/pom.xml +++ b/poi-util/pom.xml @@ -15,41 +15,42 @@ See the License for the specific language governing permissions and limitations under the License. --> - - 4.0.0 - - de.muehlencord.shared - shared-poi-util + + shared-poi-util + + + + poi-ooxml + org.apache.poi + + + shared-util + de.muehlencord.shared + + + slf4j-api + org.slf4j + provided + + + slf4j-jdk14 + org.slf4j + provided + + + de.muehlencord.shared + 4.0.0 + shared-poi-util + + jar + + + shared + de.muehlencord 1.2-SNAPSHOT - jar - - - de.muehlencord - shared - 1.2-SNAPSHOT - - - shared-poi-util - - - - - org.apache.poi - poi-ooxml - - - de.muehlencord.shared - shared-util - - - org.slf4j - slf4j-api - provided - - - org.slf4j - slf4j-log4j12 - provided - - - \ No newline at end of file + + + + 1.2-SNAPSHOT + diff --git a/pom.xml b/pom.xml index ed20ee7..5efeacf 100644 --- a/pom.xml +++ b/pom.xml @@ -15,393 +15,397 @@ See the License for the specific language governing permissions and limitations under the License. --> - - 4.0.0 - de.muehlencord - shared - 1.2-SNAPSHOT - pom - shared - - - configuration - network - util - jeeutil - shiro-faces - poi-util - db - - - - scm:git:https://jomu.timelord.de/git/jomu/shared/ - scm:git:https://jomu.timelord.de/git/jomu/shared/ - https://jomu.timelord.de/git/jomu/shared/ - HEAD - - - - Gitea - https://jomu.timelord.de/git/jomu/shared/issues - - - - - Apache License, Version 2.0 - http://www.apache.org/licenses/LICENSE-2.0 - repo - - - - - - Joern Muehlencord - joern@muehlencord.de - - - - - - ossrh - https://oss.sonatype.org/content/repositories/snapshots - - - ossrh - https://oss.sonatype.org/service/local/staging/deploy/maven2/ - - - - - - UTF-8 - 11 - 11 - - - - - - de.muehlencord.shared - shared-db - 1.2-SNAPSHOT - ejb - - - de.muehlencord.shared - shared-shiro-faces - 1.2-SNAPSHOT - - - de.muehlencord.shared - shared-util - 1.2-SNAPSHOT - - - de.muehlencord.shared - shared-jeeutil - 1.2-SNAPSHOT - - - commons-codec - commons-codec - 1.15 - - - commons-net - commons-net - 3.6 - - - org.apache.commons - commons-lang3 - 3.11 - - - commons-io - commons-io - 2.8.0 - - - org.slf4j - slf4j-api - 1.7.30 - - - org.slf4j - slf4j-log4j12 - 1.7.30 - - - org.slf4j - jcl-over-slf4j - 1.7.30 - - - - com.sun.mail - javax.mail - 1.6.2 - - - com.microsoft.ews-java-api - ews-java-api - 2.0 - - - com.google.code.gson - gson - 2.8.6 - - - com.fasterxml.jackson.core - jackson-annotations - 2.11.3 - jar - - - com.fasterxml.jackson.core - jackson-databind - 2.11.3 - jar - - - com.fasterxml.jackson.datatype - jackson-datatype-jsr310 - 2.11.3 - - - org.apache.shiro - shiro-core - 1.7.1 - - - org.apache.shiro - shiro-web - 1.7.1 - - - javax - javaee-api - 8.0.1 - - - javax - javaee-web-api - 8.0.1 - provided - - - com.lambdaworks - scrypt - 1.4.0 - - - org.bouncycastle - bcprov-jdk15on - 1.68 - - - - org.hibernate - hibernate-core - 5.4.23.Final - jar - - - org.primefaces - primefaces - 8.0 - - - com.github.adminfaces - admin-template - 1.2.0 - - - org.omnifaces - omnifaces - 3.4.1 - - - org.apache.poi - poi-ooxml - 5.0.0 - - - io.fusionauth - fusionauth-jwt - 4.1.0 - + + shared + + + + + + maven-compiler-plugin + + true + ${maven.compiler.source} + ${maven.compiler.target} + + org.apache.maven.plugins + 3.8.1 + - - - org.projectlombok - lombok - provided - 1.18.16 - - - - - org.junit.jupiter - junit-jupiter-engine - 5.7.0 - test - - - - - - - - release - - - - - org.sonatype.plugins - nexus-staging-maven-plugin - 1.6.8 - true - - ossrh - https://oss.sonatype.org/ - true - - - - - - org.apache.maven.plugins - maven-source-plugin - 3.1.0 - - - attach-sources - - jar-no-fork - - - - - - - - org.apache.maven.plugins - maven-javadoc-plugin - 3.1.1 - - - attach-javadocs - - jar - - - - - - - - org.codehaus.mojo - license-maven-plugin - 1.14 - - - download-licenses - generate-resources - - download-licenses - add-third-party - - - ${licenses.dir} - ${licenses.dir} - - The Apache Software License, Version 2.0|Apache 2|Apache License, Version 2.0|Apache Public License 2.0 - - - - - - - - - org.apache.maven.plugins - maven-gpg-plugin - 1.6 - - - sign-artifacts - verify - - sign - - - - - 993245E2EC7608BB - - - - - - - - - - - - - org.apache.maven.plugins - maven-compiler-plugin - 3.8.1 - - ${maven.compiler.source} - ${maven.compiler.target} - true - - - - - - org.apache.maven.plugins - maven-ejb-plugin - 3.0.1 - - - - - maven-release-plugin - 2.5.3 - - - - - org.apache.maven.plugins - maven-surefire-plugin - 2.22.2 - - - - - + + + maven-ejb-plugin + org.apache.maven.plugins + 3.0.1 + + + + + maven-release-plugin + 2.5.3 + + + + + maven-surefire-plugin + org.apache.maven.plugins + 2.22.2 + + + + + + + + maven-compiler-plugin + org.apache.maven.plugins + + + maven-release-plugin + + v@{project.version} + + 2.5.3 + + + maven-surefire-plugin + org.apache.maven.plugins + + + + + + + shared-db + de.muehlencord.shared + ejb + ${project.version} + + + shared-shiro-faces + de.muehlencord.shared + ${project.version} + + + shared-util + de.muehlencord.shared + ${project.version} + + + shared-jeeutil + de.muehlencord.shared + ${project.version} + + + commons-codec + commons-codec + 1.15 + + + commons-net + commons-net + 3.8.0 + + + commons-lang3 + org.apache.commons + 3.12.0 + + + commons-io + commons-io + 2.11.0 + + + slf4j-api + org.slf4j + ${slf4j.version} + + + slf4j-jdk14 + org.slf4j + ${slf4j.version} + + + jcl-over-slf4j + org.slf4j + ${slf4j.version} + + + + javax.mail + com.sun.mail + 1.6.2 + + + ews-java-api + com.microsoft.ews-java-api + 2.0 + + + gson + com.google.code.gson + 2.8.9 + + + jackson-annotations + com.fasterxml.jackson.core + jar + ${jackson.version} + + + jackson-databind + com.fasterxml.jackson.core + jar + ${jackson.version} + + + jackson-datatype-jsr310 + com.fasterxml.jackson.datatype + ${jackson.version} + + + shiro-core + org.apache.shiro + 1.7.1 + + + shiro-web + org.apache.shiro + 1.7.1 + + + javaee-api + javax + 8.0.1 + + + javaee-web-api + javax + provided + 8.0.1 + + + scrypt + com.lambdaworks + 1.4.0 + + + bcprov-jdk15on + org.bouncycastle + 1.68 + + + + hibernate-core + org.hibernate + jar + 5.4.23.Final + + + primefaces + org.primefaces + 10.0.0 + + + admin-template + com.github.adminfaces + 1.3.0 + + + omnifaces + org.omnifaces + 3.4.1 + + + poi-ooxml + org.apache.poi + 5.0.0 + + + fusionauth-jwt + io.fusionauth + 4.1.0 + + + + + lombok + org.projectlombok + provided + 1.18.22 + + + + + junit-jupiter-engine + org.junit.jupiter + test + 5.8.1 + + + + + + joern@muehlencord.de + Joern Muehlencord + + + + + ossrh + https://oss.sonatype.org/service/local/staging/deploy/maven2/ + + + ossrh + https://oss.sonatype.org/content/repositories/snapshots + + + de.muehlencord + + + Gitea + https://jomu.timelord.de/git/jomu/shared/issues + + + + + repo + Apache License, Version 2.0 + http://www.apache.org/licenses/LICENSE-2.0 + + + + 4.0.0 + + + configuration + network + util + jeeutil + shiro-faces + poi-util + db + + + shared + + pom + + + + - - org.apache.maven.plugins - maven-compiler-plugin - - - maven-release-plugin - 2.5.3 + + + nexus-staging-maven-plugin + + true + https://oss.sonatype.org/ + ossrh + + true + org.sonatype.plugins + 1.6.8 + + + + + maven-source-plugin + + + + jar-no-fork + + attach-sources + + + org.apache.maven.plugins + 3.1.0 + + + + + maven-javadoc-plugin + + + + jar + + attach-javadocs + + + org.apache.maven.plugins + 3.1.1 + + + + + license-maven-plugin + + - v@{project.version} + + The Apache Software License, Version 2.0|Apache 2|Apache License, Version 2.0|Apache Public License 2.0 + + ${licenses.dir} + ${licenses.dir} - - - org.apache.maven.plugins - maven-surefire-plugin - + + download-licenses + add-third-party + + download-licenses + generate-resources + + + org.codehaus.mojo + 1.14 + + + + + maven-gpg-plugin + + 993245E2EC7608BB + + + + + sign + + sign-artifacts + verify + + + org.apache.maven.plugins + 1.6 + - - + + release + + + + + + 2.13.0 + 11 + 11 + + UTF-8 + 1.7.32 + + + + + scm:git:https://jomu.timelord.de/git/jomu/shared/ + scm:git:https://jomu.timelord.de/git/jomu/shared/ + HEAD + https://jomu.timelord.de/git/jomu/shared/ + + + 1.2-SNAPSHOT + diff --git a/shiro-faces/src/main/java/de/muehlencord/shirofaces/tags/AbstractAccessControlTag.java b/shiro-faces/src/main/java/de/muehlencord/shirofaces/tags/AbstractAccessControlTag.java index 7a663ca..3a2230d 100644 --- a/shiro-faces/src/main/java/de/muehlencord/shirofaces/tags/AbstractAccessControlTag.java +++ b/shiro-faces/src/main/java/de/muehlencord/shirofaces/tags/AbstractAccessControlTag.java @@ -28,7 +28,7 @@ public abstract class AbstractAccessControlTag extends AbstractTag { protected TagAttribute attribute; - public AbstractAccessControlTag(TagConfig config) { + protected AbstractAccessControlTag(TagConfig config) { super(config); } diff --git a/shiro-faces/src/main/java/de/muehlencord/shirofaces/tags/AbstractAuthenticationTag.java b/shiro-faces/src/main/java/de/muehlencord/shirofaces/tags/AbstractAuthenticationTag.java index 7c240cf..a7665ad 100644 --- a/shiro-faces/src/main/java/de/muehlencord/shirofaces/tags/AbstractAuthenticationTag.java +++ b/shiro-faces/src/main/java/de/muehlencord/shirofaces/tags/AbstractAuthenticationTag.java @@ -1,4 +1,4 @@ -/* +/* * Copyright 2019 Joern Muehlencord (joern@muehlencord.de). * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -19,42 +19,41 @@ import java.io.IOException; import javax.faces.component.UIComponent; import javax.faces.view.facelets.FaceletContext; import javax.faces.view.facelets.TagConfig; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** - * * @author Joern Muehlencord (joern@muehlencord.de) */ public abstract class AbstractAuthenticationTag extends AbstractTag { - protected AbstractAuthenticationTag(TagConfig config) { - super(config); - } - - protected abstract boolean isAuthenticated(); - - protected boolean applyTagHandler() { - if (isAuthenticated()) { - if (LOGGER.isTraceEnabled()) { - LOGGER.trace("Authentication verified, tag will be evaluated"); - } - return true; - } else { - if (LOGGER.isTraceEnabled()) { - LOGGER.trace ("Authentifaction verification failed, tag will not be evaluated"); - } - return false; - } - } + private static final Logger logger = LoggerFactory.getLogger(AbstractAuthenticationTag.class); - @Override - public void apply(FaceletContext fc, UIComponent uic) throws IOException { - if (applyTagHandler()) { - this.nextHandler.apply(fc, uic); - } + protected AbstractAuthenticationTag(TagConfig config) { + super(config); + } + + protected abstract boolean isAuthenticated(); + + protected boolean applyTagHandler() { + if (isAuthenticated()) { + if (logger.isTraceEnabled()) { + logger.trace("Authentication verified, tag will be evaluated"); + } + return true; + } else { + if (logger.isTraceEnabled()) { + logger.trace("Authentifaction verification failed, tag will not be evaluated"); + } + return false; } - - - - - + } + + @Override + public void apply(FaceletContext fc, UIComponent uic) throws IOException { + if (applyTagHandler()) { + this.nextHandler.apply(fc, uic); + } + } + } diff --git a/shiro-faces/src/main/java/de/muehlencord/shirofaces/tags/AbstractTag.java b/shiro-faces/src/main/java/de/muehlencord/shirofaces/tags/AbstractTag.java index d0cf797..355da1c 100644 --- a/shiro-faces/src/main/java/de/muehlencord/shirofaces/tags/AbstractTag.java +++ b/shiro-faces/src/main/java/de/muehlencord/shirofaces/tags/AbstractTag.java @@ -19,8 +19,6 @@ import javax.faces.view.facelets.TagConfig; import javax.faces.view.facelets.TagHandler; import org.apache.shiro.SecurityUtils; import org.apache.shiro.subject.Subject; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; /** * @@ -28,9 +26,7 @@ import org.slf4j.LoggerFactory; */ public abstract class AbstractTag extends TagHandler { - protected static final Logger LOGGER = LoggerFactory.getLogger(AbstractTag.class); - - public AbstractTag(TagConfig config) { + protected AbstractTag(TagConfig config) { super(config); } diff --git a/util/src/main/java/de/muehlencord/shared/util/StreamUtils.java b/util/src/main/java/de/muehlencord/shared/util/StreamUtils.java index 07a97fb..eb3dd69 100644 --- a/util/src/main/java/de/muehlencord/shared/util/StreamUtils.java +++ b/util/src/main/java/de/muehlencord/shared/util/StreamUtils.java @@ -24,29 +24,28 @@ import java.util.stream.Collector; import java.util.stream.Collectors; /** - * * @author Joern Muehlencord (joern@muehlencord.de) */ -public class StreamUtils { +public interface StreamUtils { - public static Collector singletonCollector() { - return getCollectorFunction(getListTSingleFunction()); - } + default Collector singletonCollector() { + return getCollectorFunction(getListTSingleFunction()); + } - private static Collector getCollectorFunction(Function, T> listTFunction) { - return Collectors.collectingAndThen(Collectors.toList(), listTFunction); - } + default Collector getCollectorFunction(Function, T> listTFunction) { + return Collectors.collectingAndThen(Collectors.toList(), listTFunction); + } - private static Function, T> getListTSingleFunction() { - return list -> { - if (list == null) { - throw new IllegalStateException("List must not be null"); - } - if (list.size() != 1) { - throw new IllegalStateException("List contains not exactly one element (size=" + list.size() + ")"); - } - return list.get(0); - }; - } + default Function, T> getListTSingleFunction() { + return list -> { + if (list == null) { + throw new IllegalStateException("List must not be null"); + } + if (list.size() != 1) { + throw new IllegalStateException("List contains not exactly one element (size=" + list.size() + ")"); + } + return list.get(0); + }; + } } diff --git a/util/src/main/java/de/muehlencord/shared/util/StringEncodingException.java b/util/src/main/java/de/muehlencord/shared/util/StringEncodingException.java index 8012850..a770ab5 100644 --- a/util/src/main/java/de/muehlencord/shared/util/StringEncodingException.java +++ b/util/src/main/java/de/muehlencord/shared/util/StringEncodingException.java @@ -21,7 +21,7 @@ package de.muehlencord.shared.util; */ public class StringEncodingException extends Exception { - protected final static String DEFAULT_MSG = "An encoding exception occurred"; + protected static final String DEFAULT_MSG = "An encoding exception occurred"; /** * Creates a new instance of diff --git a/util/src/test/java/de/muehlencord/shared/util/StringEncodingExceptionTest.java b/util/src/test/java/de/muehlencord/shared/util/StringEncodingExceptionTest.java index 3f73dd5..f0dab3e 100644 --- a/util/src/test/java/de/muehlencord/shared/util/StringEncodingExceptionTest.java +++ b/util/src/test/java/de/muehlencord/shared/util/StringEncodingExceptionTest.java @@ -1,4 +1,4 @@ -/* +/* * Copyright 2019 Joern Muehlencord (joern@muehlencord.de). * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -15,38 +15,38 @@ */ package de.muehlencord.shared.util; -import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.junit.jupiter.api.Assertions.assertEquals; + import org.junit.jupiter.api.Test; /** - * * @author Joern Muehlencord (joern@muehlencord.de) */ -public class StringEncodingExceptionTest { - +class StringEncodingExceptionTest { + + + @Test + void testDefaultConstructor() { + StringEncodingException ex = new StringEncodingException(); + assertEquals(StringEncodingException.DEFAULT_MSG, ex.getMessage()); + } + + @Test + void testMessageConstructor() { + String msg = "Test message"; + StringEncodingException ex = new StringEncodingException(msg); + assertEquals(ex.getMessage(), msg); + } + + + @Test + void testRootcauseConstructor() { + String msg = "Test message"; + StringEncodingException rootCause = new StringEncodingException(); + StringEncodingException ex = new StringEncodingException(msg, rootCause); + assertEquals(ex.getMessage(), msg); + assertEquals(ex.getCause(), rootCause); + } + - @Test - public void testDefaultConstructor() { - StringEncodingException ex = new StringEncodingException(); - assertTrue (ex.getMessage().equals (StringEncodingException.DEFAULT_MSG)); - } - - @Test - public void testMessageConstructor() { - String msg = "Test message"; - StringEncodingException ex = new StringEncodingException(msg); - assertTrue (ex.getMessage().equals (msg)); - } - - - @Test - public void testRootcauseConstructor() { - String msg = "Test message"; - StringEncodingException rootCause = new StringEncodingException(); - StringEncodingException ex = new StringEncodingException(msg, rootCause); - assertTrue (ex.getMessage().equals (msg)); - assertTrue (ex.getCause().equals (rootCause)); - } - - }