Skip to content

Commit f418609

Browse files
Complete rewrite of security checks, read values from given configuration
1 parent a131cfa commit f418609

File tree

6 files changed

+390
-186
lines changed

6 files changed

+390
-186
lines changed

gxcompress/src/main/java/com/genexus/compression/Compression.java

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,41 +2,39 @@
22

33
import com.genexus.GXBaseCollection;
44
import com.genexus.SdtMessages_Message;
5-
import org.apache.logging.log4j.Logger;
65

76
import java.util.ArrayList;
87

98
public class Compression {
10-
private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(Compression.class);
119

12-
private String absolutePath;
13-
private long maxCombinedFileSize;
10+
private String destinationPath;
11+
private CompressionConfiguration compressionConfiguration;
1412
private GXBaseCollection<SdtMessages_Message>[] messages;
1513
private ArrayList<String> filesToCompress;
1614

1715
public Compression() {}
1816

19-
public Compression(String absolutePath, long maxCombinedFileSize, GXBaseCollection<SdtMessages_Message>[] messages) {
20-
this.absolutePath = absolutePath;
21-
this.maxCombinedFileSize = maxCombinedFileSize;
17+
public Compression(String destinationPath, CompressionConfiguration configuration, GXBaseCollection<SdtMessages_Message>[] messages) {
18+
this.destinationPath = destinationPath;
19+
this.compressionConfiguration = configuration;
2220
this.messages = messages;
2321
filesToCompress = new ArrayList<>();
2422
}
2523

26-
public void setAbsolutePath(String path) {
27-
this.absolutePath = path;
24+
public void setDestinationPath(String path) {
25+
this.destinationPath = path;
2826
}
2927

3028
public void addElement(String filePath) {
3129
filesToCompress.add(filePath);
3230
}
3331

3432
public Boolean save() {
35-
return GXCompressor.compress(filesToCompress, absolutePath, maxCombinedFileSize, messages);
33+
return GXCompressor.compress(filesToCompress, destinationPath, compressionConfiguration, messages);
3634
}
3735

3836
public void clear() {
39-
absolutePath = "";
37+
destinationPath = "";
4038
filesToCompress = new ArrayList<>();
4139
}
4240
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
package com.genexus.compression;
2+
3+
public class CompressionConfiguration {
4+
public long maxCombinedFileSize = -1;
5+
public long maxIndividualFileSize = -1;
6+
public int maxFileCount = -1;
7+
public String targetDirectory = "";
8+
9+
public CompressionConfiguration() {}
10+
11+
public CompressionConfiguration(long maxCombinedFileSize, long maxIndividualFileSize, int maxFileCount, String targetDirectory) {
12+
this.maxCombinedFileSize = maxCombinedFileSize;
13+
this.maxIndividualFileSize = maxIndividualFileSize;
14+
this.maxFileCount = maxFileCount;
15+
this.targetDirectory = (targetDirectory != null && !targetDirectory.isEmpty()) ? targetDirectory : "";
16+
}
17+
}

0 commit comments

Comments
 (0)