Skip to content

Conversation

staudtMarius
Copy link
Member

Resolves #723

@staudtMarius staudtMarius added the code quality Code readability or structure is improved label Jan 26, 2023
@staudtMarius staudtMarius added this to the Version 4.0 milestone Jan 26, 2023
@staudtMarius staudtMarius self-assigned this Jan 26, 2023
*/
public BufferedCsvWriter(
String filePath, String[] headLineElements, String csvSep, boolean append)
public BufferedCsvWriter(Path filePath, String[] headLineElements, String csvSep, boolean append)
Copy link
Contributor

Choose a reason for hiding this comment

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

31% of developers fix this issue

AvoidObjectArrays: Avoid accepting a String[]; consider an Iterable instead


ℹ️ Learn about @sonatype-lift commands

You can reply with the following commands. For example, reply with @sonatype-lift ignoreall to leave out all findings.

Command Usage
@sonatype-lift ignore Leave out the above finding from this PR
@sonatype-lift ignoreall Leave out all the existing findings from this PR
@sonatype-lift exclude <file|issue|path|tool> Exclude specified file|issue|path|tool from Lift findings by updating your config.toml file

Note: When talking to LiftBot, you need to refresh the page to see its response.
Click here to add LiftBot to another repo.


Was this a good recommendation?
[ 🙁 Not relevant ] - [ 😕 Won't fix ] - [ 😑 Not critical, will fix ] - [ 🙂 Critical, will fix ] - [ 😊 Critical, fixing now ]


public CsvFileDefinition(
String fileName, String directoryPath, String[] headLineElements, String csvSep) {
String fileName, Path directoryPath, String[] headLineElements, String csvSep) {
Copy link
Contributor

Choose a reason for hiding this comment

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

31% of developers fix this issue

AvoidObjectArrays: Avoid accepting a String[]; consider an Iterable instead


ℹ️ Learn about @sonatype-lift commands

You can reply with the following commands. For example, reply with @sonatype-lift ignoreall to leave out all findings.

Command Usage
@sonatype-lift ignore Leave out the above finding from this PR
@sonatype-lift ignoreall Leave out all the existing findings from this PR
@sonatype-lift exclude <file|issue|path|tool> Exclude specified file|issue|path|tool from Lift findings by updating your config.toml file

Note: When talking to LiftBot, you need to refresh the page to see its response.
Click here to add LiftBot to another repo.


Was this a good recommendation?
[ 🙁 Not relevant ] - [ 😕 Won't fix ] - [ 😑 Not critical, will fix ] - [ 🙂 Critical, will fix ] - [ 😊 Critical, fixing now ]

*/
public BufferedReader initReader(Class<? extends UniqueEntity> clz) throws FileNotFoundException {
String filePath = null;
Path filePath = null;
Copy link
Contributor

Choose a reason for hiding this comment

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

7% of developers fix this issue

Var: Non-constant variable missing @var annotation


Suggested change
Path filePath = null;
@Var Path filePath = null;

ℹ️ Learn about @sonatype-lift commands

You can reply with the following commands. For example, reply with @sonatype-lift ignoreall to leave out all findings.

Command Usage
@sonatype-lift ignore Leave out the above finding from this PR
@sonatype-lift ignoreall Leave out all the existing findings from this PR
@sonatype-lift exclude <file|issue|path|tool> Exclude specified file|issue|path|tool from Lift findings by updating your config.toml file

Note: When talking to LiftBot, you need to refresh the page to see its response.
Click here to add LiftBot to another repo.


Was this a good recommendation?
[ 🙁 Not relevant ] - [ 😕 Won't fix ] - [ 😑 Not critical, will fix ] - [ 🙂 Critical, will fix ] - [ 😊 Critical, fixing now ]

FilenameUtils.concat(
this.projectDirectory.toString(), maybeSubDirectory.get().getRelPath()));
String relPath = this.baseDirectory.relativize(fullPath).toString();
Paths.get(this.projectDirectory.toString()).resolve(maybeSubDirectory.get().getRelPath());
Copy link
Contributor

Choose a reason for hiding this comment

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

7% of developers fix this issue

PATH_TRAVERSAL_IN: This API (java/nio/file/Paths.get(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;) reads a file whose location might be specified by user input


ℹ️ Learn about @sonatype-lift commands

You can reply with the following commands. For example, reply with @sonatype-lift ignoreall to leave out all findings.

Command Usage
@sonatype-lift ignore Leave out the above finding from this PR
@sonatype-lift ignoreall Leave out all the existing findings from this PR
@sonatype-lift exclude <file|issue|path|tool> Exclude specified file|issue|path|tool from Lift findings by updating your config.toml file

Note: When talking to LiftBot, you need to refresh the page to see its response.
Click here to add LiftBot to another repo.


Was this a good recommendation?
[ 🙁 Not relevant ] - [ 😕 Won't fix ] - [ 😑 Not critical, will fix ] - [ 🙂 Critical, will fix ] - [ 😊 Critical, fixing now ]

String baseDirectoryNormalized =
FilenameUtils.normalizeNoEndSeparator(baseDirectory, true) + FILE_SEPARATOR;
this.baseDirectory = Paths.get(baseDirectoryNormalized).toAbsolutePath();
Path baseDirectoryNormalized = Path.of(FilenameUtils.normalizeNoEndSeparator(baseDirectory.toString(), true));
Copy link
Contributor

Choose a reason for hiding this comment

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

12% of developers fix this issue

💬 3 similar findings have been found in this PR


Varifier: Consider using var here to avoid boilerplate.


Suggested change
Path baseDirectoryNormalized = Path.of(FilenameUtils.normalizeNoEndSeparator(baseDirectory.toString(), true));
var baseDirectoryNormalized = Path.of(FilenameUtils.normalizeNoEndSeparator(baseDirectory.toString(), true));

🔎 Expand here to view all instances of this finding
File Path Line Number
src/main/java/edu/ie3/datamodel/io/connectors/CsvFileConnector.java 110
src/main/java/edu/ie3/datamodel/io/connectors/CsvFileConnector.java 279
src/main/java/edu/ie3/datamodel/io/connectors/CsvFileConnector.java 301

Visit the Lift Web Console to find more details in your report.


ℹ️ Learn about @sonatype-lift commands

You can reply with the following commands. For example, reply with @sonatype-lift ignoreall to leave out all findings.

Command Usage
@sonatype-lift ignore Leave out the above finding from this PR
@sonatype-lift ignoreall Leave out all the existing findings from this PR
@sonatype-lift exclude <file|issue|path|tool> Exclude specified file|issue|path|tool from Lift findings by updating your config.toml file

Note: When talking to LiftBot, you need to refresh the page to see its response.
Click here to add LiftBot to another repo.


Was this a good recommendation?
[ 🙁 Not relevant ] - [ 😕 Won't fix ] - [ 😑 Not critical, will fix ] - [ 🙂 Critical, will fix ] - [ 😊 Critical, fixing now ]

@sonatype-lift
Copy link
Contributor

sonatype-lift bot commented Jan 26, 2023

🛠 Lift Auto-fix

Some of the Lift findings in this PR can be automatically fixed. You can download and apply these changes in your local project directory of your branch to review the suggestions before committing.1

# Download the patch
curl https://lift.sonatype.com/api/patch/github.com/ie3-institute/PowerSystemDataModel/727.diff -o lift-autofixes.diff

# Apply the patch with git
git apply lift-autofixes.diff

# Review the changes
git diff

Want it all in a single command? Open a terminal in your project's directory and copy and paste the following command:

curl https://lift.sonatype.com/api/patch/github.com/ie3-institute/PowerSystemDataModel/727.diff | git apply

Once you're satisfied commit and push your changes in your project.

Footnotes

  1. You can preview the patch by opening the patch URL in the browser.

String baseDirectoryNormalized =
FilenameUtils.normalizeNoEndSeparator(baseDirectory, true) + FILE_SEPARATOR;
this.baseDirectory = Paths.get(baseDirectoryNormalized).toAbsolutePath();
Path baseDirectoryNormalized =
Copy link
Contributor

Choose a reason for hiding this comment

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

14% of developers fix this issue

Varifier: Consider using var here to avoid boilerplate.


Suggested change
Path baseDirectoryNormalized =
var baseDirectoryNormalized =

ℹ️ Learn about @sonatype-lift commands

You can reply with the following commands. For example, reply with @sonatype-lift ignoreall to leave out all findings.

Command Usage
@sonatype-lift ignore Leave out the above finding from this PR
@sonatype-lift ignoreall Leave out all the existing findings from this PR
@sonatype-lift exclude <file|issue|path|tool> Exclude specified file|issue|path|tool from Lift findings by updating your config.toml file

Note: When talking to LiftBot, you need to refresh the page to see its response.
Click here to add LiftBot to another repo.


Was this a good recommendation?
[ 🙁 Not relevant ] - [ 😕 Won't fix ] - [ 😑 Not critical, will fix ] - [ 🙂 Critical, will fix ] - [ 😊 Critical, fixing now ]

@staudtMarius staudtMarius deleted the ms/#723-use-nio-file-instead-of-strings branch February 7, 2023 10:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

code quality Code readability or structure is improved

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Use nio Files/Paths instead of Strings

1 participant