Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor PersistentLogin for readability and maintainability #5460

Draft
wants to merge 1 commit into
base: develop-6.x.x
Choose a base branch
from

Conversation

line-o
Copy link
Member

@line-o line-o commented Sep 30, 2024

Description:

small refactoring of the persistentLogin module

Reference:

Type of tests:

None added

@@ -31,6 +31,7 @@

import java.security.SecureRandom;
import java.util.*;
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this be replaced by a list of package imports from java.util?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeas please

@@ -31,6 +31,7 @@

import java.security.SecureRandom;
import java.util.*;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

please expand the *

/**
* Functions to access the persistent login module.
*/
public class PersistentLoginFunctions extends UserSwitchingBasicFunction {
private enum Fn {
Copy link
Member

@dizzzz dizzzz Sep 30, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

could you give this a better name, as this looks too much on the FN: function namespace

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

PersistentLoginFn?

Copy link
Member Author

@line-o line-o left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please have a look if these change are sound.

@@ -60,9 +61,9 @@ public static PersistentLogin getInstance() {

public final static int DEFAULT_TOKEN_LENGTH = 16;

public final static int INVALIDATION_TIMEOUT = 20000;
public final static int INVALIDATION_TIMEOUT = 1000;
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We need to check if this is safe to lower the timeout to 1 second, was 20 seconds.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

code quality issue (minor)

@@ -197,13 +199,15 @@ public DurationValue getTimeToLive() {

public boolean checkAndUpdateToken(String token) {
if (this.token.equals(token)) {
timeoutCheck();
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this was moved from update method (line 217)

Copy link
Member

@dizzzz dizzzz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

image

@adamretter adamretter changed the title [refactor] PersistentLogin for readability and maintainability Refactor PersistentLogin for readability and maintainability Oct 8, 2024
@line-o
Copy link
Member Author

line-o commented Nov 1, 2024

Will put this in draft until reviews were addressed. I Might end up re-creating this PR targeting develop and then back port to 6.x.x from there.

@line-o line-o marked this pull request as draft November 1, 2024 11:08
- add Enum for all functions exposed by this module
- use Enum in PersistentLoginFunctions.eval
- add com.google.code.findbugs to maven dependencies for this extension
- invert function authenticated => unauthenticated
- make parameters and variables final where possible
- add @nullable annotations
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants