diff --git a/build.gradle b/build.gradle
index c5de9207..003762a3 100644
--- a/build.gradle
+++ b/build.gradle
@@ -13,23 +13,19 @@ buildscript {
}
dependencies {
- classpath 'io.spring.gradle:spring-build-conventions:0.0.25.RELEASE'
+ classpath 'io.spring.gradle:spring-build-conventions:0.0.26.RELEASE'
classpath "org.springframework.boot:spring-boot-gradle-plugin:$springBootVersion"
- classpath 'io.spring.nohttp:nohttp-gradle:0.0.2.RELEASE'
}
}
apply plugin: 'io.spring.convention.root'
-apply plugin: 'io.spring.nohttp'
-
-repositories {
- mavenCentral()
-}
group = 'org.springframework.session'
description = 'Spring Session'
subprojects {
+ apply plugin: 'io.spring.javaformat'
+
plugins.withType(JavaPlugin) {
sourceCompatibility = JavaVersion.VERSION_1_8
diff --git a/etc/checkstyle/checkstyle.xml b/etc/checkstyle/checkstyle.xml
index fba2b17f..ac5c5aeb 100644
--- a/etc/checkstyle/checkstyle.xml
+++ b/etc/checkstyle/checkstyle.xml
@@ -5,8 +5,10 @@
+
+
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/etc/eclipse/eclipse-code-formatter.xml b/etc/eclipse/eclipse-code-formatter.xml
deleted file mode 100644
index db0d768e..00000000
--- a/etc/eclipse/eclipse-code-formatter.xml
+++ /dev/null
@@ -1,295 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/etc/eclipse/org.eclipse.jdt.core.prefs b/etc/eclipse/org.eclipse.jdt.core.prefs
deleted file mode 100644
index e44b6fc3..00000000
--- a/etc/eclipse/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,391 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.codeComplete.argumentPrefixes=
-org.eclipse.jdt.core.codeComplete.argumentSuffixes=
-org.eclipse.jdt.core.codeComplete.fieldPrefixes=
-org.eclipse.jdt.core.codeComplete.fieldSuffixes=
-org.eclipse.jdt.core.codeComplete.localPrefixes=
-org.eclipse.jdt.core.codeComplete.localSuffixes=
-org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
-org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
-org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
-org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.6
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
-org.eclipse.jdt.core.compiler.problem.deadCode=warning
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=default
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_standard_tags
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=default
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=ignore
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.nullReference=ignore
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
-org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=warning
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.processAnnotations=disabled
-org.eclipse.jdt.core.compiler.source=1.6
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=false
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=false
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=do not insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=90
-org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
-org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
-org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
-org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=true
-org.eclipse.jdt.core.formatter.join_wrapped_lines=true
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=90
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_on_off_tags=true
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
-org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
-org.eclipse.jdt.core.javaFormatter=org.springframework.ide.eclipse.jdt.formatter.javaformatter
diff --git a/etc/eclipse/org.eclipse.jdt.ui.prefs b/etc/eclipse/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 9952785e..00000000
--- a/etc/eclipse/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,125 +0,0 @@
-cleanup.add_default_serial_version_id=true
-cleanup.add_generated_serial_version_id=false
-cleanup.add_missing_annotations=true
-cleanup.add_missing_deprecated_annotations=true
-cleanup.add_missing_methods=false
-cleanup.add_missing_nls_tags=false
-cleanup.add_missing_override_annotations=true
-cleanup.add_missing_override_annotations_interface_methods=true
-cleanup.add_serial_version_id=false
-cleanup.always_use_blocks=true
-cleanup.always_use_parentheses_in_expressions=false
-cleanup.always_use_this_for_non_static_field_access=true
-cleanup.always_use_this_for_non_static_method_access=false
-cleanup.convert_functional_interfaces=false
-cleanup.convert_to_enhanced_for_loop=false
-cleanup.correct_indentation=false
-cleanup.format_source_code=true
-cleanup.format_source_code_changes_only=false
-cleanup.insert_inferred_type_arguments=false
-cleanup.make_local_variable_final=false
-cleanup.make_parameters_final=false
-cleanup.make_private_fields_final=false
-cleanup.make_type_abstract_if_missing_method=false
-cleanup.make_variable_declarations_final=false
-cleanup.never_use_blocks=false
-cleanup.never_use_parentheses_in_expressions=true
-cleanup.organize_imports=true
-cleanup.qualify_static_field_accesses_with_declaring_class=false
-cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-cleanup.qualify_static_member_accesses_with_declaring_class=true
-cleanup.qualify_static_method_accesses_with_declaring_class=false
-cleanup.remove_private_constructors=true
-cleanup.remove_redundant_type_arguments=true
-cleanup.remove_trailing_whitespaces=true
-cleanup.remove_trailing_whitespaces_all=true
-cleanup.remove_trailing_whitespaces_ignore_empty=false
-cleanup.remove_unnecessary_casts=true
-cleanup.remove_unnecessary_nls_tags=false
-cleanup.remove_unused_imports=true
-cleanup.remove_unused_local_variables=false
-cleanup.remove_unused_private_fields=true
-cleanup.remove_unused_private_members=false
-cleanup.remove_unused_private_methods=true
-cleanup.remove_unused_private_types=true
-cleanup.sort_members=false
-cleanup.sort_members_all=false
-cleanup.use_anonymous_class_creation=false
-cleanup.use_blocks=true
-cleanup.use_blocks_only_for_return_and_throw=false
-cleanup.use_lambda=true
-cleanup.use_parentheses_in_expressions=false
-cleanup.use_this_for_non_static_field_access=false
-cleanup.use_this_for_non_static_field_access_only_if_necessary=false
-cleanup.use_this_for_non_static_method_access=false
-cleanup.use_this_for_non_static_method_access_only_if_necessary=true
-cleanup.use_type_arguments=false
-cleanup_profile=_Spring Boot Cleanup Conventions
-cleanup_settings_version=2
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=Spring Session Java Conventions
-formatter_settings_version=12
-org.eclipse.jdt.ui.exception.name=e
-org.eclipse.jdt.ui.gettersetter.use.is=true
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=java;javax;;org.springframework;\#;
-org.eclipse.jdt.ui.javadoc=true
-org.eclipse.jdt.ui.keywordthis=false
-org.eclipse.jdt.ui.ondemandthreshold=9999
-org.eclipse.jdt.ui.overrideannotation=true
-org.eclipse.jdt.ui.staticondemandthreshold=9999
-org.eclipse.jdt.ui.text.custom_code_templates=/**\n * @return the ${bare_field_name}\n *//**\n * @param ${param} the ${bare_field_name} to set\n *//**\n * ${tags}\n *//*\n * Copyright 2014-2016 the original author or authors.\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https\://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *//**\n * @author ${user}\n *//**\n * \n *//**\n * ${tags}\n *//* (non-Javadoc)\n * ${see_to_overridden}\n *//**\n * ${tags}\n * ${see_to_target}\n */${filecomment}\n\n${package_declaration}\n${typecomment}\n${type_declaration}\n\n\n\n// ${todo} Auto-generated catch block\nthrow new UnsupportedOperationException("Auto-generated method stub", ${exception_var});// ${todo} Auto-generated method stub\nthrow new UnsupportedOperationException("Auto-generated method stub");${body_statement}\n// ${todo} Auto-generated constructor stubreturn ${field};${field} \= ${param};
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_methods=false
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_missing_override_annotations_interface_methods=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=true
-sp_cleanup.always_use_this_for_non_static_field_access=true
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.correct_indentation=false
-sp_cleanup.format_source_code=true
-sp_cleanup.format_source_code_changes_only=false
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=false
-sp_cleanup.make_type_abstract_if_missing_method=false
-sp_cleanup.make_variable_declarations_final=false
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=false
-sp_cleanup.on_save_use_additional_actions=true
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=true
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=true
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=true
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=true
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=true
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=true
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=false
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/spring-session-core/src/main/java/org/springframework/session/FindByIndexNameSessionRepository.java b/spring-session-core/src/main/java/org/springframework/session/FindByIndexNameSessionRepository.java
index ccab6386..4c917325 100644
--- a/spring-session-core/src/main/java/org/springframework/session/FindByIndexNameSessionRepository.java
+++ b/spring-session-core/src/main/java/org/springframework/session/FindByIndexNameSessionRepository.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2018 the original author or authors.
+ * Copyright 2014-2019 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -27,8 +27,7 @@ import java.util.Map;
* @author Rob Winch
* @author Vedran Pavic
*/
-public interface FindByIndexNameSessionRepository
- extends SessionRepository {
+public interface FindByIndexNameSessionRepository extends SessionRepository {
/**
* A session index that contains the current principal name (i.e. username).
@@ -44,7 +43,6 @@ public interface FindByIndexNameSessionRepository
/**
* Find a {@link Map} of the session id to the {@link Session} of all sessions that
* contain the specified index name index value.
- *
* @param indexName the name of the index (i.e.
* {@link FindByIndexNameSessionRepository#PRINCIPAL_NAME_INDEX_NAME})
* @param indexValue the value of the index to search for.
@@ -59,7 +57,6 @@ public interface FindByIndexNameSessionRepository
* contain the index with the name
* {@link FindByIndexNameSessionRepository#PRINCIPAL_NAME_INDEX_NAME} and the
* specified principal name.
- *
* @param principalName the principal name
* @return a {@code Map} (never {@code null}) of the session id to the {@code Session}
* of all sessions that contain the specified principal name. If no results are found,
diff --git a/spring-session-core/src/main/java/org/springframework/session/MapSession.java b/spring-session-core/src/main/java/org/springframework/session/MapSession.java
index 443a3915..485883f1 100644
--- a/spring-session-core/src/main/java/org/springframework/session/MapSession.java
+++ b/spring-session-core/src/main/java/org/springframework/session/MapSession.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2018 the original author or authors.
+ * Copyright 2014-2019 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -47,15 +47,20 @@ import java.util.UUID;
* @since 1.0
*/
public final class MapSession implements Session, Serializable {
+
/**
* Default {@link #setMaxInactiveInterval(Duration)} (30 minutes).
*/
public static final int DEFAULT_MAX_INACTIVE_INTERVAL_SECONDS = 1800;
private String id;
+
private final String originalId;
+
private Map sessionAttrs = new HashMap<>();
+
private Instant creationTime = Instant.now();
+
private Instant lastAccessedTime = this.creationTime;
/**
@@ -70,12 +75,10 @@ public final class MapSession implements Session, Serializable {
this(generateId());
}
-
/**
* Creates a new instance with the specified id. This is preferred to the default
* constructor when the id is known to prevent unnecessary consumption on entropy
* which can be slow.
- *
* @param id the identifier to use
*/
public MapSession(String id) {
@@ -85,7 +88,6 @@ public final class MapSession implements Session, Serializable {
/**
* Creates a new instance from the provided {@link Session}.
- *
* @param session the {@link Session} to initialize this {@link Session} with. Cannot
* be null.
*/
@@ -95,8 +97,7 @@ public final class MapSession implements Session, Serializable {
}
this.id = session.getId();
this.originalId = this.id;
- this.sessionAttrs = new HashMap<>(
- session.getAttributeNames().size());
+ this.sessionAttrs = new HashMap<>(session.getAttributeNames().size());
for (String attrName : session.getAttributeNames()) {
Object attrValue = session.getAttribute(attrName);
if (attrValue != null) {
@@ -205,7 +206,6 @@ public final class MapSession implements Session, Serializable {
* Sets the identifier for this {@link Session}. The id should be a secure random
* generated value to prevent malicious users from guessing this value. The default is
* a secure random generated identifier.
- *
* @param id the identifier for this session.
*/
public void setId(String id) {
@@ -227,4 +227,5 @@ public final class MapSession implements Session, Serializable {
}
private static final long serialVersionUID = 7160779239673823561L;
+
}
diff --git a/spring-session-core/src/main/java/org/springframework/session/MapSessionRepository.java b/spring-session-core/src/main/java/org/springframework/session/MapSessionRepository.java
index b558047f..373c0182 100644
--- a/spring-session-core/src/main/java/org/springframework/session/MapSessionRepository.java
+++ b/spring-session-core/src/main/java/org/springframework/session/MapSessionRepository.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2018 the original author or authors.
+ * Copyright 2014-2019 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -49,7 +49,6 @@ public class MapSessionRepository implements SessionRepository {
/**
* Creates a new instance backed by the provided {@link java.util.Map}. This allows
* injecting a distributed {@link java.util.Map}.
- *
* @param sessions the {@link java.util.Map} to use. Cannot be null.
*/
public MapSessionRepository(Map sessions) {
@@ -99,8 +98,7 @@ public class MapSessionRepository implements SessionRepository {
public MapSession createSession() {
MapSession result = new MapSession();
if (this.defaultMaxInactiveInterval != null) {
- result.setMaxInactiveInterval(
- Duration.ofSeconds(this.defaultMaxInactiveInterval));
+ result.setMaxInactiveInterval(Duration.ofSeconds(this.defaultMaxInactiveInterval));
}
return result;
}
diff --git a/spring-session-core/src/main/java/org/springframework/session/ReactiveMapSessionRepository.java b/spring-session-core/src/main/java/org/springframework/session/ReactiveMapSessionRepository.java
index 363a7401..ed3d843f 100644
--- a/spring-session-core/src/main/java/org/springframework/session/ReactiveMapSessionRepository.java
+++ b/spring-session-core/src/main/java/org/springframework/session/ReactiveMapSessionRepository.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2018 the original author or authors.
+ * Copyright 2014-2019 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -51,7 +51,6 @@ public class ReactiveMapSessionRepository implements ReactiveSessionRepository sessions) {
@@ -101,8 +100,7 @@ public class ReactiveMapSessionRepository implements ReactiveSessionRepository {
MapSession result = new MapSession();
if (this.defaultMaxInactiveInterval != null) {
- result.setMaxInactiveInterval(
- Duration.ofSeconds(this.defaultMaxInactiveInterval));
+ result.setMaxInactiveInterval(Duration.ofSeconds(this.defaultMaxInactiveInterval));
}
return Mono.just(result);
});
diff --git a/spring-session-core/src/main/java/org/springframework/session/ReactiveSessionRepository.java b/spring-session-core/src/main/java/org/springframework/session/ReactiveSessionRepository.java
index d167e493..2e41b9b2 100644
--- a/spring-session-core/src/main/java/org/springframework/session/ReactiveSessionRepository.java
+++ b/spring-session-core/src/main/java/org/springframework/session/ReactiveSessionRepository.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2017 the original author or authors.
+ * Copyright 2014-2019 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -36,7 +36,6 @@ public interface ReactiveSessionRepository {
* persisted. For example, the implementation returned might keep track of the changes
* ensuring that only the delta needs to be persisted on a save.
*
- *
* @return a new {@link Session} that is capable of being persisted by this
* {@link ReactiveSessionRepository}
*/
@@ -51,7 +50,6 @@ public interface ReactiveSessionRepository {
* returning a {@link Session} that immediately persists any changes. In this case,
* this method may not actually do anything.
*
- *
* @param session the {@link Session} to save
* @return indicator of operation completion
*/
@@ -60,7 +58,6 @@ public interface ReactiveSessionRepository {
/**
* Gets the {@link Session} by the {@link Session#getId()} or null if no
* {@link Session} is found.
- *
* @param id the {@link Session#getId()} to lookup
* @return the {@link Session} by the {@link Session#getId()} or null if no
* {@link Session} is found.
diff --git a/spring-session-core/src/main/java/org/springframework/session/Session.java b/spring-session-core/src/main/java/org/springframework/session/Session.java
index c34ec2eb..6be3445c 100644
--- a/spring-session-core/src/main/java/org/springframework/session/Session.java
+++ b/spring-session-core/src/main/java/org/springframework/session/Session.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2018 the original author or authors.
+ * Copyright 2014-2019 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -32,13 +32,13 @@ public interface Session {
/**
* Gets a unique string that identifies the {@link Session}.
- *
* @return a unique string that identifies the {@link Session}
*/
String getId();
/**
- * Changes the session id. After invoking the {@link #getId()} will return a new identifier.
+ * Changes the session id. After invoking the {@link #getId()} will return a new
+ * identifier.
* @return the new session id which {@link #getId()} will now return
*/
String changeSessionId();
@@ -46,7 +46,6 @@ public interface Session {
/**
* Gets the Object associated with the specified name or null if no Object is
* associated to that name.
- *
* @param the return type of the attribute
* @param attributeName the name of the attribute to get
* @return the Object associated with the specified name or null if no Object is
@@ -65,8 +64,7 @@ public interface Session {
default T getRequiredAttribute(String name) {
T result = getAttribute(name);
if (result == null) {
- throw new IllegalArgumentException(
- "Required attribute '" + name + "' is missing.");
+ throw new IllegalArgumentException("Required attribute '" + name + "' is missing.");
}
return result;
}
@@ -88,7 +86,6 @@ public interface Session {
* Gets the attribute names that have a value associated with it. Each value can be
* passed into {@link org.springframework.session.Session#getAttribute(String)} to
* obtain the attribute value.
- *
* @return the attribute names that have a value associated with it.
* @see #getAttribute(String)
*/
@@ -98,7 +95,6 @@ public interface Session {
* Sets the attribute value for the provided attribute name. If the attributeValue is
* null, it has the same result as removing the attribute with
* {@link org.springframework.session.Session#removeAttribute(String)} .
- *
* @param attributeName the attribute name to set
* @param attributeValue the value of the attribute to set. If null, the attribute
* will be removed.
@@ -113,21 +109,18 @@ public interface Session {
/**
* Gets the time when this session was created.
- *
* @return the time when this session was created.
*/
Instant getCreationTime();
/**
* Sets the last accessed time.
- *
* @param lastAccessedTime the last accessed time
*/
void setLastAccessedTime(Instant lastAccessedTime);
/**
* Gets the last time this {@link Session} was accessed.
- *
* @return the last time the client sent a request associated with the session
*/
Instant getLastAccessedTime();
@@ -135,7 +128,6 @@ public interface Session {
/**
* Sets the maximum inactive interval between requests before this session will be
* invalidated. A negative time indicates that the session will never timeout.
- *
* @param interval the amount of time that the {@link Session} should be kept alive
* between client requests.
*/
@@ -144,7 +136,6 @@ public interface Session {
/**
* Gets the maximum inactive interval between requests before this session will be
* invalidated. A negative time indicates that the session will never timeout.
- *
* @return the maximum inactive interval between requests before this session will be
* invalidated. A negative time indicates that the session will never timeout.
*/
@@ -152,7 +143,6 @@ public interface Session {
/**
* Returns true if the session is expired.
- *
* @return true if the session is expired, else false.
*/
boolean isExpired();
diff --git a/spring-session-core/src/main/java/org/springframework/session/SessionRepository.java b/spring-session-core/src/main/java/org/springframework/session/SessionRepository.java
index 13f34e33..7efe2f99 100644
--- a/spring-session-core/src/main/java/org/springframework/session/SessionRepository.java
+++ b/spring-session-core/src/main/java/org/springframework/session/SessionRepository.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2016 the original author or authors.
+ * Copyright 2014-2019 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -34,7 +34,6 @@ public interface SessionRepository {
* persisted. For example, the implementation returned might keep track of the changes
* ensuring that only the delta needs to be persisted on a save.
*
- *
* @return a new {@link Session} that is capable of being persisted by this
* {@link SessionRepository}
*/
@@ -49,7 +48,6 @@ public interface SessionRepository {
* returning a {@link Session} that immediately persists any changes. In this case,
* this method may not actually do anything.
*
- *
* @param session the {@link Session} to save
*/
void save(S session);
@@ -57,7 +55,6 @@ public interface SessionRepository {
/**
* Gets the {@link Session} by the {@link Session#getId()} or null if no
* {@link Session} is found.
- *
* @param id the {@link org.springframework.session.Session#getId()} to lookup
* @return the {@link Session} by the {@link Session#getId()} or null if no
* {@link Session} is found.
@@ -70,4 +67,5 @@ public interface SessionRepository {
* @param id the {@link org.springframework.session.Session#getId()} to delete
*/
void deleteById(String id);
+
}
diff --git a/spring-session-core/src/main/java/org/springframework/session/config/annotation/web/http/EnableSpringHttpSession.java b/spring-session-core/src/main/java/org/springframework/session/config/annotation/web/http/EnableSpringHttpSession.java
index 50c2cc1a..daa43ebd 100644
--- a/spring-session-core/src/main/java/org/springframework/session/config/annotation/web/http/EnableSpringHttpSession.java
+++ b/spring-session-core/src/main/java/org/springframework/session/config/annotation/web/http/EnableSpringHttpSession.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2016 the original author or authors.
+ * Copyright 2014-2019 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -76,4 +76,5 @@ import org.springframework.session.events.SessionDestroyedEvent;
@Import(SpringHttpSessionConfiguration.class)
@Configuration
public @interface EnableSpringHttpSession {
+
}
diff --git a/spring-session-core/src/main/java/org/springframework/session/config/annotation/web/http/SpringHttpSessionConfiguration.java b/spring-session-core/src/main/java/org/springframework/session/config/annotation/web/http/SpringHttpSessionConfiguration.java
index 896e1882..014b0467 100644
--- a/spring-session-core/src/main/java/org/springframework/session/config/annotation/web/http/SpringHttpSessionConfiguration.java
+++ b/spring-session-core/src/main/java/org/springframework/session/config/annotation/web/http/SpringHttpSessionConfiguration.java
@@ -88,7 +88,6 @@ import org.springframework.util.ObjectUtils;
* @author Rob Winch
* @author Vedran Pavic
* @since 1.1
- *
* @see EnableSpringHttpSession
*/
@Configuration(proxyBeanMethods = false)
@@ -110,8 +109,7 @@ public class SpringHttpSessionConfiguration implements ApplicationContextAware {
@PostConstruct
public void init() {
- CookieSerializer cookieSerializer = (this.cookieSerializer != null)
- ? this.cookieSerializer
+ CookieSerializer cookieSerializer = (this.cookieSerializer != null) ? this.cookieSerializer
: createDefaultCookieSerializer();
this.defaultHttpSessionIdResolver.setCookieSerializer(cookieSerializer);
}
@@ -124,21 +122,16 @@ public class SpringHttpSessionConfiguration implements ApplicationContextAware {
@Bean
public SessionRepositoryFilter extends Session> springSessionRepositoryFilter(
SessionRepository sessionRepository) {
- SessionRepositoryFilter sessionRepositoryFilter = new SessionRepositoryFilter<>(
- sessionRepository);
+ SessionRepositoryFilter sessionRepositoryFilter = new SessionRepositoryFilter<>(sessionRepository);
sessionRepositoryFilter.setHttpSessionIdResolver(this.httpSessionIdResolver);
return sessionRepositoryFilter;
}
@Override
- public void setApplicationContext(ApplicationContext applicationContext)
- throws BeansException {
- if (ClassUtils.isPresent(
- "org.springframework.security.web.authentication.RememberMeServices",
- null)) {
+ public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
+ if (ClassUtils.isPresent("org.springframework.security.web.authentication.RememberMeServices", null)) {
this.usesSpringSessionRememberMeServices = !ObjectUtils
- .isEmpty(applicationContext
- .getBeanNamesForType(SpringSessionRememberMeServices.class));
+ .isEmpty(applicationContext.getBeanNamesForType(SpringSessionRememberMeServices.class));
}
}
@@ -170,8 +163,7 @@ public class SpringHttpSessionConfiguration implements ApplicationContextAware {
sessionCookieConfig = this.servletContext.getSessionCookieConfig();
}
catch (UnsupportedOperationException ex) {
- this.logger
- .warn("Unable to obtain SessionCookieConfig: " + ex.getMessage());
+ this.logger.warn("Unable to obtain SessionCookieConfig: " + ex.getMessage());
}
if (sessionCookieConfig != null) {
if (sessionCookieConfig.getName() != null) {
@@ -189,8 +181,7 @@ public class SpringHttpSessionConfiguration implements ApplicationContextAware {
}
}
if (this.usesSpringSessionRememberMeServices) {
- cookieSerializer.setRememberMeRequestAttribute(
- SpringSessionRememberMeServices.REMEMBER_ME_LOGIN_ATTR);
+ cookieSerializer.setRememberMeRequestAttribute(SpringSessionRememberMeServices.REMEMBER_ME_LOGIN_ATTR);
}
return cookieSerializer;
}
diff --git a/spring-session-core/src/main/java/org/springframework/session/config/annotation/web/server/EnableSpringWebSession.java b/spring-session-core/src/main/java/org/springframework/session/config/annotation/web/server/EnableSpringWebSession.java
index f0ad09de..6baede4b 100644
--- a/spring-session-core/src/main/java/org/springframework/session/config/annotation/web/server/EnableSpringWebSession.java
+++ b/spring-session-core/src/main/java/org/springframework/session/config/annotation/web/server/EnableSpringWebSession.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2018 the original author or authors.
+ * Copyright 2014-2019 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -23,9 +23,10 @@ import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
/**
- * Add this annotation to a {@code @Configuration} class to configure a {@code WebSessionManager} for a WebFlux
- * application. This annotation assumes a {@code ReactiveSessionRepository} is defined somewhere in the application
- * context. If not, it will fail with a clear error message. For example:
+ * Add this annotation to a {@code @Configuration} class to configure a
+ * {@code WebSessionManager} for a WebFlux application. This annotation assumes a
+ * {@code ReactiveSessionRepository} is defined somewhere in the application context. If
+ * not, it will fail with a clear error message. For example:
*
*
+ *
*
* @author Greg Turnquist
* @since 2.0
@@ -51,4 +51,5 @@ import org.springframework.context.annotation.Import;
@Import(SpringWebSessionConfiguration.class)
@Configuration
public @interface EnableSpringWebSession {
+
}
diff --git a/spring-session-core/src/main/java/org/springframework/session/config/annotation/web/server/SpringWebSessionConfiguration.java b/spring-session-core/src/main/java/org/springframework/session/config/annotation/web/server/SpringWebSessionConfiguration.java
index 9a0b34bd..5a6dc3e0 100644
--- a/spring-session-core/src/main/java/org/springframework/session/config/annotation/web/server/SpringWebSessionConfiguration.java
+++ b/spring-session-core/src/main/java/org/springframework/session/config/annotation/web/server/SpringWebSessionConfiguration.java
@@ -27,12 +27,12 @@ import org.springframework.web.server.session.WebSessionIdResolver;
import org.springframework.web.server.session.WebSessionManager;
/**
- * Wire up a {@link WebSessionManager} using a Reactive {@link ReactiveSessionRepository} from the application context.
+ * Wire up a {@link WebSessionManager} using a Reactive {@link ReactiveSessionRepository}
+ * from the application context.
*
* @author Greg Turnquist
* @author Rob Winch
* @since 2.0
- *
* @see EnableSpringWebSession
*/
@Configuration(proxyBeanMethods = false)
@@ -45,10 +45,11 @@ public class SpringWebSessionConfiguration {
private WebSessionIdResolver webSessionIdResolver;
/**
- * Configure a {@link WebSessionManager} using a provided {@link ReactiveSessionRepository}.
- *
+ * Configure a {@link WebSessionManager} using a provided
+ * {@link ReactiveSessionRepository}.
* @param repository a bean that implements {@link ReactiveSessionRepository}.
- * @return a configured {@link WebSessionManager} registered with a preconfigured name.
+ * @return a configured {@link WebSessionManager} registered with a preconfigured
+ * name.
*/
@Bean(WebHttpHandlerBuilder.WEB_SESSION_MANAGER_BEAN_NAME)
public WebSessionManager webSessionManager(ReactiveSessionRepository extends Session> repository) {
@@ -62,4 +63,5 @@ public class SpringWebSessionConfiguration {
return manager;
}
+
}
diff --git a/spring-session-core/src/main/java/org/springframework/session/events/AbstractSessionEvent.java b/spring-session-core/src/main/java/org/springframework/session/events/AbstractSessionEvent.java
index 41f117e8..c6f135a4 100644
--- a/spring-session-core/src/main/java/org/springframework/session/events/AbstractSessionEvent.java
+++ b/spring-session-core/src/main/java/org/springframework/session/events/AbstractSessionEvent.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2018 the original author or authors.
+ * Copyright 2014-2019 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -44,7 +44,6 @@ public abstract class AbstractSessionEvent extends ApplicationEvent {
* Gets the {@link Session} that was destroyed. For some {@link SessionRepository}
* implementations it may not be possible to get the original session in which case
* this may be null.
- *
* @param the type of Session
* @return the expired {@link Session} or null if the data store does not support
* obtaining it
diff --git a/spring-session-core/src/main/java/org/springframework/session/security/SpringSessionBackedSessionInformation.java b/spring-session-core/src/main/java/org/springframework/session/security/SpringSessionBackedSessionInformation.java
index eb3d563f..00373801 100644
--- a/spring-session-core/src/main/java/org/springframework/session/security/SpringSessionBackedSessionInformation.java
+++ b/spring-session-core/src/main/java/org/springframework/session/security/SpringSessionBackedSessionInformation.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2018 the original author or authors.
+ * Copyright 2014-2019 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -36,23 +36,18 @@ import org.springframework.session.SessionRepository;
* @author Vedran Pavic
* @since 1.3
*/
-class SpringSessionBackedSessionInformation
- extends SessionInformation {
+class SpringSessionBackedSessionInformation extends SessionInformation {
- static final String EXPIRED_ATTR = SpringSessionBackedSessionInformation.class
- .getName() + ".EXPIRED";
+ static final String EXPIRED_ATTR = SpringSessionBackedSessionInformation.class.getName() + ".EXPIRED";
- private static final Log logger = LogFactory
- .getLog(SpringSessionBackedSessionInformation.class);
+ private static final Log logger = LogFactory.getLog(SpringSessionBackedSessionInformation.class);
private static final String SPRING_SECURITY_CONTEXT = "SPRING_SECURITY_CONTEXT";
private final SessionRepository sessionRepository;
- SpringSessionBackedSessionInformation(S session,
- SessionRepository sessionRepository) {
- super(resolvePrincipal(session), session.getId(),
- Date.from(session.getLastAccessedTime()));
+ SpringSessionBackedSessionInformation(S session, SessionRepository sessionRepository) {
+ super(resolvePrincipal(session), session.getId(), Date.from(session.getLastAccessedTime()));
this.sessionRepository = sessionRepository;
Boolean expired = session.getAttribute(EXPIRED_ATTR);
if (Boolean.TRUE.equals(expired)) {
@@ -62,20 +57,16 @@ class SpringSessionBackedSessionInformation
/**
* Tries to determine the principal's name from the given Session.
- *
* @param session the session
* @return the principal's name, or empty String if it couldn't be determined
*/
private static String resolvePrincipal(Session session) {
- String principalName = session
- .getAttribute(FindByIndexNameSessionRepository.PRINCIPAL_NAME_INDEX_NAME);
+ String principalName = session.getAttribute(FindByIndexNameSessionRepository.PRINCIPAL_NAME_INDEX_NAME);
if (principalName != null) {
return principalName;
}
- SecurityContext securityContext = session
- .getAttribute(SPRING_SECURITY_CONTEXT);
- if (securityContext != null
- && securityContext.getAuthentication() != null) {
+ SecurityContext securityContext = session.getAttribute(SPRING_SECURITY_CONTEXT);
+ if (securityContext != null && securityContext.getAuthentication() != null) {
return securityContext.getAuthentication().getName();
}
return "";
@@ -84,9 +75,8 @@ class SpringSessionBackedSessionInformation
@Override
public void expireNow() {
if (logger.isDebugEnabled()) {
- logger.debug("Expiring session " + getSessionId() + " for user '"
- + getPrincipal() + "', presumably because maximum allowed concurrent "
- + "sessions was exceeded");
+ logger.debug("Expiring session " + getSessionId() + " for user '" + getPrincipal()
+ + "', presumably because maximum allowed concurrent " + "sessions was exceeded");
}
super.expireNow();
S session = this.sessionRepository.findById(getSessionId());
@@ -95,8 +85,7 @@ class SpringSessionBackedSessionInformation
this.sessionRepository.save(session);
}
else {
- logger.info("Could not find Session with id " + getSessionId()
- + " to mark as expired");
+ logger.info("Could not find Session with id " + getSessionId() + " to mark as expired");
}
}
diff --git a/spring-session-core/src/main/java/org/springframework/session/security/SpringSessionBackedSessionRegistry.java b/spring-session-core/src/main/java/org/springframework/session/security/SpringSessionBackedSessionRegistry.java
index e42525d0..f999cb6b 100644
--- a/spring-session-core/src/main/java/org/springframework/session/security/SpringSessionBackedSessionRegistry.java
+++ b/spring-session-core/src/main/java/org/springframework/session/security/SpringSessionBackedSessionRegistry.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2018 the original author or authors.
+ * Copyright 2014-2019 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -44,13 +44,11 @@ import org.springframework.util.Assert;
* @author Vedran Pavic
* @since 1.3
*/
-public class SpringSessionBackedSessionRegistry
- implements SessionRegistry {
+public class SpringSessionBackedSessionRegistry implements SessionRegistry {
private final FindByIndexNameSessionRepository sessionRepository;
- public SpringSessionBackedSessionRegistry(
- FindByIndexNameSessionRepository sessionRepository) {
+ public SpringSessionBackedSessionRegistry(FindByIndexNameSessionRepository sessionRepository) {
Assert.notNull(sessionRepository, "sessionRepository cannot be null");
this.sessionRepository = sessionRepository;
}
@@ -63,16 +61,13 @@ public class SpringSessionBackedSessionRegistry
}
@Override
- public List getAllSessions(Object principal,
- boolean includeExpiredSessions) {
- Collection sessions = this.sessionRepository
- .findByPrincipalName(name(principal)).values();
+ public List getAllSessions(Object principal, boolean includeExpiredSessions) {
+ Collection sessions = this.sessionRepository.findByPrincipalName(name(principal)).values();
List infos = new ArrayList<>();
for (S session : sessions) {
- if (includeExpiredSessions || !Boolean.TRUE.equals(session
- .getAttribute(SpringSessionBackedSessionInformation.EXPIRED_ATTR))) {
- infos.add(new SpringSessionBackedSessionInformation<>(session,
- this.sessionRepository));
+ if (includeExpiredSessions
+ || !Boolean.TRUE.equals(session.getAttribute(SpringSessionBackedSessionInformation.EXPIRED_ATTR))) {
+ infos.add(new SpringSessionBackedSessionInformation<>(session, this.sessionRepository));
}
}
return infos;
@@ -82,8 +77,7 @@ public class SpringSessionBackedSessionRegistry
public SessionInformation getSessionInformation(String sessionId) {
S session = this.sessionRepository.findById(sessionId);
if (session != null) {
- return new SpringSessionBackedSessionInformation<>(session,
- this.sessionRepository);
+ return new SpringSessionBackedSessionInformation<>(session, this.sessionRepository);
}
return null;
}
@@ -111,7 +105,6 @@ public class SpringSessionBackedSessionRegistry
/**
* Derives a String name for the given principal.
- *
* @param principal as provided by Spring Security
* @return name of the principal, or its {@code toString()} representation if no name
* could be derived
diff --git a/spring-session-core/src/main/java/org/springframework/session/security/web/authentication/SpringSessionRememberMeServices.java b/spring-session-core/src/main/java/org/springframework/session/security/web/authentication/SpringSessionRememberMeServices.java
index f14739e4..2afe12e2 100644
--- a/spring-session-core/src/main/java/org/springframework/session/security/web/authentication/SpringSessionRememberMeServices.java
+++ b/spring-session-core/src/main/java/org/springframework/session/security/web/authentication/SpringSessionRememberMeServices.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2016 the original author or authors.
+ * Copyright 2014-2019 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -36,21 +36,19 @@ import org.springframework.util.Assert;
* @author Vedran Pavic
* @since 1.3.0
*/
-public class SpringSessionRememberMeServices
- implements RememberMeServices, LogoutHandler {
+public class SpringSessionRememberMeServices implements RememberMeServices, LogoutHandler {
/**
* Remember-me login request attribute name.
*/
- public static final String REMEMBER_ME_LOGIN_ATTR = SpringSessionRememberMeServices.class
- .getName() + "REMEMBER_ME_LOGIN_ATTR";
+ public static final String REMEMBER_ME_LOGIN_ATTR = SpringSessionRememberMeServices.class.getName()
+ + "REMEMBER_ME_LOGIN_ATTR";
private static final String DEFAULT_REMEMBERME_PARAMETER = "remember-me";
private static final int THIRTY_DAYS_SECONDS = 2592000;
- private static final Log logger = LogFactory
- .getLog(SpringSessionRememberMeServices.class);
+ private static final Log logger = LogFactory.getLog(SpringSessionRememberMeServices.class);
private String rememberMeParameterName = DEFAULT_REMEMBERME_PARAMETER;
@@ -61,22 +59,19 @@ public class SpringSessionRememberMeServices
private String sessionAttrToDeleteOnLoginFail = HttpSessionSecurityContextRepository.SPRING_SECURITY_CONTEXT_KEY;
@Override
- public final Authentication autoLogin(HttpServletRequest request,
- HttpServletResponse response) {
+ public final Authentication autoLogin(HttpServletRequest request, HttpServletResponse response) {
return null;
}
@Override
- public final void loginFail(HttpServletRequest request,
- HttpServletResponse response) {
+ public final void loginFail(HttpServletRequest request, HttpServletResponse response) {
logout(request);
}
@Override
- public final void loginSuccess(HttpServletRequest request,
- HttpServletResponse response, Authentication successfulAuthentication) {
- if (!this.alwaysRemember
- && !rememberMeRequested(request, this.rememberMeParameterName)) {
+ public final void loginSuccess(HttpServletRequest request, HttpServletResponse response,
+ Authentication successfulAuthentication) {
+ if (!this.alwaysRemember && !rememberMeRequested(request, this.rememberMeParameterName)) {
logger.debug("Remember-me login not requested.");
return;
}
@@ -103,8 +98,7 @@ public class SpringSessionRememberMeServices
}
}
if (logger.isDebugEnabled()) {
- logger.debug("Did not send remember-me cookie (principal did not set "
- + "parameter '" + parameter + "')");
+ logger.debug("Did not send remember-me cookie (principal did not set " + "parameter '" + parameter + "')");
}
return false;
}
@@ -116,8 +110,7 @@ public class SpringSessionRememberMeServices
* @param rememberMeParameterName the request parameter
*/
public void setRememberMeParameterName(String rememberMeParameterName) {
- Assert.hasText(rememberMeParameterName,
- "rememberMeParameterName cannot be empty or null");
+ Assert.hasText(rememberMeParameterName, "rememberMeParameterName cannot be empty or null");
this.rememberMeParameterName = rememberMeParameterName;
}
@@ -130,8 +123,7 @@ public class SpringSessionRememberMeServices
}
@Override
- public void logout(HttpServletRequest request, HttpServletResponse response,
- Authentication authentication) {
+ public void logout(HttpServletRequest request, HttpServletResponse response, Authentication authentication) {
logout(request);
}
@@ -142,4 +134,5 @@ public class SpringSessionRememberMeServices
session.removeAttribute(this.sessionAttrToDeleteOnLoginFail);
}
}
+
}
diff --git a/spring-session-core/src/main/java/org/springframework/session/web/context/AbstractHttpSessionApplicationInitializer.java b/spring-session-core/src/main/java/org/springframework/session/web/context/AbstractHttpSessionApplicationInitializer.java
index 4206bb78..1d077d03 100644
--- a/spring-session-core/src/main/java/org/springframework/session/web/context/AbstractHttpSessionApplicationInitializer.java
+++ b/spring-session-core/src/main/java/org/springframework/session/web/context/AbstractHttpSessionApplicationInitializer.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2016 the original author or authors.
+ * Copyright 2014-2019 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -71,8 +71,7 @@ import org.springframework.web.filter.DelegatingFilterProxy;
*
*/
@Order(100)
-public abstract class AbstractHttpSessionApplicationInitializer
- implements WebApplicationInitializer {
+public abstract class AbstractHttpSessionApplicationInitializer implements WebApplicationInitializer {
private static final String SERVLET_CONTEXT_PREFIX = "org.springframework.web.servlet.FrameworkServlet.CONTEXT.";
@@ -98,12 +97,10 @@ public abstract class AbstractHttpSessionApplicationInitializer
/**
* Creates a new instance that will instantiate the {@link ContextLoaderListener} with
* the specified classes.
- *
* @param configurationClasses {@code @Configuration} classes that will be used to
* configure the context
*/
- protected AbstractHttpSessionApplicationInitializer(
- Class>... configurationClasses) {
+ protected AbstractHttpSessionApplicationInitializer(Class>... configurationClasses) {
this.configurationClasses = configurationClasses;
}
@@ -125,8 +122,7 @@ public abstract class AbstractHttpSessionApplicationInitializer
*/
private void insertSessionRepositoryFilter(ServletContext servletContext) {
String filterName = DEFAULT_FILTER_NAME;
- DelegatingFilterProxy springSessionRepositoryFilter = new DelegatingFilterProxy(
- filterName);
+ DelegatingFilterProxy springSessionRepositoryFilter = new DelegatingFilterProxy(filterName);
String contextAttribute = getWebApplicationContextAttribute();
if (contextAttribute != null) {
springSessionRepositoryFilter.setContextAttribute(contextAttribute);
@@ -138,7 +134,6 @@ public abstract class AbstractHttpSessionApplicationInitializer
* Inserts the provided {@link Filter}s before existing {@link Filter}s using default
* generated names, {@link #getSessionDispatcherTypes()}, and
* {@link #isAsyncSessionSupported()}.
- *
* @param servletContext the {@link ServletContext} to use
* @param filters the {@link Filter}s to register
*/
@@ -150,7 +145,6 @@ public abstract class AbstractHttpSessionApplicationInitializer
* Inserts the provided {@link Filter}s after existing {@link Filter}s using default
* generated names, {@link #getSessionDispatcherTypes()}, and
* {@link #isAsyncSessionSupported()}.
- *
* @param servletContext the {@link ServletContext} to use
* @param filters the {@link Filter}s to register
*/
@@ -161,22 +155,18 @@ public abstract class AbstractHttpSessionApplicationInitializer
/**
* Registers the provided {@link Filter}s using default generated names,
* {@link #getSessionDispatcherTypes()}, and {@link #isAsyncSessionSupported()}.
- *
* @param servletContext the {@link ServletContext} to use
* @param insertBeforeOtherFilters if true, will insert the provided {@link Filter}s
* before other {@link Filter}s. Otherwise, will insert the {@link Filter}s after
* other {@link Filter}s.
* @param filters the {@link Filter}s to register
*/
- private void registerFilters(ServletContext servletContext,
- boolean insertBeforeOtherFilters, Filter... filters) {
+ private void registerFilters(ServletContext servletContext, boolean insertBeforeOtherFilters, Filter... filters) {
Assert.notEmpty(filters, "filters cannot be null or empty");
for (Filter filter : filters) {
if (filter == null) {
- throw new IllegalArgumentException(
- "filters cannot contain null values. Got "
- + Arrays.asList(filters));
+ throw new IllegalArgumentException("filters cannot contain null values. Got " + Arrays.asList(filters));
}
String filterName = Conventions.getVariableName(filter);
registerFilter(servletContext, insertBeforeOtherFilters, filterName, filter);
@@ -186,25 +176,22 @@ public abstract class AbstractHttpSessionApplicationInitializer
/**
* Registers the provided filter using the {@link #isAsyncSessionSupported()} and
* {@link #getSessionDispatcherTypes()}.
- *
* @param servletContext the servlet context
* @param insertBeforeOtherFilters should this Filter be inserted before or after
* other {@link Filter}
* @param filterName the filter name
* @param filter the filter
*/
- private void registerFilter(ServletContext servletContext,
- boolean insertBeforeOtherFilters, String filterName, Filter filter) {
+ private void registerFilter(ServletContext servletContext, boolean insertBeforeOtherFilters, String filterName,
+ Filter filter) {
Dynamic registration = servletContext.addFilter(filterName, filter);
if (registration == null) {
- throw new IllegalStateException(
- "Duplicate Filter registration for '" + filterName
- + "'. Check to ensure the Filter is only configured once.");
+ throw new IllegalStateException("Duplicate Filter registration for '" + filterName
+ + "'. Check to ensure the Filter is only configured once.");
}
registration.setAsyncSupported(isAsyncSessionSupported());
EnumSet dispatcherTypes = getSessionDispatcherTypes();
- registration.addMappingForUrlPatterns(dispatcherTypes, !insertBeforeOtherFilters,
- "/*");
+ registration.addMappingForUrlPatterns(dispatcherTypes, !insertBeforeOtherFilters, "/*");
}
/**
@@ -218,7 +205,6 @@ public abstract class AbstractHttpSessionApplicationInitializer
* {@link ApplicationContext} is used to look up the springSessionRepositoryFilter
* bean.
*
- *
* @return the {@link DelegatingFilterProxy#getContextAttribute()} or null if the
* parent {@link ApplicationContext} should be used
*/
@@ -241,7 +227,6 @@ public abstract class AbstractHttpSessionApplicationInitializer
* name, you can return "dispatcher" from this method to use the DispatcherServlet's
* {@link WebApplicationContext}.
*
- *
* @return the {@code } of the DispatcherServlet to use its
* {@link WebApplicationContext} or null (default) to use the parent
* {@link ApplicationContext}.
@@ -271,17 +256,16 @@ public abstract class AbstractHttpSessionApplicationInitializer
* @return the {@link DispatcherType} for the filter
*/
protected EnumSet getSessionDispatcherTypes() {
- return EnumSet.of(DispatcherType.REQUEST, DispatcherType.ERROR,
- DispatcherType.ASYNC);
+ return EnumSet.of(DispatcherType.REQUEST, DispatcherType.ERROR, DispatcherType.ASYNC);
}
/**
* Determine if the springSessionRepositoryFilter should be marked as supporting
* asynch. Default is true.
- *
* @return true if springSessionRepositoryFilter should be marked as supporting asynch
*/
protected boolean isAsyncSessionSupported() {
return true;
}
+
}
diff --git a/spring-session-core/src/main/java/org/springframework/session/web/http/CookieHttpSessionIdResolver.java b/spring-session-core/src/main/java/org/springframework/session/web/http/CookieHttpSessionIdResolver.java
index 658fc67e..16327d75 100644
--- a/spring-session-core/src/main/java/org/springframework/session/web/http/CookieHttpSessionIdResolver.java
+++ b/spring-session-core/src/main/java/org/springframework/session/web/http/CookieHttpSessionIdResolver.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2017 the original author or authors.
+ * Copyright 2014-2019 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -63,8 +63,8 @@ import org.springframework.session.web.http.CookieSerializer.CookieValue;
*/
public final class CookieHttpSessionIdResolver implements HttpSessionIdResolver {
- private static final String WRITTEN_SESSION_ID_ATTR = CookieHttpSessionIdResolver.class
- .getName().concat(".WRITTEN_SESSION_ID_ATTR");
+ private static final String WRITTEN_SESSION_ID_ATTR = CookieHttpSessionIdResolver.class.getName()
+ .concat(".WRITTEN_SESSION_ID_ATTR");
private CookieSerializer cookieSerializer = new DefaultCookieSerializer();
@@ -74,14 +74,12 @@ public final class CookieHttpSessionIdResolver implements HttpSessionIdResolver
}
@Override
- public void setSessionId(HttpServletRequest request, HttpServletResponse response,
- String sessionId) {
+ public void setSessionId(HttpServletRequest request, HttpServletResponse response, String sessionId) {
if (sessionId.equals(request.getAttribute(WRITTEN_SESSION_ID_ATTR))) {
return;
}
request.setAttribute(WRITTEN_SESSION_ID_ATTR, sessionId);
- this.cookieSerializer
- .writeCookieValue(new CookieValue(request, response, sessionId));
+ this.cookieSerializer.writeCookieValue(new CookieValue(request, response, sessionId));
}
@Override
@@ -91,7 +89,6 @@ public final class CookieHttpSessionIdResolver implements HttpSessionIdResolver
/**
* Sets the {@link CookieSerializer} to be used.
- *
* @param cookieSerializer the cookieSerializer to set. Cannot be null.
*/
public void setCookieSerializer(CookieSerializer cookieSerializer) {
diff --git a/spring-session-core/src/main/java/org/springframework/session/web/http/CookieSerializer.java b/spring-session-core/src/main/java/org/springframework/session/web/http/CookieSerializer.java
index b384d56b..5d8091a5 100644
--- a/spring-session-core/src/main/java/org/springframework/session/web/http/CookieSerializer.java
+++ b/spring-session-core/src/main/java/org/springframework/session/web/http/CookieSerializer.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2018 the original author or authors.
+ * Copyright 2014-2019 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -32,7 +32,6 @@ public interface CookieSerializer {
/**
* Writes a given {@link CookieValue} to the provided {@link HttpServletResponse}.
- *
* @param cookieValue the {@link CookieValue} to write to
* {@link CookieValue#getResponse()}. Cannot be null.
*/
@@ -43,7 +42,6 @@ public interface CookieSerializer {
* List since there can be multiple {@link Cookie} in a single request with a matching
* name. For example, one Cookie may have a path of / and another of /context, but the
* path is not transmitted in the request.
- *
* @param request the {@link HttpServletRequest} to read the cookie from. Cannot be
* null.
* @return the values of all the matching cookies
@@ -70,7 +68,6 @@ public interface CookieSerializer {
/**
* Creates a new instance.
- *
* @param request the {@link HttpServletRequest} to use. Useful for determining
* the context in which the cookie is set. Cannot be null.
* @param response the {@link HttpServletResponse} to use.
@@ -78,8 +75,7 @@ public interface CookieSerializer {
* modified by the {@link CookieSerializer} when writing to the actual cookie so
* long as the original value is returned when the cookie is read.
*/
- public CookieValue(HttpServletRequest request, HttpServletResponse response,
- String cookieValue) {
+ public CookieValue(HttpServletRequest request, HttpServletResponse response, String cookieValue) {
this.request = request;
this.response = response;
this.cookieValue = cookieValue;
@@ -108,7 +104,6 @@ public interface CookieSerializer {
* The value to be written. This value may be modified by the
* {@link CookieSerializer} before written to the cookie. However, the value must
* be the same as the original when it is read back in.
- *
* @return the value to be written
*/
public String getCookieValue() {
diff --git a/spring-session-core/src/main/java/org/springframework/session/web/http/DefaultCookieSerializer.java b/spring-session-core/src/main/java/org/springframework/session/web/http/DefaultCookieSerializer.java
index bb6aab9d..9bc1a887 100644
--- a/spring-session-core/src/main/java/org/springframework/session/web/http/DefaultCookieSerializer.java
+++ b/spring-session-core/src/main/java/org/springframework/session/web/http/DefaultCookieSerializer.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2018 the original author or authors.
+ * Copyright 2014-2019 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -97,15 +97,12 @@ public class DefaultCookieSerializer implements CookieSerializer {
if (cookies != null) {
for (Cookie cookie : cookies) {
if (this.cookieName.equals(cookie.getName())) {
- String sessionId = (this.useBase64Encoding
- ? base64Decode(cookie.getValue())
- : cookie.getValue());
+ String sessionId = (this.useBase64Encoding ? base64Decode(cookie.getValue()) : cookie.getValue());
if (sessionId == null) {
continue;
}
if (this.jvmRoute != null && sessionId.endsWith(this.jvmRoute)) {
- sessionId = sessionId.substring(0,
- sessionId.length() - this.jvmRoute.length());
+ sessionId = sessionId.substring(0, sessionId.length() - this.jvmRoute.length());
}
matchingCookieValues.add(sessionId);
}
@@ -135,11 +132,9 @@ public class DefaultCookieSerializer implements CookieSerializer {
int maxAge = getMaxAge(cookieValue);
if (maxAge > -1) {
sb.append("; Max-Age=").append(cookieValue.getCookieMaxAge());
- OffsetDateTime expires = (maxAge != 0)
- ? OffsetDateTime.now().plusSeconds(maxAge)
+ OffsetDateTime expires = (maxAge != 0) ? OffsetDateTime.now().plusSeconds(maxAge)
: Instant.EPOCH.atOffset(ZoneOffset.UTC);
- sb.append("; Expires=")
- .append(expires.format(DateTimeFormatter.RFC_1123_DATE_TIME));
+ sb.append("; Expires=").append(expires.format(DateTimeFormatter.RFC_1123_DATE_TIME));
}
String domain = getDomainName(request);
if (domain != null && domain.length() > 0) {
@@ -214,10 +209,8 @@ public class DefaultCookieSerializer implements CookieSerializer {
char[] chars = value.toCharArray();
for (int i = start; i < end; i++) {
char c = chars[i];
- if (c < 0x21 || c == 0x22 || c == 0x2c || c == 0x3b || c == 0x5c
- || c == 0x7f) {
- throw new IllegalArgumentException(
- "Invalid character in cookie value: " + Integer.toString(c));
+ if (c < 0x21 || c == 0x22 || c == 0x2c || c == 0x3b || c == 0x5c || c == 0x7f) {
+ throw new IllegalArgumentException("Invalid character in cookie value: " + Integer.toString(c));
}
}
}
@@ -225,8 +218,8 @@ public class DefaultCookieSerializer implements CookieSerializer {
private int getMaxAge(CookieValue cookieValue) {
int maxAge = cookieValue.getCookieMaxAge();
if (maxAge < 0) {
- if (this.rememberMeRequestAttribute != null && cookieValue.getRequest()
- .getAttribute(this.rememberMeRequestAttribute) != null) {
+ if (this.rememberMeRequestAttribute != null
+ && cookieValue.getRequest().getAttribute(this.rememberMeRequestAttribute) != null) {
// the cookie is only written at time of session creation, so we rely on
// session expiration rather than cookie expiration if remember me is
// enabled
@@ -247,8 +240,7 @@ public class DefaultCookieSerializer implements CookieSerializer {
while (i < chars.length) {
prev = cur;
cur = chars[i];
- if (!domainValid.get(cur)
- || ((prev == '.' || prev == -1) && (cur == '.' || cur == '-'))
+ if (!domainValid.get(cur) || ((prev == '.' || prev == -1) && (cur == '.' || cur == '-'))
|| (prev == '-' && cur == '.')) {
throw new IllegalArgumentException("Invalid cookie domain: " + domain);
}
@@ -270,7 +262,6 @@ public class DefaultCookieSerializer implements CookieSerializer {
/**
* Sets if a Cookie marked as secure should be used. The default is to use the value
* of {@link HttpServletRequest#isSecure()}.
- *
* @param useSecureCookie determines if the cookie should be marked as secure.
*/
public void setUseSecureCookie(boolean useSecureCookie) {
@@ -279,7 +270,6 @@ public class DefaultCookieSerializer implements CookieSerializer {
/**
* Sets if a Cookie marked as HTTP Only should be used. The default is true.
- *
* @param useHttpOnlyCookie determines if the cookie should be marked as HTTP Only.
*/
public void setUseHttpOnlyCookie(boolean useHttpOnlyCookie) {
@@ -296,7 +286,6 @@ public class DefaultCookieSerializer implements CookieSerializer {
/**
* Sets the path of the Cookie. The default is to use the context path from the
* {@link HttpServletRequest}.
- *
* @param cookiePath the path of the Cookie. If null, the default of the context path
* will be used.
*/
@@ -314,7 +303,6 @@ public class DefaultCookieSerializer implements CookieSerializer {
/**
* Sets the maxAge property of the Cookie. The default is to delete the cookie when
* the browser is closed.
- *
* @param cookieMaxAge the maxAge property of the Cookie
*/
public void setCookieMaxAge(int cookieMaxAge) {
@@ -325,14 +313,12 @@ public class DefaultCookieSerializer implements CookieSerializer {
* Sets an explicit Domain Name. This allow the domain of "example.com" to be used
* when the request comes from www.example.com. This allows for sharing the cookie
* across subdomains. The default is to use the current domain.
- *
* @param domainName the name of the domain to use. (i.e. "example.com")
* @throws IllegalStateException if the domainNamePattern is also set
*/
public void setDomainName(String domainName) {
if (this.domainNamePattern != null) {
- throw new IllegalStateException(
- "Cannot set both domainName and domainNamePattern");
+ throw new IllegalStateException("Cannot set both domainName and domainNamePattern");
}
this.domainName = domainName;
}
@@ -362,18 +348,15 @@ public class DefaultCookieSerializer implements CookieSerializer {
*
localhost - null
*
127.0.1.1 - null
*
- *
* @param domainNamePattern the case insensitive pattern to extract the domain name
* with
* @throws IllegalStateException if the domainName is also set
*/
public void setDomainNamePattern(String domainNamePattern) {
if (this.domainName != null) {
- throw new IllegalStateException(
- "Cannot set both domainName and domainNamePattern");
+ throw new IllegalStateException("Cannot set both domainName and domainNamePattern");
}
- this.domainNamePattern = Pattern.compile(domainNamePattern,
- Pattern.CASE_INSENSITIVE);
+ this.domainNamePattern = Pattern.compile(domainNamePattern, Pattern.CASE_INSENSITIVE);
}
/**
@@ -390,7 +373,6 @@ public class DefaultCookieSerializer implements CookieSerializer {
* To use set a custom route on each JVM instance and setup a frontend proxy to
* forward all requests to the JVM based on the route.
*
- *
* @param jvmRoute the JVM Route to use (i.e. "node01jvmA", "n01ja", etc)
*/
public void setJvmRoute(String jvmRoute) {
@@ -401,7 +383,6 @@ public class DefaultCookieSerializer implements CookieSerializer {
* Set if the Base64 encoding of cookie value should be used. This is valuable in
* order to support RFC 6265 which
* recommends using Base 64 encoding to the cookie value.
- *
* @param useBase64Encoding the flag to indicate whether to use Base64 encoding
*/
public void setUseBase64Encoding(boolean useBase64Encoding) {
@@ -416,8 +397,7 @@ public class DefaultCookieSerializer implements CookieSerializer {
*/
public void setRememberMeRequestAttribute(String rememberMeRequestAttribute) {
if (rememberMeRequestAttribute == null) {
- throw new IllegalArgumentException(
- "rememberMeRequestAttribute cannot be null");
+ throw new IllegalArgumentException("rememberMeRequestAttribute cannot be null");
}
this.rememberMeRequestAttribute = rememberMeRequestAttribute;
}
diff --git a/spring-session-core/src/main/java/org/springframework/session/web/http/HeaderHttpSessionIdResolver.java b/spring-session-core/src/main/java/org/springframework/session/web/http/HeaderHttpSessionIdResolver.java
index e5aaacfc..c6d22c25 100644
--- a/spring-session-core/src/main/java/org/springframework/session/web/http/HeaderHttpSessionIdResolver.java
+++ b/spring-session-core/src/main/java/org/springframework/session/web/http/HeaderHttpSessionIdResolver.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2018 the original author or authors.
+ * Copyright 2014-2019 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -98,13 +98,11 @@ public class HeaderHttpSessionIdResolver implements HttpSessionIdResolver {
@Override
public List resolveSessionIds(HttpServletRequest request) {
String headerValue = request.getHeader(this.headerName);
- return (headerValue != null) ? Collections.singletonList(headerValue)
- : Collections.emptyList();
+ return (headerValue != null) ? Collections.singletonList(headerValue) : Collections.emptyList();
}
@Override
- public void setSessionId(HttpServletRequest request, HttpServletResponse response,
- String sessionId) {
+ public void setSessionId(HttpServletRequest request, HttpServletResponse response, String sessionId) {
response.setHeader(this.headerName, sessionId);
}
diff --git a/spring-session-core/src/main/java/org/springframework/session/web/http/HttpSessionAdapter.java b/spring-session-core/src/main/java/org/springframework/session/web/http/HttpSessionAdapter.java
index a202277a..cc72fb67 100644
--- a/spring-session-core/src/main/java/org/springframework/session/web/http/HttpSessionAdapter.java
+++ b/spring-session-core/src/main/java/org/springframework/session/web/http/HttpSessionAdapter.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2018 the original author or authors.
+ * Copyright 2014-2019 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -142,8 +142,8 @@ class HttpSessionAdapter implements HttpSession {
if (value != oldValue) {
if (oldValue instanceof HttpSessionBindingListener) {
try {
- ((HttpSessionBindingListener) oldValue).valueUnbound(
- new HttpSessionBindingEvent(this, name, oldValue));
+ ((HttpSessionBindingListener) oldValue)
+ .valueUnbound(new HttpSessionBindingEvent(this, name, oldValue));
}
catch (Throwable th) {
logger.error("Error invoking session binding event listener", th);
@@ -151,8 +151,7 @@ class HttpSessionAdapter implements HttpSession {
}
if (value instanceof HttpSessionBindingListener) {
try {
- ((HttpSessionBindingListener) value)
- .valueBound(new HttpSessionBindingEvent(this, name, value));
+ ((HttpSessionBindingListener) value).valueBound(new HttpSessionBindingEvent(this, name, value));
}
catch (Throwable th) {
logger.error("Error invoking session binding event listener", th);
@@ -173,8 +172,7 @@ class HttpSessionAdapter implements HttpSession {
this.session.removeAttribute(name);
if (oldValue instanceof HttpSessionBindingListener) {
try {
- ((HttpSessionBindingListener) oldValue)
- .valueUnbound(new HttpSessionBindingEvent(this, name, oldValue));
+ ((HttpSessionBindingListener) oldValue).valueUnbound(new HttpSessionBindingEvent(this, name, oldValue));
}
catch (Throwable th) {
logger.error("Error invoking session binding event listener", th);
@@ -205,8 +203,7 @@ class HttpSessionAdapter implements HttpSession {
private void checkState() {
if (this.invalidated) {
- throw new IllegalStateException(
- "The HttpSession has already be invalidated.");
+ throw new IllegalStateException("The HttpSession has already be invalidated.");
}
}
diff --git a/spring-session-core/src/main/java/org/springframework/session/web/http/HttpSessionIdResolver.java b/spring-session-core/src/main/java/org/springframework/session/web/http/HttpSessionIdResolver.java
index e55a765b..42b660dd 100644
--- a/spring-session-core/src/main/java/org/springframework/session/web/http/HttpSessionIdResolver.java
+++ b/spring-session-core/src/main/java/org/springframework/session/web/http/HttpSessionIdResolver.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2018 the original author or authors.
+ * Copyright 2014-2019 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -49,8 +49,7 @@ public interface HttpSessionIdResolver {
* @param response the current response
* @param sessionId the session id
*/
- void setSessionId(HttpServletRequest request, HttpServletResponse response,
- String sessionId);
+ void setSessionId(HttpServletRequest request, HttpServletResponse response, String sessionId);
/**
* Instruct the client to end the current session. This method is invoked when a
diff --git a/spring-session-core/src/main/java/org/springframework/session/web/http/OnCommittedResponseWrapper.java b/spring-session-core/src/main/java/org/springframework/session/web/http/OnCommittedResponseWrapper.java
index f08b012b..db372111 100644
--- a/spring-session-core/src/main/java/org/springframework/session/web/http/OnCommittedResponseWrapper.java
+++ b/spring-session-core/src/main/java/org/springframework/session/web/http/OnCommittedResponseWrapper.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2018 the original author or authors.
+ * Copyright 2014-2019 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -36,6 +36,7 @@ import org.apache.commons.logging.LogFactory;
* @since 1.0
*/
abstract class OnCommittedResponseWrapper extends HttpServletResponseWrapper {
+
private final Log logger = LogFactory.getLog(getClass());
private boolean disableOnCommitted;
@@ -204,13 +205,11 @@ abstract class OnCommittedResponseWrapper extends HttpServletResponseWrapper {
/**
* Adds the contentLengthToWrite to the total contentWritten size and checks to see if
* the response should be written.
- *
* @param contentLengthToWrite the size of the content that is about to be written.
*/
private void checkContentLength(long contentLengthToWrite) {
this.contentWritten += contentLengthToWrite;
- boolean isBodyFullyWritten = this.contentLength > 0
- && this.contentWritten >= this.contentLength;
+ boolean isBodyFullyWritten = this.contentLength > 0 && this.contentWritten >= this.contentLength;
int bufferSize = getBufferSize();
boolean requiresFlush = bufferSize > 0 && this.contentWritten >= bufferSize;
if (isBodyFullyWritten || requiresFlush) {
@@ -234,9 +233,11 @@ abstract class OnCommittedResponseWrapper extends HttpServletResponseWrapper {
* calling the prior to methods that commit the response. We delegate all methods to
* the original {@link java.io.PrintWriter} to ensure that the behavior is as close to
* the original {@link java.io.PrintWriter} as possible. See SEC-2039
+ *
* @author Rob Winch
*/
private class SaveContextPrintWriter extends PrintWriter {
+
private final PrintWriter delegate;
SaveContextPrintWriter(PrintWriter delegate) {
@@ -466,6 +467,7 @@ abstract class OnCommittedResponseWrapper extends HttpServletResponseWrapper {
trackContentLength(c);
return this.delegate.append(c);
}
+
}
/**
@@ -477,6 +479,7 @@ abstract class OnCommittedResponseWrapper extends HttpServletResponseWrapper {
* @author Rob Winch
*/
private class SaveContextServletOutputStream extends ServletOutputStream {
+
private final ServletOutputStream delegate;
SaveContextServletOutputStream(ServletOutputStream delegate) {
@@ -634,5 +637,7 @@ abstract class OnCommittedResponseWrapper extends HttpServletResponseWrapper {
public void setWriteListener(WriteListener writeListener) {
this.delegate.setWriteListener(writeListener);
}
+
}
+
}
diff --git a/spring-session-core/src/main/java/org/springframework/session/web/http/OncePerRequestFilter.java b/spring-session-core/src/main/java/org/springframework/session/web/http/OncePerRequestFilter.java
index ff1c147d..8b0ff0f9 100644
--- a/spring-session-core/src/main/java/org/springframework/session/web/http/OncePerRequestFilter.java
+++ b/spring-session-core/src/main/java/org/springframework/session/web/http/OncePerRequestFilter.java
@@ -37,19 +37,18 @@ import javax.servlet.http.HttpServletResponse;
* @since 1.0
*/
abstract class OncePerRequestFilter implements Filter {
+
/**
* Suffix that gets appended to the filter name for the "already filtered" request
* attribute.
*/
public static final String ALREADY_FILTERED_SUFFIX = ".FILTERED";
- private String alreadyFilteredAttributeName = getClass().getName()
- .concat(ALREADY_FILTERED_SUFFIX);
+ private String alreadyFilteredAttributeName = getClass().getName().concat(ALREADY_FILTERED_SUFFIX);
/**
- * This {@code doFilter} implementation stores a request attribute for
- * "already filtered", proceeding without filtering again if the attribute is already
- * there.
+ * This {@code doFilter} implementation stores a request attribute for "already
+ * filtered", proceeding without filtering again if the attribute is already there.
* @param request the request
* @param response the response
* @param filterChain the filter chain
@@ -57,21 +56,17 @@ abstract class OncePerRequestFilter implements Filter {
* @throws IOException in case of I/O operation exception
*/
@Override
- public final void doFilter(ServletRequest request, ServletResponse response,
- FilterChain filterChain) throws ServletException, IOException {
+ public final void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain)
+ throws ServletException, IOException {
- if (!(request instanceof HttpServletRequest)
- || !(response instanceof HttpServletResponse)) {
- throw new ServletException(
- "OncePerRequestFilter just supports HTTP requests");
+ if (!(request instanceof HttpServletRequest) || !(response instanceof HttpServletResponse)) {
+ throw new ServletException("OncePerRequestFilter just supports HTTP requests");
}
HttpServletRequest httpRequest = (HttpServletRequest) request;
HttpServletResponse httpResponse = (HttpServletResponse) response;
String alreadyFilteredAttributeName = this.alreadyFilteredAttributeName;
- alreadyFilteredAttributeName = updateForErrorDispatch(
- alreadyFilteredAttributeName, request);
- boolean hasAlreadyFilteredAttribute = request
- .getAttribute(alreadyFilteredAttributeName) != null;
+ alreadyFilteredAttributeName = updateForErrorDispatch(alreadyFilteredAttributeName, request);
+ boolean hasAlreadyFilteredAttribute = request.getAttribute(alreadyFilteredAttributeName) != null;
if (hasAlreadyFilteredAttribute) {
@@ -91,9 +86,9 @@ abstract class OncePerRequestFilter implements Filter {
}
}
- private String updateForErrorDispatch(String alreadyFilteredAttributeName,
- ServletRequest request) {
- // Jetty does ERROR dispatch within sendError, so request attribute is still present
+ private String updateForErrorDispatch(String alreadyFilteredAttributeName, ServletRequest request) {
+ // Jetty does ERROR dispatch within sendError, so request attribute is still
+ // present
// Use a separate attribute for ERROR dispatches
if (DispatcherType.ERROR.equals(request.getDispatcherType())
&& request.getAttribute(alreadyFilteredAttributeName) != null) {
@@ -108,7 +103,6 @@ abstract class OncePerRequestFilter implements Filter {
*
* Provides HttpServletRequest and HttpServletResponse arguments instead of the
* default ServletRequest and ServletResponse ones.
- *
* @param request the request
* @param response the response
* @param filterChain the FilterChain
@@ -116,9 +110,8 @@ abstract class OncePerRequestFilter implements Filter {
* @throws IOException thrown when an I/O exception of some sort has occurred
* @see Filter#doFilter
*/
- protected abstract void doFilterInternal(HttpServletRequest request,
- HttpServletResponse response, FilterChain filterChain)
- throws ServletException, IOException;
+ protected abstract void doFilterInternal(HttpServletRequest request, HttpServletResponse response,
+ FilterChain filterChain) throws ServletException, IOException;
@Override
public void init(FilterConfig config) {
@@ -127,4 +120,5 @@ abstract class OncePerRequestFilter implements Filter {
@Override
public void destroy() {
}
+
}
diff --git a/spring-session-core/src/main/java/org/springframework/session/web/http/SessionEventHttpSessionListenerAdapter.java b/spring-session-core/src/main/java/org/springframework/session/web/http/SessionEventHttpSessionListenerAdapter.java
index 01a37bcd..df271a68 100644
--- a/spring-session-core/src/main/java/org/springframework/session/web/http/SessionEventHttpSessionListenerAdapter.java
+++ b/spring-session-core/src/main/java/org/springframework/session/web/http/SessionEventHttpSessionListenerAdapter.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2017 the original author or authors.
+ * Copyright 2014-2019 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -40,6 +40,7 @@ import org.springframework.web.context.ServletContextAware;
*/
public class SessionEventHttpSessionListenerAdapter
implements ApplicationListener, ServletContextAware {
+
private final List listeners;
private ServletContext context;
@@ -75,8 +76,7 @@ public class SessionEventHttpSessionListenerAdapter
private HttpSessionEvent createHttpSessionEvent(AbstractSessionEvent event) {
Session session = event.getSession();
- HttpSession httpSession = new HttpSessionAdapter<>(session,
- this.context);
+ HttpSession httpSession = new HttpSessionAdapter<>(session, this.context);
return new HttpSessionEvent(httpSession);
}
@@ -91,4 +91,5 @@ public class SessionEventHttpSessionListenerAdapter
public void setServletContext(ServletContext servletContext) {
this.context = servletContext;
}
+
}
diff --git a/spring-session-core/src/main/java/org/springframework/session/web/http/SessionRepositoryFilter.java b/spring-session-core/src/main/java/org/springframework/session/web/http/SessionRepositoryFilter.java
index f2983afb..d0350399 100644
--- a/spring-session-core/src/main/java/org/springframework/session/web/http/SessionRepositoryFilter.java
+++ b/spring-session-core/src/main/java/org/springframework/session/web/http/SessionRepositoryFilter.java
@@ -79,25 +79,21 @@ import org.springframework.session.SessionRepository;
@Order(SessionRepositoryFilter.DEFAULT_ORDER)
public class SessionRepositoryFilter extends OncePerRequestFilter {
- private static final String SESSION_LOGGER_NAME = SessionRepositoryFilter.class
- .getName().concat(".SESSION_LOGGER");
+ private static final String SESSION_LOGGER_NAME = SessionRepositoryFilter.class.getName().concat(".SESSION_LOGGER");
private static final Log SESSION_LOGGER = LogFactory.getLog(SESSION_LOGGER_NAME);
/**
* The session repository request attribute name.
*/
- public static final String SESSION_REPOSITORY_ATTR = SessionRepository.class
- .getName();
+ public static final String SESSION_REPOSITORY_ATTR = SessionRepository.class.getName();
/**
* Invalid session id (not backed by the session repository) request attribute name.
*/
- public static final String INVALID_SESSION_ID_ATTR = SESSION_REPOSITORY_ATTR
- + ".invalidSessionId";
+ public static final String INVALID_SESSION_ID_ATTR = SESSION_REPOSITORY_ATTR + ".invalidSessionId";
- private static final String CURRENT_SESSION_ATTR = SESSION_REPOSITORY_ATTR
- + ".CURRENT_SESSION";
+ private static final String CURRENT_SESSION_ATTR = SESSION_REPOSITORY_ATTR + ".CURRENT_SESSION";
/**
* The default filter order.
@@ -110,7 +106,6 @@ public class SessionRepositoryFilter extends OncePerRequestFi
/**
* Creates a new instance.
- *
* @param sessionRepository the SessionRepository to use. Cannot be null.
*/
public SessionRepositoryFilter(SessionRepository sessionRepository) {
@@ -123,7 +118,6 @@ public class SessionRepositoryFilter extends OncePerRequestFi
/**
* Sets the {@link HttpSessionIdResolver} to be used. The default is a
* {@link CookieHttpSessionIdResolver}.
- *
* @param httpSessionIdResolver the {@link HttpSessionIdResolver} to use. Cannot be
* null.
*/
@@ -135,15 +129,13 @@ public class SessionRepositoryFilter extends OncePerRequestFi
}
@Override
- protected void doFilterInternal(HttpServletRequest request,
- HttpServletResponse response, FilterChain filterChain)
+ protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain)
throws ServletException, IOException {
request.setAttribute(SESSION_REPOSITORY_ATTR, this.sessionRepository);
- SessionRepositoryRequestWrapper wrappedRequest = new SessionRepositoryRequestWrapper(
- request, response);
- SessionRepositoryResponseWrapper wrappedResponse = new SessionRepositoryResponseWrapper(
- wrappedRequest, response);
+ SessionRepositoryRequestWrapper wrappedRequest = new SessionRepositoryRequestWrapper(request, response);
+ SessionRepositoryResponseWrapper wrappedResponse = new SessionRepositoryResponseWrapper(wrappedRequest,
+ response);
try {
filterChain.doFilter(wrappedRequest, wrappedResponse);
@@ -159,8 +151,7 @@ public class SessionRepositoryFilter extends OncePerRequestFi
* @author Rob Winch
* @since 1.0
*/
- private final class SessionRepositoryResponseWrapper
- extends OnCommittedResponseWrapper {
+ private final class SessionRepositoryResponseWrapper extends OnCommittedResponseWrapper {
private final SessionRepositoryRequestWrapper request;
@@ -169,8 +160,7 @@ public class SessionRepositoryFilter extends OncePerRequestFi
* @param request the request to be wrapped
* @param response the response to be wrapped
*/
- SessionRepositoryResponseWrapper(SessionRepositoryRequestWrapper request,
- HttpServletResponse response) {
+ SessionRepositoryResponseWrapper(SessionRepositoryRequestWrapper request, HttpServletResponse response) {
super(response);
if (request == null) {
throw new IllegalArgumentException("request cannot be null");
@@ -182,6 +172,7 @@ public class SessionRepositoryFilter extends OncePerRequestFi
protected void onResponseCommitted() {
this.request.commitSession();
}
+
}
/**
@@ -192,8 +183,7 @@ public class SessionRepositoryFilter extends OncePerRequestFi
* @author Rob Winch
* @since 1.0
*/
- private final class SessionRepositoryRequestWrapper
- extends HttpServletRequestWrapper {
+ private final class SessionRepositoryRequestWrapper extends HttpServletRequestWrapper {
private final HttpServletResponse response;
@@ -207,8 +197,7 @@ public class SessionRepositoryFilter extends OncePerRequestFi
private boolean requestedSessionInvalidated;
- private SessionRepositoryRequestWrapper(HttpServletRequest request,
- HttpServletResponse response) {
+ private SessionRepositoryRequestWrapper(HttpServletRequest request, HttpServletResponse response) {
super(request);
this.response = response;
}
@@ -221,8 +210,7 @@ public class SessionRepositoryFilter extends OncePerRequestFi
HttpSessionWrapper wrappedSession = getCurrentSession();
if (wrappedSession == null) {
if (isInvalidateClientSession()) {
- SessionRepositoryFilter.this.httpSessionIdResolver.expireSession(this,
- this.response);
+ SessionRepositoryFilter.this.httpSessionIdResolver.expireSession(this, this.response);
}
}
else {
@@ -230,10 +218,8 @@ public class SessionRepositoryFilter extends OncePerRequestFi
clearRequestedSessionCache();
SessionRepositoryFilter.this.sessionRepository.save(session);
String sessionId = session.getId();
- if (!isRequestedSessionIdValid()
- || !sessionId.equals(getRequestedSessionId())) {
- SessionRepositoryFilter.this.httpSessionIdResolver.setSessionId(this,
- this.response, sessionId);
+ if (!isRequestedSessionIdValid() || !sessionId.equals(getRequestedSessionId())) {
+ SessionRepositoryFilter.this.httpSessionIdResolver.setSessionId(this, this.response, sessionId);
}
}
}
@@ -321,8 +307,7 @@ public class SessionRepositoryFilter extends OncePerRequestFi
SESSION_LOGGER.debug(
"A new session was created. To help you troubleshoot where the session was created we provided a StackTrace (this is not an error). You can prevent this from appearing by disabling DEBUG logging for "
+ SESSION_LOGGER_NAME,
- new RuntimeException(
- "For debugging purposes only (not an error)"));
+ new RuntimeException("For debugging purposes only (not an error)"));
}
S session = SessionRepositoryFilter.this.sessionRepository.createSession();
session.setLastAccessedTime(Instant.now());
@@ -352,14 +337,12 @@ public class SessionRepositoryFilter extends OncePerRequestFi
private S getRequestedSession() {
if (!this.requestedSessionCached) {
- List sessionIds = SessionRepositoryFilter.this.httpSessionIdResolver
- .resolveSessionIds(this);
+ List sessionIds = SessionRepositoryFilter.this.httpSessionIdResolver.resolveSessionIds(this);
for (String sessionId : sessionIds) {
if (this.requestedSessionId == null) {
this.requestedSessionId = sessionId;
}
- S session = SessionRepositoryFilter.this.sessionRepository
- .findById(sessionId);
+ S session = SessionRepositoryFilter.this.sessionRepository.findById(sessionId);
if (session != null) {
this.requestedSession = session;
this.requestedSessionId = sessionId;
@@ -397,6 +380,7 @@ public class SessionRepositoryFilter extends OncePerRequestFi
clearRequestedSessionCache();
SessionRepositoryFilter.this.sessionRepository.deleteById(getId());
}
+
}
/**
@@ -404,8 +388,7 @@ public class SessionRepositoryFilter extends OncePerRequestFi
*
* @since 1.3.4
*/
- private final class SessionCommittingRequestDispatcher
- implements RequestDispatcher {
+ private final class SessionCommittingRequestDispatcher implements RequestDispatcher {
private final RequestDispatcher delegate;
@@ -414,14 +397,12 @@ public class SessionRepositoryFilter extends OncePerRequestFi
}
@Override
- public void forward(ServletRequest request, ServletResponse response)
- throws ServletException, IOException {
+ public void forward(ServletRequest request, ServletResponse response) throws ServletException, IOException {
this.delegate.forward(request, response);
}
@Override
- public void include(ServletRequest request, ServletResponse response)
- throws ServletException, IOException {
+ public void include(ServletRequest request, ServletResponse response) throws ServletException, IOException {
SessionRepositoryRequestWrapper.this.commitSession();
this.delegate.include(request, response);
}
diff --git a/spring-session-core/src/main/java/org/springframework/session/web/server/session/SpringSessionWebSessionStore.java b/spring-session-core/src/main/java/org/springframework/session/web/server/session/SpringSessionWebSessionStore.java
index d33efb7d..97e0d910 100644
--- a/spring-session-core/src/main/java/org/springframework/session/web/server/session/SpringSessionWebSessionStore.java
+++ b/spring-session-core/src/main/java/org/springframework/session/web/server/session/SpringSessionWebSessionStore.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2018 the original author or authors.
+ * Copyright 2014-2019 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -61,12 +61,14 @@ public class SpringSessionWebSessionStore implements WebSessi
}
/**
- * Configure the {@link Clock} to use to set lastAccessTime on every created
- * session and to calculate if it is expired.
- *
This may be useful to align to different timezone or to set the clock
- * back in a test, e.g. {@code Clock.offset(clock, Duration.ofMinutes(-31))}
- * in order to simulate session expiration.
- *
By default this is {@code Clock.system(ZoneId.of("GMT"))}.
+ * Configure the {@link Clock} to use to set lastAccessTime on every created session
+ * and to calculate if it is expired.
+ *
+ * This may be useful to align to different timezone or to set the clock back in a
+ * test, e.g. {@code Clock.offset(clock, Duration.ofMinutes(-31))} in order to
+ * simulate session expiration.
+ *
+ * By default this is {@code Clock.system(ZoneId.of("GMT"))}.
* @param clock the clock to use
*/
public void setClock(Clock clock) {
@@ -90,8 +92,7 @@ public class SpringSessionWebSessionStore implements WebSessi
@Override
public Mono retrieveSession(String sessionId) {
return this.sessions.findById(sessionId)
- .doOnNext((session) -> session.setLastAccessedTime(this.clock.instant()))
- .map(this::existingSession);
+ .doOnNext((session) -> session.setLastAccessedTime(this.clock.instant())).map(this::existingSession);
}
@Override
@@ -133,8 +134,7 @@ public class SpringSessionWebSessionStore implements WebSessi
@Override
public Mono changeSessionId() {
return Mono.defer(() -> {
- this.session
- .changeSessionId();
+ this.session.changeSessionId();
return save();
});
}
@@ -152,8 +152,7 @@ public class SpringSessionWebSessionStore implements WebSessi
@Override
public boolean isStarted() {
State value = this.state.get();
- return (State.STARTED.equals(value)
- || (State.NEW.equals(value) && !getAttributes().isEmpty()));
+ return (State.STARTED.equals(value) || (State.NEW.equals(value) && !getAttributes().isEmpty()));
}
@Override
@@ -198,10 +197,13 @@ public class SpringSessionWebSessionStore implements WebSessi
public void setMaxIdleTime(Duration maxIdleTime) {
this.session.setMaxInactiveInterval(maxIdleTime);
}
+
}
private enum State {
+
NEW, STARTED, EXPIRED
+
}
private static class SpringSessionMap implements Map {
@@ -226,8 +228,7 @@ public class SpringSessionWebSessionStore implements WebSessi
@Override
public boolean containsKey(Object key) {
- return key instanceof String
- && this.session.getAttributeNames().contains(key);
+ return key instanceof String && this.session.getAttributeNames().contains(key);
}
@Override
@@ -346,5 +347,7 @@ public class SpringSessionWebSessionStore implements WebSessi
}
}
+
}
+
}
diff --git a/spring-session-core/src/main/java/org/springframework/session/web/socket/config/annotation/AbstractSessionWebSocketMessageBrokerConfigurer.java b/spring-session-core/src/main/java/org/springframework/session/web/socket/config/annotation/AbstractSessionWebSocketMessageBrokerConfigurer.java
index 596a249d..484cb00e 100644
--- a/spring-session-core/src/main/java/org/springframework/session/web/socket/config/annotation/AbstractSessionWebSocketMessageBrokerConfigurer.java
+++ b/spring-session-core/src/main/java/org/springframework/session/web/socket/config/annotation/AbstractSessionWebSocketMessageBrokerConfigurer.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2018 the original author or authors.
+ * Copyright 2014-2019 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -93,8 +93,7 @@ public abstract class AbstractSessionWebSocketMessageBrokerConfigurer
*
- *
* @author Rob Winch
* @author Mark Anderson
* @since 1.0
*/
-public final class WebSocketRegistryListener
- implements ApplicationListener {
+public final class WebSocketRegistryListener implements ApplicationListener {
private static final Log logger = LogFactory.getLog(WebSocketRegistryListener.class);
- static final CloseStatus SESSION_EXPIRED_STATUS = new CloseStatus(
- CloseStatus.POLICY_VIOLATION.getCode(),
+ static final CloseStatus SESSION_EXPIRED_STATUS = new CloseStatus(CloseStatus.POLICY_VIOLATION.getCode(),
"This connection was established under an authenticated HTTP Session that has expired");
private final ConcurrentHashMap> httpSessionIdToWsSessions = new ConcurrentHashMap<>();
@@ -72,8 +69,7 @@ public final class WebSocketRegistryListener
Map sessionAttributes = SimpMessageHeaderAccessor
.getSessionAttributes(e.getMessage().getHeaders());
String httpSessionId = (sessionAttributes != null)
- ? SessionRepositoryMessageInterceptor.getSessionId(sessionAttributes)
- : null;
+ ? SessionRepositoryMessageInterceptor.getSessionId(sessionAttributes) : null;
afterConnectionClosed(httpSessionId, e.getSessionId());
}
}
@@ -98,8 +94,7 @@ public final class WebSocketRegistryListener
return;
}
- Map sessions = this.httpSessionIdToWsSessions
- .get(httpSessionId);
+ Map sessions = this.httpSessionIdToWsSessions.get(httpSessionId);
if (sessions != null) {
boolean result = sessions.remove(wsSessionId) != null;
if (logger.isDebugEnabled()) {
@@ -108,16 +103,15 @@ public final class WebSocketRegistryListener
if (sessions.isEmpty()) {
this.httpSessionIdToWsSessions.remove(httpSessionId);
if (logger.isDebugEnabled()) {
- logger.debug("Removed the corresponding HTTP Session for "
- + wsSessionId + " since it contained no WebSocket mappings");
+ logger.debug("Removed the corresponding HTTP Session for " + wsSessionId
+ + " since it contained no WebSocket mappings");
}
}
}
}
private void registerWsSession(String httpSessionId, WebSocketSession wsSession) {
- Map sessions = this.httpSessionIdToWsSessions
- .get(httpSessionId);
+ Map sessions = this.httpSessionIdToWsSessions.get(httpSessionId);
if (sessions == null) {
sessions = new ConcurrentHashMap<>();
this.httpSessionIdToWsSessions.putIfAbsent(httpSessionId, sessions);
@@ -127,25 +121,22 @@ public final class WebSocketRegistryListener
}
private void closeWsSessions(String httpSessionId) {
- Map sessionsToClose = this.httpSessionIdToWsSessions
- .remove(httpSessionId);
+ Map sessionsToClose = this.httpSessionIdToWsSessions.remove(httpSessionId);
if (sessionsToClose == null) {
return;
}
if (logger.isDebugEnabled()) {
- logger.debug(
- "Closing WebSocket connections associated to expired HTTP Session "
- + httpSessionId);
+ logger.debug("Closing WebSocket connections associated to expired HTTP Session " + httpSessionId);
}
for (WebSocketSession toClose : sessionsToClose.values()) {
try {
toClose.close(SESSION_EXPIRED_STATUS);
}
catch (IOException ex) {
- logger.debug(
- "Failed to close WebSocketSession (this is nothing to worry about but for debugging only)",
+ logger.debug("Failed to close WebSocketSession (this is nothing to worry about but for debugging only)",
ex);
}
}
}
+
}
diff --git a/spring-session-core/src/main/java/org/springframework/session/web/socket/server/SessionRepositoryMessageInterceptor.java b/spring-session-core/src/main/java/org/springframework/session/web/socket/server/SessionRepositoryMessageInterceptor.java
index 8327d8f0..4f0f665d 100644
--- a/spring-session-core/src/main/java/org/springframework/session/web/socket/server/SessionRepositoryMessageInterceptor.java
+++ b/spring-session-core/src/main/java/org/springframework/session/web/socket/server/SessionRepositoryMessageInterceptor.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2018 the original author or authors.
+ * Copyright 2014-2019 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -72,15 +72,13 @@ public final class SessionRepositoryMessageInterceptor
/**
* Creates a new instance.
- *
* @param sessionRepository the {@link SessionRepository} to use. Cannot be null.
*/
public SessionRepositoryMessageInterceptor(SessionRepository sessionRepository) {
Assert.notNull(sessionRepository, "sessionRepository cannot be null");
this.sessionRepository = sessionRepository;
- this.matchingMessageTypes = EnumSet.of(SimpMessageType.CONNECT,
- SimpMessageType.MESSAGE, SimpMessageType.SUBSCRIBE,
- SimpMessageType.UNSUBSCRIBE);
+ this.matchingMessageTypes = EnumSet.of(SimpMessageType.CONNECT, SimpMessageType.MESSAGE,
+ SimpMessageType.SUBSCRIBE, SimpMessageType.UNSUBSCRIBE);
}
/**
@@ -94,14 +92,12 @@ public final class SessionRepositoryMessageInterceptor
* The default is: SimpMessageType.CONNECT, SimpMessageType.MESSAGE,
* SimpMessageType.SUBSCRIBE, SimpMessageType.UNSUBSCRIBE.
*
- *
* @param matchingMessageTypes the {@link SimpMessageType} to match on in
* {@link #preSend(Message, MessageChannel)}, else the {@link Message} is continued
* without accessing or updating the {@link Session}
*/
public void setMatchingMessageTypes(Set matchingMessageTypes) {
- Assert.notEmpty(matchingMessageTypes,
- "matchingMessageTypes cannot be null or empty");
+ Assert.notEmpty(matchingMessageTypes, "matchingMessageTypes cannot be null or empty");
this.matchingMessageTypes = matchingMessageTypes;
}
@@ -110,16 +106,12 @@ public final class SessionRepositoryMessageInterceptor
if (message == null) {
return message;
}
- SimpMessageType messageType = SimpMessageHeaderAccessor
- .getMessageType(message.getHeaders());
+ SimpMessageType messageType = SimpMessageHeaderAccessor.getMessageType(message.getHeaders());
if (!this.matchingMessageTypes.contains(messageType)) {
return message;
}
- Map sessionHeaders = SimpMessageHeaderAccessor
- .getSessionAttributes(message.getHeaders());
- String sessionId = (sessionHeaders != null)
- ? (String) sessionHeaders.get(SPRING_SESSION_ID_ATTR_NAME)
- : null;
+ Map sessionHeaders = SimpMessageHeaderAccessor.getSessionAttributes(message.getHeaders());
+ String sessionId = (sessionHeaders != null) ? (String) sessionHeaders.get(SPRING_SESSION_ID_ATTR_NAME) : null;
if (sessionId != null) {
S session = this.sessionRepository.findById(sessionId);
if (session != null) {
@@ -132,8 +124,8 @@ public final class SessionRepositoryMessageInterceptor
}
@Override
- public boolean beforeHandshake(ServerHttpRequest request, ServerHttpResponse response,
- WebSocketHandler wsHandler, Map attributes) throws Exception {
+ public boolean beforeHandshake(ServerHttpRequest request, ServerHttpResponse response, WebSocketHandler wsHandler,
+ Map attributes) throws Exception {
if (request instanceof ServletServerHttpRequest) {
ServletServerHttpRequest servletRequest = (ServletServerHttpRequest) request;
HttpSession session = servletRequest.getServletRequest().getSession(false);
@@ -145,8 +137,8 @@ public final class SessionRepositoryMessageInterceptor
}
@Override
- public void afterHandshake(ServerHttpRequest request, ServerHttpResponse response,
- WebSocketHandler wsHandler, Exception exception) {
+ public void afterHandshake(ServerHttpRequest request, ServerHttpResponse response, WebSocketHandler wsHandler,
+ Exception exception) {
}
public static String getSessionId(Map attributes) {
@@ -156,4 +148,5 @@ public final class SessionRepositoryMessageInterceptor
public static void setSessionId(Map attributes, String sessionId) {
attributes.put(SPRING_SESSION_ID_ATTR_NAME, sessionId);
}
+
}
diff --git a/spring-session-core/src/test/java/org/springframework/session/MapSessionRepositoryTests.java b/spring-session-core/src/test/java/org/springframework/session/MapSessionRepositoryTests.java
index 2a1cc612..ede43f20 100644
--- a/spring-session-core/src/test/java/org/springframework/session/MapSessionRepositoryTests.java
+++ b/spring-session-core/src/test/java/org/springframework/session/MapSessionRepositoryTests.java
@@ -29,20 +29,20 @@ import static org.assertj.core.api.Assertions.assertThat;
/**
* Tests for {@link MapSessionRepository}.
*/
-public class MapSessionRepositoryTests {
+class MapSessionRepositoryTests {
private MapSessionRepository repository;
private MapSession session;
@BeforeEach
- public void setup() {
+ void setup() {
this.repository = new MapSessionRepository(new ConcurrentHashMap<>());
this.session = new MapSession();
}
@Test
- public void getSessionExpired() {
+ void getSessionExpired() {
this.session.setMaxInactiveInterval(Duration.ofSeconds(1));
this.session.setLastAccessedTime(Instant.now().minus(5, ChronoUnit.MINUTES));
this.repository.save(this.session);
@@ -51,29 +51,25 @@ public class MapSessionRepositoryTests {
}
@Test
- public void createSessionDefaultExpiration() {
+ void createSessionDefaultExpiration() {
Session session = this.repository.createSession();
assertThat(session).isInstanceOf(MapSession.class);
- assertThat(session.getMaxInactiveInterval())
- .isEqualTo(new MapSession().getMaxInactiveInterval());
+ assertThat(session.getMaxInactiveInterval()).isEqualTo(new MapSession().getMaxInactiveInterval());
}
@Test
- public void createSessionCustomDefaultExpiration() {
- final Duration expectedMaxInterval = new MapSession().getMaxInactiveInterval()
- .plusSeconds(10);
- this.repository.setDefaultMaxInactiveInterval(
- (int) expectedMaxInterval.getSeconds());
+ void createSessionCustomDefaultExpiration() {
+ final Duration expectedMaxInterval = new MapSession().getMaxInactiveInterval().plusSeconds(10);
+ this.repository.setDefaultMaxInactiveInterval((int) expectedMaxInterval.getSeconds());
Session session = this.repository.createSession();
- assertThat(session.getMaxInactiveInterval())
- .isEqualTo(expectedMaxInterval);
+ assertThat(session.getMaxInactiveInterval()).isEqualTo(expectedMaxInterval);
}
@Test
- public void changeSessionIdWhenNotYetSaved() {
+ void changeSessionIdWhenNotYetSaved() {
MapSession createSession = this.repository.createSession();
String originalId = createSession.getId();
@@ -86,7 +82,7 @@ public class MapSessionRepositoryTests {
}
@Test
- public void changeSessionIdWhenSaved() {
+ void changeSessionIdWhenSaved() {
MapSession createSession = this.repository.createSession();
this.repository.save(createSession);
@@ -101,7 +97,7 @@ public class MapSessionRepositoryTests {
}
@Test // gh-1120
- public void getAttributeNamesAndRemove() {
+ void getAttributeNamesAndRemove() {
MapSession session = this.repository.createSession();
session.setAttribute("attribute1", "value1");
session.setAttribute("attribute2", "value2");
diff --git a/spring-session-core/src/test/java/org/springframework/session/MapSessionTests.java b/spring-session-core/src/test/java/org/springframework/session/MapSessionTests.java
index 52fd97ee..36221f5e 100644
--- a/spring-session-core/src/test/java/org/springframework/session/MapSessionTests.java
+++ b/spring-session-core/src/test/java/org/springframework/session/MapSessionTests.java
@@ -26,38 +26,37 @@ import org.junit.jupiter.api.Test;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException;
-public class MapSessionTests {
+class MapSessionTests {
private MapSession session;
@BeforeEach
- public void setup() {
+ void setup() {
this.session = new MapSession();
this.session.setLastAccessedTime(Instant.ofEpochMilli(1413258262962L));
}
@Test
- public void constructorNullSession() {
- assertThatIllegalArgumentException()
- .isThrownBy(() -> new MapSession((Session) null))
+ void constructorNullSession() {
+ assertThatIllegalArgumentException().isThrownBy(() -> new MapSession((Session) null))
.withMessage("session cannot be null");
}
@Test
- public void getAttributeWhenNullThenNull() {
+ void getAttributeWhenNullThenNull() {
String result = this.session.getAttribute("attrName");
assertThat(result).isNull();
}
@Test
- public void getAttributeOrDefaultWhenNullThenDefaultValue() {
+ void getAttributeOrDefaultWhenNullThenDefaultValue() {
String defaultValue = "default";
String result = this.session.getAttributeOrDefault("attrName", defaultValue);
assertThat(result).isEqualTo(defaultValue);
}
@Test
- public void getAttributeOrDefaultWhenNotNullThenDefaultValue() {
+ void getAttributeOrDefaultWhenNotNullThenDefaultValue() {
String defaultValue = "default";
String attrValue = "value";
String attrName = "attrName";
@@ -69,14 +68,13 @@ public class MapSessionTests {
}
@Test
- public void getRequiredAttributeWhenNullThenException() {
- assertThatIllegalArgumentException()
- .isThrownBy(() -> this.session.getRequiredAttribute("attrName"))
+ void getRequiredAttributeWhenNullThenException() {
+ assertThatIllegalArgumentException().isThrownBy(() -> this.session.getRequiredAttribute("attrName"))
.withMessage("Required attribute 'attrName' is missing.");
}
@Test
- public void getRequiredAttributeWhenNotNullThenReturns() {
+ void getRequiredAttributeWhenNotNullThenReturns() {
String attrValue = "value";
String attrName = "attrName";
this.session.setAttribute(attrName, attrValue);
@@ -90,7 +88,7 @@ public class MapSessionTests {
* Ensure conforms to the javadoc of {@link Session}
*/
@Test
- public void setAttributeNullObjectRemoves() {
+ void setAttributeNullObjectRemoves() {
String attr = "attr";
this.session.setAttribute(attr, new Object());
this.session.setAttribute(attr, null);
@@ -98,43 +96,43 @@ public class MapSessionTests {
}
@Test
- public void equalsNonSessionFalse() {
+ void equalsNonSessionFalse() {
assertThat(this.session.equals(new Object())).isFalse();
}
@Test
- public void equalsCustomSession() {
+ void equalsCustomSession() {
CustomSession other = new CustomSession();
this.session.setId(other.getId());
assertThat(this.session.equals(other)).isTrue();
}
@Test
- public void hashCodeEqualsIdHashCode() {
+ void hashCodeEqualsIdHashCode() {
this.session.setId("constantId");
assertThat(this.session.hashCode()).isEqualTo(this.session.getId().hashCode());
}
@Test
- public void isExpiredExact() {
+ void isExpiredExact() {
Instant now = Instant.ofEpochMilli(1413260062962L);
assertThat(this.session.isExpired(now)).isTrue();
}
@Test
- public void isExpiredOneMsTooSoon() {
+ void isExpiredOneMsTooSoon() {
Instant now = Instant.ofEpochMilli(1413260062961L);
assertThat(this.session.isExpired(now)).isFalse();
}
@Test
- public void isExpiredOneMsAfter() {
+ void isExpiredOneMsAfter() {
Instant now = Instant.ofEpochMilli(1413260062963L);
assertThat(this.session.isExpired(now)).isTrue();
}
@Test // gh-1120
- public void getAttributeNamesAndRemove() {
+ void getAttributeNamesAndRemove() {
this.session.setAttribute("attribute1", "value1");
this.session.setAttribute("attribute2", "value2");
@@ -206,6 +204,7 @@ public class MapSessionTests {
public boolean isExpired() {
return false;
}
+
}
}
diff --git a/spring-session-core/src/test/java/org/springframework/session/ReactiveMapSessionRepositoryTests.java b/spring-session-core/src/test/java/org/springframework/session/ReactiveMapSessionRepositoryTests.java
index c2362a82..23044fe2 100644
--- a/spring-session-core/src/test/java/org/springframework/session/ReactiveMapSessionRepositoryTests.java
+++ b/spring-session-core/src/test/java/org/springframework/session/ReactiveMapSessionRepositoryTests.java
@@ -35,20 +35,20 @@ import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException
* @author Rob Winch
* @since 2.0
*/
-public class ReactiveMapSessionRepositoryTests {
+class ReactiveMapSessionRepositoryTests {
private ReactiveMapSessionRepository repository;
private MapSession session;
@BeforeEach
- public void setup() {
+ void setup() {
this.repository = new ReactiveMapSessionRepository(new HashMap<>());
this.session = new MapSession("session-id");
}
@Test
- public void constructorMapThenFound() {
+ void constructorMapThenFound() {
Map sessions = new HashMap<>();
sessions.put(this.session.getId(), this.session);
this.repository = new ReactiveMapSessionRepository(sessions);
@@ -59,21 +59,20 @@ public class ReactiveMapSessionRepositoryTests {
}
@Test
- public void constructorMapWhenNullThenThrowsIllegalArgumentException() {
- assertThatIllegalArgumentException()
- .isThrownBy(() -> new ReactiveMapSessionRepository(null))
+ void constructorMapWhenNullThenThrowsIllegalArgumentException() {
+ assertThatIllegalArgumentException().isThrownBy(() -> new ReactiveMapSessionRepository(null))
.withMessage("sessions cannot be null");
}
@Test
- public void saveWhenNoSubscribersThenNotFound() {
+ void saveWhenNoSubscribersThenNotFound() {
this.repository.save(this.session);
assertThat(this.repository.findById(this.session.getId()).block()).isNull();
}
@Test
- public void saveWhenSubscriberThenFound() {
+ void saveWhenSubscriberThenFound() {
this.repository.save(this.session).block();
Session findByIdSession = this.repository.findById(this.session.getId()).block();
@@ -82,7 +81,7 @@ public class ReactiveMapSessionRepositoryTests {
}
@Test
- public void findByIdWhenExpiredRemovesFromSessionMap() {
+ void findByIdWhenExpiredRemovesFromSessionMap() {
this.session.setMaxInactiveInterval(Duration.ofMinutes(1));
this.session.setLastAccessedTime(Instant.now().minus(5, ChronoUnit.MINUTES));
@@ -95,20 +94,17 @@ public class ReactiveMapSessionRepositoryTests {
}
@Test
- public void createSessionWhenDefaultMaxInactiveIntervalThenDefaultMaxInactiveInterval() {
+ void createSessionWhenDefaultMaxInactiveIntervalThenDefaultMaxInactiveInterval() {
Session session = this.repository.createSession().block();
assertThat(session).isInstanceOf(MapSession.class);
- assertThat(session.getMaxInactiveInterval())
- .isEqualTo(new MapSession().getMaxInactiveInterval());
+ assertThat(session.getMaxInactiveInterval()).isEqualTo(new MapSession().getMaxInactiveInterval());
}
@Test
- public void createSessionWhenCustomMaxInactiveIntervalThenCustomMaxInactiveInterval() {
- final Duration expectedMaxInterval = new MapSession().getMaxInactiveInterval()
- .plusSeconds(10);
- this.repository
- .setDefaultMaxInactiveInterval((int) expectedMaxInterval.getSeconds());
+ void createSessionWhenCustomMaxInactiveIntervalThenCustomMaxInactiveInterval() {
+ final Duration expectedMaxInterval = new MapSession().getMaxInactiveInterval().plusSeconds(10);
+ this.repository.setDefaultMaxInactiveInterval((int) expectedMaxInterval.getSeconds());
Session session = this.repository.createSession().block();
@@ -116,7 +112,7 @@ public class ReactiveMapSessionRepositoryTests {
}
@Test
- public void changeSessionIdWhenNotYetSaved() {
+ void changeSessionIdWhenNotYetSaved() {
MapSession createSession = this.repository.createSession().block();
String originalId = createSession.getId();
@@ -129,7 +125,7 @@ public class ReactiveMapSessionRepositoryTests {
}
@Test
- public void changeSessionIdWhenSaved() {
+ void changeSessionIdWhenSaved() {
MapSession createSession = this.repository.createSession().block();
this.repository.save(createSession).block();
@@ -144,7 +140,7 @@ public class ReactiveMapSessionRepositoryTests {
}
@Test // gh-1120
- public void getAttributeNamesAndRemove() {
+ void getAttributeNamesAndRemove() {
MapSession session = this.repository.createSession().block();
session.setAttribute("attribute1", "value1");
session.setAttribute("attribute2", "value2");
diff --git a/spring-session-core/src/test/java/org/springframework/session/config/annotation/web/http/EnableSpringHttpSessionCustomCookieSerializerTests.java b/spring-session-core/src/test/java/org/springframework/session/config/annotation/web/http/EnableSpringHttpSessionCustomCookieSerializerTests.java
index 13e9cb24..81e0efac 100644
--- a/spring-session-core/src/test/java/org/springframework/session/config/annotation/web/http/EnableSpringHttpSessionCustomCookieSerializerTests.java
+++ b/spring-session-core/src/test/java/org/springframework/session/config/annotation/web/http/EnableSpringHttpSessionCustomCookieSerializerTests.java
@@ -61,7 +61,7 @@ import static org.mockito.Mockito.verify;
@ExtendWith(SpringExtension.class)
@ContextConfiguration
@WebAppConfiguration
-public class EnableSpringHttpSessionCustomCookieSerializerTests {
+class EnableSpringHttpSessionCustomCookieSerializerTests {
@Autowired
private MockHttpServletRequest request;
@@ -81,7 +81,7 @@ public class EnableSpringHttpSessionCustomCookieSerializerTests {
private CookieSerializer cookieSerializer;
@BeforeEach
- public void setup() {
+ void setup() {
this.chain = new MockFilterChain();
reset(this.sessionRepository);
@@ -89,12 +89,11 @@ public class EnableSpringHttpSessionCustomCookieSerializerTests {
}
@Test
- public void usesReadSessionIds() throws Exception {
+ void usesReadSessionIds() throws Exception {
String sessionId = "sessionId";
given(this.cookieSerializer.readCookieValues(any(HttpServletRequest.class)))
.willReturn(Collections.singletonList(sessionId));
- given(this.sessionRepository.findById(anyString()))
- .willReturn(new MapSession(sessionId));
+ given(this.sessionRepository.findById(anyString())).willReturn(new MapSession(sessionId));
this.sessionRepositoryFilter.doFilter(this.request, this.response, this.chain);
@@ -102,19 +101,18 @@ public class EnableSpringHttpSessionCustomCookieSerializerTests {
}
@Test
- public void usesWrite() throws Exception {
+ void usesWrite() throws Exception {
given(this.sessionRepository.createSession()).willReturn(new MapSession());
- this.sessionRepositoryFilter.doFilter(this.request, this.response,
- new MockFilterChain() {
+ this.sessionRepositoryFilter.doFilter(this.request, this.response, new MockFilterChain() {
- @Override
- public void doFilter(ServletRequest request, ServletResponse response)
- throws IOException, ServletException {
- ((HttpServletRequest) request).getSession();
- super.doFilter(request, response);
- }
- });
+ @Override
+ public void doFilter(ServletRequest request, ServletResponse response)
+ throws IOException, ServletException {
+ ((HttpServletRequest) request).getSession();
+ super.doFilter(request, response);
+ }
+ });
verify(this.cookieSerializer).writeCookieValue(any(CookieValue.class));
}
diff --git a/spring-session-core/src/test/java/org/springframework/session/config/annotation/web/http/SpringHttpSessionConfigurationTests.java b/spring-session-core/src/test/java/org/springframework/session/config/annotation/web/http/SpringHttpSessionConfigurationTests.java
index 074daf72..a41a7d24 100644
--- a/spring-session-core/src/test/java/org/springframework/session/config/annotation/web/http/SpringHttpSessionConfigurationTests.java
+++ b/spring-session-core/src/test/java/org/springframework/session/config/annotation/web/http/SpringHttpSessionConfigurationTests.java
@@ -45,12 +45,12 @@ import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
*
* @author Vedran Pavic
*/
-public class SpringHttpSessionConfigurationTests {
+class SpringHttpSessionConfigurationTests {
private AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext();
@AfterEach
- public void closeContext() {
+ void closeContext() {
if (this.context != null) {
this.context.close();
}
@@ -62,28 +62,26 @@ public class SpringHttpSessionConfigurationTests {
}
@Test
- public void noSessionRepositoryConfiguration() {
+ void noSessionRepositoryConfiguration() {
assertThatExceptionOfType(UnsatisfiedDependencyException.class)
.isThrownBy(() -> registerAndRefresh(EmptyConfiguration.class))
.withMessageContaining("org.springframework.session.SessionRepository");
}
@Test
- public void defaultConfiguration() {
+ void defaultConfiguration() {
registerAndRefresh(DefaultConfiguration.class);
- assertThat(this.context.getBean(SessionEventHttpSessionListenerAdapter.class))
- .isNotNull();
+ assertThat(this.context.getBean(SessionEventHttpSessionListenerAdapter.class)).isNotNull();
assertThat(this.context.getBean(SessionRepositoryFilter.class)).isNotNull();
assertThat(this.context.getBean(SessionRepository.class)).isNotNull();
}
@Test
- public void sessionCookieConfigConfiguration() {
+ void sessionCookieConfigConfiguration() {
registerAndRefresh(SessionCookieConfigConfiguration.class);
- SessionRepositoryFilter sessionRepositoryFilter = this.context
- .getBean(SessionRepositoryFilter.class);
+ SessionRepositoryFilter sessionRepositoryFilter = this.context.getBean(SessionRepositoryFilter.class);
assertThat(sessionRepositoryFilter).isNotNull();
CookieHttpSessionIdResolver httpSessionIdResolver = (CookieHttpSessionIdResolver) ReflectionTestUtils
.getField(sessionRepositoryFilter, "httpSessionIdResolver");
@@ -91,22 +89,17 @@ public class SpringHttpSessionConfigurationTests {
DefaultCookieSerializer cookieSerializer = (DefaultCookieSerializer) ReflectionTestUtils
.getField(httpSessionIdResolver, "cookieSerializer");
assertThat(cookieSerializer).isNotNull();
- assertThat(ReflectionTestUtils.getField(cookieSerializer, "cookieName"))
- .isEqualTo("test-name");
- assertThat(ReflectionTestUtils.getField(cookieSerializer, "cookiePath"))
- .isEqualTo("test-path");
- assertThat(ReflectionTestUtils.getField(cookieSerializer, "cookieMaxAge"))
- .isEqualTo(600);
- assertThat(ReflectionTestUtils.getField(cookieSerializer, "domainName"))
- .isEqualTo("test-domain");
+ assertThat(ReflectionTestUtils.getField(cookieSerializer, "cookieName")).isEqualTo("test-name");
+ assertThat(ReflectionTestUtils.getField(cookieSerializer, "cookiePath")).isEqualTo("test-path");
+ assertThat(ReflectionTestUtils.getField(cookieSerializer, "cookieMaxAge")).isEqualTo(600);
+ assertThat(ReflectionTestUtils.getField(cookieSerializer, "domainName")).isEqualTo("test-domain");
}
@Test
- public void rememberMeServicesConfiguration() {
+ void rememberMeServicesConfiguration() {
registerAndRefresh(RememberMeServicesConfiguration.class);
- SessionRepositoryFilter sessionRepositoryFilter = this.context
- .getBean(SessionRepositoryFilter.class);
+ SessionRepositoryFilter sessionRepositoryFilter = this.context.getBean(SessionRepositoryFilter.class);
assertThat(sessionRepositoryFilter).isNotNull();
CookieHttpSessionIdResolver httpSessionIdResolver = (CookieHttpSessionIdResolver) ReflectionTestUtils
.getField(sessionRepositoryFilter, "httpSessionIdResolver");
@@ -114,14 +107,14 @@ public class SpringHttpSessionConfigurationTests {
DefaultCookieSerializer cookieSerializer = (DefaultCookieSerializer) ReflectionTestUtils
.getField(httpSessionIdResolver, "cookieSerializer");
assertThat(cookieSerializer).isNotNull();
- assertThat(ReflectionTestUtils.getField(cookieSerializer,
- "rememberMeRequestAttribute")).isEqualTo(
- SpringSessionRememberMeServices.REMEMBER_ME_LOGIN_ATTR);
+ assertThat(ReflectionTestUtils.getField(cookieSerializer, "rememberMeRequestAttribute"))
+ .isEqualTo(SpringSessionRememberMeServices.REMEMBER_ME_LOGIN_ATTR);
}
@Configuration
@EnableSpringHttpSession
static class EmptyConfiguration {
+
}
static class BaseConfiguration {
@@ -136,6 +129,7 @@ public class SpringHttpSessionConfigurationTests {
@Configuration
@EnableSpringHttpSession
static class DefaultConfiguration extends BaseConfiguration {
+
}
@Configuration
diff --git a/spring-session-core/src/test/java/org/springframework/session/config/annotation/web/server/SpringWebSessionConfigurationTests.java b/spring-session-core/src/test/java/org/springframework/session/config/annotation/web/server/SpringWebSessionConfigurationTests.java
index f2245f71..6d9a8e71 100644
--- a/spring-session-core/src/test/java/org/springframework/session/config/annotation/web/server/SpringWebSessionConfigurationTests.java
+++ b/spring-session-core/src/test/java/org/springframework/session/config/annotation/web/server/SpringWebSessionConfigurationTests.java
@@ -41,18 +41,19 @@ import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
*
* @author Greg Turnquist
*/
-public class SpringWebSessionConfigurationTests {
+class SpringWebSessionConfigurationTests {
+
private AnnotationConfigApplicationContext context;
@AfterEach
- public void cleanup() {
+ void cleanup() {
if (this.context != null) {
this.context.close();
}
}
@Test
- public void enableSpringWebSessionConfiguresThings() {
+ void enableSpringWebSessionConfiguresThings() {
this.context = new AnnotationConfigApplicationContext();
this.context.register(GoodConfig.class);
@@ -69,19 +70,18 @@ public class SpringWebSessionConfigurationTests {
}
@Test
- public void missingReactiveSessionRepositoryBreaksAppContext() {
+ void missingReactiveSessionRepositoryBreaksAppContext() {
this.context = new AnnotationConfigApplicationContext();
this.context.register(BadConfig.class);
- assertThatExceptionOfType(UnsatisfiedDependencyException.class)
- .isThrownBy(this.context::refresh)
- .withMessageContaining("Error creating bean with name 'webSessionManager'")
- .withMessageContaining("No qualifying bean of type '" + ReactiveSessionRepository.class.getCanonicalName());
+ assertThatExceptionOfType(UnsatisfiedDependencyException.class).isThrownBy(this.context::refresh)
+ .withMessageContaining("Error creating bean with name 'webSessionManager'").withMessageContaining(
+ "No qualifying bean of type '" + ReactiveSessionRepository.class.getCanonicalName());
}
@Test
- public void defaultSessionIdResolverShouldBeCookieBased() {
+ void defaultSessionIdResolverShouldBeCookieBased() {
this.context = new AnnotationConfigApplicationContext();
this.context.register(GoodConfig.class);
@@ -92,7 +92,7 @@ public class SpringWebSessionConfigurationTests {
}
@Test
- public void providedSessionIdResolverShouldBePickedUpAutomatically() {
+ void providedSessionIdResolverShouldBePickedUpAutomatically() {
this.context = new AnnotationConfigApplicationContext();
this.context.register(OverrideSessionIdResolver.class);
@@ -109,12 +109,14 @@ public class SpringWebSessionConfigurationTests {
static class GoodConfig {
/**
- * Use Reactor-friendly, {@link java.util.Map}-backed {@link ReactiveSessionRepository} for test purposes.
+ * Use Reactor-friendly, {@link java.util.Map}-backed
+ * {@link ReactiveSessionRepository} for test purposes.
*/
@Bean
ReactiveSessionRepository> reactiveSessionRepository() {
return new ReactiveMapSessionRepository(new HashMap<>());
}
+
}
/**
@@ -137,6 +139,7 @@ public class SpringWebSessionConfigurationTests {
WebSessionIdResolver alternateWebSessionIdResolver() {
return new HeaderWebSessionIdResolver();
}
+
}
}
diff --git a/spring-session-core/src/test/java/org/springframework/session/security/SpringSessionBackedSessionRegistryTest.java b/spring-session-core/src/test/java/org/springframework/session/security/SpringSessionBackedSessionRegistryTest.java
index 0fcb6960..255e03a4 100644
--- a/spring-session-core/src/test/java/org/springframework/session/security/SpringSessionBackedSessionRegistryTest.java
+++ b/spring-session-core/src/test/java/org/springframework/session/security/SpringSessionBackedSessionRegistryTest.java
@@ -46,7 +46,7 @@ import static org.mockito.BDDMockito.when;
/**
* Tests for {@link SpringSessionBackedSessionRegistry}.
*/
-public class SpringSessionBackedSessionRegistryTest {
+class SpringSessionBackedSessionRegistryTest {
private static final String SESSION_ID = "sessionId";
@@ -54,8 +54,7 @@ public class SpringSessionBackedSessionRegistryTest {
private static final String USER_NAME = "userName";
- private static final User PRINCIPAL = new User(USER_NAME, "password",
- Collections.emptyList());
+ private static final User PRINCIPAL = new User(USER_NAME, "password", Collections.emptyList());
private static final Instant NOW = Instant.now();
@@ -71,74 +70,63 @@ public class SpringSessionBackedSessionRegistryTest {
}
@Test
- public void sessionInformationForExistingSession() {
+ void sessionInformationForExistingSession() {
Session session = createSession(SESSION_ID, USER_NAME, NOW);
when(this.sessionRepository.findById(SESSION_ID)).thenReturn(session);
- SessionInformation sessionInfo = this.sessionRegistry
- .getSessionInformation(SESSION_ID);
+ SessionInformation sessionInfo = this.sessionRegistry.getSessionInformation(SESSION_ID);
assertThat(sessionInfo.getSessionId()).isEqualTo(SESSION_ID);
- assertThat(
- sessionInfo.getLastRequest().toInstant().truncatedTo(ChronoUnit.MILLIS))
- .isEqualTo(NOW.truncatedTo(ChronoUnit.MILLIS));
+ assertThat(sessionInfo.getLastRequest().toInstant().truncatedTo(ChronoUnit.MILLIS))
+ .isEqualTo(NOW.truncatedTo(ChronoUnit.MILLIS));
assertThat(sessionInfo.getPrincipal()).isEqualTo(USER_NAME);
assertThat(sessionInfo.isExpired()).isFalse();
}
@Test
- public void sessionInformationForExpiredSession() {
+ void sessionInformationForExpiredSession() {
Session session = createSession(SESSION_ID, USER_NAME, NOW);
- session.setAttribute(SpringSessionBackedSessionInformation.EXPIRED_ATTR,
- Boolean.TRUE);
+ session.setAttribute(SpringSessionBackedSessionInformation.EXPIRED_ATTR, Boolean.TRUE);
when(this.sessionRepository.findById(SESSION_ID)).thenReturn(session);
- SessionInformation sessionInfo = this.sessionRegistry
- .getSessionInformation(SESSION_ID);
+ SessionInformation sessionInfo = this.sessionRegistry.getSessionInformation(SESSION_ID);
assertThat(sessionInfo.getSessionId()).isEqualTo(SESSION_ID);
- assertThat(
- sessionInfo.getLastRequest().toInstant().truncatedTo(ChronoUnit.MILLIS))
+ assertThat(sessionInfo.getLastRequest().toInstant().truncatedTo(ChronoUnit.MILLIS))
.isEqualTo(NOW.truncatedTo(ChronoUnit.MILLIS));
assertThat(sessionInfo.getPrincipal()).isEqualTo(USER_NAME);
assertThat(sessionInfo.isExpired()).isTrue();
}
@Test
- public void noSessionInformationForMissingSession() {
- assertThat(this.sessionRegistry.getSessionInformation("nonExistingSessionId"))
- .isNull();
+ void noSessionInformationForMissingSession() {
+ assertThat(this.sessionRegistry.getSessionInformation("nonExistingSessionId")).isNull();
}
@Test
- public void getAllSessions() {
+ void getAllSessions() {
setUpSessions();
- List allSessionInfos = this.sessionRegistry
- .getAllSessions(PRINCIPAL, true);
+ List allSessionInfos = this.sessionRegistry.getAllSessions(PRINCIPAL, true);
- assertThat(allSessionInfos).extracting("sessionId").containsExactly(SESSION_ID,
- SESSION_ID2);
+ assertThat(allSessionInfos).extracting("sessionId").containsExactly(SESSION_ID, SESSION_ID2);
}
@Test
- public void getNonExpiredSessions() {
+ void getNonExpiredSessions() {
setUpSessions();
- List nonExpiredSessionInfos = this.sessionRegistry
- .getAllSessions(PRINCIPAL, false);
+ List nonExpiredSessionInfos = this.sessionRegistry.getAllSessions(PRINCIPAL, false);
- assertThat(nonExpiredSessionInfos).extracting("sessionId")
- .containsExactly(SESSION_ID2);
+ assertThat(nonExpiredSessionInfos).extracting("sessionId").containsExactly(SESSION_ID2);
}
@Test
- public void expireNow() {
+ void expireNow() {
Session session = createSession(SESSION_ID, USER_NAME, NOW);
when(this.sessionRepository.findById(SESSION_ID)).thenReturn(session);
- SessionInformation sessionInfo = this.sessionRegistry
- .getSessionInformation(SESSION_ID);
+ SessionInformation sessionInfo = this.sessionRegistry.getSessionInformation(SESSION_ID);
assertThat(sessionInfo.isExpired()).isFalse();
sessionInfo.expireNow();
@@ -146,13 +134,11 @@ public class SpringSessionBackedSessionRegistryTest {
assertThat(sessionInfo.isExpired()).isTrue();
ArgumentCaptor captor = ArgumentCaptor.forClass(Session.class);
verify(this.sessionRepository).save(captor.capture());
- assertThat(captor.getValue().getAttribute(
- SpringSessionBackedSessionInformation.EXPIRED_ATTR))
- .isEqualTo(Boolean.TRUE);
+ assertThat(captor.getValue().getAttribute(SpringSessionBackedSessionInformation.EXPIRED_ATTR))
+ .isEqualTo(Boolean.TRUE);
}
- private Session createSession(String sessionId, String userName,
- Instant lastAccessed) {
+ private Session createSession(String sessionId, String userName, Instant lastAccessed) {
MapSession session = new MapSession(sessionId);
session.setLastAccessedTime(lastAccessed);
Authentication authentication = mock(Authentication.class);
@@ -165,14 +151,12 @@ public class SpringSessionBackedSessionRegistryTest {
private void setUpSessions() {
Session session1 = createSession(SESSION_ID, USER_NAME, NOW);
- session1.setAttribute(SpringSessionBackedSessionInformation.EXPIRED_ATTR,
- Boolean.TRUE);
+ session1.setAttribute(SpringSessionBackedSessionInformation.EXPIRED_ATTR, Boolean.TRUE);
Session session2 = createSession(SESSION_ID2, USER_NAME, NOW);
Map sessions = new LinkedHashMap<>();
sessions.put(session1.getId(), session1);
sessions.put(session2.getId(), session2);
- when(this.sessionRepository.findByPrincipalName(USER_NAME))
- .thenReturn(sessions);
+ when(this.sessionRepository.findByPrincipalName(USER_NAME)).thenReturn(sessions);
}
}
diff --git a/spring-session-core/src/test/java/org/springframework/session/security/web/authentication/SpringSessionRememberMeServicesTests.java b/spring-session-core/src/test/java/org/springframework/session/security/web/authentication/SpringSessionRememberMeServicesTests.java
index 3b6671e9..b6326b98 100644
--- a/spring-session-core/src/test/java/org/springframework/session/security/web/authentication/SpringSessionRememberMeServicesTests.java
+++ b/spring-session-core/src/test/java/org/springframework/session/security/web/authentication/SpringSessionRememberMeServicesTests.java
@@ -40,60 +40,50 @@ import static org.mockito.Mockito.verifyZeroInteractions;
*
* @author Vedran Pavic
*/
-public class SpringSessionRememberMeServicesTests {
+class SpringSessionRememberMeServicesTests {
private SpringSessionRememberMeServices rememberMeServices;
@Test
- public void create() {
+ void create() {
this.rememberMeServices = new SpringSessionRememberMeServices();
- assertThat(ReflectionTestUtils.getField(this.rememberMeServices,
- "rememberMeParameterName")).isEqualTo("remember-me");
- assertThat(
- ReflectionTestUtils.getField(this.rememberMeServices, "alwaysRemember"))
- .isEqualTo(false);
- assertThat(
- ReflectionTestUtils.getField(this.rememberMeServices, "validitySeconds"))
- .isEqualTo(2592000);
+ assertThat(ReflectionTestUtils.getField(this.rememberMeServices, "rememberMeParameterName"))
+ .isEqualTo("remember-me");
+ assertThat(ReflectionTestUtils.getField(this.rememberMeServices, "alwaysRemember")).isEqualTo(false);
+ assertThat(ReflectionTestUtils.getField(this.rememberMeServices, "validitySeconds")).isEqualTo(2592000);
}
@Test
- public void createWithCustomParameter() {
+ void createWithCustomParameter() {
this.rememberMeServices = new SpringSessionRememberMeServices();
this.rememberMeServices.setRememberMeParameterName("test-param");
- assertThat(ReflectionTestUtils.getField(this.rememberMeServices,
- "rememberMeParameterName")).isEqualTo("test-param");
+ assertThat(ReflectionTestUtils.getField(this.rememberMeServices, "rememberMeParameterName"))
+ .isEqualTo("test-param");
}
@Test
- public void createWithNullParameter() {
+ void createWithNullParameter() {
this.rememberMeServices = new SpringSessionRememberMeServices();
- assertThatIllegalArgumentException()
- .isThrownBy(
- () -> this.rememberMeServices.setRememberMeParameterName(null))
+ assertThatIllegalArgumentException().isThrownBy(() -> this.rememberMeServices.setRememberMeParameterName(null))
.withMessage("rememberMeParameterName cannot be empty or null");
}
@Test
- public void createWithAlwaysRemember() {
+ void createWithAlwaysRemember() {
this.rememberMeServices = new SpringSessionRememberMeServices();
this.rememberMeServices.setAlwaysRemember(true);
- assertThat(
- ReflectionTestUtils.getField(this.rememberMeServices, "alwaysRemember"))
- .isEqualTo(true);
+ assertThat(ReflectionTestUtils.getField(this.rememberMeServices, "alwaysRemember")).isEqualTo(true);
}
@Test
- public void createWithCustomValidity() {
+ void createWithCustomValidity() {
this.rememberMeServices = new SpringSessionRememberMeServices();
this.rememberMeServices.setValiditySeconds(100000);
- assertThat(
- ReflectionTestUtils.getField(this.rememberMeServices, "validitySeconds"))
- .isEqualTo(100000);
+ assertThat(ReflectionTestUtils.getField(this.rememberMeServices, "validitySeconds")).isEqualTo(100000);
}
@Test
- public void autoLogin() {
+ void autoLogin() {
HttpServletRequest request = mock(HttpServletRequest.class);
HttpServletResponse response = mock(HttpServletResponse.class);
this.rememberMeServices = new SpringSessionRememberMeServices();
@@ -103,7 +93,7 @@ public class SpringSessionRememberMeServicesTests {
// gh-752
@Test
- public void loginFailRemoveSecurityContext() {
+ void loginFailRemoveSecurityContext() {
HttpServletRequest request = mock(HttpServletRequest.class);
HttpServletResponse response = mock(HttpServletResponse.class);
HttpSession session = mock(HttpSession.class);
@@ -111,13 +101,12 @@ public class SpringSessionRememberMeServicesTests {
this.rememberMeServices = new SpringSessionRememberMeServices();
this.rememberMeServices.loginFail(request, response);
verify(request, times(1)).getSession(eq(false));
- verify(session, times(1)).removeAttribute(
- HttpSessionSecurityContextRepository.SPRING_SECURITY_CONTEXT_KEY);
+ verify(session, times(1)).removeAttribute(HttpSessionSecurityContextRepository.SPRING_SECURITY_CONTEXT_KEY);
verifyZeroInteractions(request, response, session);
}
@Test
- public void loginSuccess() {
+ void loginSuccess() {
HttpServletRequest request = mock(HttpServletRequest.class);
HttpServletResponse response = mock(HttpServletResponse.class);
Authentication authentication = mock(Authentication.class);
@@ -128,14 +117,13 @@ public class SpringSessionRememberMeServicesTests {
this.rememberMeServices.loginSuccess(request, response, authentication);
verify(request, times(1)).getParameter(eq("remember-me"));
verify(request, times(1)).getSession();
- verify(request, times(1)).setAttribute(
- eq(SpringSessionRememberMeServices.REMEMBER_ME_LOGIN_ATTR), eq(true));
+ verify(request, times(1)).setAttribute(eq(SpringSessionRememberMeServices.REMEMBER_ME_LOGIN_ATTR), eq(true));
verify(session, times(1)).setMaxInactiveInterval(eq(2592000));
verifyZeroInteractions(request, response, session, authentication);
}
@Test
- public void loginSuccessWithCustomParameter() {
+ void loginSuccessWithCustomParameter() {
HttpServletRequest request = mock(HttpServletRequest.class);
HttpServletResponse response = mock(HttpServletResponse.class);
Authentication authentication = mock(Authentication.class);
@@ -147,14 +135,13 @@ public class SpringSessionRememberMeServicesTests {
this.rememberMeServices.loginSuccess(request, response, authentication);
verify(request, times(1)).getParameter(eq("test-param"));
verify(request, times(1)).getSession();
- verify(request, times(1)).setAttribute(
- eq(SpringSessionRememberMeServices.REMEMBER_ME_LOGIN_ATTR), eq(true));
+ verify(request, times(1)).setAttribute(eq(SpringSessionRememberMeServices.REMEMBER_ME_LOGIN_ATTR), eq(true));
verify(session, times(1)).setMaxInactiveInterval(eq(2592000));
verifyZeroInteractions(request, response, session, authentication);
}
@Test
- public void loginSuccessWithAlwaysRemember() {
+ void loginSuccessWithAlwaysRemember() {
HttpServletRequest request = mock(HttpServletRequest.class);
HttpServletResponse response = mock(HttpServletResponse.class);
Authentication authentication = mock(Authentication.class);
@@ -164,14 +151,13 @@ public class SpringSessionRememberMeServicesTests {
this.rememberMeServices.setAlwaysRemember(true);
this.rememberMeServices.loginSuccess(request, response, authentication);
verify(request, times(1)).getSession();
- verify(request, times(1)).setAttribute(
- eq(SpringSessionRememberMeServices.REMEMBER_ME_LOGIN_ATTR), eq(true));
+ verify(request, times(1)).setAttribute(eq(SpringSessionRememberMeServices.REMEMBER_ME_LOGIN_ATTR), eq(true));
verify(session, times(1)).setMaxInactiveInterval(eq(2592000));
verifyZeroInteractions(request, response, session, authentication);
}
@Test
- public void loginSuccessWithCustomValidity() {
+ void loginSuccessWithCustomValidity() {
HttpServletRequest request = mock(HttpServletRequest.class);
HttpServletResponse response = mock(HttpServletResponse.class);
Authentication authentication = mock(Authentication.class);
@@ -183,8 +169,7 @@ public class SpringSessionRememberMeServicesTests {
this.rememberMeServices.loginSuccess(request, response, authentication);
verify(request, times(1)).getParameter(eq("remember-me"));
verify(request, times(1)).getSession();
- verify(request, times(1)).setAttribute(
- eq(SpringSessionRememberMeServices.REMEMBER_ME_LOGIN_ATTR), eq(true));
+ verify(request, times(1)).setAttribute(eq(SpringSessionRememberMeServices.REMEMBER_ME_LOGIN_ATTR), eq(true));
verify(session, times(1)).setMaxInactiveInterval(eq(100000));
verifyZeroInteractions(request, response, session, authentication);
}
diff --git a/spring-session-core/src/test/java/org/springframework/session/web/http/CookieHttpSessionIdResolverTests.java b/spring-session-core/src/test/java/org/springframework/session/web/http/CookieHttpSessionIdResolverTests.java
index c10e00a5..d502121f 100644
--- a/spring-session-core/src/test/java/org/springframework/session/web/http/CookieHttpSessionIdResolverTests.java
+++ b/spring-session-core/src/test/java/org/springframework/session/web/http/CookieHttpSessionIdResolverTests.java
@@ -34,17 +34,20 @@ import static org.assertj.core.api.Assertions.assertThat;
/**
* Tests for {@link CookieHttpSessionIdResolver}.
*/
-public class CookieHttpSessionIdResolverTests {
+class CookieHttpSessionIdResolverTests {
private MockHttpServletRequest request;
+
private MockHttpServletResponse response;
private CookieHttpSessionIdResolver strategy;
+
private String cookieName;
+
private Session session;
@BeforeEach
- public void setup() throws Exception {
+ void setup() throws Exception {
this.cookieName = "SESSION";
this.session = new MapSession();
this.request = new MockHttpServletRequest();
@@ -53,19 +56,19 @@ public class CookieHttpSessionIdResolverTests {
}
@Test
- public void getRequestedSessionIdNull() throws Exception {
+ void getRequestedSessionIdNull() throws Exception {
assertThat(this.strategy.resolveSessionIds(this.request)).isEmpty();
}
@Test
- public void getRequestedSessionIdNotNull() throws Exception {
+ void getRequestedSessionIdNotNull() throws Exception {
setSessionCookie(this.session.getId());
assertThat(this.strategy.resolveSessionIds(this.request))
.isEqualTo(Collections.singletonList(this.session.getId()));
}
@Test
- public void getRequestedSessionIdNotNullCustomCookieName() throws Exception {
+ void getRequestedSessionIdNotNullCustomCookieName() throws Exception {
setCookieName("CUSTOM");
setSessionCookie(this.session.getId());
assertThat(this.strategy.resolveSessionIds(this.request))
@@ -73,13 +76,13 @@ public class CookieHttpSessionIdResolverTests {
}
@Test
- public void onNewSession() throws Exception {
+ void onNewSession() throws Exception {
this.strategy.setSessionId(this.request, this.response, this.session.getId());
assertThat(getSessionId()).isEqualTo(this.session.getId());
}
@Test
- public void onNewSessionTwiceSameId() throws Exception {
+ void onNewSessionTwiceSameId() throws Exception {
this.strategy.setSessionId(this.request, this.response, this.session.getId());
this.strategy.setSessionId(this.request, this.response, this.session.getId());
@@ -87,7 +90,7 @@ public class CookieHttpSessionIdResolverTests {
}
@Test
- public void onNewSessionTwiceNewId() throws Exception {
+ void onNewSessionTwiceNewId() throws Exception {
Session newSession = new MapSession();
this.strategy.setSessionId(this.request, this.response, this.session.getId());
@@ -101,49 +104,47 @@ public class CookieHttpSessionIdResolverTests {
}
@Test
- public void onNewSessionCookiePath() throws Exception {
+ void onNewSessionCookiePath() throws Exception {
this.request.setContextPath("/somethingunique");
this.strategy.setSessionId(this.request, this.response, this.session.getId());
Cookie sessionCookie = this.response.getCookie(this.cookieName);
- assertThat(sessionCookie.getPath())
- .isEqualTo(this.request.getContextPath() + "/");
+ assertThat(sessionCookie.getPath()).isEqualTo(this.request.getContextPath() + "/");
}
@Test
- public void onNewSessionCustomCookieName() throws Exception {
+ void onNewSessionCustomCookieName() throws Exception {
setCookieName("CUSTOM");
this.strategy.setSessionId(this.request, this.response, this.session.getId());
assertThat(getSessionId()).isEqualTo(this.session.getId());
}
@Test
- public void onDeleteSession() throws Exception {
+ void onDeleteSession() throws Exception {
this.strategy.expireSession(this.request, this.response);
assertThat(getSessionId()).isEmpty();
}
@Test
- public void onDeleteSessionCookiePath() throws Exception {
+ void onDeleteSessionCookiePath() throws Exception {
this.request.setContextPath("/somethingunique");
this.strategy.expireSession(this.request, this.response);
Cookie sessionCookie = this.response.getCookie(this.cookieName);
- assertThat(sessionCookie.getPath())
- .isEqualTo(this.request.getContextPath() + "/");
+ assertThat(sessionCookie.getPath()).isEqualTo(this.request.getContextPath() + "/");
}
@Test
- public void onDeleteSessionCustomCookieName() throws Exception {
+ void onDeleteSessionCustomCookieName() throws Exception {
setCookieName("CUSTOM");
this.strategy.expireSession(this.request, this.response);
assertThat(getSessionId()).isEmpty();
}
@Test
- public void createSessionCookieValue() {
- assertThat(createSessionCookieValue(17)).isEqualToIgnoringCase(
- "0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 a 10 b 11 c 12 d 13 e 14 f 15 10 16");
+ void createSessionCookieValue() {
+ assertThat(createSessionCookieValue(17))
+ .isEqualToIgnoringCase("0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 a 10 b 11 c 12 d 13 e 14 f 15 10 16");
}
private String createSessionCookieValue(long size) {
diff --git a/spring-session-core/src/test/java/org/springframework/session/web/http/DefaultCookieSerializerTests.java b/spring-session-core/src/test/java/org/springframework/session/web/http/DefaultCookieSerializerTests.java
index 246edaa6..c8a5d115 100644
--- a/spring-session-core/src/test/java/org/springframework/session/web/http/DefaultCookieSerializerTests.java
+++ b/spring-session-core/src/test/java/org/springframework/session/web/http/DefaultCookieSerializerTests.java
@@ -42,7 +42,7 @@ import static org.assertj.core.api.Assertions.assertThatIllegalStateException;
* @author Vedran Pavic
* @author Eddú Meléndez
*/
-public class DefaultCookieSerializerTests {
+class DefaultCookieSerializerTests {
private String cookieName;
@@ -55,7 +55,7 @@ public class DefaultCookieSerializerTests {
private String sessionId;
@BeforeEach
- public void setup() {
+ void setup() {
this.cookieName = "SESSION";
this.request = new MockHttpServletRequest();
this.response = new MockHttpServletResponse();
@@ -66,23 +66,21 @@ public class DefaultCookieSerializerTests {
// --- readCookieValues ---
@Test
- public void readCookieValuesNull() {
+ void readCookieValuesNull() {
assertThat(this.serializer.readCookieValues(this.request)).isEmpty();
}
@ParameterizedTest
@ValueSource(strings = { "true", "false" })
- public void readCookieValuesSingle(boolean useBase64Encoding) {
+ void readCookieValuesSingle(boolean useBase64Encoding) {
this.serializer.setUseBase64Encoding(useBase64Encoding);
- this.request.setCookies(
- createCookie(this.cookieName, this.sessionId, useBase64Encoding));
+ this.request.setCookies(createCookie(this.cookieName, this.sessionId, useBase64Encoding));
- assertThat(this.serializer.readCookieValues(this.request))
- .containsOnly(this.sessionId);
+ assertThat(this.serializer.readCookieValues(this.request)).containsOnly(this.sessionId);
}
@Test
- public void readCookieSerializerUseBase64EncodingTrueValuesNotBase64() {
+ void readCookieSerializerUseBase64EncodingTrueValuesNotBase64() {
this.sessionId = "&^%$*";
this.serializer.setUseBase64Encoding(true);
this.request.setCookies(new Cookie(this.cookieName, this.sessionId));
@@ -92,48 +90,41 @@ public class DefaultCookieSerializerTests {
@ParameterizedTest
@ValueSource(strings = { "true", "false" })
- public void readCookieValuesSingleAndInvalidName(boolean useBase64Encoding) {
+ void readCookieValuesSingleAndInvalidName(boolean useBase64Encoding) {
this.serializer.setUseBase64Encoding(useBase64Encoding);
- this.request.setCookies(
- createCookie(this.cookieName, this.sessionId, useBase64Encoding),
- createCookie(this.cookieName + "INVALID", this.sessionId + "INVALID",
- useBase64Encoding));
+ this.request.setCookies(createCookie(this.cookieName, this.sessionId, useBase64Encoding),
+ createCookie(this.cookieName + "INVALID", this.sessionId + "INVALID", useBase64Encoding));
- assertThat(this.serializer.readCookieValues(this.request))
- .containsOnly(this.sessionId);
+ assertThat(this.serializer.readCookieValues(this.request)).containsOnly(this.sessionId);
}
@ParameterizedTest
@ValueSource(strings = { "true", "false" })
- public void readCookieValuesMulti(boolean useBase64Encoding) {
+ void readCookieValuesMulti(boolean useBase64Encoding) {
this.serializer.setUseBase64Encoding(useBase64Encoding);
String secondSession = "secondSessionId";
- this.request.setCookies(
- createCookie(this.cookieName, this.sessionId, useBase64Encoding),
+ this.request.setCookies(createCookie(this.cookieName, this.sessionId, useBase64Encoding),
createCookie(this.cookieName, secondSession, useBase64Encoding));
- assertThat(this.serializer.readCookieValues(this.request))
- .containsExactly(this.sessionId, secondSession);
+ assertThat(this.serializer.readCookieValues(this.request)).containsExactly(this.sessionId, secondSession);
}
@ParameterizedTest
@ValueSource(strings = { "true", "false" })
- public void readCookieValuesMultiCustomSessionCookieName(boolean useBase64Encoding) {
+ void readCookieValuesMultiCustomSessionCookieName(boolean useBase64Encoding) {
this.serializer.setUseBase64Encoding(useBase64Encoding);
setCookieName("JSESSIONID");
String secondSession = "secondSessionId";
- this.request.setCookies(
- createCookie(this.cookieName, this.sessionId, useBase64Encoding),
+ this.request.setCookies(createCookie(this.cookieName, this.sessionId, useBase64Encoding),
createCookie(this.cookieName, secondSession, useBase64Encoding));
- assertThat(this.serializer.readCookieValues(this.request))
- .containsExactly(this.sessionId, secondSession);
+ assertThat(this.serializer.readCookieValues(this.request)).containsExactly(this.sessionId, secondSession);
}
// gh-392
@ParameterizedTest
@ValueSource(strings = { "true", "false" })
- public void readCookieValuesNullCookieValue(boolean useBase64Encoding) {
+ void readCookieValuesNullCookieValue(boolean useBase64Encoding) {
this.serializer.setUseBase64Encoding(useBase64Encoding);
this.request.setCookies(createCookie(this.cookieName, null, useBase64Encoding));
@@ -142,7 +133,7 @@ public class DefaultCookieSerializerTests {
@ParameterizedTest
@ValueSource(strings = { "true", "false" })
- public void readCookieValuesNullCookieValueAndJvmRoute(boolean useBase64Encoding) {
+ void readCookieValuesNullCookieValueAndJvmRoute(boolean useBase64Encoding) {
this.serializer.setJvmRoute("123");
this.request.setCookies(createCookie(this.cookieName, null, useBase64Encoding));
@@ -151,21 +142,20 @@ public class DefaultCookieSerializerTests {
@ParameterizedTest
@ValueSource(strings = { "true", "false" })
- public void readCookieValuesNullCookieValueAndNotNullCookie(boolean useBase64Encoding) {
+ void readCookieValuesNullCookieValueAndNotNullCookie(boolean useBase64Encoding) {
this.serializer.setUseBase64Encoding(useBase64Encoding);
this.serializer.setJvmRoute("123");
this.request.setCookies(createCookie(this.cookieName, null, useBase64Encoding),
createCookie(this.cookieName, this.sessionId, useBase64Encoding));
- assertThat(this.serializer.readCookieValues(this.request))
- .containsOnly(this.sessionId);
+ assertThat(this.serializer.readCookieValues(this.request)).containsOnly(this.sessionId);
}
// --- writeCookie ---
@ParameterizedTest
@ValueSource(strings = { "true", "false" })
- public void writeCookie(boolean useBase64Encoding) {
+ void writeCookie(boolean useBase64Encoding) {
this.serializer.setUseBase64Encoding(useBase64Encoding);
this.serializer.writeCookieValue(cookieValue(this.sessionId));
@@ -175,14 +165,14 @@ public class DefaultCookieSerializerTests {
// --- httpOnly ---
@Test
- public void writeCookieHttpOnlyDefault() {
+ void writeCookieHttpOnlyDefault() {
this.serializer.writeCookieValue(cookieValue(this.sessionId));
assertThat(getCookie().isHttpOnly()).isTrue();
}
@Test
- public void writeCookieHttpOnlySetTrue() {
+ void writeCookieHttpOnlySetTrue() {
this.serializer.setUseHttpOnlyCookie(true);
this.serializer.writeCookieValue(cookieValue(this.sessionId));
@@ -191,7 +181,7 @@ public class DefaultCookieSerializerTests {
}
@Test
- public void writeCookieHttpOnlySetFalse() {
+ void writeCookieHttpOnlySetFalse() {
this.serializer.setUseHttpOnlyCookie(false);
this.serializer.writeCookieValue(cookieValue(this.sessionId));
@@ -202,14 +192,14 @@ public class DefaultCookieSerializerTests {
// --- domainName ---
@Test
- public void writeCookieDomainNameDefault() {
+ void writeCookieDomainNameDefault() {
this.serializer.writeCookieValue(cookieValue(this.sessionId));
assertThat(getCookie().getDomain()).isNull();
}
@Test
- public void writeCookieDomainNameCustom() {
+ void writeCookieDomainNameCustom() {
String domainName = "example.com";
this.serializer.setDomainName(domainName);
@@ -219,17 +209,16 @@ public class DefaultCookieSerializerTests {
}
@Test
- public void setDomainNameAndDomainNamePatternThrows() {
+ void setDomainNameAndDomainNamePatternThrows() {
this.serializer.setDomainName("example.com");
- assertThatIllegalStateException()
- .isThrownBy(() -> this.serializer.setDomainNamePattern(".*"))
+ assertThatIllegalStateException().isThrownBy(() -> this.serializer.setDomainNamePattern(".*"))
.withMessage("Cannot set both domainName and domainNamePattern");
}
// --- domainNamePattern ---
@Test
- public void writeCookieDomainNamePattern() {
+ void writeCookieDomainNamePattern() {
String domainNamePattern = "^.+?\\.(\\w+\\.[a-z]+)$";
this.serializer.setDomainNamePattern(domainNamePattern);
@@ -253,24 +242,23 @@ public class DefaultCookieSerializerTests {
}
@Test
- public void setDomainNamePatternAndDomainNameThrows() {
+ void setDomainNamePatternAndDomainNameThrows() {
this.serializer.setDomainNamePattern(".*");
- assertThatIllegalStateException()
- .isThrownBy(() -> this.serializer.setDomainName("example.com"))
+ assertThatIllegalStateException().isThrownBy(() -> this.serializer.setDomainName("example.com"))
.withMessage("Cannot set both domainName and domainNamePattern");
}
// --- cookieName ---
@Test
- public void writeCookieCookieNameDefault() {
+ void writeCookieCookieNameDefault() {
this.serializer.writeCookieValue(cookieValue(this.sessionId));
assertThat(getCookie().getName()).isEqualTo("SESSION");
}
@Test
- public void writeCookieCookieNameCustom() {
+ void writeCookieCookieNameCustom() {
String cookieName = "JSESSIONID";
setCookieName(cookieName);
@@ -280,16 +268,15 @@ public class DefaultCookieSerializerTests {
}
@Test
- public void setCookieNameNullThrows() {
- assertThatIllegalArgumentException()
- .isThrownBy(() -> this.serializer.setCookieName(null))
+ void setCookieNameNullThrows() {
+ assertThatIllegalArgumentException().isThrownBy(() -> this.serializer.setCookieName(null))
.withMessage("cookieName cannot be null");
}
// --- cookiePath ---
@Test
- public void writeCookieCookiePathDefaultEmptyContextPathUsed() {
+ void writeCookieCookiePathDefaultEmptyContextPathUsed() {
this.request.setContextPath("");
this.serializer.writeCookieValue(cookieValue(this.sessionId));
@@ -298,7 +285,7 @@ public class DefaultCookieSerializerTests {
}
@Test
- public void writeCookieCookiePathDefaultContextPathUsed() {
+ void writeCookieCookiePathDefaultContextPathUsed() {
this.request.setContextPath("/context");
this.serializer.writeCookieValue(cookieValue(this.sessionId));
@@ -307,7 +294,7 @@ public class DefaultCookieSerializerTests {
}
@Test
- public void writeCookieCookiePathExplicitNullCookiePathContextPathUsed() {
+ void writeCookieCookiePathExplicitNullCookiePathContextPathUsed() {
this.request.setContextPath("/context");
this.serializer.setCookiePath(null);
@@ -317,7 +304,7 @@ public class DefaultCookieSerializerTests {
}
@Test
- public void writeCookieCookiePathExplicitCookiePath() {
+ void writeCookieCookiePathExplicitCookiePath() {
this.request.setContextPath("/context");
this.serializer.setCookiePath("/");
@@ -329,14 +316,14 @@ public class DefaultCookieSerializerTests {
// --- cookieMaxAge ---
@Test
- public void writeCookieCookieMaxAgeDefault() {
+ void writeCookieCookieMaxAgeDefault() {
this.serializer.writeCookieValue(cookieValue(this.sessionId));
assertThat(getCookie().getMaxAge()).isEqualTo(-1);
}
@Test
- public void writeCookieCookieMaxAgeExplicit() {
+ void writeCookieCookieMaxAgeExplicit() {
this.serializer.setCookieMaxAge(100);
this.serializer.writeCookieValue(cookieValue(this.sessionId));
@@ -345,7 +332,7 @@ public class DefaultCookieSerializerTests {
}
@Test
- public void writeCookieCookieMaxAgeExplicitEmptyCookie() {
+ void writeCookieCookieMaxAgeExplicitEmptyCookie() {
this.serializer.setCookieMaxAge(100);
this.serializer.writeCookieValue(cookieValue(""));
@@ -354,7 +341,7 @@ public class DefaultCookieSerializerTests {
}
@Test
- public void writeCookieCookieMaxAgeExplicitCookieValue() {
+ void writeCookieCookieMaxAgeExplicitCookieValue() {
CookieValue cookieValue = cookieValue(this.sessionId);
cookieValue.setCookieMaxAge(100);
@@ -366,14 +353,14 @@ public class DefaultCookieSerializerTests {
// --- secure ---
@Test
- public void writeCookieDefaultInsecureRequest() {
+ void writeCookieDefaultInsecureRequest() {
this.serializer.writeCookieValue(cookieValue(this.sessionId));
assertThat(getCookie().getSecure()).isFalse();
}
@Test
- public void writeCookieSecureSecureRequest() {
+ void writeCookieSecureSecureRequest() {
this.request.setSecure(true);
this.serializer.setUseSecureCookie(true);
@@ -383,7 +370,7 @@ public class DefaultCookieSerializerTests {
}
@Test
- public void writeCookieSecureInsecureRequest() {
+ void writeCookieSecureInsecureRequest() {
this.serializer.setUseSecureCookie(true);
this.serializer.writeCookieValue(cookieValue(this.sessionId));
@@ -392,7 +379,7 @@ public class DefaultCookieSerializerTests {
}
@Test
- public void writeCookieInsecureSecureRequest() {
+ void writeCookieInsecureSecureRequest() {
this.request.setSecure(true);
this.serializer.setUseSecureCookie(false);
@@ -402,7 +389,7 @@ public class DefaultCookieSerializerTests {
}
@Test
- public void writeCookieInecureInsecureRequest() {
+ void writeCookieInecureInsecureRequest() {
this.serializer.setUseSecureCookie(false);
this.serializer.writeCookieValue(cookieValue(this.sessionId));
@@ -414,51 +401,45 @@ public class DefaultCookieSerializerTests {
@ParameterizedTest
@ValueSource(strings = { "true", "false" })
- public void writeCookieJvmRoute(boolean useBase64Encoding) {
+ void writeCookieJvmRoute(boolean useBase64Encoding) {
this.serializer.setUseBase64Encoding(useBase64Encoding);
String jvmRoute = "route";
this.serializer.setJvmRoute(jvmRoute);
this.serializer.writeCookieValue(cookieValue(this.sessionId));
- assertThat(getCookieValue(useBase64Encoding))
- .isEqualTo(this.sessionId + "." + jvmRoute);
+ assertThat(getCookieValue(useBase64Encoding)).isEqualTo(this.sessionId + "." + jvmRoute);
}
@ParameterizedTest
@ValueSource(strings = { "true", "false" })
- public void readCookieJvmRoute(boolean useBase64Encoding) {
+ void readCookieJvmRoute(boolean useBase64Encoding) {
this.serializer.setUseBase64Encoding(useBase64Encoding);
String jvmRoute = "route";
this.serializer.setJvmRoute(jvmRoute);
- this.request.setCookies(createCookie(this.cookieName,
- this.sessionId + "." + jvmRoute, useBase64Encoding));
+ this.request.setCookies(createCookie(this.cookieName, this.sessionId + "." + jvmRoute, useBase64Encoding));
- assertThat(this.serializer.readCookieValues(this.request))
- .containsOnly(this.sessionId);
+ assertThat(this.serializer.readCookieValues(this.request)).containsOnly(this.sessionId);
}
@ParameterizedTest
@ValueSource(strings = { "true", "false" })
- public void readCookieJvmRouteRouteMissing(boolean useBase64Encoding) {
+ void readCookieJvmRouteRouteMissing(boolean useBase64Encoding) {
this.serializer.setUseBase64Encoding(useBase64Encoding);
String jvmRoute = "route";
this.serializer.setJvmRoute(jvmRoute);
- this.request.setCookies(
- createCookie(this.cookieName, this.sessionId, useBase64Encoding));
+ this.request.setCookies(createCookie(this.cookieName, this.sessionId, useBase64Encoding));
- assertThat(this.serializer.readCookieValues(this.request))
- .containsOnly(this.sessionId);
+ assertThat(this.serializer.readCookieValues(this.request)).containsOnly(this.sessionId);
}
@ParameterizedTest
@ValueSource(strings = { "true", "false" })
- public void readCookieJvmRouteOnlyRoute(boolean useBase64Encoding) {
+ void readCookieJvmRouteOnlyRoute(boolean useBase64Encoding) {
this.serializer.setUseBase64Encoding(useBase64Encoding);
String jvmRoute = "route";
this.serializer.setJvmRoute(jvmRoute);
- this.request.setCookies(
- createCookie(this.cookieName, "." + jvmRoute, useBase64Encoding));
+ this.request.setCookies(createCookie(this.cookieName, "." + jvmRoute, useBase64Encoding));
assertThat(this.serializer.readCookieValues(this.request)).containsOnly("");
}
@@ -466,7 +447,7 @@ public class DefaultCookieSerializerTests {
// --- rememberMe ---
@Test
- public void writeCookieRememberMeCookieMaxAgeDefault() {
+ void writeCookieRememberMeCookieMaxAgeDefault() {
this.request.setAttribute("rememberMe", true);
this.serializer.setRememberMeRequestAttribute("rememberMe");
this.serializer.writeCookieValue(cookieValue(this.sessionId));
@@ -475,7 +456,7 @@ public class DefaultCookieSerializerTests {
}
@Test
- public void writeCookieRememberMeCookieMaxAgeOverride() {
+ void writeCookieRememberMeCookieMaxAgeOverride() {
this.request.setAttribute("rememberMe", true);
this.serializer.setRememberMeRequestAttribute("rememberMe");
CookieValue cookieValue = cookieValue(this.sessionId);
@@ -488,14 +469,14 @@ public class DefaultCookieSerializerTests {
// --- sameSite ---
@Test
- public void writeCookieDefaultSameSiteLax() {
+ void writeCookieDefaultSameSiteLax() {
this.serializer.writeCookieValue(cookieValue(this.sessionId));
assertThat(getCookie().getSameSite()).isEqualTo("Lax");
}
@Test
- public void writeCookieSetSameSiteLax() {
+ void writeCookieSetSameSiteLax() {
this.serializer.setSameSite("Lax");
this.serializer.writeCookieValue(cookieValue(this.sessionId));
@@ -503,7 +484,7 @@ public class DefaultCookieSerializerTests {
}
@Test
- public void writeCookieSetSameSiteStrict() {
+ void writeCookieSetSameSiteStrict() {
this.serializer.setSameSite("Strict");
this.serializer.writeCookieValue(cookieValue(this.sessionId));
@@ -511,7 +492,7 @@ public class DefaultCookieSerializerTests {
}
@Test
- public void writeCookieSetSameSiteNull() {
+ void writeCookieSetSameSiteNull() {
this.serializer.setSameSite(null);
this.serializer.writeCookieValue(cookieValue(this.sessionId));
diff --git a/spring-session-core/src/test/java/org/springframework/session/web/http/HeaderHttpSessionIdResolverTests.java b/spring-session-core/src/test/java/org/springframework/session/web/http/HeaderHttpSessionIdResolverTests.java
index 4c911359..81b6671c 100644
--- a/spring-session-core/src/test/java/org/springframework/session/web/http/HeaderHttpSessionIdResolverTests.java
+++ b/spring-session-core/src/test/java/org/springframework/session/web/http/HeaderHttpSessionIdResolverTests.java
@@ -32,7 +32,7 @@ import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException
/**
* Tests for {@link HeaderHttpSessionIdResolver}.
*/
-public class HeaderHttpSessionIdResolverTests {
+class HeaderHttpSessionIdResolverTests {
private static final String HEADER_X_AUTH_TOKEN = "X-Auth-Token";
@@ -43,71 +43,64 @@ public class HeaderHttpSessionIdResolverTests {
private HeaderHttpSessionIdResolver resolver;
@BeforeEach
- public void setup() {
+ void setup() {
this.request = new MockHttpServletRequest();
this.response = new MockHttpServletResponse();
this.resolver = HeaderHttpSessionIdResolver.xAuthToken();
}
@Test
- public void createResolverWithXAuthTokenHeader() {
+ void createResolverWithXAuthTokenHeader() {
HeaderHttpSessionIdResolver resolver = HeaderHttpSessionIdResolver.xAuthToken();
- assertThat(ReflectionTestUtils.getField(resolver, "headerName"))
- .isEqualTo("X-Auth-Token");
+ assertThat(ReflectionTestUtils.getField(resolver, "headerName")).isEqualTo("X-Auth-Token");
}
@Test
- public void createResolverWithAuthenticationInfoHeader() {
- HeaderHttpSessionIdResolver resolver = HeaderHttpSessionIdResolver
- .authenticationInfo();
- assertThat(ReflectionTestUtils.getField(resolver, "headerName"))
- .isEqualTo("Authentication-Info");
+ void createResolverWithAuthenticationInfoHeader() {
+ HeaderHttpSessionIdResolver resolver = HeaderHttpSessionIdResolver.authenticationInfo();
+ assertThat(ReflectionTestUtils.getField(resolver, "headerName")).isEqualTo("Authentication-Info");
}
@Test
- public void createResolverWithCustomHeaderName() {
- HeaderHttpSessionIdResolver resolver = new HeaderHttpSessionIdResolver(
- "Custom-Header");
- assertThat(ReflectionTestUtils.getField(resolver, "headerName"))
- .isEqualTo("Custom-Header");
+ void createResolverWithCustomHeaderName() {
+ HeaderHttpSessionIdResolver resolver = new HeaderHttpSessionIdResolver("Custom-Header");
+ assertThat(ReflectionTestUtils.getField(resolver, "headerName")).isEqualTo("Custom-Header");
}
@Test
- public void createResolverWithNullHeaderName() {
- assertThatIllegalArgumentException()
- .isThrownBy(() -> new HeaderHttpSessionIdResolver(null))
+ void createResolverWithNullHeaderName() {
+ assertThatIllegalArgumentException().isThrownBy(() -> new HeaderHttpSessionIdResolver(null))
.withMessage("headerName cannot be null");
}
@Test
- public void getRequestedSessionIdNull() {
+ void getRequestedSessionIdNull() {
assertThat(this.resolver.resolveSessionIds(this.request)).isEmpty();
}
@Test
- public void getRequestedSessionIdNotNull() {
+ void getRequestedSessionIdNotNull() {
String sessionId = UUID.randomUUID().toString();
setSessionId(sessionId);
- assertThat(this.resolver.resolveSessionIds(this.request))
- .isEqualTo(Collections.singletonList(sessionId));
+ assertThat(this.resolver.resolveSessionIds(this.request)).isEqualTo(Collections.singletonList(sessionId));
}
@Test
- public void onNewSession() {
+ void onNewSession() {
String sessionId = UUID.randomUUID().toString();
this.resolver.setSessionId(this.request, this.response, sessionId);
assertThat(getSessionId()).isEqualTo(sessionId);
}
@Test
- public void onDeleteSession() {
+ void onDeleteSession() {
this.resolver.expireSession(this.request, this.response);
assertThat(getSessionId()).isEmpty();
}
// the header is set as apposed to added
@Test
- public void onNewSessionMulti() {
+ void onNewSessionMulti() {
String sessionId = UUID.randomUUID().toString();
this.resolver.setSessionId(this.request, this.response, sessionId);
this.resolver.setSessionId(this.request, this.response, sessionId);
@@ -117,7 +110,7 @@ public class HeaderHttpSessionIdResolverTests {
// the header is set as apposed to added
@Test
- public void onDeleteSessionMulti() {
+ void onDeleteSessionMulti() {
this.resolver.expireSession(this.request, this.response);
this.resolver.expireSession(this.request, this.response);
assertThat(this.response.getHeaders(HEADER_X_AUTH_TOKEN).size()).isEqualTo(1);
diff --git a/spring-session-core/src/test/java/org/springframework/session/web/http/OnCommittedResponseWrapperTests.java b/spring-session-core/src/test/java/org/springframework/session/web/http/OnCommittedResponseWrapperTests.java
index 74ffe250..760ca5d7 100644
--- a/spring-session-core/src/test/java/org/springframework/session/web/http/OnCommittedResponseWrapperTests.java
+++ b/spring-session-core/src/test/java/org/springframework/session/web/http/OnCommittedResponseWrapperTests.java
@@ -32,22 +32,25 @@ import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.BDDMockito.given;
import static org.mockito.Mockito.verify;
-public class OnCommittedResponseWrapperTests {
+class OnCommittedResponseWrapperTests {
+
private static final String NL = "\r\n";
@Mock
HttpServletResponse delegate;
+
@Mock
PrintWriter writer;
+
@Mock
ServletOutputStream out;
- OnCommittedResponseWrapper response;
+ private OnCommittedResponseWrapper response;
- boolean committed;
+ private boolean committed;
@BeforeEach
- public void setup() throws Exception {
+ void setup() throws Exception {
MockitoAnnotations.initMocks(this);
this.response = new OnCommittedResponseWrapper(this.delegate) {
@Override
@@ -62,14 +65,14 @@ public class OnCommittedResponseWrapperTests {
// --- printwriter
@Test
- public void printWriterHashCode() throws Exception {
+ void printWriterHashCode() throws Exception {
int expected = this.writer.hashCode();
assertThat(this.response.getWriter().hashCode()).isEqualTo(expected);
}
@Test
- public void printWriterCheckError() throws Exception {
+ void printWriterCheckError() throws Exception {
boolean expected = true;
given(this.writer.checkError()).willReturn(expected);
@@ -77,7 +80,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void printWriterWriteInt() throws Exception {
+ void printWriterWriteInt() throws Exception {
int expected = 1;
this.response.getWriter().write(expected);
@@ -86,7 +89,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void printWriterWriteCharIntInt() throws Exception {
+ void printWriterWriteCharIntInt() throws Exception {
char[] buff = new char[0];
int off = 2;
int len = 3;
@@ -97,7 +100,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void printWriterWriteChar() throws Exception {
+ void printWriterWriteChar() throws Exception {
char[] buff = new char[0];
this.response.getWriter().write(buff);
@@ -106,7 +109,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void printWriterWriteStringIntInt() throws Exception {
+ void printWriterWriteStringIntInt() throws Exception {
String s = "";
int off = 2;
int len = 3;
@@ -117,7 +120,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void printWriterWriteString() throws Exception {
+ void printWriterWriteString() throws Exception {
String s = "";
this.response.getWriter().write(s);
@@ -126,7 +129,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void printWriterPrintBoolean() throws Exception {
+ void printWriterPrintBoolean() throws Exception {
boolean b = true;
this.response.getWriter().print(b);
@@ -135,7 +138,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void printWriterPrintChar() throws Exception {
+ void printWriterPrintChar() throws Exception {
char c = 1;
this.response.getWriter().print(c);
@@ -144,7 +147,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void printWriterPrintInt() throws Exception {
+ void printWriterPrintInt() throws Exception {
int i = 1;
this.response.getWriter().print(i);
@@ -153,7 +156,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void printWriterPrintLong() throws Exception {
+ void printWriterPrintLong() throws Exception {
long l = 1;
this.response.getWriter().print(l);
@@ -162,7 +165,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void printWriterPrintFloat() throws Exception {
+ void printWriterPrintFloat() throws Exception {
float f = 1;
this.response.getWriter().print(f);
@@ -171,7 +174,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void printWriterPrintDouble() throws Exception {
+ void printWriterPrintDouble() throws Exception {
double x = 1;
this.response.getWriter().print(x);
@@ -180,7 +183,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void printWriterPrintCharArray() throws Exception {
+ void printWriterPrintCharArray() throws Exception {
char[] x = new char[0];
this.response.getWriter().print(x);
@@ -189,7 +192,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void printWriterPrintString() throws Exception {
+ void printWriterPrintString() throws Exception {
String x = "1";
this.response.getWriter().print(x);
@@ -198,7 +201,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void printWriterPrintObject() throws Exception {
+ void printWriterPrintObject() throws Exception {
Object x = "1";
this.response.getWriter().print(x);
@@ -207,14 +210,14 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void printWriterPrintln() throws Exception {
+ void printWriterPrintln() throws Exception {
this.response.getWriter().println();
verify(this.writer).println();
}
@Test
- public void printWriterPrintlnBoolean() throws Exception {
+ void printWriterPrintlnBoolean() throws Exception {
boolean b = true;
this.response.getWriter().println(b);
@@ -223,7 +226,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void printWriterPrintlnChar() throws Exception {
+ void printWriterPrintlnChar() throws Exception {
char c = 1;
this.response.getWriter().println(c);
@@ -232,7 +235,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void printWriterPrintlnInt() throws Exception {
+ void printWriterPrintlnInt() throws Exception {
int i = 1;
this.response.getWriter().println(i);
@@ -241,7 +244,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void printWriterPrintlnLong() throws Exception {
+ void printWriterPrintlnLong() throws Exception {
long l = 1;
this.response.getWriter().println(l);
@@ -250,7 +253,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void printWriterPrintlnFloat() throws Exception {
+ void printWriterPrintlnFloat() throws Exception {
float f = 1;
this.response.getWriter().println(f);
@@ -259,7 +262,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void printWriterPrintlnDouble() throws Exception {
+ void printWriterPrintlnDouble() throws Exception {
double x = 1;
this.response.getWriter().println(x);
@@ -268,7 +271,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void printWriterPrintlnCharArray() throws Exception {
+ void printWriterPrintlnCharArray() throws Exception {
char[] x = new char[0];
this.response.getWriter().println(x);
@@ -277,7 +280,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void printWriterPrintlnString() throws Exception {
+ void printWriterPrintlnString() throws Exception {
String x = "1";
this.response.getWriter().println(x);
@@ -286,7 +289,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void printWriterPrintlnObject() throws Exception {
+ void printWriterPrintlnObject() throws Exception {
Object x = "1";
this.response.getWriter().println(x);
@@ -295,7 +298,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void printWriterPrintfStringObjectVargs() throws Exception {
+ void printWriterPrintfStringObjectVargs() throws Exception {
String format = "format";
Object[] args = new Object[] { "1" };
@@ -305,7 +308,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void printWriterPrintfLocaleStringObjectVargs() throws Exception {
+ void printWriterPrintfLocaleStringObjectVargs() throws Exception {
Locale l = Locale.US;
String format = "format";
Object[] args = new Object[] { "1" };
@@ -316,7 +319,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void printWriterFormatStringObjectVargs() throws Exception {
+ void printWriterFormatStringObjectVargs() throws Exception {
String format = "format";
Object[] args = new Object[] { "1" };
@@ -326,7 +329,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void printWriterFormatLocaleStringObjectVargs() throws Exception {
+ void printWriterFormatLocaleStringObjectVargs() throws Exception {
Locale l = Locale.US;
String format = "format";
Object[] args = new Object[] { "1" };
@@ -337,7 +340,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void printWriterAppendCharSequence() throws Exception {
+ void printWriterAppendCharSequence() throws Exception {
String x = "a";
this.response.getWriter().append(x);
@@ -346,7 +349,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void printWriterAppendCharSequenceIntInt() throws Exception {
+ void printWriterAppendCharSequenceIntInt() throws Exception {
String x = "abcdef";
int start = 1;
int end = 3;
@@ -357,7 +360,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void printWriterAppendChar() throws Exception {
+ void printWriterAppendChar() throws Exception {
char x = 1;
this.response.getWriter().append(x);
@@ -368,14 +371,14 @@ public class OnCommittedResponseWrapperTests {
// servletoutputstream
@Test
- public void outputStreamHashCode() throws Exception {
+ void outputStreamHashCode() throws Exception {
int expected = this.out.hashCode();
assertThat(this.response.getOutputStream().hashCode()).isEqualTo(expected);
}
@Test
- public void outputStreamWriteInt() throws Exception {
+ void outputStreamWriteInt() throws Exception {
int expected = 1;
this.response.getOutputStream().write(expected);
@@ -384,7 +387,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void outputStreamWriteByte() throws Exception {
+ void outputStreamWriteByte() throws Exception {
byte[] expected = new byte[0];
this.response.getOutputStream().write(expected);
@@ -393,7 +396,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void outputStreamWriteByteIntInt() throws Exception {
+ void outputStreamWriteByteIntInt() throws Exception {
int start = 1;
int end = 2;
byte[] expected = new byte[0];
@@ -404,7 +407,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void outputStreamPrintBoolean() throws Exception {
+ void outputStreamPrintBoolean() throws Exception {
boolean b = true;
this.response.getOutputStream().print(b);
@@ -413,7 +416,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void outputStreamPrintChar() throws Exception {
+ void outputStreamPrintChar() throws Exception {
char c = 1;
this.response.getOutputStream().print(c);
@@ -422,7 +425,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void outputStreamPrintInt() throws Exception {
+ void outputStreamPrintInt() throws Exception {
int i = 1;
this.response.getOutputStream().print(i);
@@ -431,7 +434,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void outputStreamPrintLong() throws Exception {
+ void outputStreamPrintLong() throws Exception {
long l = 1;
this.response.getOutputStream().print(l);
@@ -440,7 +443,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void outputStreamPrintFloat() throws Exception {
+ void outputStreamPrintFloat() throws Exception {
float f = 1;
this.response.getOutputStream().print(f);
@@ -449,7 +452,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void outputStreamPrintDouble() throws Exception {
+ void outputStreamPrintDouble() throws Exception {
double x = 1;
this.response.getOutputStream().print(x);
@@ -458,7 +461,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void outputStreamPrintString() throws Exception {
+ void outputStreamPrintString() throws Exception {
String x = "1";
this.response.getOutputStream().print(x);
@@ -467,14 +470,14 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void outputStreamPrintln() throws Exception {
+ void outputStreamPrintln() throws Exception {
this.response.getOutputStream().println();
verify(this.out).println();
}
@Test
- public void outputStreamPrintlnBoolean() throws Exception {
+ void outputStreamPrintlnBoolean() throws Exception {
boolean b = true;
this.response.getOutputStream().println(b);
@@ -483,7 +486,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void outputStreamPrintlnChar() throws Exception {
+ void outputStreamPrintlnChar() throws Exception {
char c = 1;
this.response.getOutputStream().println(c);
@@ -492,7 +495,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void outputStreamPrintlnInt() throws Exception {
+ void outputStreamPrintlnInt() throws Exception {
int i = 1;
this.response.getOutputStream().println(i);
@@ -501,7 +504,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void outputStreamPrintlnLong() throws Exception {
+ void outputStreamPrintlnLong() throws Exception {
long l = 1;
this.response.getOutputStream().println(l);
@@ -510,7 +513,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void outputStreamPrintlnFloat() throws Exception {
+ void outputStreamPrintlnFloat() throws Exception {
float f = 1;
this.response.getOutputStream().println(f);
@@ -519,7 +522,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void outputStreamPrintlnDouble() throws Exception {
+ void outputStreamPrintlnDouble() throws Exception {
double x = 1;
this.response.getOutputStream().println(x);
@@ -528,7 +531,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void outputStreamPrintlnString() throws Exception {
+ void outputStreamPrintlnString() throws Exception {
String x = "1";
this.response.getOutputStream().println(x);
@@ -540,7 +543,7 @@ public class OnCommittedResponseWrapperTests {
// has been greater than zero and has been written to the response.
@Test
- public void contentLengthPrintWriterWriteIntCommits() throws Exception {
+ void contentLengthPrintWriterWriteIntCommits() throws Exception {
int expected = 1;
this.response.setContentLength(String.valueOf(expected).length());
@@ -550,7 +553,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void contentLengthPrintWriterWriteIntMultiDigitCommits() throws Exception {
+ void contentLengthPrintWriterWriteIntMultiDigitCommits() throws Exception {
int expected = 10000;
this.response.setContentLength(String.valueOf(expected).length());
@@ -560,8 +563,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void contentLengthPlus1PrintWriterWriteIntMultiDigitCommits()
- throws Exception {
+ void contentLengthPlus1PrintWriterWriteIntMultiDigitCommits() throws Exception {
int expected = 10000;
this.response.setContentLength(String.valueOf(expected).length() + 1);
@@ -575,7 +577,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void contentLengthPrintWriterWriteCharIntIntCommits() throws Exception {
+ void contentLengthPrintWriterWriteCharIntIntCommits() throws Exception {
char[] buff = new char[0];
int off = 2;
int len = 3;
@@ -587,7 +589,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void contentLengthPrintWriterWriteCharCommits() throws Exception {
+ void contentLengthPrintWriterWriteCharCommits() throws Exception {
char[] buff = new char[4];
this.response.setContentLength(buff.length);
@@ -597,7 +599,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void contentLengthPrintWriterWriteStringIntIntCommits() throws Exception {
+ void contentLengthPrintWriterWriteStringIntIntCommits() throws Exception {
String s = "";
int off = 2;
int len = 3;
@@ -609,7 +611,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void contentLengthPrintWriterWriteStringCommits() throws IOException {
+ void contentLengthPrintWriterWriteStringCommits() throws IOException {
String body = "something";
this.response.setContentLength(body.length());
@@ -619,7 +621,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void printWriterWriteStringContentLengthCommits() throws IOException {
+ void printWriterWriteStringContentLengthCommits() throws IOException {
String body = "something";
this.response.getWriter().write(body);
@@ -629,7 +631,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void printWriterWriteStringDoesNotCommit() throws IOException {
+ void printWriterWriteStringDoesNotCommit() throws IOException {
String body = "something";
this.response.getWriter().write(body);
@@ -638,7 +640,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void contentLengthPrintWriterPrintBooleanCommits() throws Exception {
+ void contentLengthPrintWriterPrintBooleanCommits() throws Exception {
boolean b = true;
this.response.setContentLength(1);
@@ -648,7 +650,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void contentLengthPrintWriterPrintCharCommits() throws Exception {
+ void contentLengthPrintWriterPrintCharCommits() throws Exception {
char c = 1;
this.response.setContentLength(1);
@@ -658,7 +660,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void contentLengthPrintWriterPrintIntCommits() throws Exception {
+ void contentLengthPrintWriterPrintIntCommits() throws Exception {
int i = 1234;
this.response.setContentLength(String.valueOf(i).length());
@@ -668,7 +670,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void contentLengthPrintWriterPrintLongCommits() throws Exception {
+ void contentLengthPrintWriterPrintLongCommits() throws Exception {
long l = 12345;
this.response.setContentLength(String.valueOf(l).length());
@@ -678,7 +680,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void contentLengthPrintWriterPrintFloatCommits() throws Exception {
+ void contentLengthPrintWriterPrintFloatCommits() throws Exception {
float f = 12345;
this.response.setContentLength(String.valueOf(f).length());
@@ -688,7 +690,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void contentLengthPrintWriterPrintDoubleCommits() throws Exception {
+ void contentLengthPrintWriterPrintDoubleCommits() throws Exception {
double x = 1.2345;
this.response.setContentLength(String.valueOf(x).length());
@@ -698,7 +700,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void contentLengthPrintWriterPrintCharArrayCommits() throws Exception {
+ void contentLengthPrintWriterPrintCharArrayCommits() throws Exception {
char[] x = new char[10];
this.response.setContentLength(x.length);
@@ -708,7 +710,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void contentLengthPrintWriterPrintStringCommits() throws Exception {
+ void contentLengthPrintWriterPrintStringCommits() throws Exception {
String x = "12345";
this.response.setContentLength(x.length());
@@ -718,7 +720,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void contentLengthPrintWriterPrintObjectCommits() throws Exception {
+ void contentLengthPrintWriterPrintObjectCommits() throws Exception {
Object x = "12345";
this.response.setContentLength(String.valueOf(x).length());
@@ -728,7 +730,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void contentLengthPrintWriterPrintlnCommits() throws Exception {
+ void contentLengthPrintWriterPrintlnCommits() throws Exception {
this.response.setContentLength(NL.length());
this.response.getWriter().println();
@@ -737,7 +739,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void contentLengthPrintWriterPrintlnBooleanCommits() throws Exception {
+ void contentLengthPrintWriterPrintlnBooleanCommits() throws Exception {
boolean b = true;
this.response.setContentLength(1);
@@ -747,7 +749,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void contentLengthPrintWriterPrintlnCharCommits() throws Exception {
+ void contentLengthPrintWriterPrintlnCharCommits() throws Exception {
char c = 1;
this.response.setContentLength(1);
@@ -757,7 +759,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void contentLengthPrintWriterPrintlnIntCommits() throws Exception {
+ void contentLengthPrintWriterPrintlnIntCommits() throws Exception {
int i = 12345;
this.response.setContentLength(String.valueOf(i).length());
@@ -767,7 +769,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void contentLengthPrintWriterPrintlnLongCommits() throws Exception {
+ void contentLengthPrintWriterPrintlnLongCommits() throws Exception {
long l = 12345678;
this.response.setContentLength(String.valueOf(l).length());
@@ -777,7 +779,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void contentLengthPrintWriterPrintlnFloatCommits() throws Exception {
+ void contentLengthPrintWriterPrintlnFloatCommits() throws Exception {
float f = 1234;
this.response.setContentLength(String.valueOf(f).length());
@@ -787,7 +789,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void contentLengthPrintWriterPrintlnDoubleCommits() throws Exception {
+ void contentLengthPrintWriterPrintlnDoubleCommits() throws Exception {
double x = 1;
this.response.setContentLength(String.valueOf(x).length());
@@ -797,7 +799,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void contentLengthPrintWriterPrintlnCharArrayCommits() throws Exception {
+ void contentLengthPrintWriterPrintlnCharArrayCommits() throws Exception {
char[] x = new char[20];
this.response.setContentLength(x.length);
@@ -807,7 +809,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void contentLengthPrintWriterPrintlnStringCommits() throws Exception {
+ void contentLengthPrintWriterPrintlnStringCommits() throws Exception {
String x = "1";
this.response.setContentLength(String.valueOf(x).length());
@@ -817,7 +819,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void contentLengthPrintWriterPrintlnObjectCommits() throws Exception {
+ void contentLengthPrintWriterPrintlnObjectCommits() throws Exception {
Object x = "1";
this.response.setContentLength(String.valueOf(x).length());
@@ -827,7 +829,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void contentLengthPrintWriterAppendCharSequenceCommits() throws Exception {
+ void contentLengthPrintWriterAppendCharSequenceCommits() throws Exception {
String x = "a";
this.response.setContentLength(String.valueOf(x).length());
@@ -837,8 +839,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void contentLengthPrintWriterAppendCharSequenceIntIntCommits()
- throws Exception {
+ void contentLengthPrintWriterAppendCharSequenceIntIntCommits() throws Exception {
String x = "abcdef";
int start = 1;
int end = 3;
@@ -850,7 +851,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void contentLengthPrintWriterAppendCharCommits() throws Exception {
+ void contentLengthPrintWriterAppendCharCommits() throws Exception {
char x = 1;
this.response.setContentLength(1);
@@ -860,7 +861,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void contentLengthOutputStreamWriteIntCommits() throws Exception {
+ void contentLengthOutputStreamWriteIntCommits() throws Exception {
int expected = 1;
this.response.setContentLength(String.valueOf(expected).length());
@@ -870,7 +871,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void contentLengthOutputStreamWriteIntMultiDigitCommits() throws Exception {
+ void contentLengthOutputStreamWriteIntMultiDigitCommits() throws Exception {
int expected = 10000;
this.response.setContentLength(String.valueOf(expected).length());
@@ -880,8 +881,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void contentLengthPlus1OutputStreamWriteIntMultiDigitCommits()
- throws Exception {
+ void contentLengthPlus1OutputStreamWriteIntMultiDigitCommits() throws Exception {
int expected = 10000;
this.response.setContentLength(String.valueOf(expected).length() + 1);
@@ -896,11 +896,10 @@ public class OnCommittedResponseWrapperTests {
// gh-171
@Test
- public void contentLengthPlus1OutputStreamWriteByteArrayMultiDigitCommits()
- throws Exception {
+ void contentLengthPlus1OutputStreamWriteByteArrayMultiDigitCommits() throws Exception {
String expected = "{\n" + " \"parameterName\" : \"_csrf\",\n"
- + " \"token\" : \"06300b65-c4aa-4c8f-8cda-39ee17f545a0\",\n"
- + " \"headerName\" : \"X-CSRF-TOKEN\"\n" + "}";
+ + " \"token\" : \"06300b65-c4aa-4c8f-8cda-39ee17f545a0\",\n" + " \"headerName\" : \"X-CSRF-TOKEN\"\n"
+ + "}";
this.response.setContentLength(expected.length() + 1);
this.response.getOutputStream().write(expected.getBytes());
@@ -913,7 +912,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void contentLengthOutputStreamPrintBooleanCommits() throws Exception {
+ void contentLengthOutputStreamPrintBooleanCommits() throws Exception {
boolean b = true;
this.response.setContentLength(1);
@@ -923,7 +922,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void contentLengthOutputStreamPrintCharCommits() throws Exception {
+ void contentLengthOutputStreamPrintCharCommits() throws Exception {
char c = 1;
this.response.setContentLength(1);
@@ -933,7 +932,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void contentLengthOutputStreamPrintIntCommits() throws Exception {
+ void contentLengthOutputStreamPrintIntCommits() throws Exception {
int i = 1234;
this.response.setContentLength(String.valueOf(i).length());
@@ -943,7 +942,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void contentLengthOutputStreamPrintLongCommits() throws Exception {
+ void contentLengthOutputStreamPrintLongCommits() throws Exception {
long l = 12345;
this.response.setContentLength(String.valueOf(l).length());
@@ -953,7 +952,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void contentLengthOutputStreamPrintFloatCommits() throws Exception {
+ void contentLengthOutputStreamPrintFloatCommits() throws Exception {
float f = 12345;
this.response.setContentLength(String.valueOf(f).length());
@@ -963,7 +962,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void contentLengthOutputStreamPrintDoubleCommits() throws Exception {
+ void contentLengthOutputStreamPrintDoubleCommits() throws Exception {
double x = 1.2345;
this.response.setContentLength(String.valueOf(x).length());
@@ -973,7 +972,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void contentLengthOutputStreamPrintStringCommits() throws Exception {
+ void contentLengthOutputStreamPrintStringCommits() throws Exception {
String x = "12345";
this.response.setContentLength(x.length());
@@ -983,7 +982,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void contentLengthOutputStreamPrintlnCommits() throws Exception {
+ void contentLengthOutputStreamPrintlnCommits() throws Exception {
this.response.setContentLength(NL.length());
this.response.getOutputStream().println();
@@ -992,7 +991,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void contentLengthOutputStreamPrintlnBooleanCommits() throws Exception {
+ void contentLengthOutputStreamPrintlnBooleanCommits() throws Exception {
boolean b = true;
this.response.setContentLength(1);
@@ -1002,7 +1001,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void contentLengthOutputStreamPrintlnCharCommits() throws Exception {
+ void contentLengthOutputStreamPrintlnCharCommits() throws Exception {
char c = 1;
this.response.setContentLength(1);
@@ -1012,7 +1011,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void contentLengthOutputStreamPrintlnIntCommits() throws Exception {
+ void contentLengthOutputStreamPrintlnIntCommits() throws Exception {
int i = 12345;
this.response.setContentLength(String.valueOf(i).length());
@@ -1022,7 +1021,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void contentLengthOutputStreamPrintlnLongCommits() throws Exception {
+ void contentLengthOutputStreamPrintlnLongCommits() throws Exception {
long l = 12345678;
this.response.setContentLength(String.valueOf(l).length());
@@ -1032,7 +1031,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void contentLengthOutputStreamPrintlnFloatCommits() throws Exception {
+ void contentLengthOutputStreamPrintlnFloatCommits() throws Exception {
float f = 1234;
this.response.setContentLength(String.valueOf(f).length());
@@ -1042,7 +1041,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void contentLengthOutputStreamPrintlnDoubleCommits() throws Exception {
+ void contentLengthOutputStreamPrintlnDoubleCommits() throws Exception {
double x = 1;
this.response.setContentLength(String.valueOf(x).length());
@@ -1052,7 +1051,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void contentLengthOutputStreamPrintlnStringCommits() throws Exception {
+ void contentLengthOutputStreamPrintlnStringCommits() throws Exception {
String x = "1";
this.response.setContentLength(String.valueOf(x).length());
@@ -1062,7 +1061,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void contentLengthDoesNotCommit() throws IOException {
+ void contentLengthDoesNotCommit() throws IOException {
String body = "something";
this.response.setContentLength(body.length());
@@ -1071,7 +1070,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void contentLengthOutputStreamWriteStringCommits() throws IOException {
+ void contentLengthOutputStreamWriteStringCommits() throws IOException {
String body = "something";
this.response.setContentLength(body.length());
@@ -1081,10 +1080,9 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void addHeaderContentLengthPrintWriterWriteStringCommits() throws Exception {
+ void addHeaderContentLengthPrintWriterWriteStringCommits() throws Exception {
int expected = 1234;
- this.response.addHeader("Content-Length",
- String.valueOf(String.valueOf(expected).length()));
+ this.response.addHeader("Content-Length", String.valueOf(String.valueOf(expected).length()));
this.response.getWriter().write(expected);
@@ -1092,7 +1090,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void bufferSizePrintWriterWriteCommits() throws Exception {
+ void bufferSizePrintWriterWriteCommits() throws Exception {
String expected = "1234567890";
given(this.response.getBufferSize()).willReturn(expected.length());
@@ -1102,7 +1100,7 @@ public class OnCommittedResponseWrapperTests {
}
@Test
- public void bufferSizeCommitsOnce() throws Exception {
+ void bufferSizeCommitsOnce() throws Exception {
String expected = "1234567890";
given(this.response.getBufferSize()).willReturn(expected.length());
@@ -1116,4 +1114,5 @@ public class OnCommittedResponseWrapperTests {
assertThat(this.committed).isFalse();
}
+
}
diff --git a/spring-session-core/src/test/java/org/springframework/session/web/http/OncePerRequestFilterTests.java b/spring-session-core/src/test/java/org/springframework/session/web/http/OncePerRequestFilterTests.java
index 791cd10d..c486eea2 100644
--- a/spring-session-core/src/test/java/org/springframework/session/web/http/OncePerRequestFilterTests.java
+++ b/spring-session-core/src/test/java/org/springframework/session/web/http/OncePerRequestFilterTests.java
@@ -35,18 +35,23 @@ import org.springframework.mock.web.MockHttpServletResponse;
import static org.assertj.core.api.Assertions.assertThat;
-public class OncePerRequestFilterTests {
+class OncePerRequestFilterTests {
+
private MockHttpServletRequest request;
+
private MockHttpServletResponse response;
+
private MockFilterChain chain;
+
private OncePerRequestFilter filter;
+
private HttpServlet servlet;
private List invocations;
@BeforeEach
@SuppressWarnings("serial")
- public void setup() {
+ void setup() {
this.servlet = new HttpServlet() {
};
this.request = new MockHttpServletRequest();
@@ -55,9 +60,8 @@ public class OncePerRequestFilterTests {
this.invocations = new ArrayList<>();
this.filter = new OncePerRequestFilter() {
@Override
- protected void doFilterInternal(HttpServletRequest request,
- HttpServletResponse response, FilterChain filterChain)
- throws ServletException, IOException {
+ protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response,
+ FilterChain filterChain) throws ServletException, IOException {
OncePerRequestFilterTests.this.invocations.add(this);
filterChain.doFilter(request, response);
}
@@ -65,34 +69,32 @@ public class OncePerRequestFilterTests {
}
@Test
- public void doFilterOnce() throws ServletException, IOException {
+ void doFilterOnce() throws ServletException, IOException {
this.filter.doFilter(this.request, this.response, this.chain);
assertThat(this.invocations).containsOnly(this.filter);
}
@Test
- public void doFilterMultiOnlyIvokesOnce() throws ServletException, IOException {
- this.filter.doFilter(this.request, this.response,
- new MockFilterChain(this.servlet, this.filter));
+ void doFilterMultiOnlyIvokesOnce() throws ServletException, IOException {
+ this.filter.doFilter(this.request, this.response, new MockFilterChain(this.servlet, this.filter));
assertThat(this.invocations).containsOnly(this.filter);
}
@Test
- public void doFilterOtherSubclassInvoked() throws ServletException, IOException {
+ void doFilterOtherSubclassInvoked() throws ServletException, IOException {
OncePerRequestFilter filter2 = new OncePerRequestFilter() {
@Override
- protected void doFilterInternal(HttpServletRequest request,
- HttpServletResponse response, FilterChain filterChain)
- throws ServletException, IOException {
+ protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response,
+ FilterChain filterChain) throws ServletException, IOException {
OncePerRequestFilterTests.this.invocations.add(this);
filterChain.doFilter(request, response);
}
};
- this.filter.doFilter(this.request, this.response,
- new MockFilterChain(this.servlet, filter2));
+ this.filter.doFilter(this.request, this.response, new MockFilterChain(this.servlet, filter2));
assertThat(this.invocations).containsOnly(this.filter, filter2);
}
+
}
diff --git a/spring-session-core/src/test/java/org/springframework/session/web/http/SessionEventHttpSessionListenerAdapterTests.java b/spring-session-core/src/test/java/org/springframework/session/web/http/SessionEventHttpSessionListenerAdapterTests.java
index 39b648c3..7a2be0ca 100644
--- a/spring-session-core/src/test/java/org/springframework/session/web/http/SessionEventHttpSessionListenerAdapterTests.java
+++ b/spring-session-core/src/test/java/org/springframework/session/web/http/SessionEventHttpSessionListenerAdapterTests.java
@@ -47,7 +47,7 @@ import static org.mockito.Mockito.verifyZeroInteractions;
* @author Rob Winch
* @since 1.1
*/
-public class SessionEventHttpSessionListenerAdapterTests {
+class SessionEventHttpSessionListenerAdapterTests {
@Mock
private HttpSessionListener listener1;
@@ -68,10 +68,9 @@ public class SessionEventHttpSessionListenerAdapterTests {
private SessionEventHttpSessionListenerAdapter listener;
@BeforeEach
- public void setup() {
+ void setup() {
MockitoAnnotations.initMocks(this);
- this.listener = new SessionEventHttpSessionListenerAdapter(
- Arrays.asList(this.listener1, this.listener2));
+ this.listener = new SessionEventHttpSessionListenerAdapter(Arrays.asList(this.listener1, this.listener2));
this.listener.setServletContext(new MockServletContext());
Session session = new MapSession();
@@ -83,7 +82,7 @@ public class SessionEventHttpSessionListenerAdapterTests {
// make configuration easier (i.e. autowire all HttpSessionListeners and might get
// none)
@Test
- public void constructorEmptyWorks() {
+ void constructorEmptyWorks() {
new SessionEventHttpSessionListenerAdapter(Collections.emptyList());
}
@@ -92,9 +91,8 @@ public class SessionEventHttpSessionListenerAdapterTests {
* listeners
*/
@Test
- public void onApplicationEventEmptyListenersDoesNotUseEvent() {
- this.listener = new SessionEventHttpSessionListenerAdapter(
- Collections.emptyList());
+ void onApplicationEventEmptyListenersDoesNotUseEvent() {
+ this.listener = new SessionEventHttpSessionListenerAdapter(Collections.emptyList());
this.destroyed = mock(SessionDestroyedEvent.class);
this.listener.onApplicationEvent(this.destroyed);
@@ -103,25 +101,23 @@ public class SessionEventHttpSessionListenerAdapterTests {
}
@Test
- public void onApplicationEventDestroyed() {
+ void onApplicationEventDestroyed() {
this.listener.onApplicationEvent(this.destroyed);
verify(this.listener1).sessionDestroyed(this.sessionEvent.capture());
verify(this.listener2).sessionDestroyed(this.sessionEvent.capture());
- assertThat(this.sessionEvent.getValue().getSession().getId())
- .isEqualTo(this.destroyed.getSessionId());
+ assertThat(this.sessionEvent.getValue().getSession().getId()).isEqualTo(this.destroyed.getSessionId());
}
@Test
- public void onApplicationEventCreated() {
+ void onApplicationEventCreated() {
this.listener.onApplicationEvent(this.created);
verify(this.listener1).sessionCreated(this.sessionEvent.capture());
verify(this.listener2).sessionCreated(this.sessionEvent.capture());
- assertThat(this.sessionEvent.getValue().getSession().getId())
- .isEqualTo(this.created.getSessionId());
+ assertThat(this.sessionEvent.getValue().getSession().getId()).isEqualTo(this.created.getSessionId());
}
}
diff --git a/spring-session-core/src/test/java/org/springframework/session/web/http/SessionRepositoryFilterTests.java b/spring-session-core/src/test/java/org/springframework/session/web/http/SessionRepositoryFilterTests.java
index f891f886..7237bf26 100644
--- a/spring-session-core/src/test/java/org/springframework/session/web/http/SessionRepositoryFilterTests.java
+++ b/spring-session-core/src/test/java/org/springframework/session/web/http/SessionRepositoryFilterTests.java
@@ -78,7 +78,7 @@ import static org.mockito.Mockito.verifyZeroInteractions;
* Tests for {@link SessionRepositoryFilter}.
*/
@SuppressWarnings("deprecation")
-public class SessionRepositoryFilterTests {
+class SessionRepositoryFilterTests {
@Mock
private HttpSessionIdResolver strategy;
@@ -96,7 +96,7 @@ public class SessionRepositoryFilterTests {
private MockFilterChain chain;
@BeforeEach
- public void setup() throws Exception {
+ void setup() throws Exception {
MockitoAnnotations.initMocks(this);
this.sessions = new HashMap<>();
this.sessionRepository = new MapSessionRepository(this.sessions);
@@ -105,7 +105,7 @@ public class SessionRepositoryFilterTests {
}
@Test
- public void doFilterCreateDate() throws Exception {
+ void doFilterCreateDate() throws Exception {
final String CREATE_ATTR = "create";
doFilter(new DoInFilter() {
@Override
@@ -113,8 +113,7 @@ public class SessionRepositoryFilterTests {
long creationTime = wrappedRequest.getSession().getCreationTime();
long now = System.currentTimeMillis();
assertThat(now - creationTime).isGreaterThanOrEqualTo(0).isLessThan(5000);
- SessionRepositoryFilterTests.this.request.setAttribute(CREATE_ATTR,
- creationTime);
+ SessionRepositoryFilterTests.this.request.setAttribute(CREATE_ATTR, creationTime);
}
});
@@ -133,7 +132,7 @@ public class SessionRepositoryFilterTests {
}
@Test
- public void doFilterCreateSetsLastAccessedTime() throws Exception {
+ void doFilterCreateSetsLastAccessedTime() throws Exception {
MapSession session = new MapSession();
session.setLastAccessedTime(Instant.EPOCH);
this.sessionRepository = spy(this.sessionRepository);
@@ -147,23 +146,20 @@ public class SessionRepositoryFilterTests {
long now = System.currentTimeMillis();
long fiveSecondsAgo = now - TimeUnit.SECONDS.toMillis(5);
assertThat(session.getLastAccessedTime()).isLessThanOrEqualTo(now);
- assertThat(session.getLastAccessedTime())
- .isGreaterThanOrEqualTo(fiveSecondsAgo);
+ assertThat(session.getLastAccessedTime()).isGreaterThanOrEqualTo(fiveSecondsAgo);
}
});
}
@Test
- public void doFilterLastAccessedTime() throws Exception {
+ void doFilterLastAccessedTime() throws Exception {
final String ACCESS_ATTR = "create";
doFilter(new DoInFilter() {
@Override
public void doFilter(HttpServletRequest wrappedRequest) {
long lastAccessed = wrappedRequest.getSession().getLastAccessedTime();
- assertThat(lastAccessed).isCloseTo(
- wrappedRequest.getSession().getCreationTime(), Offset.offset(5L));
- SessionRepositoryFilterTests.this.request.setAttribute(ACCESS_ATTR,
- lastAccessed);
+ assertThat(lastAccessed).isCloseTo(wrappedRequest.getSession().getCreationTime(), Offset.offset(5L));
+ SessionRepositoryFilterTests.this.request.setAttribute(ACCESS_ATTR, lastAccessed);
}
});
@@ -175,14 +171,13 @@ public class SessionRepositoryFilterTests {
public void doFilter(HttpServletRequest wrappedRequest) {
long lastAccessed = wrappedRequest.getSession().getLastAccessedTime();
- assertThat(lastAccessed)
- .isGreaterThan(wrappedRequest.getSession().getCreationTime());
+ assertThat(lastAccessed).isGreaterThan(wrappedRequest.getSession().getCreationTime());
}
});
}
@Test
- public void doFilterId() throws Exception {
+ void doFilterId() throws Exception {
final String ID_ATTR = "create";
doFilter(new DoInFilter() {
@Override
@@ -207,7 +202,7 @@ public class SessionRepositoryFilterTests {
}
@Test
- public void doFilterIdChanges() throws Exception {
+ void doFilterIdChanges() throws Exception {
final String ID_ATTR = "create";
doFilter(new DoInFilter() {
@Override
@@ -229,7 +224,7 @@ public class SessionRepositoryFilterTests {
}
@Test
- public void doFilterServletContext() throws Exception {
+ void doFilterServletContext() throws Exception {
doFilter(new DoInFilter() {
@Override
public void doFilter(HttpServletRequest wrappedRequest) {
@@ -240,7 +235,7 @@ public class SessionRepositoryFilterTests {
}
@Test
- public void doFilterMaxInactiveIntervalDefault() throws Exception {
+ void doFilterMaxInactiveIntervalDefault() throws Exception {
doFilter(new DoInFilter() {
@Override
public void doFilter(HttpServletRequest wrappedRequest) {
@@ -253,14 +248,13 @@ public class SessionRepositoryFilterTests {
}
@Test
- public void doFilterMaxInactiveIntervalOverride() throws Exception {
+ void doFilterMaxInactiveIntervalOverride() throws Exception {
final int interval = 600;
doFilter(new DoInFilter() {
@Override
public void doFilter(HttpServletRequest wrappedRequest) {
wrappedRequest.getSession().setMaxInactiveInterval(interval);
- assertThat(wrappedRequest.getSession().getMaxInactiveInterval())
- .isEqualTo(interval);
+ assertThat(wrappedRequest.getSession().getMaxInactiveInterval()).isEqualTo(interval);
}
});
@@ -269,25 +263,21 @@ public class SessionRepositoryFilterTests {
doFilter(new DoInFilter() {
@Override
public void doFilter(HttpServletRequest wrappedRequest) {
- assertThat(wrappedRequest.getSession().getMaxInactiveInterval())
- .isEqualTo(interval);
+ assertThat(wrappedRequest.getSession().getMaxInactiveInterval()).isEqualTo(interval);
}
});
}
@Test
- public void doFilterAttribute() throws Exception {
+ void doFilterAttribute() throws Exception {
final String ATTR = "ATTR";
final String VALUE = "VALUE";
doFilter(new DoInFilter() {
@Override
public void doFilter(HttpServletRequest wrappedRequest) {
wrappedRequest.getSession().setAttribute(ATTR, VALUE);
- assertThat(wrappedRequest.getSession().getAttribute(ATTR))
- .isEqualTo(VALUE);
- assertThat(
- Collections.list(wrappedRequest.getSession().getAttributeNames()))
- .containsOnly(ATTR);
+ assertThat(wrappedRequest.getSession().getAttribute(ATTR)).isEqualTo(VALUE);
+ assertThat(Collections.list(wrappedRequest.getSession().getAttributeNames())).containsOnly(ATTR);
}
});
@@ -296,11 +286,8 @@ public class SessionRepositoryFilterTests {
doFilter(new DoInFilter() {
@Override
public void doFilter(HttpServletRequest wrappedRequest) {
- assertThat(wrappedRequest.getSession().getAttribute(ATTR))
- .isEqualTo(VALUE);
- assertThat(
- Collections.list(wrappedRequest.getSession().getAttributeNames()))
- .containsOnly(ATTR);
+ assertThat(wrappedRequest.getSession().getAttribute(ATTR)).isEqualTo(VALUE);
+ assertThat(Collections.list(wrappedRequest.getSession().getAttributeNames())).containsOnly(ATTR);
}
});
@@ -309,8 +296,7 @@ public class SessionRepositoryFilterTests {
doFilter(new DoInFilter() {
@Override
public void doFilter(HttpServletRequest wrappedRequest) {
- assertThat(wrappedRequest.getSession().getAttribute(ATTR))
- .isEqualTo(VALUE);
+ assertThat(wrappedRequest.getSession().getAttribute(ATTR)).isEqualTo(VALUE);
wrappedRequest.getSession().removeAttribute(ATTR);
@@ -329,7 +315,7 @@ public class SessionRepositoryFilterTests {
}
@Test
- public void doFilterValue() throws Exception {
+ void doFilterValue() throws Exception {
final String ATTR = "ATTR";
final String VALUE = "VALUE";
doFilter(new DoInFilter() {
@@ -337,8 +323,7 @@ public class SessionRepositoryFilterTests {
public void doFilter(HttpServletRequest wrappedRequest) {
wrappedRequest.getSession().putValue(ATTR, VALUE);
assertThat(wrappedRequest.getSession().getValue(ATTR)).isEqualTo(VALUE);
- assertThat(Arrays.asList(wrappedRequest.getSession().getValueNames()))
- .containsOnly(ATTR);
+ assertThat(Arrays.asList(wrappedRequest.getSession().getValueNames())).containsOnly(ATTR);
}
});
@@ -348,8 +333,7 @@ public class SessionRepositoryFilterTests {
@Override
public void doFilter(HttpServletRequest wrappedRequest) {
assertThat(wrappedRequest.getSession().getValue(ATTR)).isEqualTo(VALUE);
- assertThat(Arrays.asList(wrappedRequest.getSession().getValueNames()))
- .containsOnly(ATTR);
+ assertThat(Arrays.asList(wrappedRequest.getSession().getValueNames())).containsOnly(ATTR);
}
});
@@ -377,7 +361,7 @@ public class SessionRepositoryFilterTests {
}
@Test
- public void doFilterIsNewTrue() throws Exception {
+ void doFilterIsNewTrue() throws Exception {
doFilter(new DoInFilter() {
@Override
public void doFilter(HttpServletRequest wrappedRequest) {
@@ -388,7 +372,7 @@ public class SessionRepositoryFilterTests {
}
@Test
- public void doFilterIsNewFalse() throws Exception {
+ void doFilterIsNewFalse() throws Exception {
doFilter(new DoInFilter() {
@Override
public void doFilter(HttpServletRequest wrappedRequest) {
@@ -410,7 +394,7 @@ public class SessionRepositoryFilterTests {
}
@Test
- public void doFilterSetsCookieIfChanged() throws Exception {
+ void doFilterSetsCookieIfChanged() throws Exception {
this.sessionRepository = new MapSessionRepository(new ConcurrentHashMap<>()) {
@Override
public MapSession findById(String id) {
@@ -440,7 +424,7 @@ public class SessionRepositoryFilterTests {
}
@Test
- public void doFilterGetSessionNew() throws Exception {
+ void doFilterGetSessionNew() throws Exception {
doFilter(new DoInFilter() {
@Override
public void doFilter(HttpServletRequest wrappedRequest) {
@@ -452,7 +436,7 @@ public class SessionRepositoryFilterTests {
}
@Test
- public void doFilterGetSessionTrueNew() throws Exception {
+ void doFilterGetSessionTrueNew() throws Exception {
doFilter(new DoInFilter() {
@Override
public void doFilter(HttpServletRequest wrappedRequest) {
@@ -464,7 +448,7 @@ public class SessionRepositoryFilterTests {
}
@Test
- public void doFilterGetSessionFalseNew() throws Exception {
+ void doFilterGetSessionFalseNew() throws Exception {
doFilter(new DoInFilter() {
@Override
public void doFilter(HttpServletRequest wrappedRequest) {
@@ -476,7 +460,7 @@ public class SessionRepositoryFilterTests {
}
@Test
- public void doFilterIsRequestedValidSessionTrue() throws Exception {
+ void doFilterIsRequestedValidSessionTrue() throws Exception {
doFilter(new DoInFilter() {
@Override
public void doFilter(HttpServletRequest wrappedRequest) {
@@ -497,7 +481,7 @@ public class SessionRepositoryFilterTests {
// gh-152
@Test
- public void doFilterChangeSessionId() throws Exception {
+ void doFilterChangeSessionId() throws Exception {
final String ATTR = "ATTRIBUTE";
final String VALUE = "VALUE";
@@ -518,8 +502,7 @@ public class SessionRepositoryFilterTests {
HttpSession originalSession = wrappedRequest.getSession();
assertThat(originalSession.getId()).isEqualTo(originalSessionId);
- String changeSessionId = ReflectionTestUtils.invokeMethod(wrappedRequest,
- "changeSessionId");
+ String changeSessionId = ReflectionTestUtils.invokeMethod(wrappedRequest, "changeSessionId");
assertThat(changeSessionId).isNotEqualTo(originalSessionId);
// gh-227
assertThat(originalSession.getId()).isEqualTo(changeSessionId);
@@ -537,14 +520,13 @@ public class SessionRepositoryFilterTests {
doFilter(new DoInFilter() {
@Override
public void doFilter(HttpServletRequest wrappedRequest) {
- assertThat(wrappedRequest.getSession().getAttribute(ATTR))
- .isEqualTo(VALUE);
+ assertThat(wrappedRequest.getSession().getAttribute(ATTR)).isEqualTo(VALUE);
}
});
}
@Test
- public void doFilterChangeSessionIdNoSession() throws Exception {
+ void doFilterChangeSessionIdNoSession() throws Exception {
// change the session id
doFilter(new DoInFilter() {
@Override
@@ -561,7 +543,7 @@ public class SessionRepositoryFilterTests {
// gh-142, gh-153
@Test
- public void doFilterIsRequestedValidSessionFalseInvalidId() throws Exception {
+ void doFilterIsRequestedValidSessionFalseInvalidId() throws Exception {
setSessionCookie("invalid");
this.request.setRequestedSessionIdValid(true);
@@ -574,7 +556,7 @@ public class SessionRepositoryFilterTests {
}
@Test
- public void doFilterIsRequestedValidSessionFalse() throws Exception {
+ void doFilterIsRequestedValidSessionFalse() throws Exception {
this.request.setRequestedSessionIdValid(true);
doFilter(new DoInFilter() {
@@ -586,7 +568,7 @@ public class SessionRepositoryFilterTests {
}
@Test
- public void doFilterGetSessionGetSessionFalse() throws Exception {
+ void doFilterGetSessionGetSessionFalse() throws Exception {
doFilter(new DoInFilter() {
@Override
public void doFilter(HttpServletRequest wrappedRequest) {
@@ -606,7 +588,7 @@ public class SessionRepositoryFilterTests {
// gh-229
@Test
- public void doFilterGetSessionGetSessionOnError() throws Exception {
+ void doFilterGetSessionGetSessionOnError() throws Exception {
doFilter(new DoInFilter() {
@Override
public void doFilter(HttpServletRequest wrappedRequest) {
@@ -627,7 +609,7 @@ public class SessionRepositoryFilterTests {
}
@Test
- public void doFilterCookieSecuritySettings() throws Exception {
+ void doFilterCookieSecuritySettings() throws Exception {
this.request.setSecure(true);
doFilter(new DoInFilter() {
@Override
@@ -637,19 +619,16 @@ public class SessionRepositoryFilterTests {
});
Cookie session = getSessionCookie();
- assertThat(session.isHttpOnly()).describedAs("Session Cookie should be HttpOnly")
- .isTrue();
- assertThat(session.getSecure())
- .describedAs("Session Cookie should be marked as Secure").isTrue();
+ assertThat(session.isHttpOnly()).describedAs("Session Cookie should be HttpOnly").isTrue();
+ assertThat(session.getSecure()).describedAs("Session Cookie should be marked as Secure").isTrue();
}
@Test
- public void doFilterSessionContext() throws Exception {
+ void doFilterSessionContext() throws Exception {
doFilter(new DoInFilter() {
@Override
public void doFilter(HttpServletRequest wrappedRequest) {
- HttpSessionContext sessionContext = wrappedRequest.getSession()
- .getSessionContext();
+ HttpSessionContext sessionContext = wrappedRequest.getSession().getSessionContext();
assertThat(sessionContext).isNotNull();
assertThat(sessionContext.getSession("a")).isNull();
assertThat(sessionContext.getIds()).isNotNull();
@@ -668,7 +647,7 @@ public class SessionRepositoryFilterTests {
// --- saving
@Test
- public void doFilterGetAttr() throws Exception {
+ void doFilterGetAttr() throws Exception {
final String ATTR_NAME = "attr";
final String ATTR_VALUE = "value";
final String ATTR_NAME2 = "attr2";
@@ -689,10 +668,8 @@ public class SessionRepositoryFilterTests {
doFilter(new DoInFilter() {
@Override
public void doFilter(HttpServletRequest wrappedRequest) {
- assertThat(wrappedRequest.getSession().getAttribute(ATTR_NAME))
- .isEqualTo(ATTR_VALUE);
- assertThat(wrappedRequest.getSession().getAttribute(ATTR_NAME2))
- .isEqualTo(ATTR_VALUE2);
+ assertThat(wrappedRequest.getSession().getAttribute(ATTR_NAME)).isEqualTo(ATTR_VALUE);
+ assertThat(wrappedRequest.getSession().getAttribute(ATTR_NAME2)).isEqualTo(ATTR_VALUE2);
}
});
}
@@ -700,7 +677,7 @@ public class SessionRepositoryFilterTests {
// --- invalidate
@Test
- public void doFilterInvalidateInvalidateIllegalState() throws Exception {
+ void doFilterInvalidateInvalidateIllegalState() throws Exception {
doFilter(new DoInFilter() {
@Override
public void doFilter(HttpServletRequest wrappedRequest) {
@@ -717,7 +694,7 @@ public class SessionRepositoryFilterTests {
}
@Test
- public void doFilterInvalidateCreationTimeIllegalState() throws Exception {
+ void doFilterInvalidateCreationTimeIllegalState() throws Exception {
doFilter(new DoInFilter() {
@Override
public void doFilter(HttpServletRequest wrappedRequest) {
@@ -734,7 +711,7 @@ public class SessionRepositoryFilterTests {
}
@Test
- public void doFilterInvalidateAttributeIllegalState() throws Exception {
+ void doFilterInvalidateAttributeIllegalState() throws Exception {
doFilter(new DoInFilter() {
@Override
public void doFilter(HttpServletRequest wrappedRequest) {
@@ -751,7 +728,7 @@ public class SessionRepositoryFilterTests {
}
@Test
- public void doFilterInvalidateValueIllegalState() throws Exception {
+ void doFilterInvalidateValueIllegalState() throws Exception {
doFilter(new DoInFilter() {
@Override
public void doFilter(HttpServletRequest wrappedRequest) {
@@ -768,7 +745,7 @@ public class SessionRepositoryFilterTests {
}
@Test
- public void doFilterInvalidateAttributeNamesIllegalState() throws Exception {
+ void doFilterInvalidateAttributeNamesIllegalState() throws Exception {
doFilter(new DoInFilter() {
@Override
public void doFilter(HttpServletRequest wrappedRequest) {
@@ -785,7 +762,7 @@ public class SessionRepositoryFilterTests {
}
@Test
- public void doFilterInvalidateValueNamesIllegalState() throws Exception {
+ void doFilterInvalidateValueNamesIllegalState() throws Exception {
doFilter(new DoInFilter() {
@Override
public void doFilter(HttpServletRequest wrappedRequest) {
@@ -802,7 +779,7 @@ public class SessionRepositoryFilterTests {
}
@Test
- public void doFilterInvalidateSetAttributeIllegalState() throws Exception {
+ void doFilterInvalidateSetAttributeIllegalState() throws Exception {
doFilter(new DoInFilter() {
@Override
public void doFilter(HttpServletRequest wrappedRequest) {
@@ -819,7 +796,7 @@ public class SessionRepositoryFilterTests {
}
@Test
- public void doFilterInvalidatePutValueIllegalState() throws Exception {
+ void doFilterInvalidatePutValueIllegalState() throws Exception {
doFilter(new DoInFilter() {
@Override
public void doFilter(HttpServletRequest wrappedRequest) {
@@ -836,7 +813,7 @@ public class SessionRepositoryFilterTests {
}
@Test
- public void doFilterInvalidateRemoveAttributeIllegalState() throws Exception {
+ void doFilterInvalidateRemoveAttributeIllegalState() throws Exception {
doFilter(new DoInFilter() {
@Override
public void doFilter(HttpServletRequest wrappedRequest) {
@@ -853,7 +830,7 @@ public class SessionRepositoryFilterTests {
}
@Test
- public void doFilterInvalidateRemoveValueIllegalState() throws Exception {
+ void doFilterInvalidateRemoveValueIllegalState() throws Exception {
doFilter(new DoInFilter() {
@Override
public void doFilter(HttpServletRequest wrappedRequest) {
@@ -870,7 +847,7 @@ public class SessionRepositoryFilterTests {
}
@Test
- public void doFilterInvalidateNewIllegalState() throws Exception {
+ void doFilterInvalidateNewIllegalState() throws Exception {
doFilter(new DoInFilter() {
@Override
public void doFilter(HttpServletRequest wrappedRequest) {
@@ -887,7 +864,7 @@ public class SessionRepositoryFilterTests {
}
@Test
- public void doFilterInvalidateLastAccessedTimeIllegalState() throws Exception {
+ void doFilterInvalidateLastAccessedTimeIllegalState() throws Exception {
doFilter(new DoInFilter() {
@Override
public void doFilter(HttpServletRequest wrappedRequest) {
@@ -904,7 +881,7 @@ public class SessionRepositoryFilterTests {
}
@Test
- public void doFilterInvalidateId() throws Exception {
+ void doFilterInvalidateId() throws Exception {
doFilter(new DoInFilter() {
@Override
public void doFilter(HttpServletRequest wrappedRequest) {
@@ -917,7 +894,7 @@ public class SessionRepositoryFilterTests {
}
@Test
- public void doFilterInvalidateServletContext() throws Exception {
+ void doFilterInvalidateServletContext() throws Exception {
doFilter(new DoInFilter() {
@Override
public void doFilter(HttpServletRequest wrappedRequest) {
@@ -931,7 +908,7 @@ public class SessionRepositoryFilterTests {
}
@Test
- public void doFilterInvalidateSessionContext() throws Exception {
+ void doFilterInvalidateSessionContext() throws Exception {
doFilter(new DoInFilter() {
@Override
public void doFilter(HttpServletRequest wrappedRequest) {
@@ -945,7 +922,7 @@ public class SessionRepositoryFilterTests {
}
@Test
- public void doFilterInvalidateMaxInteractiveInterval() throws Exception {
+ void doFilterInvalidateMaxInteractiveInterval() throws Exception {
doFilter(new DoInFilter() {
@Override
public void doFilter(HttpServletRequest wrappedRequest) {
@@ -960,7 +937,7 @@ public class SessionRepositoryFilterTests {
}
@Test
- public void doFilterInvalidateAndGetSession() throws Exception {
+ void doFilterInvalidateAndGetSession() throws Exception {
final String ATTR_NAME = "attr";
final String ATTR_VALUE = "value";
final String ATTR_NAME2 = "attr2";
@@ -983,8 +960,7 @@ public class SessionRepositoryFilterTests {
@Override
public void doFilter(HttpServletRequest wrappedRequest) {
assertThat(wrappedRequest.getSession().getAttribute(ATTR_NAME)).isNull();
- assertThat(wrappedRequest.getSession().getAttribute(ATTR_NAME2))
- .isEqualTo(ATTR_VALUE2);
+ assertThat(wrappedRequest.getSession().getAttribute(ATTR_NAME2)).isEqualTo(ATTR_VALUE2);
}
});
}
@@ -992,7 +968,7 @@ public class SessionRepositoryFilterTests {
// --- invalid session ids
@Test
- public void doFilterGetSessionInvalidSessionId() throws Exception {
+ void doFilterGetSessionInvalidSessionId() throws Exception {
setSessionCookie("INVALID");
doFilter(new DoInFilter() {
@Override
@@ -1005,7 +981,7 @@ public class SessionRepositoryFilterTests {
}
@Test
- public void doFilterGetSessionTrueInvalidSessionId() throws Exception {
+ void doFilterGetSessionTrueInvalidSessionId() throws Exception {
setSessionCookie("INVALID");
doFilter(new DoInFilter() {
@Override
@@ -1018,7 +994,7 @@ public class SessionRepositoryFilterTests {
}
@Test
- public void doFilterGetSessionFalseInvalidSessionId() throws Exception {
+ void doFilterGetSessionFalseInvalidSessionId() throws Exception {
setSessionCookie("INVALID");
doFilter(new DoInFilter() {
@Override
@@ -1033,139 +1009,118 @@ public class SessionRepositoryFilterTests {
// --- commit response saves immediately
@Test
- public void doFilterSendError() throws Exception {
+ void doFilterSendError() throws Exception {
doFilter(new DoInFilter() {
@Override
- public void doFilter(HttpServletRequest wrappedRequest,
- HttpServletResponse wrappedResponse) throws IOException {
+ public void doFilter(HttpServletRequest wrappedRequest, HttpServletResponse wrappedResponse)
+ throws IOException {
String id = wrappedRequest.getSession().getId();
wrappedResponse.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
- assertThat(
- SessionRepositoryFilterTests.this.sessionRepository.findById(id))
- .isNotNull();
+ assertThat(SessionRepositoryFilterTests.this.sessionRepository.findById(id)).isNotNull();
}
});
}
@Test
- public void doFilterSendErrorAndMessage() throws Exception {
+ void doFilterSendErrorAndMessage() throws Exception {
doFilter(new DoInFilter() {
@Override
- public void doFilter(HttpServletRequest wrappedRequest,
- HttpServletResponse wrappedResponse) throws IOException {
+ public void doFilter(HttpServletRequest wrappedRequest, HttpServletResponse wrappedResponse)
+ throws IOException {
String id = wrappedRequest.getSession().getId();
- wrappedResponse.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR,
- "Error");
- assertThat(
- SessionRepositoryFilterTests.this.sessionRepository.findById(id))
- .isNotNull();
+ wrappedResponse.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, "Error");
+ assertThat(SessionRepositoryFilterTests.this.sessionRepository.findById(id)).isNotNull();
}
});
}
@Test
- public void doFilterSendRedirect() throws Exception {
+ void doFilterSendRedirect() throws Exception {
doFilter(new DoInFilter() {
@Override
- public void doFilter(HttpServletRequest wrappedRequest,
- HttpServletResponse wrappedResponse) throws IOException {
+ public void doFilter(HttpServletRequest wrappedRequest, HttpServletResponse wrappedResponse)
+ throws IOException {
String id = wrappedRequest.getSession().getId();
wrappedResponse.sendRedirect("/");
- assertThat(
- SessionRepositoryFilterTests.this.sessionRepository.findById(id))
- .isNotNull();
+ assertThat(SessionRepositoryFilterTests.this.sessionRepository.findById(id)).isNotNull();
}
});
}
@Test
- public void doFilterFlushBuffer() throws Exception {
+ void doFilterFlushBuffer() throws Exception {
doFilter(new DoInFilter() {
@Override
- public void doFilter(HttpServletRequest wrappedRequest,
- HttpServletResponse wrappedResponse) throws IOException {
+ public void doFilter(HttpServletRequest wrappedRequest, HttpServletResponse wrappedResponse)
+ throws IOException {
String id = wrappedRequest.getSession().getId();
wrappedResponse.flushBuffer();
- assertThat(
- SessionRepositoryFilterTests.this.sessionRepository.findById(id))
- .isNotNull();
+ assertThat(SessionRepositoryFilterTests.this.sessionRepository.findById(id)).isNotNull();
}
});
}
@Test
- public void doFilterOutputFlush() throws Exception {
+ void doFilterOutputFlush() throws Exception {
doFilter(new DoInFilter() {
@Override
- public void doFilter(HttpServletRequest wrappedRequest,
- HttpServletResponse wrappedResponse) throws IOException {
+ public void doFilter(HttpServletRequest wrappedRequest, HttpServletResponse wrappedResponse)
+ throws IOException {
String id = wrappedRequest.getSession().getId();
wrappedResponse.getOutputStream().flush();
- assertThat(
- SessionRepositoryFilterTests.this.sessionRepository.findById(id))
- .isNotNull();
+ assertThat(SessionRepositoryFilterTests.this.sessionRepository.findById(id)).isNotNull();
}
});
}
@Test
- public void doFilterOutputClose() throws Exception {
+ void doFilterOutputClose() throws Exception {
doFilter(new DoInFilter() {
@Override
- public void doFilter(HttpServletRequest wrappedRequest,
- HttpServletResponse wrappedResponse) throws IOException {
+ public void doFilter(HttpServletRequest wrappedRequest, HttpServletResponse wrappedResponse)
+ throws IOException {
String id = wrappedRequest.getSession().getId();
wrappedResponse.getOutputStream().close();
- assertThat(
- SessionRepositoryFilterTests.this.sessionRepository.findById(id))
- .isNotNull();
+ assertThat(SessionRepositoryFilterTests.this.sessionRepository.findById(id)).isNotNull();
}
});
}
@Test
- public void doFilterWriterFlush() throws Exception {
+ void doFilterWriterFlush() throws Exception {
doFilter(new DoInFilter() {
@Override
- public void doFilter(HttpServletRequest wrappedRequest,
- HttpServletResponse wrappedResponse) throws IOException {
+ public void doFilter(HttpServletRequest wrappedRequest, HttpServletResponse wrappedResponse)
+ throws IOException {
String id = wrappedRequest.getSession().getId();
wrappedResponse.getWriter().flush();
- assertThat(
- SessionRepositoryFilterTests.this.sessionRepository.findById(id))
- .isNotNull();
+ assertThat(SessionRepositoryFilterTests.this.sessionRepository.findById(id)).isNotNull();
}
});
}
@Test
- public void doFilterWriterClose() throws Exception {
+ void doFilterWriterClose() throws Exception {
doFilter(new DoInFilter() {
@Override
- public void doFilter(HttpServletRequest wrappedRequest,
- HttpServletResponse wrappedResponse) throws IOException {
+ public void doFilter(HttpServletRequest wrappedRequest, HttpServletResponse wrappedResponse)
+ throws IOException {
String id = wrappedRequest.getSession().getId();
wrappedResponse.getWriter().close();
- assertThat(
- SessionRepositoryFilterTests.this.sessionRepository.findById(id))
- .isNotNull();
+ assertThat(SessionRepositoryFilterTests.this.sessionRepository.findById(id)).isNotNull();
}
});
}
@Test // gh-1243
- public void doFilterInclude() throws Exception {
+ void doFilterInclude() throws Exception {
doFilter(new DoInFilter() {
@Override
- public void doFilter(HttpServletRequest wrappedRequest,
- HttpServletResponse wrappedResponse)
+ public void doFilter(HttpServletRequest wrappedRequest, HttpServletResponse wrappedResponse)
throws IOException, ServletException {
String id = wrappedRequest.getSession().getId();
- wrappedRequest.getRequestDispatcher("/").include(wrappedRequest,
- wrappedResponse);
- assertThat(
- SessionRepositoryFilterTests.this.sessionRepository.findById(id))
- .isNotNull();
+ wrappedRequest.getRequestDispatcher("/").include(wrappedRequest, wrappedResponse);
+ assertThat(SessionRepositoryFilterTests.this.sessionRepository.findById(id)).isNotNull();
}
});
}
@@ -1173,9 +1128,8 @@ public class SessionRepositoryFilterTests {
// --- HttpSessionIdResolver
@Test
- public void doFilterAdapterGetRequestedSessionId() throws Exception {
- SessionRepository sessionRepository = spy(
- new MapSessionRepository(new ConcurrentHashMap<>()));
+ void doFilterAdapterGetRequestedSessionId() throws Exception {
+ SessionRepository sessionRepository = spy(new MapSessionRepository(new ConcurrentHashMap<>()));
this.filter = new SessionRepositoryFilter<>(sessionRepository);
this.filter.setHttpSessionIdResolver(this.strategy);
@@ -1183,13 +1137,12 @@ public class SessionRepositoryFilterTests {
given(this.strategy.resolveSessionIds(any(HttpServletRequest.class)))
.willReturn(Collections.singletonList(expectedId));
- given(sessionRepository.findById(anyString()))
- .willReturn(new MapSession(expectedId));
+ given(sessionRepository.findById(anyString())).willReturn(new MapSession(expectedId));
doFilter(new DoInFilter() {
@Override
- public void doFilter(HttpServletRequest wrappedRequest,
- HttpServletResponse wrappedResponse) throws IOException {
+ public void doFilter(HttpServletRequest wrappedRequest, HttpServletResponse wrappedResponse)
+ throws IOException {
String actualId = wrappedRequest.getRequestedSessionId();
assertThat(actualId).isEqualTo(expectedId);
}
@@ -1197,9 +1150,8 @@ public class SessionRepositoryFilterTests {
}
@Test // gh-1229
- public void doFilterAdapterGetRequestedSessionIdForInvalidSession() throws Exception {
- SessionRepository sessionRepository = new MapSessionRepository(
- new HashMap<>());
+ void doFilterAdapterGetRequestedSessionIdForInvalidSession() throws Exception {
+ SessionRepository sessionRepository = new MapSessionRepository(new HashMap<>());
this.filter = new SessionRepositoryFilter<>(sessionRepository);
this.filter.setHttpSessionIdResolver(this.strategy);
@@ -1211,8 +1163,7 @@ public class SessionRepositoryFilterTests {
doFilter(new DoInFilter() {
@Override
- public void doFilter(HttpServletRequest wrappedRequest,
- HttpServletResponse wrappedResponse) {
+ public void doFilter(HttpServletRequest wrappedRequest, HttpServletResponse wrappedResponse) {
assertThat(wrappedRequest.getRequestedSessionId()).isEqualTo(expectedId);
assertThat(wrappedRequest.isRequestedSessionIdValid()).isFalse();
}
@@ -1220,96 +1171,89 @@ public class SessionRepositoryFilterTests {
}
@Test
- public void doFilterAdapterOnNewSession() throws Exception {
+ void doFilterAdapterOnNewSession() throws Exception {
this.filter.setHttpSessionIdResolver(this.strategy);
doFilter(new DoInFilter() {
@Override
- public void doFilter(HttpServletRequest wrappedRequest,
- HttpServletResponse wrappedResponse) throws IOException {
+ public void doFilter(HttpServletRequest wrappedRequest, HttpServletResponse wrappedResponse)
+ throws IOException {
wrappedRequest.getSession();
}
});
HttpServletRequest request = (HttpServletRequest) this.chain.getRequest();
Session session = this.sessionRepository.findById(request.getSession().getId());
- verify(this.strategy).setSessionId(any(HttpServletRequest.class),
- any(HttpServletResponse.class), eq(session.getId()));
+ verify(this.strategy).setSessionId(any(HttpServletRequest.class), any(HttpServletResponse.class),
+ eq(session.getId()));
}
@Test
- public void doFilterAdapterOnInvalidate() throws Exception {
+ void doFilterAdapterOnInvalidate() throws Exception {
this.filter.setHttpSessionIdResolver(this.strategy);
doFilter(new DoInFilter() {
@Override
- public void doFilter(HttpServletRequest wrappedRequest,
- HttpServletResponse wrappedResponse) throws IOException {
+ public void doFilter(HttpServletRequest wrappedRequest, HttpServletResponse wrappedResponse)
+ throws IOException {
wrappedRequest.getSession().getId();
}
});
HttpServletRequest request = (HttpServletRequest) this.chain.getRequest();
String id = request.getSession().getId();
- given(this.strategy.resolveSessionIds(any(HttpServletRequest.class)))
- .willReturn(Collections.singletonList(id));
+ given(this.strategy.resolveSessionIds(any(HttpServletRequest.class))).willReturn(Collections.singletonList(id));
setupRequest();
doFilter(new DoInFilter() {
@Override
- public void doFilter(HttpServletRequest wrappedRequest,
- HttpServletResponse wrappedResponse) throws IOException {
+ public void doFilter(HttpServletRequest wrappedRequest, HttpServletResponse wrappedResponse)
+ throws IOException {
wrappedRequest.getSession().invalidate();
}
});
- verify(this.strategy).expireSession(any(HttpServletRequest.class),
- any(HttpServletResponse.class));
+ verify(this.strategy).expireSession(any(HttpServletRequest.class), any(HttpServletResponse.class));
}
// gh-188
@Test
- public void doFilterRequestSessionNoRequestSessionDoesNotInvalidate()
- throws Exception {
+ void doFilterRequestSessionNoRequestSessionDoesNotInvalidate() throws Exception {
this.filter.setHttpSessionIdResolver(this.strategy);
doFilter(new DoInFilter() {
@Override
- public void doFilter(HttpServletRequest wrappedRequest,
- HttpServletResponse wrappedResponse) throws IOException {
+ public void doFilter(HttpServletRequest wrappedRequest, HttpServletResponse wrappedResponse)
+ throws IOException {
wrappedRequest.getSession().getId();
}
});
HttpServletRequest request = (HttpServletRequest) this.chain.getRequest();
String id = request.getSession().getId();
- given(this.strategy.resolveSessionIds(any(HttpServletRequest.class)))
- .willReturn(Collections.singletonList(id));
+ given(this.strategy.resolveSessionIds(any(HttpServletRequest.class))).willReturn(Collections.singletonList(id));
doFilter(new DoInFilter() {
@Override
- public void doFilter(HttpServletRequest wrappedRequest,
- HttpServletResponse wrappedResponse) throws IOException {
+ public void doFilter(HttpServletRequest wrappedRequest, HttpServletResponse wrappedResponse)
+ throws IOException {
}
});
- verify(this.strategy, never()).expireSession(any(HttpServletRequest.class),
- any(HttpServletResponse.class));
+ verify(this.strategy, never()).expireSession(any(HttpServletRequest.class), any(HttpServletResponse.class));
}
@Test
@SuppressWarnings("unchecked")
- public void doFilterRequestSessionNoRequestSessionNoSessionRepositoryInteractions()
- throws Exception {
- SessionRepository sessionRepository = spy(
- new MapSessionRepository(new ConcurrentHashMap<>()));
+ void doFilterRequestSessionNoRequestSessionNoSessionRepositoryInteractions() throws Exception {
+ SessionRepository sessionRepository = spy(new MapSessionRepository(new ConcurrentHashMap<>()));
this.filter = new SessionRepositoryFilter<>(sessionRepository);
doFilter(new DoInFilter() {
@Override
- public void doFilter(HttpServletRequest wrappedRequest,
- HttpServletResponse wrappedResponse) throws IOException {
+ public void doFilter(HttpServletRequest wrappedRequest, HttpServletResponse wrappedResponse)
+ throws IOException {
wrappedRequest.getSession().getId();
}
});
@@ -1319,8 +1263,8 @@ public class SessionRepositoryFilterTests {
doFilter(new DoInFilter() {
@Override
- public void doFilter(HttpServletRequest wrappedRequest,
- HttpServletResponse wrappedResponse) throws IOException {
+ public void doFilter(HttpServletRequest wrappedRequest, HttpServletResponse wrappedResponse)
+ throws IOException {
}
});
@@ -1328,16 +1272,15 @@ public class SessionRepositoryFilterTests {
}
@Test
- public void doFilterLazySessionCreation() throws Exception {
- SessionRepository sessionRepository = spy(
- new MapSessionRepository(new ConcurrentHashMap<>()));
+ void doFilterLazySessionCreation() throws Exception {
+ SessionRepository sessionRepository = spy(new MapSessionRepository(new ConcurrentHashMap<>()));
this.filter = new SessionRepositoryFilter<>(sessionRepository);
doFilter(new DoInFilter() {
@Override
- public void doFilter(HttpServletRequest wrappedRequest,
- HttpServletResponse wrappedResponse) throws IOException {
+ public void doFilter(HttpServletRequest wrappedRequest, HttpServletResponse wrappedResponse)
+ throws IOException {
}
});
@@ -1345,7 +1288,7 @@ public class SessionRepositoryFilterTests {
}
@Test
- public void doFilterLazySessionUpdates() throws Exception {
+ void doFilterLazySessionUpdates() throws Exception {
MapSession session = this.sessionRepository.createSession();
this.sessionRepository.save(session);
SessionRepository sessionRepository = spy(this.sessionRepository);
@@ -1355,8 +1298,8 @@ public class SessionRepositoryFilterTests {
doFilter(new DoInFilter() {
@Override
- public void doFilter(HttpServletRequest wrappedRequest,
- HttpServletResponse wrappedResponse) throws IOException {
+ public void doFilter(HttpServletRequest wrappedRequest, HttpServletResponse wrappedResponse)
+ throws IOException {
}
});
@@ -1364,7 +1307,7 @@ public class SessionRepositoryFilterTests {
}
@Test
- public void doFilterSessionRetrievalIsCached() throws Exception {
+ void doFilterSessionRetrievalIsCached() throws Exception {
MapSession session = this.sessionRepository.createSession();
this.sessionRepository.save(session);
SessionRepository sessionRepository = spy(this.sessionRepository);
@@ -1374,8 +1317,7 @@ public class SessionRepositoryFilterTests {
doFilter(new DoInFilter() {
@Override
- public void doFilter(HttpServletRequest wrappedRequest,
- HttpServletResponse wrappedResponse) {
+ public void doFilter(HttpServletRequest wrappedRequest, HttpServletResponse wrappedResponse) {
wrappedRequest.getSession().invalidate();
wrappedRequest.getSession();
}
@@ -1392,7 +1334,7 @@ public class SessionRepositoryFilterTests {
// --- order
@Test
- public void order() {
+ void order() {
assertThat(AnnotationAwareOrderComparator.INSTANCE.compare(this.filter,
new SessionRepositoryFilterDefaultOrder()));
}
@@ -1400,21 +1342,20 @@ public class SessionRepositoryFilterTests {
// We want the filter to work without any dependencies on Spring
@Test
@SuppressWarnings("unused")
- public void doesNotImplementOrdered() {
+ void doesNotImplementOrdered() {
assertThatExceptionOfType(ClassCastException.class).isThrownBy(() -> {
Ordered o = (Ordered) this.filter;
});
}
@Test
- public void setHttpSessionIdResolverNull() {
- assertThatIllegalArgumentException()
- .isThrownBy(() -> this.filter.setHttpSessionIdResolver(null))
+ void setHttpSessionIdResolverNull() {
+ assertThatIllegalArgumentException().isThrownBy(() -> this.filter.setHttpSessionIdResolver(null))
.withMessage("httpSessionIdResolver cannot be null");
}
@Test
- public void bindingListenerBindListener() throws Exception {
+ void bindingListenerBindListener() throws Exception {
String bindingListenerName = "bindingListener";
CountingHttpSessionBindingListener bindingListener = new CountingHttpSessionBindingListener();
@@ -1432,7 +1373,7 @@ public class SessionRepositoryFilterTests {
}
@Test
- public void bindingListenerBindListenerThenUnbind() throws Exception {
+ void bindingListenerBindListenerThenUnbind() throws Exception {
String bindingListenerName = "bindingListener";
CountingHttpSessionBindingListener bindingListener = new CountingHttpSessionBindingListener();
@@ -1451,7 +1392,7 @@ public class SessionRepositoryFilterTests {
}
@Test
- public void bindingListenerBindSameListenerTwice() throws Exception {
+ void bindingListenerBindSameListenerTwice() throws Exception {
String bindingListenerName = "bindingListener";
CountingHttpSessionBindingListener bindingListener = new CountingHttpSessionBindingListener();
@@ -1470,7 +1411,7 @@ public class SessionRepositoryFilterTests {
}
@Test
- public void bindingListenerBindListenerOverwrite() throws Exception {
+ void bindingListenerBindListenerOverwrite() throws Exception {
String bindingListenerName = "bindingListener";
CountingHttpSessionBindingListener bindingListener1 = new CountingHttpSessionBindingListener();
CountingHttpSessionBindingListener bindingListener2 = new CountingHttpSessionBindingListener();
@@ -1491,7 +1432,7 @@ public class SessionRepositoryFilterTests {
}
@Test
- public void bindingListenerBindThrowsException() throws Exception {
+ void bindingListenerBindThrowsException() throws Exception {
String bindingListenerName = "bindingListener";
CountingHttpSessionBindingListener bindingListener = new CountingHttpSessionBindingListener();
@@ -1510,7 +1451,7 @@ public class SessionRepositoryFilterTests {
}
@Test
- public void bindingListenerBindListenerThenUnbindThrowsException() throws Exception {
+ void bindingListenerBindListenerThenUnbindThrowsException() throws Exception {
String bindingListenerName = "bindingListener";
CountingHttpSessionBindingListener bindingListener = new CountingHttpSessionBindingListener();
@@ -1536,23 +1477,18 @@ public class SessionRepositoryFilterTests {
assertThat(cookie).isNotNull();
assertThat(cookie.getMaxAge()).isEqualTo(-1);
assertThat(cookie.getValue()).isNotEqualTo("INVALID");
- assertThat(cookie.isHttpOnly()).describedAs("Cookie is expected to be HTTP Only")
- .isTrue();
- assertThat(cookie.getSecure())
- .describedAs(
- "Cookie secured is expected to be " + this.request.isSecure())
+ assertThat(cookie.isHttpOnly()).describedAs("Cookie is expected to be HTTP Only").isTrue();
+ assertThat(cookie.getSecure()).describedAs("Cookie secured is expected to be " + this.request.isSecure())
.isEqualTo(this.request.isSecure());
assertThat(this.request.getSession(false))
- .describedAs("The original HttpServletRequest HttpSession should be null")
- .isNull();
+ .describedAs("The original HttpServletRequest HttpSession should be null").isNull();
}
private void assertNoSession() {
Cookie cookie = getSessionCookie();
assertThat(cookie).isNull();
assertThat(this.request.getSession(false))
- .describedAs("The original HttpServletRequest HttpSession should be null")
- .isNull();
+ .describedAs("The original HttpServletRequest HttpSession should be null").isNull();
}
private Cookie getSessionCookie() {
@@ -1579,22 +1515,19 @@ public class SessionRepositoryFilterTests {
for (Cookie cookie : this.response.getCookies()) {
nameToCookie.put(cookie.getName(), cookie);
}
- Cookie[] nextRequestCookies = new ArrayList<>(nameToCookie.values())
- .toArray(new Cookie[0]);
+ Cookie[] nextRequestCookies = new ArrayList<>(nameToCookie.values()).toArray(new Cookie[0]);
setupRequest();
this.request.setCookies(nextRequestCookies);
}
- private void doFilter(final DoInFilter doInFilter)
- throws ServletException, IOException {
+ private void doFilter(final DoInFilter doInFilter) throws ServletException, IOException {
this.chain = new MockFilterChain(new HttpServlet() {
}, new OncePerRequestFilter() {
@Override
- protected void doFilterInternal(HttpServletRequest request,
- HttpServletResponse response, FilterChain filterChain)
- throws ServletException, IOException {
+ protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response,
+ FilterChain filterChain) throws ServletException, IOException {
doInFilter.doFilter(request, response);
}
});
@@ -1620,8 +1553,7 @@ public class SessionRepositoryFilterTests {
private abstract class DoInFilter {
- void doFilter(HttpServletRequest wrappedRequest,
- HttpServletResponse wrappedResponse)
+ void doFilter(HttpServletRequest wrappedRequest, HttpServletResponse wrappedResponse)
throws ServletException, IOException {
doFilter(wrappedRequest);
}
@@ -1631,8 +1563,7 @@ public class SessionRepositoryFilterTests {
}
- private static class CountingHttpSessionBindingListener
- implements HttpSessionBindingListener {
+ private static class CountingHttpSessionBindingListener implements HttpSessionBindingListener {
private final AtomicInteger counter = new AtomicInteger(0);
diff --git a/spring-session-core/src/test/java/org/springframework/session/web/server/session/SpringSessionWebSessionStoreTests.java b/spring-session-core/src/test/java/org/springframework/session/web/server/session/SpringSessionWebSessionStoreTests.java
index a8aa5876..77073619 100644
--- a/spring-session-core/src/test/java/org/springframework/session/web/server/session/SpringSessionWebSessionStoreTests.java
+++ b/spring-session-core/src/test/java/org/springframework/session/web/server/session/SpringSessionWebSessionStoreTests.java
@@ -43,7 +43,7 @@ import static org.mockito.Mockito.verify;
* @author Rob Winch
* @author Vedran Pavic
*/
-public class SpringSessionWebSessionStoreTests {
+class SpringSessionWebSessionStoreTests {
@Mock
private ReactiveSessionRepository sessionRepository;
@@ -57,68 +57,62 @@ public class SpringSessionWebSessionStoreTests {
private SpringSessionWebSessionStore webSessionStore;
@BeforeEach
- public void setup() {
+ void setup() {
MockitoAnnotations.initMocks(this);
this.webSessionStore = new SpringSessionWebSessionStore<>(this.sessionRepository);
- given(this.sessionRepository.findById(any()))
- .willReturn(Mono.just(this.findByIdSession));
- given(this.sessionRepository.createSession())
- .willReturn(Mono.just(this.createSession));
+ given(this.sessionRepository.findById(any())).willReturn(Mono.just(this.findByIdSession));
+ given(this.sessionRepository.createSession()).willReturn(Mono.just(this.createSession));
}
@Test
- public void constructorWhenNullRepositoryThenThrowsIllegalArgumentException() {
- assertThatIllegalArgumentException()
- .isThrownBy(() -> new SpringSessionWebSessionStore(null))
+ void constructorWhenNullRepositoryThenThrowsIllegalArgumentException() {
+ assertThatIllegalArgumentException().isThrownBy(() -> new SpringSessionWebSessionStore(null))
.withMessage("reactiveSessionRepository cannot be null");
}
@Test
- public void createSessionWhenNoAttributesThenNotStarted() {
+ void createSessionWhenNoAttributesThenNotStarted() {
WebSession createdWebSession = this.webSessionStore.createWebSession().block();
assertThat(createdWebSession.isStarted()).isFalse();
}
@Test
- public void createSessionWhenAddAttributeThenStarted() {
- given(this.createSession.getAttributeNames())
- .willReturn(Collections.singleton("a"));
+ void createSessionWhenAddAttributeThenStarted() {
+ given(this.createSession.getAttributeNames()).willReturn(Collections.singleton("a"));
WebSession createdWebSession = this.webSessionStore.createWebSession().block();
assertThat(createdWebSession.isStarted()).isTrue();
}
@Test
- public void createSessionWhenGetAttributesAndSizeThenDelegatesToCreateSession() {
+ void createSessionWhenGetAttributesAndSizeThenDelegatesToCreateSession() {
WebSession createdWebSession = this.webSessionStore.createWebSession().block();
Map attributes = createdWebSession.getAttributes();
assertThat(attributes.size()).isEqualTo(0);
- given(this.createSession.getAttributeNames())
- .willReturn(Collections.singleton("a"));
+ given(this.createSession.getAttributeNames()).willReturn(Collections.singleton("a"));
assertThat(attributes.size()).isEqualTo(1);
}
@Test
- public void createSessionWhenGetAttributesAndIsEmptyThenDelegatesToCreateSession() {
+ void createSessionWhenGetAttributesAndIsEmptyThenDelegatesToCreateSession() {
WebSession createdWebSession = this.webSessionStore.createWebSession().block();
Map attributes = createdWebSession.getAttributes();
assertThat(attributes.isEmpty()).isTrue();
- given(this.createSession.getAttributeNames())
- .willReturn(Collections.singleton("a"));
+ given(this.createSession.getAttributeNames()).willReturn(Collections.singleton("a"));
assertThat(attributes.isEmpty()).isFalse();
}
@Test
- public void createSessionWhenGetAttributesAndContainsKeyAndNotStringThenFalse() {
+ void createSessionWhenGetAttributesAndContainsKeyAndNotStringThenFalse() {
WebSession createdWebSession = this.webSessionStore.createWebSession().block();
Map attributes = createdWebSession.getAttributes();
@@ -127,7 +121,7 @@ public class SpringSessionWebSessionStoreTests {
}
@Test
- public void createSessionWhenGetAttributesAndContainsKeyAndNotFoundThenFalse() {
+ void createSessionWhenGetAttributesAndContainsKeyAndNotFoundThenFalse() {
WebSession createdWebSession = this.webSessionStore.createWebSession().block();
Map attributes = createdWebSession.getAttributes();
@@ -136,9 +130,8 @@ public class SpringSessionWebSessionStoreTests {
}
@Test
- public void createSessionWhenGetAttributesAndContainsKeyAndFoundThenTrue() {
- given(this.createSession.getAttributeNames())
- .willReturn(Collections.singleton("a"));
+ void createSessionWhenGetAttributesAndContainsKeyAndFoundThenTrue() {
+ given(this.createSession.getAttributeNames()).willReturn(Collections.singleton("a"));
WebSession createdWebSession = this.webSessionStore.createWebSession().block();
Map attributes = createdWebSession.getAttributes();
@@ -147,7 +140,7 @@ public class SpringSessionWebSessionStoreTests {
}
@Test
- public void createSessionWhenGetAttributesAndPutThenDelegatesToCreateSession() {
+ void createSessionWhenGetAttributesAndPutThenDelegatesToCreateSession() {
WebSession createdWebSession = this.webSessionStore.createWebSession().block();
Map attributes = createdWebSession.getAttributes();
@@ -157,7 +150,7 @@ public class SpringSessionWebSessionStoreTests {
}
@Test
- public void createSessionWhenGetAttributesAndPutNullThenDelegatesToCreateSession() {
+ void createSessionWhenGetAttributesAndPutNullThenDelegatesToCreateSession() {
WebSession createdWebSession = this.webSessionStore.createWebSession().block();
Map attributes = createdWebSession.getAttributes();
@@ -167,7 +160,7 @@ public class SpringSessionWebSessionStoreTests {
}
@Test
- public void createSessionWhenGetAttributesAndRemoveThenDelegatesToCreateSession() {
+ void createSessionWhenGetAttributesAndRemoveThenDelegatesToCreateSession() {
WebSession createdWebSession = this.webSessionStore.createWebSession().block();
Map attributes = createdWebSession.getAttributes();
@@ -177,7 +170,7 @@ public class SpringSessionWebSessionStoreTests {
}
@Test
- public void createSessionWhenGetAttributesAndPutAllThenDelegatesToCreateSession() {
+ void createSessionWhenGetAttributesAndPutAllThenDelegatesToCreateSession() {
WebSession createdWebSession = this.webSessionStore.createWebSession().block();
Map attributes = createdWebSession.getAttributes();
@@ -187,9 +180,8 @@ public class SpringSessionWebSessionStoreTests {
}
@Test
- public void createSessionWhenGetAttributesAndClearThenDelegatesToCreateSession() {
- given(this.createSession.getAttributeNames())
- .willReturn(Collections.singleton("a"));
+ void createSessionWhenGetAttributesAndClearThenDelegatesToCreateSession() {
+ given(this.createSession.getAttributeNames()).willReturn(Collections.singleton("a"));
WebSession createdWebSession = this.webSessionStore.createWebSession().block();
Map attributes = createdWebSession.getAttributes();
@@ -199,9 +191,8 @@ public class SpringSessionWebSessionStoreTests {
}
@Test
- public void createSessionWhenGetAttributesAndKeySetThenDelegatesToCreateSession() {
- given(this.createSession.getAttributeNames())
- .willReturn(Collections.singleton("a"));
+ void createSessionWhenGetAttributesAndKeySetThenDelegatesToCreateSession() {
+ given(this.createSession.getAttributeNames()).willReturn(Collections.singleton("a"));
WebSession createdWebSession = this.webSessionStore.createWebSession().block();
Map attributes = createdWebSession.getAttributes();
@@ -210,9 +201,8 @@ public class SpringSessionWebSessionStoreTests {
}
@Test
- public void createSessionWhenGetAttributesAndValuesThenDelegatesToCreateSession() {
- given(this.createSession.getAttributeNames())
- .willReturn(Collections.singleton("a"));
+ void createSessionWhenGetAttributesAndValuesThenDelegatesToCreateSession() {
+ given(this.createSession.getAttributeNames()).willReturn(Collections.singleton("a"));
given(this.createSession.getAttribute("a")).willReturn("b");
WebSession createdWebSession = this.webSessionStore.createWebSession().block();
@@ -222,10 +212,9 @@ public class SpringSessionWebSessionStoreTests {
}
@Test
- public void createSessionWhenGetAttributesAndEntrySetThenDelegatesToCreateSession() {
+ void createSessionWhenGetAttributesAndEntrySetThenDelegatesToCreateSession() {
String attrName = "attrName";
- given(this.createSession.getAttributeNames())
- .willReturn(Collections.singleton(attrName));
+ given(this.createSession.getAttributeNames()).willReturn(Collections.singleton(attrName));
String attrValue = "attrValue";
given(this.createSession.getAttribute(attrName)).willReturn(attrValue);
WebSession createdWebSession = this.webSessionStore.createWebSession().block();
@@ -233,12 +222,11 @@ public class SpringSessionWebSessionStoreTests {
Map attributes = createdWebSession.getAttributes();
Set> entries = attributes.entrySet();
- assertThat(entries)
- .containsExactly(new AbstractMap.SimpleEntry<>(attrName, attrValue));
+ assertThat(entries).containsExactly(new AbstractMap.SimpleEntry<>(attrName, attrValue));
}
@Test
- public void retrieveSessionThenStarted() {
+ void retrieveSessionThenStarted() {
String id = "id";
WebSession retrievedWebSession = this.webSessionStore.retrieveSession(id).block();
@@ -247,7 +235,7 @@ public class SpringSessionWebSessionStoreTests {
}
@Test
- public void removeSessionWhenInvokedThenSessionSaved() {
+ void removeSessionWhenInvokedThenSessionSaved() {
String sessionId = "session-id";
given(this.sessionRepository.deleteById(sessionId)).willReturn(Mono.empty());
@@ -257,21 +245,20 @@ public class SpringSessionWebSessionStoreTests {
}
@Test
- public void setClockWhenNullThenException() {
- assertThatIllegalArgumentException()
- .isThrownBy(() -> this.webSessionStore.setClock(null))
+ void setClockWhenNullThenException() {
+ assertThatIllegalArgumentException().isThrownBy(() -> this.webSessionStore.setClock(null))
.withMessage("clock cannot be null");
}
@Test // gh-1114
- public void createSessionThenSessionIsNotExpired() {
+ void createSessionThenSessionIsNotExpired() {
WebSession createdWebSession = this.webSessionStore.createWebSession().block();
assertThat(createdWebSession.isExpired()).isFalse();
}
@Test // gh-1114
- public void invalidateSessionThenSessionIsExpired() {
+ void invalidateSessionThenSessionIsExpired() {
WebSession createdWebSession = this.webSessionStore.createWebSession().block();
given(createdWebSession.invalidate()).willReturn(Mono.empty());
diff --git a/spring-session-core/src/test/java/org/springframework/session/web/socket/handler/WebSocketConnectHandlerDecoratorFactoryTests.java b/spring-session-core/src/test/java/org/springframework/session/web/socket/handler/WebSocketConnectHandlerDecoratorFactoryTests.java
index 9cac3728..13e387a0 100644
--- a/spring-session-core/src/test/java/org/springframework/session/web/socket/handler/WebSocketConnectHandlerDecoratorFactoryTests.java
+++ b/spring-session-core/src/test/java/org/springframework/session/web/socket/handler/WebSocketConnectHandlerDecoratorFactoryTests.java
@@ -35,33 +35,36 @@ import static org.mockito.BDDMockito.willThrow;
import static org.mockito.Mockito.any;
import static org.mockito.Mockito.verify;
-public class WebSocketConnectHandlerDecoratorFactoryTests {
+class WebSocketConnectHandlerDecoratorFactoryTests {
+
@Mock
ApplicationEventPublisher eventPublisher;
+
@Mock
WebSocketHandler delegate;
+
@Mock
WebSocketSession session;
+
@Captor
ArgumentCaptor event;
- WebSocketConnectHandlerDecoratorFactory factory;
+ private WebSocketConnectHandlerDecoratorFactory factory;
@BeforeEach
- public void setup() {
+ void setup() {
MockitoAnnotations.initMocks(this);
this.factory = new WebSocketConnectHandlerDecoratorFactory(this.eventPublisher);
}
@Test
- public void constructorNullEventPublisher() {
- assertThatIllegalArgumentException()
- .isThrownBy(() -> new WebSocketConnectHandlerDecoratorFactory(null))
+ void constructorNullEventPublisher() {
+ assertThatIllegalArgumentException().isThrownBy(() -> new WebSocketConnectHandlerDecoratorFactory(null))
.withMessage("eventPublisher cannot be null");
}
@Test
- public void decorateAfterConnectionEstablished() throws Exception {
+ void decorateAfterConnectionEstablished() throws Exception {
WebSocketHandler decorated = this.factory.decorate(this.delegate);
decorated.afterConnectionEstablished(this.session);
@@ -71,13 +74,14 @@ public class WebSocketConnectHandlerDecoratorFactoryTests {
}
@Test
- public void decorateAfterConnectionEstablishedEventError() throws Exception {
+ void decorateAfterConnectionEstablishedEventError() throws Exception {
WebSocketHandler decorated = this.factory.decorate(this.delegate);
- willThrow(new IllegalStateException("Test throw on publishEvent"))
- .given(this.eventPublisher).publishEvent(any(ApplicationEvent.class));
+ willThrow(new IllegalStateException("Test throw on publishEvent")).given(this.eventPublisher)
+ .publishEvent(any(ApplicationEvent.class));
decorated.afterConnectionEstablished(this.session);
verify(this.eventPublisher).publishEvent(any(SessionConnectEvent.class));
}
+
}
diff --git a/spring-session-core/src/test/java/org/springframework/session/web/socket/handler/WebSocketRegistryListenerTests.java b/spring-session-core/src/test/java/org/springframework/session/web/socket/handler/WebSocketRegistryListenerTests.java
index 8d0a8d5a..b15e0cb8 100644
--- a/spring-session-core/src/test/java/org/springframework/session/web/socket/handler/WebSocketRegistryListenerTests.java
+++ b/spring-session-core/src/test/java/org/springframework/session/web/socket/handler/WebSocketRegistryListenerTests.java
@@ -44,7 +44,7 @@ import static org.mockito.BDDMockito.given;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
-public class WebSocketRegistryListenerTests {
+class WebSocketRegistryListenerTests {
@Mock
private WebSocketSession wsSession;
@@ -73,7 +73,7 @@ public class WebSocketRegistryListenerTests {
private WebSocketRegistryListener listener;
@BeforeEach
- public void setup() {
+ void setup() {
MockitoAnnotations.initMocks(this);
String sessionId = "session-id";
MapSession session = new MapSession(sessionId);
@@ -96,14 +96,14 @@ public class WebSocketRegistryListenerTests {
this.listener = new WebSocketRegistryListener();
this.connect = new SessionConnectEvent(this.listener, this.wsSession);
this.connect2 = new SessionConnectEvent(this.listener, this.wsSession2);
- this.disconnect = new SessionDisconnectEvent(this.listener, this.message,
- this.wsSession.getId(), CloseStatus.NORMAL);
+ this.disconnect = new SessionDisconnectEvent(this.listener, this.message, this.wsSession.getId(),
+ CloseStatus.NORMAL);
this.deleted = new SessionDeletedEvent(this.listener, session);
this.expired = new SessionExpiredEvent(this.listener, session);
}
@Test
- public void onApplicationEventConnectSessionDeleted() throws Exception {
+ void onApplicationEventConnectSessionDeleted() throws Exception {
this.listener.onApplicationEvent(this.connect);
this.listener.onApplicationEvent(this.deleted);
@@ -112,7 +112,7 @@ public class WebSocketRegistryListenerTests {
}
@Test
- public void onApplicationEventConnectSessionExpired() throws Exception {
+ void onApplicationEventConnectSessionExpired() throws Exception {
this.listener.onApplicationEvent(this.connect);
this.listener.onApplicationEvent(this.expired);
@@ -121,7 +121,7 @@ public class WebSocketRegistryListenerTests {
}
@Test
- public void onApplicationEventConnectSessionDeletedNullPrincipal() throws Exception {
+ void onApplicationEventConnectSessionDeletedNullPrincipal() throws Exception {
given(this.wsSession.getPrincipal()).willReturn(null);
this.listener.onApplicationEvent(this.connect);
@@ -131,7 +131,7 @@ public class WebSocketRegistryListenerTests {
}
@Test
- public void onApplicationEventConnectDisconnect() throws Exception {
+ void onApplicationEventConnectDisconnect() throws Exception {
this.listener.onApplicationEvent(this.connect);
this.listener.onApplicationEvent(this.disconnect);
@@ -143,7 +143,7 @@ public class WebSocketRegistryListenerTests {
// gh-76
@Test
@SuppressWarnings("unchecked")
- public void onApplicationEventConnectDisconnectCleanup() {
+ void onApplicationEventConnectDisconnectCleanup() {
this.listener.onApplicationEvent(this.connect);
this.listener.onApplicationEvent(this.disconnect);
@@ -154,7 +154,7 @@ public class WebSocketRegistryListenerTests {
}
@Test
- public void onApplicationEventConnectDisconnectNullSession() throws Exception {
+ void onApplicationEventConnectDisconnectNullSession() throws Exception {
this.listener.onApplicationEvent(this.connect);
this.attributes.clear();
@@ -164,7 +164,7 @@ public class WebSocketRegistryListenerTests {
}
@Test
- public void onApplicationEventConnectConnectDisonnect() throws Exception {
+ void onApplicationEventConnectConnectDisonnect() throws Exception {
this.listener.onApplicationEvent(this.connect);
this.listener.onApplicationEvent(this.connect2);
this.listener.onApplicationEvent(this.disconnect);
diff --git a/spring-session-core/src/test/java/org/springframework/session/web/socket/server/SessionRepositoryMessageInterceptorTests.java b/spring-session-core/src/test/java/org/springframework/session/web/socket/server/SessionRepositoryMessageInterceptorTests.java
index 70b14d8b..cd530e4b 100644
--- a/spring-session-core/src/test/java/org/springframework/session/web/socket/server/SessionRepositoryMessageInterceptorTests.java
+++ b/spring-session-core/src/test/java/org/springframework/session/web/socket/server/SessionRepositoryMessageInterceptorTests.java
@@ -51,25 +51,27 @@ import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.verifyZeroInteractions;
-public class SessionRepositoryMessageInterceptorTests {
+class SessionRepositoryMessageInterceptorTests {
+
@Mock
SessionRepository sessionRepository;
+
@Mock
MessageChannel channel;
+
@Mock
Session session;
- Message> createMessage;
+ private Message> createMessage;
- SimpMessageHeaderAccessor headers;
+ private SimpMessageHeaderAccessor headers;
- SessionRepositoryMessageInterceptor interceptor;
+ private SessionRepositoryMessageInterceptor interceptor;
@BeforeEach
- public void setup() {
+ void setup() {
MockitoAnnotations.initMocks(this);
- this.interceptor = new SessionRepositoryMessageInterceptor<>(
- this.sessionRepository);
+ this.interceptor = new SessionRepositoryMessageInterceptor<>(this.sessionRepository);
this.headers = SimpMessageHeaderAccessor.create();
this.headers.setSessionId("session");
this.headers.setSessionAttributes(new HashMap<>());
@@ -80,123 +82,112 @@ public class SessionRepositoryMessageInterceptorTests {
}
@Test
- public void preSendconstructorNullRepository() {
- assertThatIllegalArgumentException()
- .isThrownBy(() -> new SessionRepositoryMessageInterceptor<>(null))
+ void preSendconstructorNullRepository() {
+ assertThatIllegalArgumentException().isThrownBy(() -> new SessionRepositoryMessageInterceptor<>(null))
.withMessage("sessionRepository cannot be null");
}
@Test
- public void preSendNullMessage() {
+ void preSendNullMessage() {
assertThat(this.interceptor.preSend(null, this.channel)).isNull();
}
@Test
- public void preSendConnectAckDoesNotInvokeSessionRepository() {
+ void preSendConnectAckDoesNotInvokeSessionRepository() {
setMessageType(SimpMessageType.CONNECT_ACK);
- assertThat(this.interceptor.preSend(createMessage(), this.channel))
- .isSameAs(this.createMessage);
+ assertThat(this.interceptor.preSend(createMessage(), this.channel)).isSameAs(this.createMessage);
verifyZeroInteractions(this.sessionRepository);
}
@Test
- public void preSendHeartbeatDoesNotInvokeSessionRepository() {
+ void preSendHeartbeatDoesNotInvokeSessionRepository() {
setMessageType(SimpMessageType.HEARTBEAT);
- assertThat(this.interceptor.preSend(createMessage(), this.channel))
- .isSameAs(this.createMessage);
+ assertThat(this.interceptor.preSend(createMessage(), this.channel)).isSameAs(this.createMessage);
verifyZeroInteractions(this.sessionRepository);
}
@Test
- public void preSendDisconnectDoesNotInvokeSessionRepository() {
+ void preSendDisconnectDoesNotInvokeSessionRepository() {
setMessageType(SimpMessageType.DISCONNECT);
- assertThat(this.interceptor.preSend(createMessage(), this.channel))
- .isSameAs(this.createMessage);
+ assertThat(this.interceptor.preSend(createMessage(), this.channel)).isSameAs(this.createMessage);
verifyZeroInteractions(this.sessionRepository);
}
@Test
- public void preSendOtherDoesNotInvokeSessionRepository() {
+ void preSendOtherDoesNotInvokeSessionRepository() {
setMessageType(SimpMessageType.OTHER);
- assertThat(this.interceptor.preSend(createMessage(), this.channel))
- .isSameAs(this.createMessage);
+ assertThat(this.interceptor.preSend(createMessage(), this.channel)).isSameAs(this.createMessage);
verifyZeroInteractions(this.sessionRepository);
}
@Test
- public void setMatchingMessageTypesNull() {
+ void setMatchingMessageTypesNull() {
+ assertThatIllegalArgumentException().isThrownBy(() -> this.interceptor.setMatchingMessageTypes(null))
+ .withMessage("matchingMessageTypes cannot be null or empty");
+ }
+
+ @Test
+ void setMatchingMessageTypesEmpty() {
assertThatIllegalArgumentException()
- .isThrownBy(() -> this.interceptor.setMatchingMessageTypes(null))
+ .isThrownBy(() -> this.interceptor.setMatchingMessageTypes(Collections.emptySet()))
.withMessage("matchingMessageTypes cannot be null or empty");
}
@Test
- public void setMatchingMessageTypesEmpty() {
- assertThatIllegalArgumentException().isThrownBy(
- () -> this.interceptor.setMatchingMessageTypes(Collections.emptySet()))
- .withMessage("matchingMessageTypes cannot be null or empty");
- }
-
- @Test
- public void preSendSetMatchingMessageTypes() {
+ void preSendSetMatchingMessageTypes() {
this.interceptor.setMatchingMessageTypes(EnumSet.of(SimpMessageType.DISCONNECT));
setMessageType(SimpMessageType.DISCONNECT);
- assertThat(this.interceptor.preSend(createMessage(), this.channel))
- .isSameAs(this.createMessage);
+ assertThat(this.interceptor.preSend(createMessage(), this.channel)).isSameAs(this.createMessage);
verify(this.sessionRepository).findById(anyString());
verify(this.sessionRepository).save(this.session);
}
@Test
- public void preSendConnectUpdatesLastUpdateTime() {
+ void preSendConnectUpdatesLastUpdateTime() {
setMessageType(SimpMessageType.CONNECT);
- assertThat(this.interceptor.preSend(createMessage(), this.channel))
- .isSameAs(this.createMessage);
+ assertThat(this.interceptor.preSend(createMessage(), this.channel)).isSameAs(this.createMessage);
verify(this.session).setLastAccessedTime(argThat(isAlmostNow()));
verify(this.sessionRepository).save(this.session);
}
@Test
- public void preSendMessageUpdatesLastUpdateTime() {
+ void preSendMessageUpdatesLastUpdateTime() {
setMessageType(SimpMessageType.MESSAGE);
- assertThat(this.interceptor.preSend(createMessage(), this.channel))
- .isSameAs(this.createMessage);
+ assertThat(this.interceptor.preSend(createMessage(), this.channel)).isSameAs(this.createMessage);
verify(this.session).setLastAccessedTime(argThat(isAlmostNow()));
verify(this.sessionRepository).save(this.session);
}
@Test
- public void preSendSubscribeUpdatesLastUpdateTime() {
+ void preSendSubscribeUpdatesLastUpdateTime() {
setMessageType(SimpMessageType.SUBSCRIBE);
- assertThat(this.interceptor.preSend(createMessage(), this.channel))
- .isSameAs(this.createMessage);
+ assertThat(this.interceptor.preSend(createMessage(), this.channel)).isSameAs(this.createMessage);
verify(this.session).setLastAccessedTime(argThat(isAlmostNow()));
verify(this.sessionRepository).save(this.session);
}
@Test
- public void preSendUnsubscribeUpdatesLastUpdateTime() {
+ void preSendUnsubscribeUpdatesLastUpdateTime() {
setMessageType(SimpMessageType.UNSUBSCRIBE);
this.session.setLastAccessedTime(Instant.EPOCH);
- assertThat(this.interceptor.preSend(createMessage(), this.channel))
- .isSameAs(this.createMessage);
+ assertThat(this.interceptor.preSend(createMessage(), this.channel)).isSameAs(this.createMessage);
verify(this.session).setLastAccessedTime(argThat(isAlmostNow()));
verify(this.sessionRepository).save(this.session);
@@ -204,7 +195,7 @@ public class SessionRepositoryMessageInterceptorTests {
// This will updated when SPR-12288 is resolved
@Test
- public void preSendExpiredSession() {
+ void preSendExpiredSession() {
setSessionId("expired");
this.interceptor.preSend(createMessage(), this.channel);
@@ -213,74 +204,67 @@ public class SessionRepositoryMessageInterceptorTests {
}
@Test
- public void preSendNullSessionId() {
+ void preSendNullSessionId() {
setSessionId(null);
- assertThat(this.interceptor.preSend(createMessage(), this.channel))
- .isSameAs(this.createMessage);
+ assertThat(this.interceptor.preSend(createMessage(), this.channel)).isSameAs(this.createMessage);
verifyZeroInteractions(this.sessionRepository);
}
@Test
- public void preSendNullSessionAttributes() {
+ void preSendNullSessionAttributes() {
this.headers.setSessionAttributes(null);
- assertThat(this.interceptor.preSend(createMessage(), this.channel))
- .isSameAs(this.createMessage);
+ assertThat(this.interceptor.preSend(createMessage(), this.channel)).isSameAs(this.createMessage);
verifyZeroInteractions(this.sessionRepository);
}
@Test
- public void beforeHandshakeNotServletServerHttpRequest() throws Exception {
+ void beforeHandshakeNotServletServerHttpRequest() throws Exception {
assertThat(this.interceptor.beforeHandshake(null, null, null, null)).isTrue();
verifyZeroInteractions(this.sessionRepository);
}
@Test
- public void beforeHandshakeNullSession() throws Exception {
- ServletServerHttpRequest request = new ServletServerHttpRequest(
- new MockHttpServletRequest());
+ void beforeHandshakeNullSession() throws Exception {
+ ServletServerHttpRequest request = new ServletServerHttpRequest(new MockHttpServletRequest());
assertThat(this.interceptor.beforeHandshake(request, null, null, null)).isTrue();
verifyZeroInteractions(this.sessionRepository);
}
@Test
- public void beforeHandshakeSession() throws Exception {
+ void beforeHandshakeSession() throws Exception {
MockHttpServletRequest httpRequest = new MockHttpServletRequest();
HttpSession httpSession = httpRequest.getSession();
ServletServerHttpRequest request = new ServletServerHttpRequest(httpRequest);
Map attributes = new HashMap<>();
- assertThat(this.interceptor.beforeHandshake(request, null, null, attributes))
- .isTrue();
+ assertThat(this.interceptor.beforeHandshake(request, null, null, attributes)).isTrue();
assertThat(attributes.size()).isEqualTo(1);
- assertThat(SessionRepositoryMessageInterceptor.getSessionId(attributes))
- .isEqualTo(httpSession.getId());
+ assertThat(SessionRepositoryMessageInterceptor.getSessionId(attributes)).isEqualTo(httpSession.getId());
}
/**
* At the moment there is no need for afterHandshake to do anything.
*/
@Test
- public void afterHandshakeDoesNothing() {
+ void afterHandshakeDoesNothing() {
this.interceptor.afterHandshake(null, null, null, null);
verifyZeroInteractions(this.sessionRepository);
}
private void setSessionId(String id) {
- SessionRepositoryMessageInterceptor
- .setSessionId(this.headers.getSessionAttributes(), id);
+ SessionRepositoryMessageInterceptor.setSessionId(this.headers.getSessionAttributes(), id);
}
private Message> createMessage() {
- this.createMessage = MessageBuilder.createMessage("",
- this.headers.getMessageHeaders());
+ this.createMessage = MessageBuilder.createMessage("", this.headers.getMessageHeaders());
return this.createMessage;
}
@@ -302,4 +286,5 @@ public class SessionRepositoryMessageInterceptorTests {
}
}
+
}
diff --git a/spring-session-data-redis/src/integration-test/java/org/springframework/session/data/SessionEventRegistry.java b/spring-session-data-redis/src/integration-test/java/org/springframework/session/data/SessionEventRegistry.java
index a15c92fb..a82d4756 100644
--- a/spring-session-data-redis/src/integration-test/java/org/springframework/session/data/SessionEventRegistry.java
+++ b/spring-session-data-redis/src/integration-test/java/org/springframework/session/data/SessionEventRegistry.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2018 the original author or authors.
+ * Copyright 2014-2019 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -25,7 +25,9 @@ import org.springframework.context.ApplicationListener;
import org.springframework.session.events.AbstractSessionEvent;
public class SessionEventRegistry implements ApplicationListener {
+
private Map events = new HashMap<>();
+
private ConcurrentMap locks = new ConcurrentHashMap<>();
@Override
@@ -48,14 +50,12 @@ public class SessionEventRegistry implements ApplicationListener E getEvent(String sessionId)
- throws InterruptedException {
+ public E getEvent(String sessionId) throws InterruptedException {
return (E) waitForEvent(sessionId);
}
@SuppressWarnings("unchecked")
- private E waitForEvent(String sessionId)
- throws InterruptedException {
+ private E waitForEvent(String sessionId) throws InterruptedException {
Object lock = getLock(sessionId);
synchronized (lock) {
if (!this.events.containsKey(sessionId)) {
@@ -68,4 +68,5 @@ public class SessionEventRegistry implements ApplicationListener new Object());
}
+
}
diff --git a/spring-session-data-redis/src/integration-test/java/org/springframework/session/data/redis/AbstractRedisITests.java b/spring-session-data-redis/src/integration-test/java/org/springframework/session/data/redis/AbstractRedisITests.java
index 76afac28..83c29857 100644
--- a/spring-session-data-redis/src/integration-test/java/org/springframework/session/data/redis/AbstractRedisITests.java
+++ b/spring-session-data-redis/src/integration-test/java/org/springframework/session/data/redis/AbstractRedisITests.java
@@ -35,8 +35,7 @@ public abstract class AbstractRedisITests {
@Bean
public GenericContainer redisContainer() {
- GenericContainer redisContainer = new GenericContainer(DOCKER_IMAGE)
- .withExposedPorts(6379);
+ GenericContainer redisContainer = new GenericContainer(DOCKER_IMAGE).withExposedPorts(6379);
redisContainer.start();
return redisContainer;
}
@@ -44,8 +43,7 @@ public abstract class AbstractRedisITests {
@Bean
public LettuceConnectionFactory redisConnectionFactory() {
RedisStandaloneConfiguration configuration = new RedisStandaloneConfiguration(
- redisContainer().getContainerIpAddress(),
- redisContainer().getFirstMappedPort());
+ redisContainer().getContainerIpAddress(), redisContainer().getFirstMappedPort());
return new LettuceConnectionFactory(configuration);
}
diff --git a/spring-session-data-redis/src/integration-test/java/org/springframework/session/data/redis/ReactiveRedisOperationsSessionRepositoryITests.java b/spring-session-data-redis/src/integration-test/java/org/springframework/session/data/redis/ReactiveRedisOperationsSessionRepositoryITests.java
index 2015ca18..2d9d9195 100644
--- a/spring-session-data-redis/src/integration-test/java/org/springframework/session/data/redis/ReactiveRedisOperationsSessionRepositoryITests.java
+++ b/spring-session-data-redis/src/integration-test/java/org/springframework/session/data/redis/ReactiveRedisOperationsSessionRepositoryITests.java
@@ -41,15 +41,14 @@ import static org.assertj.core.api.Assertions.assertThatIllegalStateException;
@ExtendWith(SpringExtension.class)
@ContextConfiguration
@WebAppConfiguration
-public class ReactiveRedisOperationsSessionRepositoryITests extends AbstractRedisITests {
+class ReactiveRedisOperationsSessionRepositoryITests extends AbstractRedisITests {
@Autowired
private ReactiveRedisOperationsSessionRepository repository;
@Test
- public void saves() throws InterruptedException {
- ReactiveRedisOperationsSessionRepository.RedisSession toSave = this.repository
- .createSession().block();
+ void saves() throws InterruptedException {
+ ReactiveRedisOperationsSessionRepository.RedisSession toSave = this.repository.createSession().block();
String expectedAttributeName = "a";
String expectedAttributeValue = "b";
@@ -70,9 +69,8 @@ public class ReactiveRedisOperationsSessionRepositoryITests extends AbstractRedi
}
@Test // gh-1399
- public void saveMultipleTimes() {
- ReactiveRedisOperationsSessionRepository.RedisSession session = this.repository
- .createSession().block();
+ void saveMultipleTimes() {
+ ReactiveRedisOperationsSessionRepository.RedisSession session = this.repository.createSession().block();
session.setAttribute("attribute1", "value1");
Mono save1 = this.repository.save(session);
session.setAttribute("attribute2", "value2");
@@ -81,9 +79,8 @@ public class ReactiveRedisOperationsSessionRepositoryITests extends AbstractRedi
}
@Test
- public void putAllOnSingleAttrDoesNotRemoveOld() {
- ReactiveRedisOperationsSessionRepository.RedisSession toSave = this.repository
- .createSession().block();
+ void putAllOnSingleAttrDoesNotRemoveOld() {
+ ReactiveRedisOperationsSessionRepository.RedisSession toSave = this.repository.createSession().block();
toSave.setAttribute("a", "b");
this.repository.save(toSave).block();
@@ -103,17 +100,16 @@ public class ReactiveRedisOperationsSessionRepositoryITests extends AbstractRedi
}
@Test
- public void changeSessionIdWhenOnlyChangeId() throws Exception {
+ void changeSessionIdWhenOnlyChangeId() throws Exception {
String attrName = "changeSessionId";
String attrValue = "changeSessionId-value";
- ReactiveRedisOperationsSessionRepository.RedisSession toSave = this.repository
- .createSession().block();
+ ReactiveRedisOperationsSessionRepository.RedisSession toSave = this.repository.createSession().block();
toSave.setAttribute(attrName, attrValue);
this.repository.save(toSave).block();
- ReactiveRedisOperationsSessionRepository.RedisSession findById = this.repository
- .findById(toSave.getId()).block();
+ ReactiveRedisOperationsSessionRepository.RedisSession findById = this.repository.findById(toSave.getId())
+ .block();
assertThat(findById.getAttribute(attrName)).isEqualTo(attrValue);
@@ -127,14 +123,12 @@ public class ReactiveRedisOperationsSessionRepositoryITests extends AbstractRedi
ReactiveRedisOperationsSessionRepository.RedisSession findByChangeSessionId = this.repository
.findById(changeSessionId).block();
- assertThat(findByChangeSessionId.getAttribute(attrName))
- .isEqualTo(attrValue);
+ assertThat(findByChangeSessionId.getAttribute(attrName)).isEqualTo(attrValue);
}
@Test
- public void changeSessionIdWhenChangeTwice() throws Exception {
- ReactiveRedisOperationsSessionRepository.RedisSession toSave = this.repository
- .createSession().block();
+ void changeSessionIdWhenChangeTwice() throws Exception {
+ ReactiveRedisOperationsSessionRepository.RedisSession toSave = this.repository.createSession().block();
this.repository.save(toSave).block();
@@ -150,17 +144,16 @@ public class ReactiveRedisOperationsSessionRepositoryITests extends AbstractRedi
}
@Test
- public void changeSessionIdWhenSetAttributeOnChangedSession() throws Exception {
+ void changeSessionIdWhenSetAttributeOnChangedSession() throws Exception {
String attrName = "changeSessionId";
String attrValue = "changeSessionId-value";
- ReactiveRedisOperationsSessionRepository.RedisSession toSave = this.repository
- .createSession().block();
+ ReactiveRedisOperationsSessionRepository.RedisSession toSave = this.repository.createSession().block();
this.repository.save(toSave).block();
- ReactiveRedisOperationsSessionRepository.RedisSession findById = this.repository
- .findById(toSave.getId()).block();
+ ReactiveRedisOperationsSessionRepository.RedisSession findById = this.repository.findById(toSave.getId())
+ .block();
findById.setAttribute(attrName, attrValue);
@@ -174,14 +167,12 @@ public class ReactiveRedisOperationsSessionRepositoryITests extends AbstractRedi
ReactiveRedisOperationsSessionRepository.RedisSession findByChangeSessionId = this.repository
.findById(changeSessionId).block();
- assertThat(findByChangeSessionId.getAttribute(attrName))
- .isEqualTo(attrValue);
+ assertThat(findByChangeSessionId.getAttribute(attrName)).isEqualTo(attrValue);
}
@Test
- public void changeSessionIdWhenHasNotSaved() throws Exception {
- ReactiveRedisOperationsSessionRepository.RedisSession toSave = this.repository
- .createSession().block();
+ void changeSessionIdWhenHasNotSaved() throws Exception {
+ ReactiveRedisOperationsSessionRepository.RedisSession toSave = this.repository.createSession().block();
String originalId = toSave.getId();
toSave.changeSessionId();
@@ -193,9 +184,8 @@ public class ReactiveRedisOperationsSessionRepositoryITests extends AbstractRedi
// gh-954
@Test
- public void changeSessionIdSaveTwice() {
- ReactiveRedisOperationsSessionRepository.RedisSession toSave = this.repository
- .createSession().block();
+ void changeSessionIdSaveTwice() {
+ ReactiveRedisOperationsSessionRepository.RedisSession toSave = this.repository.createSession().block();
String originalId = toSave.getId();
toSave.changeSessionId();
@@ -208,23 +198,20 @@ public class ReactiveRedisOperationsSessionRepositoryITests extends AbstractRedi
// gh-1111
@Test
- public void changeSessionSaveOldSessionInstance() {
- ReactiveRedisOperationsSessionRepository.RedisSession toSave = this.repository
- .createSession().block();
+ void changeSessionSaveOldSessionInstance() {
+ ReactiveRedisOperationsSessionRepository.RedisSession toSave = this.repository.createSession().block();
String sessionId = toSave.getId();
this.repository.save(toSave).block();
- ReactiveRedisOperationsSessionRepository.RedisSession session = this.repository
- .findById(sessionId).block();
+ ReactiveRedisOperationsSessionRepository.RedisSession session = this.repository.findById(sessionId).block();
session.changeSessionId();
session.setLastAccessedTime(Instant.now());
this.repository.save(session).block();
toSave.setLastAccessedTime(Instant.now());
- assertThatIllegalStateException()
- .isThrownBy(() -> this.repository.save(toSave).block())
+ assertThatIllegalStateException().isThrownBy(() -> this.repository.save(toSave).block())
.withMessage("Session was invalidated");
assertThat(this.repository.findById(sessionId).block()).isNull();
diff --git a/spring-session-data-redis/src/integration-test/java/org/springframework/session/data/redis/RedisOperationsSessionRepositoryITests.java b/spring-session-data-redis/src/integration-test/java/org/springframework/session/data/redis/RedisOperationsSessionRepositoryITests.java
index 3b05d485..18e422ce 100644
--- a/spring-session-data-redis/src/integration-test/java/org/springframework/session/data/redis/RedisOperationsSessionRepositoryITests.java
+++ b/spring-session-data-redis/src/integration-test/java/org/springframework/session/data/redis/RedisOperationsSessionRepositoryITests.java
@@ -51,7 +51,7 @@ import static org.assertj.core.api.Assertions.assertThat;
@ExtendWith(SpringExtension.class)
@ContextConfiguration
@WebAppConfiguration
-public class RedisOperationsSessionRepositoryITests extends AbstractRedisITests {
+class RedisOperationsSessionRepositoryITests extends AbstractRedisITests {
private static final String SPRING_SECURITY_CONTEXT = "SPRING_SECURITY_CONTEXT";
@@ -71,34 +71,31 @@ public class RedisOperationsSessionRepositoryITests extends AbstractRedisITests
private SecurityContext changedContext;
@BeforeEach
- public void setup() {
+ void setup() {
if (this.registry != null) {
this.registry.clear();
}
this.context = SecurityContextHolder.createEmptyContext();
- this.context.setAuthentication(
- new UsernamePasswordAuthenticationToken("username-" + UUID.randomUUID(),
- "na", AuthorityUtils.createAuthorityList("ROLE_USER")));
+ this.context.setAuthentication(new UsernamePasswordAuthenticationToken("username-" + UUID.randomUUID(), "na",
+ AuthorityUtils.createAuthorityList("ROLE_USER")));
this.changedContext = SecurityContextHolder.createEmptyContext();
this.changedContext.setAuthentication(new UsernamePasswordAuthenticationToken(
- "changedContext-" + UUID.randomUUID(), "na",
- AuthorityUtils.createAuthorityList("ROLE_USER")));
+ "changedContext-" + UUID.randomUUID(), "na", AuthorityUtils.createAuthorityList("ROLE_USER")));
}
@Test
- public void saves() throws InterruptedException {
+ void saves() throws InterruptedException {
String username = "saves-" + System.currentTimeMillis();
- String usernameSessionKey = "RedisOperationsSessionRepositoryITests:index:"
- + INDEX_NAME + ":" + username;
+ String usernameSessionKey = "RedisOperationsSessionRepositoryITests:index:" + INDEX_NAME + ":" + username;
RedisSession toSave = this.repository.createSession();
String expectedAttributeName = "a";
String expectedAttributeValue = "b";
toSave.setAttribute(expectedAttributeName, expectedAttributeValue);
- Authentication toSaveToken = new UsernamePasswordAuthenticationToken(username,
- "password", AuthorityUtils.createAuthorityList("ROLE_USER"));
+ Authentication toSaveToken = new UsernamePasswordAuthenticationToken(username, "password",
+ AuthorityUtils.createAuthorityList("ROLE_USER"));
SecurityContext toSaveContext = SecurityContextHolder.createEmptyContext();
toSaveContext.setAuthentication(toSaveToken);
toSave.setAttribute(SPRING_SECURITY_CONTEXT, toSaveContext);
@@ -108,10 +105,8 @@ public class RedisOperationsSessionRepositoryITests extends AbstractRedisITests
this.repository.save(toSave);
assertThat(this.registry.receivedEvent(toSave.getId())).isTrue();
- assertThat(this.registry.getEvent(toSave.getId()))
- .isInstanceOf(SessionCreatedEvent.class);
- assertThat(this.redis.boundSetOps(usernameSessionKey).members())
- .contains(toSave.getId());
+ assertThat(this.registry.getEvent(toSave.getId())).isInstanceOf(SessionCreatedEvent.class);
+ assertThat(this.redis.boundSetOps(usernameSessionKey).members()).contains(toSave.getId());
Session session = this.repository.findById(toSave.getId());
@@ -127,16 +122,14 @@ public class RedisOperationsSessionRepositoryITests extends AbstractRedisITests
assertThat(this.repository.findById(toSave.getId())).isNull();
assertThat(this.registry.getEvent(toSave.getId()))
.isInstanceOf(SessionDestroyedEvent.class);
- assertThat(this.redis.boundSetOps(usernameSessionKey).members())
- .doesNotContain(toSave.getId());
+ assertThat(this.redis.boundSetOps(usernameSessionKey).members()).doesNotContain(toSave.getId());
- assertThat(this.registry.getEvent(toSave.getId()).getSession()
- .getAttribute(expectedAttributeName))
+ assertThat(this.registry.getEvent(toSave.getId()).getSession().getAttribute(expectedAttributeName))
.isEqualTo(expectedAttributeValue);
}
@Test
- public void putAllOnSingleAttrDoesNotRemoveOld() {
+ void putAllOnSingleAttrDoesNotRemoveOld() {
RedisSession toSave = this.repository.createSession();
toSave.setAttribute("a", "b");
@@ -157,15 +150,15 @@ public class RedisOperationsSessionRepositoryITests extends AbstractRedisITests
}
@Test
- public void findByPrincipalName() throws Exception {
+ void findByPrincipalName() throws Exception {
String principalName = "findByPrincipalName" + UUID.randomUUID();
RedisSession toSave = this.repository.createSession();
toSave.setAttribute(INDEX_NAME, principalName);
this.repository.save(toSave);
- Map findByPrincipalName = this.repository
- .findByIndexNameAndIndexValue(INDEX_NAME, principalName);
+ Map findByPrincipalName = this.repository.findByIndexNameAndIndexValue(INDEX_NAME,
+ principalName);
assertThat(findByPrincipalName).hasSize(1);
assertThat(findByPrincipalName.keySet()).containsOnly(toSave.getId());
@@ -173,7 +166,28 @@ public class RedisOperationsSessionRepositoryITests extends AbstractRedisITests
this.repository.deleteById(toSave.getId());
assertThat(this.registry.receivedEvent(toSave.getId())).isTrue();
- findByPrincipalName = this.repository.findByIndexNameAndIndexValue(INDEX_NAME,
+ findByPrincipalName = this.repository.findByIndexNameAndIndexValue(INDEX_NAME, principalName);
+
+ assertThat(findByPrincipalName).hasSize(0);
+ assertThat(findByPrincipalName.keySet()).doesNotContain(toSave.getId());
+ }
+
+ @Test
+ void findByPrincipalNameExpireRemovesIndex() throws Exception {
+ String principalName = "findByPrincipalNameExpireRemovesIndex" + UUID.randomUUID();
+ RedisSession toSave = this.repository.createSession();
+ toSave.setAttribute(INDEX_NAME, principalName);
+
+ this.repository.save(toSave);
+
+ String body = "RedisOperationsSessionRepositoryITests:sessions:expires:" + toSave.getId();
+ String channel = "__keyevent@0__:expired";
+ DefaultMessage message = new DefaultMessage(channel.getBytes(StandardCharsets.UTF_8),
+ body.getBytes(StandardCharsets.UTF_8));
+ byte[] pattern = new byte[] {};
+ this.repository.onMessage(message, pattern);
+
+ Map findByPrincipalName = this.repository.findByIndexNameAndIndexValue(INDEX_NAME,
principalName);
assertThat(findByPrincipalName).hasSize(0);
@@ -181,34 +195,8 @@ public class RedisOperationsSessionRepositoryITests extends AbstractRedisITests
}
@Test
- public void findByPrincipalNameExpireRemovesIndex() throws Exception {
- String principalName = "findByPrincipalNameExpireRemovesIndex"
- + UUID.randomUUID();
- RedisSession toSave = this.repository.createSession();
- toSave.setAttribute(INDEX_NAME, principalName);
-
- this.repository.save(toSave);
-
- String body = "RedisOperationsSessionRepositoryITests:sessions:expires:"
- + toSave.getId();
- String channel = "__keyevent@0__:expired";
- DefaultMessage message = new DefaultMessage(
- channel.getBytes(StandardCharsets.UTF_8),
- body.getBytes(StandardCharsets.UTF_8));
- byte[] pattern = new byte[] {};
- this.repository.onMessage(message, pattern);
-
- Map findByPrincipalName = this.repository
- .findByIndexNameAndIndexValue(INDEX_NAME, principalName);
-
- assertThat(findByPrincipalName).hasSize(0);
- assertThat(findByPrincipalName.keySet()).doesNotContain(toSave.getId());
- }
-
- @Test
- public void findByPrincipalNameNoPrincipalNameChange() throws Exception {
- String principalName = "findByPrincipalNameNoPrincipalNameChange"
- + UUID.randomUUID();
+ void findByPrincipalNameNoPrincipalNameChange() throws Exception {
+ String principalName = "findByPrincipalNameNoPrincipalNameChange" + UUID.randomUUID();
RedisSession toSave = this.repository.createSession();
toSave.setAttribute(INDEX_NAME, principalName);
@@ -217,17 +205,16 @@ public class RedisOperationsSessionRepositoryITests extends AbstractRedisITests
toSave.setAttribute("other", "value");
this.repository.save(toSave);
- Map findByPrincipalName = this.repository
- .findByIndexNameAndIndexValue(INDEX_NAME, principalName);
+ Map findByPrincipalName = this.repository.findByIndexNameAndIndexValue(INDEX_NAME,
+ principalName);
assertThat(findByPrincipalName).hasSize(1);
assertThat(findByPrincipalName.keySet()).containsOnly(toSave.getId());
}
@Test
- public void findByPrincipalNameNoPrincipalNameChangeReload() throws Exception {
- String principalName = "findByPrincipalNameNoPrincipalNameChangeReload"
- + UUID.randomUUID();
+ void findByPrincipalNameNoPrincipalNameChangeReload() throws Exception {
+ String principalName = "findByPrincipalNameNoPrincipalNameChangeReload" + UUID.randomUUID();
RedisSession toSave = this.repository.createSession();
toSave.setAttribute(INDEX_NAME, principalName);
@@ -238,15 +225,15 @@ public class RedisOperationsSessionRepositoryITests extends AbstractRedisITests
toSave.setAttribute("other", "value");
this.repository.save(toSave);
- Map findByPrincipalName = this.repository
- .findByIndexNameAndIndexValue(INDEX_NAME, principalName);
+ Map findByPrincipalName = this.repository.findByIndexNameAndIndexValue(INDEX_NAME,
+ principalName);
assertThat(findByPrincipalName).hasSize(1);
assertThat(findByPrincipalName.keySet()).containsOnly(toSave.getId());
}
@Test
- public void findByDeletedPrincipalName() throws Exception {
+ void findByDeletedPrincipalName() throws Exception {
String principalName = "findByDeletedPrincipalName" + UUID.randomUUID();
RedisSession toSave = this.repository.createSession();
toSave.setAttribute(INDEX_NAME, principalName);
@@ -256,14 +243,14 @@ public class RedisOperationsSessionRepositoryITests extends AbstractRedisITests
toSave.setAttribute(INDEX_NAME, null);
this.repository.save(toSave);
- Map findByPrincipalName = this.repository
- .findByIndexNameAndIndexValue(INDEX_NAME, principalName);
+ Map findByPrincipalName = this.repository.findByIndexNameAndIndexValue(INDEX_NAME,
+ principalName);
assertThat(findByPrincipalName).isEmpty();
}
@Test
- public void findByChangedPrincipalName() throws Exception {
+ void findByChangedPrincipalName() throws Exception {
String principalName = "findByChangedPrincipalName" + UUID.randomUUID();
String principalNameChanged = "findByChangedPrincipalName" + UUID.randomUUID();
RedisSession toSave = this.repository.createSession();
@@ -274,19 +261,18 @@ public class RedisOperationsSessionRepositoryITests extends AbstractRedisITests
toSave.setAttribute(INDEX_NAME, principalNameChanged);
this.repository.save(toSave);
- Map findByPrincipalName = this.repository
- .findByIndexNameAndIndexValue(INDEX_NAME, principalName);
+ Map findByPrincipalName = this.repository.findByIndexNameAndIndexValue(INDEX_NAME,
+ principalName);
assertThat(findByPrincipalName).isEmpty();
- findByPrincipalName = this.repository.findByIndexNameAndIndexValue(INDEX_NAME,
- principalNameChanged);
+ findByPrincipalName = this.repository.findByIndexNameAndIndexValue(INDEX_NAME, principalNameChanged);
assertThat(findByPrincipalName).hasSize(1);
assertThat(findByPrincipalName.keySet()).containsOnly(toSave.getId());
}
@Test
- public void findByDeletedPrincipalNameReload() throws Exception {
+ void findByDeletedPrincipalNameReload() throws Exception {
String principalName = "findByDeletedPrincipalName" + UUID.randomUUID();
RedisSession toSave = this.repository.createSession();
toSave.setAttribute(INDEX_NAME, principalName);
@@ -297,14 +283,14 @@ public class RedisOperationsSessionRepositoryITests extends AbstractRedisITests
getSession.setAttribute(INDEX_NAME, null);
this.repository.save(getSession);
- Map findByPrincipalName = this.repository
- .findByIndexNameAndIndexValue(INDEX_NAME, principalName);
+ Map findByPrincipalName = this.repository.findByIndexNameAndIndexValue(INDEX_NAME,
+ principalName);
assertThat(findByPrincipalName).isEmpty();
}
@Test
- public void findByChangedPrincipalNameReload() throws Exception {
+ void findByChangedPrincipalNameReload() throws Exception {
String principalName = "findByChangedPrincipalName" + UUID.randomUUID();
String principalNameChanged = "findByChangedPrincipalName" + UUID.randomUUID();
RedisSession toSave = this.repository.createSession();
@@ -317,26 +303,25 @@ public class RedisOperationsSessionRepositoryITests extends AbstractRedisITests
getSession.setAttribute(INDEX_NAME, principalNameChanged);
this.repository.save(getSession);
- Map findByPrincipalName = this.repository
- .findByIndexNameAndIndexValue(INDEX_NAME, principalName);
+ Map findByPrincipalName = this.repository.findByIndexNameAndIndexValue(INDEX_NAME,
+ principalName);
assertThat(findByPrincipalName).isEmpty();
- findByPrincipalName = this.repository.findByIndexNameAndIndexValue(INDEX_NAME,
- principalNameChanged);
+ findByPrincipalName = this.repository.findByIndexNameAndIndexValue(INDEX_NAME, principalNameChanged);
assertThat(findByPrincipalName).hasSize(1);
assertThat(findByPrincipalName.keySet()).containsOnly(toSave.getId());
}
@Test
- public void findBySecurityPrincipalName() throws Exception {
+ void findBySecurityPrincipalName() throws Exception {
RedisSession toSave = this.repository.createSession();
toSave.setAttribute(SPRING_SECURITY_CONTEXT, this.context);
this.repository.save(toSave);
- Map findByPrincipalName = this.repository
- .findByIndexNameAndIndexValue(INDEX_NAME, getSecurityName());
+ Map findByPrincipalName = this.repository.findByIndexNameAndIndexValue(INDEX_NAME,
+ getSecurityName());
assertThat(findByPrincipalName).hasSize(1);
assertThat(findByPrincipalName.keySet()).containsOnly(toSave.getId());
@@ -344,7 +329,27 @@ public class RedisOperationsSessionRepositoryITests extends AbstractRedisITests
this.repository.deleteById(toSave.getId());
assertThat(this.registry.receivedEvent(toSave.getId())).isTrue();
- findByPrincipalName = this.repository.findByIndexNameAndIndexValue(INDEX_NAME,
+ findByPrincipalName = this.repository.findByIndexNameAndIndexValue(INDEX_NAME, getSecurityName());
+
+ assertThat(findByPrincipalName).hasSize(0);
+ assertThat(findByPrincipalName.keySet()).doesNotContain(toSave.getId());
+ }
+
+ @Test
+ void findBySecurityPrincipalNameExpireRemovesIndex() throws Exception {
+ RedisSession toSave = this.repository.createSession();
+ toSave.setAttribute(SPRING_SECURITY_CONTEXT, this.context);
+
+ this.repository.save(toSave);
+
+ String body = "RedisOperationsSessionRepositoryITests:sessions:expires:" + toSave.getId();
+ String channel = "__keyevent@0__:expired";
+ DefaultMessage message = new DefaultMessage(channel.getBytes(StandardCharsets.UTF_8),
+ body.getBytes(StandardCharsets.UTF_8));
+ byte[] pattern = new byte[] {};
+ this.repository.onMessage(message, pattern);
+
+ Map findByPrincipalName = this.repository.findByIndexNameAndIndexValue(INDEX_NAME,
getSecurityName());
assertThat(findByPrincipalName).hasSize(0);
@@ -352,30 +357,7 @@ public class RedisOperationsSessionRepositoryITests extends AbstractRedisITests
}
@Test
- public void findBySecurityPrincipalNameExpireRemovesIndex() throws Exception {
- RedisSession toSave = this.repository.createSession();
- toSave.setAttribute(SPRING_SECURITY_CONTEXT, this.context);
-
- this.repository.save(toSave);
-
- String body = "RedisOperationsSessionRepositoryITests:sessions:expires:"
- + toSave.getId();
- String channel = "__keyevent@0__:expired";
- DefaultMessage message = new DefaultMessage(
- channel.getBytes(StandardCharsets.UTF_8),
- body.getBytes(StandardCharsets.UTF_8));
- byte[] pattern = new byte[] {};
- this.repository.onMessage(message, pattern);
-
- Map findByPrincipalName = this.repository
- .findByIndexNameAndIndexValue(INDEX_NAME, getSecurityName());
-
- assertThat(findByPrincipalName).hasSize(0);
- assertThat(findByPrincipalName.keySet()).doesNotContain(toSave.getId());
- }
-
- @Test
- public void findByPrincipalNameNoSecurityPrincipalNameChange() throws Exception {
+ void findByPrincipalNameNoSecurityPrincipalNameChange() throws Exception {
RedisSession toSave = this.repository.createSession();
toSave.setAttribute(SPRING_SECURITY_CONTEXT, this.context);
@@ -384,16 +366,15 @@ public class RedisOperationsSessionRepositoryITests extends AbstractRedisITests
toSave.setAttribute("other", "value");
this.repository.save(toSave);
- Map findByPrincipalName = this.repository
- .findByIndexNameAndIndexValue(INDEX_NAME, getSecurityName());
+ Map findByPrincipalName = this.repository.findByIndexNameAndIndexValue(INDEX_NAME,
+ getSecurityName());
assertThat(findByPrincipalName).hasSize(1);
assertThat(findByPrincipalName.keySet()).containsOnly(toSave.getId());
}
@Test
- public void findByPrincipalNameNoSecurityPrincipalNameChangeReload()
- throws Exception {
+ void findByPrincipalNameNoSecurityPrincipalNameChangeReload() throws Exception {
RedisSession toSave = this.repository.createSession();
toSave.setAttribute(SPRING_SECURITY_CONTEXT, this.context);
@@ -404,15 +385,15 @@ public class RedisOperationsSessionRepositoryITests extends AbstractRedisITests
toSave.setAttribute("other", "value");
this.repository.save(toSave);
- Map findByPrincipalName = this.repository
- .findByIndexNameAndIndexValue(INDEX_NAME, getSecurityName());
+ Map findByPrincipalName = this.repository.findByIndexNameAndIndexValue(INDEX_NAME,
+ getSecurityName());
assertThat(findByPrincipalName).hasSize(1);
assertThat(findByPrincipalName.keySet()).containsOnly(toSave.getId());
}
@Test
- public void findByDeletedSecurityPrincipalName() throws Exception {
+ void findByDeletedSecurityPrincipalName() throws Exception {
RedisSession toSave = this.repository.createSession();
toSave.setAttribute(SPRING_SECURITY_CONTEXT, this.context);
@@ -421,14 +402,14 @@ public class RedisOperationsSessionRepositoryITests extends AbstractRedisITests
toSave.setAttribute(SPRING_SECURITY_CONTEXT, null);
this.repository.save(toSave);
- Map findByPrincipalName = this.repository
- .findByIndexNameAndIndexValue(INDEX_NAME, getSecurityName());
+ Map findByPrincipalName = this.repository.findByIndexNameAndIndexValue(INDEX_NAME,
+ getSecurityName());
assertThat(findByPrincipalName).isEmpty();
}
@Test
- public void findByChangedSecurityPrincipalName() throws Exception {
+ void findByChangedSecurityPrincipalName() throws Exception {
RedisSession toSave = this.repository.createSession();
toSave.setAttribute(SPRING_SECURITY_CONTEXT, this.context);
@@ -437,19 +418,18 @@ public class RedisOperationsSessionRepositoryITests extends AbstractRedisITests
toSave.setAttribute(SPRING_SECURITY_CONTEXT, this.changedContext);
this.repository.save(toSave);
- Map findByPrincipalName = this.repository
- .findByIndexNameAndIndexValue(INDEX_NAME, getSecurityName());
+ Map findByPrincipalName = this.repository.findByIndexNameAndIndexValue(INDEX_NAME,
+ getSecurityName());
assertThat(findByPrincipalName).isEmpty();
- findByPrincipalName = this.repository.findByIndexNameAndIndexValue(INDEX_NAME,
- getChangedSecurityName());
+ findByPrincipalName = this.repository.findByIndexNameAndIndexValue(INDEX_NAME, getChangedSecurityName());
assertThat(findByPrincipalName).hasSize(1);
assertThat(findByPrincipalName.keySet()).containsOnly(toSave.getId());
}
@Test
- public void findByDeletedSecurityPrincipalNameReload() throws Exception {
+ void findByDeletedSecurityPrincipalNameReload() throws Exception {
RedisSession toSave = this.repository.createSession();
toSave.setAttribute(SPRING_SECURITY_CONTEXT, this.context);
@@ -459,14 +439,14 @@ public class RedisOperationsSessionRepositoryITests extends AbstractRedisITests
getSession.setAttribute(INDEX_NAME, null);
this.repository.save(getSession);
- Map findByPrincipalName = this.repository
- .findByIndexNameAndIndexValue(INDEX_NAME, getChangedSecurityName());
+ Map findByPrincipalName = this.repository.findByIndexNameAndIndexValue(INDEX_NAME,
+ getChangedSecurityName());
assertThat(findByPrincipalName).isEmpty();
}
@Test
- public void findByChangedSecurityPrincipalNameReload() throws Exception {
+ void findByChangedSecurityPrincipalNameReload() throws Exception {
RedisSession toSave = this.repository.createSession();
toSave.setAttribute(SPRING_SECURITY_CONTEXT, this.context);
@@ -477,19 +457,18 @@ public class RedisOperationsSessionRepositoryITests extends AbstractRedisITests
getSession.setAttribute(SPRING_SECURITY_CONTEXT, this.changedContext);
this.repository.save(getSession);
- Map findByPrincipalName = this.repository
- .findByIndexNameAndIndexValue(INDEX_NAME, getSecurityName());
+ Map findByPrincipalName = this.repository.findByIndexNameAndIndexValue(INDEX_NAME,
+ getSecurityName());
assertThat(findByPrincipalName).isEmpty();
- findByPrincipalName = this.repository.findByIndexNameAndIndexValue(INDEX_NAME,
- getChangedSecurityName());
+ findByPrincipalName = this.repository.findByIndexNameAndIndexValue(INDEX_NAME, getChangedSecurityName());
assertThat(findByPrincipalName).hasSize(1);
assertThat(findByPrincipalName.keySet()).containsOnly(toSave.getId());
}
@Test
- public void changeSessionIdWhenOnlyChangeId() throws Exception {
+ void changeSessionIdWhenOnlyChangeId() throws Exception {
String attrName = "changeSessionId";
String attrValue = "changeSessionId-value";
RedisSession toSave = this.repository.createSession();
@@ -514,7 +493,7 @@ public class RedisOperationsSessionRepositoryITests extends AbstractRedisITests
}
@Test
- public void changeSessionIdWhenChangeTwice() throws Exception {
+ void changeSessionIdWhenChangeTwice() throws Exception {
RedisSession toSave = this.repository.createSession();
this.repository.save(toSave);
@@ -531,7 +510,7 @@ public class RedisOperationsSessionRepositoryITests extends AbstractRedisITests
}
@Test
- public void changeSessionIdWhenSetAttributeOnChangedSession() throws Exception {
+ void changeSessionIdWhenSetAttributeOnChangedSession() throws Exception {
String attrName = "changeSessionId";
String attrValue = "changeSessionId-value";
@@ -556,7 +535,7 @@ public class RedisOperationsSessionRepositoryITests extends AbstractRedisITests
}
@Test
- public void changeSessionIdWhenHasNotSaved() throws Exception {
+ void changeSessionIdWhenHasNotSaved() throws Exception {
String attrName = "changeSessionId";
String attrValue = "changeSessionId-value";
@@ -572,7 +551,7 @@ public class RedisOperationsSessionRepositoryITests extends AbstractRedisITests
// gh-962
@Test
- public void changeSessionIdSaveTwice() {
+ void changeSessionIdSaveTwice() {
RedisSession toSave = this.repository.createSession();
String originalId = toSave.getId();
toSave.changeSessionId();
@@ -586,7 +565,7 @@ public class RedisOperationsSessionRepositoryITests extends AbstractRedisITests
// gh-1137
@Test
- public void changeSessionIdWhenSessionIsDeleted() {
+ void changeSessionIdWhenSessionIsDeleted() {
RedisSession toSave = this.repository.createSession();
String sessionId = toSave.getId();
this.repository.save(toSave);
@@ -601,7 +580,7 @@ public class RedisOperationsSessionRepositoryITests extends AbstractRedisITests
}
@Test // gh-1270
- public void changeSessionIdSaveConcurrently() {
+ void changeSessionIdSaveConcurrently() {
RedisSession toSave = this.repository.createSession();
String originalId = toSave.getId();
this.repository.save(toSave);
diff --git a/spring-session-data-redis/src/integration-test/java/org/springframework/session/data/redis/SimpleRedisOperationsSessionRepositoryITests.java b/spring-session-data-redis/src/integration-test/java/org/springframework/session/data/redis/SimpleRedisOperationsSessionRepositoryITests.java
index 9b18edb4..8bb63d2d 100644
--- a/spring-session-data-redis/src/integration-test/java/org/springframework/session/data/redis/SimpleRedisOperationsSessionRepositoryITests.java
+++ b/spring-session-data-redis/src/integration-test/java/org/springframework/session/data/redis/SimpleRedisOperationsSessionRepositoryITests.java
@@ -56,10 +56,9 @@ class SimpleRedisOperationsSessionRepositoryITests extends AbstractRedisITests {
@Test
void save_NewSession_ShouldSaveSession() {
RedisSession session = createAndSaveSession(Instant.now());
- assertThat(session.getMaxInactiveInterval()).isEqualTo(
- Duration.ofSeconds(MapSession.DEFAULT_MAX_INACTIVE_INTERVAL_SECONDS));
- assertThat(session.getAttributeNames())
- .isEqualTo(Collections.singleton("attribute1"));
+ assertThat(session.getMaxInactiveInterval())
+ .isEqualTo(Duration.ofSeconds(MapSession.DEFAULT_MAX_INACTIVE_INTERVAL_SECONDS));
+ assertThat(session.getAttributeNames()).isEqualTo(Collections.singleton("attribute1"));
assertThat(session.getAttribute("attribute1")).isEqualTo("value1");
}
@@ -72,8 +71,7 @@ class SimpleRedisOperationsSessionRepositoryITests extends AbstractRedisITests {
void save_DeletedSession_ShouldThrowException() {
RedisSession session = createAndSaveSession(Instant.now());
this.sessionRepository.deleteById(session.getId());
- assertThatIllegalStateException()
- .isThrownBy(() -> this.sessionRepository.save(session))
+ assertThatIllegalStateException().isThrownBy(() -> this.sessionRepository.save(session))
.withMessage("Session was invalidated");
}
@@ -164,8 +162,7 @@ class SimpleRedisOperationsSessionRepositoryITests extends AbstractRedisITests {
this.sessionRepository.deleteById(originalSessionId);
updateSession(session, Instant.now(), "attribute1", "value1");
String newSessionId = session.changeSessionId();
- assertThatIllegalStateException()
- .isThrownBy(() -> this.sessionRepository.save(session))
+ assertThatIllegalStateException().isThrownBy(() -> this.sessionRepository.save(session))
.withMessage("Session was invalidated");
assertThat(this.sessionRepository.findById(newSessionId)).isNull();
assertThat(this.sessionRepository.findById(originalSessionId)).isNull();
@@ -182,8 +179,7 @@ class SimpleRedisOperationsSessionRepositoryITests extends AbstractRedisITests {
this.sessionRepository.save(copy1);
updateSession(copy2, now.plusSeconds(2L), "attribute3", "value3");
String newSessionId2 = copy2.changeSessionId();
- assertThatIllegalStateException()
- .isThrownBy(() -> this.sessionRepository.save(copy2))
+ assertThatIllegalStateException().isThrownBy(() -> this.sessionRepository.save(copy2))
.withMessage("Session was invalidated");
assertThat(this.sessionRepository.findById(newSessionId1)).isNotNull();
assertThat(this.sessionRepository.findById(newSessionId2)).isNull();
@@ -220,8 +216,8 @@ class SimpleRedisOperationsSessionRepositoryITests extends AbstractRedisITests {
return this.sessionRepository.findById(session.getId());
}
- private static void updateSession(RedisSession session, Instant lastAccessedTime,
- String attributeName, Object attributeValue) {
+ private static void updateSession(RedisSession session, Instant lastAccessedTime, String attributeName,
+ Object attributeValue) {
session.setLastAccessedTime(lastAccessedTime);
session.setAttribute(attributeName, attributeValue);
}
@@ -231,8 +227,7 @@ class SimpleRedisOperationsSessionRepositoryITests extends AbstractRedisITests {
static class Config extends BaseConfig {
@Bean
- public SimpleRedisOperationsSessionRepository sessionRepository(
- RedisConnectionFactory redisConnectionFactory) {
+ public SimpleRedisOperationsSessionRepository sessionRepository(RedisConnectionFactory redisConnectionFactory) {
RedisTemplate redisTemplate = new RedisTemplate<>();
redisTemplate.setConnectionFactory(redisConnectionFactory);
redisTemplate.afterPropertiesSet();
diff --git a/spring-session-data-redis/src/integration-test/java/org/springframework/session/data/redis/config/annotation/web/http/EnableRedisHttpSessionExpireSessionDestroyedTests.java b/spring-session-data-redis/src/integration-test/java/org/springframework/session/data/redis/config/annotation/web/http/EnableRedisHttpSessionExpireSessionDestroyedTests.java
index 45efcbaa..530f432b 100644
--- a/spring-session-data-redis/src/integration-test/java/org/springframework/session/data/redis/config/annotation/web/http/EnableRedisHttpSessionExpireSessionDestroyedTests.java
+++ b/spring-session-data-redis/src/integration-test/java/org/springframework/session/data/redis/config/annotation/web/http/EnableRedisHttpSessionExpireSessionDestroyedTests.java
@@ -44,8 +44,7 @@ import static org.assertj.core.api.Assertions.assertThat;
@ExtendWith(SpringExtension.class)
@ContextConfiguration
@WebAppConfiguration
-public class EnableRedisHttpSessionExpireSessionDestroyedTests
- extends AbstractRedisITests {
+class EnableRedisHttpSessionExpireSessionDestroyedTests extends AbstractRedisITests {
@Autowired
private SessionRepository repository;
@@ -56,16 +55,16 @@ public class EnableRedisHttpSessionExpireSessionDestroyedTests {
+ static class SessionExpiredEventRegistry implements ApplicationListener {
+
private boolean receivedEvent;
+
private Object lock;
@Override
@@ -109,6 +109,7 @@ public class EnableRedisHttpSessionExpireSessionDestroyedTests
- extends AbstractRedisITests {
+class RedisOperationsSessionRepositoryFlushImmediatelyITests extends AbstractRedisITests {
@Autowired
private SessionRepository sessionRepository;
@Test
- public void savesOnCreate() throws InterruptedException {
+ void savesOnCreate() throws InterruptedException {
S created = this.sessionRepository.createSession();
S getSession = this.sessionRepository.findById(created.getId());
diff --git a/spring-session-data-redis/src/integration-test/java/org/springframework/session/data/redis/taskexecutor/RedisListenerContainerTaskExecutorITests.java b/spring-session-data-redis/src/integration-test/java/org/springframework/session/data/redis/taskexecutor/RedisListenerContainerTaskExecutorITests.java
index 8b180b6c..218d9107 100644
--- a/spring-session-data-redis/src/integration-test/java/org/springframework/session/data/redis/taskexecutor/RedisListenerContainerTaskExecutorITests.java
+++ b/spring-session-data-redis/src/integration-test/java/org/springframework/session/data/redis/taskexecutor/RedisListenerContainerTaskExecutorITests.java
@@ -45,7 +45,7 @@ import static org.assertj.core.api.Assertions.assertThat;
@ExtendWith(SpringExtension.class)
@ContextConfiguration
@WebAppConfiguration
-public class RedisListenerContainerTaskExecutorITests extends AbstractRedisITests {
+class RedisListenerContainerTaskExecutorITests extends AbstractRedisITests {
@Autowired
private SessionTaskExecutor executor;
@@ -54,10 +54,9 @@ public class RedisListenerContainerTaskExecutorITests extends AbstractRedisITest
private RedisOperations
*
*
- * NOTE: The {@link #findById(String)} method ensures that no expired sessions
- * will be returned. This means there is no need to check the expiration before using a
- * session
+ * NOTE: The {@link #findById(String)} method ensures that no expired sessions will
+ * be returned. This means there is no need to check the expiration before using a session
*
*
*
* Spring Session relies on the expired and delete
- * keyspace notifications from Redis to
- * fire a SessionDestroyedEvent. It is the SessionDestroyedEvent that ensures resources
+ * keyspace notifications from Redis
+ * to fire a SessionDestroyedEvent. It is the SessionDestroyedEvent that ensures resources
* associated with the Session are cleaned up. For example, when using Spring Session's
* WebSocket support the Redis expired or delete event is what triggers any WebSocket
* connections associated with the session to be closed.
@@ -244,11 +245,10 @@ import org.springframework.util.Assert;
* @author Vedran Pavic
* @since 1.0
*/
-public class RedisOperationsSessionRepository implements
- FindByIndexNameSessionRepository,
- MessageListener {
- private static final Log logger = LogFactory
- .getLog(RedisOperationsSessionRepository.class);
+public class RedisOperationsSessionRepository
+ implements FindByIndexNameSessionRepository, MessageListener {
+
+ private static final Log logger = LogFactory.getLog(RedisOperationsSessionRepository.class);
private static final String SPRING_SECURITY_CONTEXT = "SPRING_SECURITY_CONTEXT";
@@ -303,16 +303,14 @@ public class RedisOperationsSessionRepository implements
/**
* Creates a new instance. For an example, refer to the class level javadoc.
- *
* @param sessionRedisOperations the {@link RedisOperations} to use for managing the
* sessions. Cannot be null.
*/
- public RedisOperationsSessionRepository(
- RedisOperations sessionRedisOperations) {
+ public RedisOperationsSessionRepository(RedisOperations sessionRedisOperations) {
Assert.notNull(sessionRedisOperations, "sessionRedisOperations cannot be null");
this.sessionRedisOperations = sessionRedisOperations;
- this.expirationPolicy = new RedisSessionExpirationPolicy(sessionRedisOperations,
- this::getExpirationsKey, this::getSessionKey);
+ this.expirationPolicy = new RedisSessionExpirationPolicy(sessionRedisOperations, this::getExpirationsKey,
+ this::getSessionKey);
configureSessionChannels();
}
@@ -320,14 +318,11 @@ public class RedisOperationsSessionRepository implements
* Sets the {@link ApplicationEventPublisher} that is used to publish
* {@link SessionDestroyedEvent}. The default is to not publish a
* {@link SessionDestroyedEvent}.
- *
* @param applicationEventPublisher the {@link ApplicationEventPublisher} that is used
* to publish {@link SessionDestroyedEvent}. Cannot be null.
*/
- public void setApplicationEventPublisher(
- ApplicationEventPublisher applicationEventPublisher) {
- Assert.notNull(applicationEventPublisher,
- "applicationEventPublisher cannot be null");
+ public void setApplicationEventPublisher(ApplicationEventPublisher applicationEventPublisher) {
+ Assert.notNull(applicationEventPublisher, "applicationEventPublisher cannot be null");
this.eventPublisher = applicationEventPublisher;
}
@@ -335,7 +330,6 @@ public class RedisOperationsSessionRepository implements
* Sets the maximum inactive interval in seconds between requests before newly created
* sessions will be invalidated. A negative time indicates that the session will never
* timeout. The default is 1800 (30 minutes).
- *
* @param defaultMaxInactiveInterval the number of seconds that the {@link Session}
* should be kept alive between client requests.
*/
@@ -346,7 +340,6 @@ public class RedisOperationsSessionRepository implements
/**
* Sets the default redis serializer. Replaces default serializer which is based on
* {@link JdkSerializationRedisSerializer}.
- *
* @param defaultSerializer the new default redis serializer
*/
public void setDefaultSerializer(RedisSerializer defaultSerializer) {
@@ -356,7 +349,6 @@ public class RedisOperationsSessionRepository implements
/**
* Sets the redis flush mode. Default flush mode is {@link RedisFlushMode#ON_SAVE}.
- *
* @param redisFlushMode the new redis flush mode
*/
public void setRedisFlushMode(RedisFlushMode redisFlushMode) {
@@ -374,8 +366,7 @@ public class RedisOperationsSessionRepository implements
}
private void configureSessionChannels() {
- this.sessionCreatedChannelPrefix = this.namespace + "event:" + this.database
- + ":created:";
+ this.sessionCreatedChannelPrefix = this.namespace + "event:" + this.database + ":created:";
this.sessionDeletedChannel = "__keyevent@" + this.database + "__:del";
this.sessionExpiredChannel = "__keyevent@" + this.database + "__:expired";
}
@@ -409,16 +400,13 @@ public class RedisOperationsSessionRepository implements
}
@Override
- public Map findByIndexNameAndIndexValue(String indexName,
- String indexValue) {
+ public Map findByIndexNameAndIndexValue(String indexName, String indexValue) {
if (!PRINCIPAL_NAME_INDEX_NAME.equals(indexName)) {
return Collections.emptyMap();
}
String principalKey = getPrincipalKey(indexValue);
- Set sessionIds = this.sessionRedisOperations.boundSetOps(principalKey)
- .members();
- Map sessions = new HashMap<>(
- sessionIds.size());
+ Set sessionIds = this.sessionRedisOperations.boundSetOps(principalKey).members();
+ Map sessions = new HashMap<>(sessionIds.size());
for (Object id : sessionIds) {
RedisSession session = findById((String) id);
if (session != null) {
@@ -463,9 +451,7 @@ public class RedisOperationsSessionRepository implements
loaded.setLastAccessedTime(Instant.ofEpochMilli((long) entry.getValue()));
}
else if (key.startsWith(RedisSessionMapper.ATTRIBUTE_PREFIX)) {
- loaded.setAttribute(
- key.substring(RedisSessionMapper.ATTRIBUTE_PREFIX.length()),
- entry.getValue());
+ loaded.setAttribute(key.substring(RedisSessionMapper.ATTRIBUTE_PREFIX.length()), entry.getValue());
}
}
return loaded;
@@ -490,10 +476,8 @@ public class RedisOperationsSessionRepository implements
@Override
public RedisSession createSession() {
- Duration maxInactiveInterval = Duration
- .ofSeconds((this.defaultMaxInactiveInterval != null)
- ? this.defaultMaxInactiveInterval
- : MapSession.DEFAULT_MAX_INACTIVE_INTERVAL_SECONDS);
+ Duration maxInactiveInterval = Duration.ofSeconds((this.defaultMaxInactiveInterval != null)
+ ? this.defaultMaxInactiveInterval : MapSession.DEFAULT_MAX_INACTIVE_INTERVAL_SECONDS);
RedisSession session = new RedisSession(maxInactiveInterval);
session.flushImmediateIfNecessary();
return session;
@@ -509,8 +493,7 @@ public class RedisOperationsSessionRepository implements
if (channel.startsWith(this.sessionCreatedChannelPrefix)) {
// TODO: is this thread safe?
- Map loaded = (Map) this.defaultSerializer
- .deserialize(message.getBody());
+ Map loaded = (Map) this.defaultSerializer.deserialize(message.getBody());
handleCreated(loaded, channel);
return;
}
@@ -529,8 +512,7 @@ public class RedisOperationsSessionRepository implements
RedisSession session = getSession(sessionId, true);
if (session == null) {
- logger.warn("Unable to publish SessionDestroyedEvent for session "
- + sessionId);
+ logger.warn("Unable to publish SessionDestroyedEvent for session " + sessionId);
return;
}
@@ -553,8 +535,7 @@ public class RedisOperationsSessionRepository implements
String sessionId = session.getId();
String principal = PRINCIPAL_NAME_RESOLVER.resolvePrincipal(session);
if (principal != null) {
- this.sessionRedisOperations.boundSetOps(getPrincipalKey(principal))
- .remove(sessionId);
+ this.sessionRedisOperations.boundSetOps(getPrincipalKey(principal)).remove(sessionId);
}
}
@@ -589,7 +570,6 @@ public class RedisOperationsSessionRepository implements
/**
* Gets the Hash key for this session by prefixing it appropriately.
- *
* @param sessionId the session id
* @return the Hash key for this session by prefixing it appropriately.
*/
@@ -598,8 +578,7 @@ public class RedisOperationsSessionRepository implements
}
String getPrincipalKey(String principalName) {
- return this.namespace + "index:"
- + FindByIndexNameSessionRepository.PRINCIPAL_NAME_INDEX_NAME + ":"
+ return this.namespace + "index:" + FindByIndexNameSessionRepository.PRINCIPAL_NAME_INDEX_NAME + ":"
+ principalName;
}
@@ -650,15 +629,13 @@ public class RedisOperationsSessionRepository implements
* @param sessionId the id of the {@link Session} to work with
* @return the {@link BoundHashOperations} to operate on a {@link Session}
*/
- private BoundHashOperations getSessionBoundHashOperations(
- String sessionId) {
+ private BoundHashOperations getSessionBoundHashOperations(String sessionId) {
String key = getSessionKey(sessionId);
return this.sessionRedisOperations.boundHashOps(key);
}
/**
* Gets the key for the specified session attribute.
- *
* @param attributeName the attribute name
* @return the attribute key name
*/
@@ -676,35 +653,36 @@ public class RedisOperationsSessionRepository implements
* @since 1.0
*/
final class RedisSession implements Session {
+
private final MapSession cached;
+
private Instant originalLastAccessTime;
+
private Map delta = new HashMap<>();
+
private boolean isNew;
+
private String originalPrincipalName;
+
private String originalSessionId;
/**
* Creates a new instance ensuring to mark all of the new attributes to be
* persisted in the next save operation.
- *
* @param maxInactiveInterval the amount of time that the {@link Session} should
* be kept alive between client requests.
*/
RedisSession(Duration maxInactiveInterval) {
this(new MapSession());
this.cached.setMaxInactiveInterval(maxInactiveInterval);
- this.delta.put(RedisSessionMapper.CREATION_TIME_KEY,
- getCreationTime().toEpochMilli());
- this.delta.put(RedisSessionMapper.MAX_INACTIVE_INTERVAL_KEY,
- (int) getMaxInactiveInterval().getSeconds());
- this.delta.put(RedisSessionMapper.LAST_ACCESSED_TIME_KEY,
- getLastAccessedTime().toEpochMilli());
+ this.delta.put(RedisSessionMapper.CREATION_TIME_KEY, getCreationTime().toEpochMilli());
+ this.delta.put(RedisSessionMapper.MAX_INACTIVE_INTERVAL_KEY, (int) getMaxInactiveInterval().getSeconds());
+ this.delta.put(RedisSessionMapper.LAST_ACCESSED_TIME_KEY, getLastAccessedTime().toEpochMilli());
this.isNew = true;
}
/**
* Creates a new instance from the provided {@link MapSession}.
- *
* @param cached the {@link MapSession} that represents the persisted session that
* was retrieved. Cannot be null.
*/
@@ -722,8 +700,7 @@ public class RedisOperationsSessionRepository implements
@Override
public void setLastAccessedTime(Instant lastAccessedTime) {
this.cached.setLastAccessedTime(lastAccessedTime);
- this.putAndFlush(RedisSessionMapper.LAST_ACCESSED_TIME_KEY,
- getLastAccessedTime().toEpochMilli());
+ this.putAndFlush(RedisSessionMapper.LAST_ACCESSED_TIME_KEY, getLastAccessedTime().toEpochMilli());
}
@Override
@@ -758,8 +735,7 @@ public class RedisOperationsSessionRepository implements
@Override
public void setMaxInactiveInterval(Duration interval) {
this.cached.setMaxInactiveInterval(interval);
- this.putAndFlush(RedisSessionMapper.MAX_INACTIVE_INTERVAL_KEY,
- (int) getMaxInactiveInterval().getSeconds());
+ this.putAndFlush(RedisSessionMapper.MAX_INACTIVE_INTERVAL_KEY, (int) getMaxInactiveInterval().getSeconds());
}
@Override
@@ -817,33 +793,27 @@ public class RedisOperationsSessionRepository implements
getSessionBoundHashOperations(sessionId).putAll(this.delta);
String principalSessionKey = getSessionAttrNameKey(
FindByIndexNameSessionRepository.PRINCIPAL_NAME_INDEX_NAME);
- String securityPrincipalSessionKey = getSessionAttrNameKey(
- SPRING_SECURITY_CONTEXT);
- if (this.delta.containsKey(principalSessionKey)
- || this.delta.containsKey(securityPrincipalSessionKey)) {
+ String securityPrincipalSessionKey = getSessionAttrNameKey(SPRING_SECURITY_CONTEXT);
+ if (this.delta.containsKey(principalSessionKey) || this.delta.containsKey(securityPrincipalSessionKey)) {
if (this.originalPrincipalName != null) {
- String originalPrincipalRedisKey = getPrincipalKey(
- this.originalPrincipalName);
- RedisOperationsSessionRepository.this.sessionRedisOperations
- .boundSetOps(originalPrincipalRedisKey).remove(sessionId);
+ String originalPrincipalRedisKey = getPrincipalKey(this.originalPrincipalName);
+ RedisOperationsSessionRepository.this.sessionRedisOperations.boundSetOps(originalPrincipalRedisKey)
+ .remove(sessionId);
}
String principal = PRINCIPAL_NAME_RESOLVER.resolvePrincipal(this);
this.originalPrincipalName = principal;
if (principal != null) {
String principalRedisKey = getPrincipalKey(principal);
- RedisOperationsSessionRepository.this.sessionRedisOperations
- .boundSetOps(principalRedisKey).add(sessionId);
+ RedisOperationsSessionRepository.this.sessionRedisOperations.boundSetOps(principalRedisKey)
+ .add(sessionId);
}
}
this.delta = new HashMap<>(this.delta.size());
Long originalExpiration = (this.originalLastAccessTime != null)
- ? this.originalLastAccessTime.plus(getMaxInactiveInterval())
- .toEpochMilli()
- : null;
- RedisOperationsSessionRepository.this.expirationPolicy
- .onExpirationUpdated(originalExpiration, this);
+ ? this.originalLastAccessTime.plus(getMaxInactiveInterval()).toEpochMilli() : null;
+ RedisOperationsSessionRepository.this.expirationPolicy.onExpirationUpdated(originalExpiration, this);
}
private void saveChangeSessionId() {
@@ -855,8 +825,8 @@ public class RedisOperationsSessionRepository implements
String originalSessionIdKey = getSessionKey(this.originalSessionId);
String sessionIdKey = getSessionKey(sessionId);
try {
- RedisOperationsSessionRepository.this.sessionRedisOperations
- .rename(originalSessionIdKey, sessionIdKey);
+ RedisOperationsSessionRepository.this.sessionRedisOperations.rename(originalSessionIdKey,
+ sessionIdKey);
}
catch (NonTransientDataAccessException ex) {
handleErrNoSuchKeyError(ex);
@@ -864,8 +834,7 @@ public class RedisOperationsSessionRepository implements
String originalExpiredKey = getExpiredKey(this.originalSessionId);
String expiredKey = getExpiredKey(sessionId);
try {
- RedisOperationsSessionRepository.this.sessionRedisOperations
- .rename(originalExpiredKey, expiredKey);
+ RedisOperationsSessionRepository.this.sessionRedisOperations.rename(originalExpiredKey, expiredKey);
}
catch (NonTransientDataAccessException ex) {
handleErrNoSuchKeyError(ex);
@@ -875,8 +844,7 @@ public class RedisOperationsSessionRepository implements
}
private void handleErrNoSuchKeyError(NonTransientDataAccessException ex) {
- if (!"ERR no such key"
- .equals(NestedExceptionUtils.getMostSpecificCause(ex).getMessage())) {
+ if (!"ERR no such key".equals(NestedExceptionUtils.getMostSpecificCause(ex).getMessage())) {
throw ex;
}
}
@@ -887,6 +855,7 @@ public class RedisOperationsSessionRepository implements
* Principal name resolver helper class.
*/
static class PrincipalNameResolver {
+
private SpelExpressionParser parser = new SpelExpressionParser();
public String resolvePrincipal(Session session) {
@@ -896,12 +865,12 @@ public class RedisOperationsSessionRepository implements
}
Object authentication = session.getAttribute(SPRING_SECURITY_CONTEXT);
if (authentication != null) {
- Expression expression = this.parser
- .parseExpression("authentication?.name");
+ Expression expression = this.parser.parseExpression("authentication?.name");
return expression.getValue(authentication, String.class);
}
return null;
}
}
+
}
diff --git a/spring-session-data-redis/src/main/java/org/springframework/session/data/redis/RedisSessionExpirationPolicy.java b/spring-session-data-redis/src/main/java/org/springframework/session/data/redis/RedisSessionExpirationPolicy.java
index 0499c638..4465fcf7 100644
--- a/spring-session-data-redis/src/main/java/org/springframework/session/data/redis/RedisSessionExpirationPolicy.java
+++ b/spring-session-data-redis/src/main/java/org/springframework/session/data/redis/RedisSessionExpirationPolicy.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2017 the original author or authors.
+ * Copyright 2014-2019 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -48,11 +48,12 @@ import org.springframework.session.data.redis.RedisOperationsSessionRepository.R
*/
final class RedisSessionExpirationPolicy {
- private static final Log logger = LogFactory
- .getLog(RedisSessionExpirationPolicy.class);
+ private static final Log logger = LogFactory.getLog(RedisSessionExpirationPolicy.class);
private final RedisOperations redis;
+
private final Function lookupExpirationKey;
+
private final Function lookupSessionKey;
RedisSessionExpirationPolicy(RedisOperations sessionRedisOperations,
@@ -92,12 +93,10 @@ final class RedisSessionExpirationPolicy {
}
String expireKey = getExpirationKey(toExpire);
- BoundSetOperations expireOperations = this.redis
- .boundSetOps(expireKey);
+ BoundSetOperations expireOperations = this.redis.boundSetOps(expireKey);
expireOperations.add(keyToExpire);
- long fiveMinutesAfterExpires = sessionExpireInSeconds
- + TimeUnit.MINUTES.toSeconds(5);
+ long fiveMinutesAfterExpires = sessionExpireInSeconds + TimeUnit.MINUTES.toSeconds(5);
expireOperations.expire(fiveMinutesAfterExpires, TimeUnit.SECONDS);
if (sessionExpireInSeconds == 0) {
@@ -105,11 +104,9 @@ final class RedisSessionExpirationPolicy {
}
else {
this.redis.boundValueOps(sessionKey).append("");
- this.redis.boundValueOps(sessionKey).expire(sessionExpireInSeconds,
- TimeUnit.SECONDS);
+ this.redis.boundValueOps(sessionKey).expire(sessionExpireInSeconds, TimeUnit.SECONDS);
}
- this.redis.boundHashOps(getSessionKey(session.getId()))
- .expire(fiveMinutesAfterExpires, TimeUnit.SECONDS);
+ this.redis.boundHashOps(getSessionKey(session.getId())).expire(fiveMinutesAfterExpires, TimeUnit.SECONDS);
}
String getExpirationKey(long expires) {
@@ -141,7 +138,6 @@ final class RedisSessionExpirationPolicy {
* By trying to access the session we only trigger a deletion if it the TTL is
* expired. This is done to handle
* https://github.com/spring-projects/spring-session/issues/93
- *
* @param key the key
*/
private void touch(String key) {
@@ -171,4 +167,5 @@ final class RedisSessionExpirationPolicy {
date.clear(Calendar.MILLISECOND);
return date.getTimeInMillis();
}
+
}
diff --git a/spring-session-data-redis/src/main/java/org/springframework/session/data/redis/SimpleRedisOperationsSessionRepository.java b/spring-session-data-redis/src/main/java/org/springframework/session/data/redis/SimpleRedisOperationsSessionRepository.java
index 3eb0829a..75fac9e4 100644
--- a/spring-session-data-redis/src/main/java/org/springframework/session/data/redis/SimpleRedisOperationsSessionRepository.java
+++ b/spring-session-data-redis/src/main/java/org/springframework/session/data/redis/SimpleRedisOperationsSessionRepository.java
@@ -38,15 +38,14 @@ import org.springframework.util.Assert;
* @author Vedran Pavic
* @since 2.2.0
*/
-public class SimpleRedisOperationsSessionRepository implements
- SessionRepository {
+public class SimpleRedisOperationsSessionRepository
+ implements SessionRepository {
private static final String DEFAULT_KEY_NAMESPACE = "spring:session:";
private final RedisOperations sessionRedisOperations;
- private Duration defaultMaxInactiveInterval = Duration
- .ofSeconds(MapSession.DEFAULT_MAX_INACTIVE_INTERVAL_SECONDS);
+ private Duration defaultMaxInactiveInterval = Duration.ofSeconds(MapSession.DEFAULT_MAX_INACTIVE_INTERVAL_SECONDS);
private String keyNamespace = DEFAULT_KEY_NAMESPACE;
@@ -55,10 +54,9 @@ public class SimpleRedisOperationsSessionRepository implements
/**
* Create a new {@link SimpleRedisOperationsSessionRepository} instance.
* @param sessionRedisOperations the {@link RedisOperations} to use for managing
- * sessions
+ * sessions
*/
- public SimpleRedisOperationsSessionRepository(
- RedisOperations sessionRedisOperations) {
+ public SimpleRedisOperationsSessionRepository(RedisOperations sessionRedisOperations) {
Assert.notNull(sessionRedisOperations, "sessionRedisOperations mut not be null");
this.sessionRedisOperations = sessionRedisOperations;
}
@@ -68,8 +66,7 @@ public class SimpleRedisOperationsSessionRepository implements
* @param defaultMaxInactiveInterval the default maxInactiveInterval
*/
public void setDefaultMaxInactiveInterval(Duration defaultMaxInactiveInterval) {
- Assert.notNull(defaultMaxInactiveInterval,
- "defaultMaxInactiveInterval must not be null");
+ Assert.notNull(defaultMaxInactiveInterval, "defaultMaxInactiveInterval must not be null");
this.defaultMaxInactiveInterval = defaultMaxInactiveInterval;
}
@@ -101,9 +98,7 @@ public class SimpleRedisOperationsSessionRepository implements
@Override
public void save(RedisSession session) {
if (!session.isNew) {
- String key = getSessionKey(
- session.hasChangedSessionId() ? session.originalSessionId
- : session.getId());
+ String key = getSessionKey(session.hasChangedSessionId() ? session.originalSessionId : session.getId());
Boolean sessionExists = this.sessionRedisOperations.hasKey(key);
if (sessionExists == null || !sessionExists) {
throw new IllegalStateException("Session was invalidated");
@@ -115,8 +110,7 @@ public class SimpleRedisOperationsSessionRepository implements
@Override
public RedisSession findById(String sessionId) {
String key = getSessionKey(sessionId);
- Map entries = this.sessionRedisOperations
- .opsForHash().entries(key);
+ Map entries = this.sessionRedisOperations.opsForHash().entries(key);
if (entries.isEmpty()) {
return null;
}
@@ -162,12 +156,9 @@ public class SimpleRedisOperationsSessionRepository implements
RedisSession(Duration maxInactiveInterval) {
this(new MapSession());
this.cached.setMaxInactiveInterval(maxInactiveInterval);
- this.delta.put(RedisSessionMapper.CREATION_TIME_KEY,
- getCreationTime().toEpochMilli());
- this.delta.put(RedisSessionMapper.MAX_INACTIVE_INTERVAL_KEY,
- (int) getMaxInactiveInterval().getSeconds());
- this.delta.put(RedisSessionMapper.LAST_ACCESSED_TIME_KEY,
- getLastAccessedTime().toEpochMilli());
+ this.delta.put(RedisSessionMapper.CREATION_TIME_KEY, getCreationTime().toEpochMilli());
+ this.delta.put(RedisSessionMapper.MAX_INACTIVE_INTERVAL_KEY, (int) getMaxInactiveInterval().getSeconds());
+ this.delta.put(RedisSessionMapper.LAST_ACCESSED_TIME_KEY, getLastAccessedTime().toEpochMilli());
this.isNew = true;
}
@@ -199,8 +190,7 @@ public class SimpleRedisOperationsSessionRepository implements
@Override
public void setAttribute(String attributeName, Object attributeValue) {
this.cached.setAttribute(attributeName, attributeValue);
- putAttribute(RedisSessionMapper.ATTRIBUTE_PREFIX + attributeName,
- attributeValue);
+ putAttribute(RedisSessionMapper.ATTRIBUTE_PREFIX + attributeName, attributeValue);
}
@Override
@@ -216,8 +206,7 @@ public class SimpleRedisOperationsSessionRepository implements
@Override
public void setLastAccessedTime(Instant lastAccessedTime) {
this.cached.setLastAccessedTime(lastAccessedTime);
- putAttribute(RedisSessionMapper.LAST_ACCESSED_TIME_KEY,
- getLastAccessedTime().toEpochMilli());
+ putAttribute(RedisSessionMapper.LAST_ACCESSED_TIME_KEY, getLastAccessedTime().toEpochMilli());
}
@Override
@@ -228,8 +217,7 @@ public class SimpleRedisOperationsSessionRepository implements
@Override
public void setMaxInactiveInterval(Duration interval) {
this.cached.setMaxInactiveInterval(interval);
- putAttribute(RedisSessionMapper.MAX_INACTIVE_INTERVAL_KEY,
- (int) getMaxInactiveInterval().getSeconds());
+ putAttribute(RedisSessionMapper.MAX_INACTIVE_INTERVAL_KEY, (int) getMaxInactiveInterval().getSeconds());
}
@Override
@@ -265,8 +253,8 @@ public class SimpleRedisOperationsSessionRepository implements
if (!this.isNew) {
String originalSessionIdKey = getSessionKey(this.originalSessionId);
String sessionIdKey = getSessionKey(getId());
- SimpleRedisOperationsSessionRepository.this.sessionRedisOperations
- .rename(originalSessionIdKey, sessionIdKey);
+ SimpleRedisOperationsSessionRepository.this.sessionRedisOperations.rename(originalSessionIdKey,
+ sessionIdKey);
}
this.originalSessionId = getId();
}
@@ -277,13 +265,11 @@ public class SimpleRedisOperationsSessionRepository implements
return;
}
String key = getSessionKey(getId());
- SimpleRedisOperationsSessionRepository.this.sessionRedisOperations
- .opsForHash().putAll(key, new HashMap<>(this.delta));
- SimpleRedisOperationsSessionRepository.this.sessionRedisOperations
- .expireAt(key,
- Date.from(Instant
- .ofEpochMilli(getLastAccessedTime().toEpochMilli())
- .plusSeconds(getMaxInactiveInterval().getSeconds())));
+ SimpleRedisOperationsSessionRepository.this.sessionRedisOperations.opsForHash().putAll(key,
+ new HashMap<>(this.delta));
+ SimpleRedisOperationsSessionRepository.this.sessionRedisOperations.expireAt(key,
+ Date.from(Instant.ofEpochMilli(getLastAccessedTime().toEpochMilli())
+ .plusSeconds(getMaxInactiveInterval().getSeconds())));
this.delta.clear();
}
diff --git a/spring-session-data-redis/src/main/java/org/springframework/session/data/redis/config/annotation/SpringSessionRedisConnectionFactory.java b/spring-session-data-redis/src/main/java/org/springframework/session/data/redis/config/annotation/SpringSessionRedisConnectionFactory.java
index ed2cd7e5..6ec11fa6 100644
--- a/spring-session-data-redis/src/main/java/org/springframework/session/data/redis/config/annotation/SpringSessionRedisConnectionFactory.java
+++ b/spring-session-data-redis/src/main/java/org/springframework/session/data/redis/config/annotation/SpringSessionRedisConnectionFactory.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2017 the original author or authors.
+ * Copyright 2014-2019 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -33,8 +33,7 @@ import org.springframework.session.data.redis.RedisOperationsSessionRepository;
* @author Vedran Pavic
* @since 2.0.0
*/
-@Target({ ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER, ElementType.TYPE,
- ElementType.ANNOTATION_TYPE })
+@Target({ ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER, ElementType.TYPE, ElementType.ANNOTATION_TYPE })
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Qualifier
diff --git a/spring-session-data-redis/src/main/java/org/springframework/session/data/redis/config/annotation/SpringSessionRedisOperations.java b/spring-session-data-redis/src/main/java/org/springframework/session/data/redis/config/annotation/SpringSessionRedisOperations.java
index 828c7d99..69f7fdcb 100644
--- a/spring-session-data-redis/src/main/java/org/springframework/session/data/redis/config/annotation/SpringSessionRedisOperations.java
+++ b/spring-session-data-redis/src/main/java/org/springframework/session/data/redis/config/annotation/SpringSessionRedisOperations.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2018 the original author or authors.
+ * Copyright 2014-2019 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -33,8 +33,7 @@ import org.springframework.beans.factory.annotation.Value;
* @see org.springframework.session.data.redis.ReactiveRedisOperationsSessionRepository#getSessionRedisOperations()
* @since 2.0.0
*/
-@Target({ ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER,
- ElementType.ANNOTATION_TYPE })
+@Target({ ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER, ElementType.ANNOTATION_TYPE })
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Value("#{sessionRepository.sessionRedisOperations}")
diff --git a/spring-session-data-redis/src/main/java/org/springframework/session/data/redis/config/annotation/web/http/RedisHttpSessionConfiguration.java b/spring-session-data-redis/src/main/java/org/springframework/session/data/redis/config/annotation/web/http/RedisHttpSessionConfiguration.java
index 470f164e..5d305206 100644
--- a/spring-session-data-redis/src/main/java/org/springframework/session/data/redis/config/annotation/web/http/RedisHttpSessionConfiguration.java
+++ b/spring-session-data-redis/src/main/java/org/springframework/session/data/redis/config/annotation/web/http/RedisHttpSessionConfiguration.java
@@ -75,8 +75,7 @@ import org.springframework.util.StringValueResolver;
@Configuration(proxyBeanMethods = false)
@EnableScheduling
public class RedisHttpSessionConfiguration extends SpringHttpSessionConfiguration
- implements BeanClassLoaderAware, EmbeddedValueResolverAware, ImportAware,
- SchedulingConfigurer {
+ implements BeanClassLoaderAware, EmbeddedValueResolverAware, ImportAware, SchedulingConfigurer {
static final String DEFAULT_CLEANUP_CRON = "0 * * * * *";
@@ -107,14 +106,12 @@ public class RedisHttpSessionConfiguration extends SpringHttpSessionConfiguratio
@Bean
public RedisOperationsSessionRepository sessionRepository() {
RedisTemplate redisTemplate = createRedisTemplate();
- RedisOperationsSessionRepository sessionRepository = new RedisOperationsSessionRepository(
- redisTemplate);
+ RedisOperationsSessionRepository sessionRepository = new RedisOperationsSessionRepository(redisTemplate);
sessionRepository.setApplicationEventPublisher(this.applicationEventPublisher);
if (this.defaultRedisSerializer != null) {
sessionRepository.setDefaultSerializer(this.defaultRedisSerializer);
}
- sessionRepository
- .setDefaultMaxInactiveInterval(this.maxInactiveIntervalInSeconds);
+ sessionRepository.setDefaultMaxInactiveInterval(this.maxInactiveIntervalInSeconds);
if (StringUtils.hasText(this.redisNamespace)) {
sessionRepository.setRedisKeyNamespace(this.redisNamespace);
}
@@ -136,19 +133,16 @@ public class RedisHttpSessionConfiguration extends SpringHttpSessionConfiguratio
container.setSubscriptionExecutor(this.redisSubscriptionExecutor);
}
container.addMessageListener(sessionRepository,
- Arrays.asList(
- new ChannelTopic(sessionRepository.getSessionDeletedChannel()),
+ Arrays.asList(new ChannelTopic(sessionRepository.getSessionDeletedChannel()),
new ChannelTopic(sessionRepository.getSessionExpiredChannel())));
container.addMessageListener(sessionRepository,
- Collections.singletonList(new PatternTopic(
- sessionRepository.getSessionCreatedChannelPrefix() + "*")));
+ Collections.singletonList(new PatternTopic(sessionRepository.getSessionCreatedChannelPrefix() + "*")));
return container;
}
@Bean
public InitializingBean enableRedisKeyspaceNotificationsInitializer() {
- return new EnableRedisKeyspaceNotificationsInitializer(
- this.redisConnectionFactory, this.configureRedisAction);
+ return new EnableRedisKeyspaceNotificationsInitializer(this.redisConnectionFactory, this.configureRedisAction);
}
public void setMaxInactiveIntervalInSeconds(int maxInactiveIntervalInSeconds) {
@@ -170,7 +164,6 @@ public class RedisHttpSessionConfiguration extends SpringHttpSessionConfiguratio
/**
* Sets the action to perform for configuring Redis.
- *
* @param configureRedisAction the configureRedis to set. The default is
* {@link ConfigureNotifyKeyspaceEventsAction}.
*/
@@ -183,8 +176,7 @@ public class RedisHttpSessionConfiguration extends SpringHttpSessionConfiguratio
public void setRedisConnectionFactory(
@SpringSessionRedisConnectionFactory ObjectProvider springSessionRedisConnectionFactory,
ObjectProvider redisConnectionFactory) {
- RedisConnectionFactory redisConnectionFactoryToUse = springSessionRedisConnectionFactory
- .getIfAvailable();
+ RedisConnectionFactory redisConnectionFactoryToUse = springSessionRedisConnectionFactory.getIfAvailable();
if (redisConnectionFactoryToUse == null) {
redisConnectionFactoryToUse = redisConnectionFactory.getObject();
}
@@ -193,14 +185,12 @@ public class RedisHttpSessionConfiguration extends SpringHttpSessionConfiguratio
@Autowired(required = false)
@Qualifier("springSessionDefaultRedisSerializer")
- public void setDefaultRedisSerializer(
- RedisSerializer defaultRedisSerializer) {
+ public void setDefaultRedisSerializer(RedisSerializer defaultRedisSerializer) {
this.defaultRedisSerializer = defaultRedisSerializer;
}
@Autowired
- public void setApplicationEventPublisher(
- ApplicationEventPublisher applicationEventPublisher) {
+ public void setApplicationEventPublisher(ApplicationEventPublisher applicationEventPublisher) {
this.applicationEventPublisher = applicationEventPublisher;
}
@@ -231,12 +221,10 @@ public class RedisHttpSessionConfiguration extends SpringHttpSessionConfiguratio
Map attributeMap = importMetadata
.getAnnotationAttributes(EnableRedisHttpSession.class.getName());
AnnotationAttributes attributes = AnnotationAttributes.fromMap(attributeMap);
- this.maxInactiveIntervalInSeconds = attributes
- .getNumber("maxInactiveIntervalInSeconds");
+ this.maxInactiveIntervalInSeconds = attributes.getNumber("maxInactiveIntervalInSeconds");
String redisNamespaceValue = attributes.getString("redisNamespace");
if (StringUtils.hasText(redisNamespaceValue)) {
- this.redisNamespace = this.embeddedValueResolver
- .resolveStringValue(redisNamespaceValue);
+ this.redisNamespace = this.embeddedValueResolver.resolveStringValue(redisNamespaceValue);
}
this.redisFlushMode = attributes.getEnum("redisFlushMode");
String cleanupCron = attributes.getString("cleanupCron");
@@ -247,8 +235,7 @@ public class RedisHttpSessionConfiguration extends SpringHttpSessionConfiguratio
@Override
public void configureTasks(ScheduledTaskRegistrar taskRegistrar) {
- taskRegistrar.addCronTask(() -> sessionRepository().cleanupExpiredSessions(),
- this.cleanupCron);
+ taskRegistrar.addCronTask(() -> sessionRepository().cleanupExpiredSessions(), this.cleanupCron);
}
private RedisTemplate createRedisTemplate() {
@@ -289,8 +276,7 @@ public class RedisHttpSessionConfiguration extends SpringHttpSessionConfiguratio
private ConfigureRedisAction configure;
- EnableRedisKeyspaceNotificationsInitializer(
- RedisConnectionFactory connectionFactory,
+ EnableRedisKeyspaceNotificationsInitializer(RedisConnectionFactory connectionFactory,
ConfigureRedisAction configure) {
this.connectionFactory = connectionFactory;
this.configure = configure;
@@ -310,8 +296,7 @@ public class RedisHttpSessionConfiguration extends SpringHttpSessionConfiguratio
connection.close();
}
catch (Exception ex) {
- LogFactory.getLog(getClass()).error("Error closing RedisConnection",
- ex);
+ LogFactory.getLog(getClass()).error("Error closing RedisConnection", ex);
}
}
}
diff --git a/spring-session-data-redis/src/main/java/org/springframework/session/data/redis/config/annotation/web/server/RedisWebSessionConfiguration.java b/spring-session-data-redis/src/main/java/org/springframework/session/data/redis/config/annotation/web/server/RedisWebSessionConfiguration.java
index 34b858bd..f69e8b09 100644
--- a/spring-session-data-redis/src/main/java/org/springframework/session/data/redis/config/annotation/web/server/RedisWebSessionConfiguration.java
+++ b/spring-session-data-redis/src/main/java/org/springframework/session/data/redis/config/annotation/web/server/RedisWebSessionConfiguration.java
@@ -76,8 +76,7 @@ public class RedisWebSessionConfiguration extends SpringWebSessionConfiguration
ReactiveRedisTemplate reactiveRedisTemplate = createReactiveRedisTemplate();
ReactiveRedisOperationsSessionRepository sessionRepository = new ReactiveRedisOperationsSessionRepository(
reactiveRedisTemplate);
- sessionRepository
- .setDefaultMaxInactiveInterval(this.maxInactiveIntervalInSeconds);
+ sessionRepository.setDefaultMaxInactiveInterval(this.maxInactiveIntervalInSeconds);
if (StringUtils.hasText(this.redisNamespace)) {
sessionRepository.setRedisKeyNamespace(this.redisNamespace);
}
@@ -112,8 +111,7 @@ public class RedisWebSessionConfiguration extends SpringWebSessionConfiguration
@Autowired(required = false)
@Qualifier("springSessionDefaultRedisSerializer")
- public void setDefaultRedisSerializer(
- RedisSerializer defaultRedisSerializer) {
+ public void setDefaultRedisSerializer(RedisSerializer defaultRedisSerializer) {
this.defaultRedisSerializer = defaultRedisSerializer;
}
@@ -132,26 +130,22 @@ public class RedisWebSessionConfiguration extends SpringWebSessionConfiguration
Map attributeMap = importMetadata
.getAnnotationAttributes(EnableRedisWebSession.class.getName());
AnnotationAttributes attributes = AnnotationAttributes.fromMap(attributeMap);
- this.maxInactiveIntervalInSeconds = attributes
- .getNumber("maxInactiveIntervalInSeconds");
+ this.maxInactiveIntervalInSeconds = attributes.getNumber("maxInactiveIntervalInSeconds");
String redisNamespaceValue = attributes.getString("redisNamespace");
if (StringUtils.hasText(redisNamespaceValue)) {
- this.redisNamespace = this.embeddedValueResolver
- .resolveStringValue(redisNamespaceValue);
+ this.redisNamespace = this.embeddedValueResolver.resolveStringValue(redisNamespaceValue);
}
this.redisFlushMode = attributes.getEnum("redisFlushMode");
}
private ReactiveRedisTemplate createReactiveRedisTemplate() {
RedisSerializer keySerializer = new StringRedisSerializer();
- RedisSerializer defaultSerializer = (this.defaultRedisSerializer != null)
- ? this.defaultRedisSerializer
+ RedisSerializer defaultSerializer = (this.defaultRedisSerializer != null) ? this.defaultRedisSerializer
: new JdkSerializationRedisSerializer(this.classLoader);
RedisSerializationContext serializationContext = RedisSerializationContext
- .newSerializationContext(defaultSerializer)
- .key(keySerializer).hashKey(keySerializer).build();
- return new ReactiveRedisTemplate<>(this.redisConnectionFactory,
- serializationContext);
+ .newSerializationContext(defaultSerializer).key(keySerializer).hashKey(keySerializer)
+ .build();
+ return new ReactiveRedisTemplate<>(this.redisConnectionFactory, serializationContext);
}
}
diff --git a/spring-session-data-redis/src/test/java/org/springframework/session/data/redis/ReactiveRedisOperationsSessionRepositoryTests.java b/spring-session-data-redis/src/test/java/org/springframework/session/data/redis/ReactiveRedisOperationsSessionRepositoryTests.java
index 472e939f..8a572397 100644
--- a/spring-session-data-redis/src/test/java/org/springframework/session/data/redis/ReactiveRedisOperationsSessionRepositoryTests.java
+++ b/spring-session-data-redis/src/test/java/org/springframework/session/data/redis/ReactiveRedisOperationsSessionRepositoryTests.java
@@ -49,28 +49,24 @@ import static org.mockito.Mockito.verifyZeroInteractions;
*
* @author Vedran Pavic
*/
-public class ReactiveRedisOperationsSessionRepositoryTests {
+class ReactiveRedisOperationsSessionRepositoryTests {
@SuppressWarnings("unchecked")
- private ReactiveRedisOperations redisOperations = mock(
- ReactiveRedisOperations.class);
+ private ReactiveRedisOperations redisOperations = mock(ReactiveRedisOperations.class);
@SuppressWarnings("unchecked")
- private ReactiveHashOperations hashOperations = mock(
- ReactiveHashOperations.class);
+ private ReactiveHashOperations hashOperations = mock(ReactiveHashOperations.class);
@SuppressWarnings("unchecked")
- private ArgumentCaptor