Skip to content

Commit a42c86d

Browse files
committed
fix(ENGKNOW-2781): Link file defaults changed.
Links default to V0 unless -link option is used.
1 parent 2ead570 commit a42c86d

3 files changed

Lines changed: 13 additions & 5 deletions

File tree

model/src/main/java/org/gorpipe/gor/driver/linkfile/LinkFile.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,12 @@ public static LinkFile load(StreamSource source) throws IOException {
6767
return create(source, meta, content);
6868
}
6969

70+
public static LinkFile createOrLoad(StreamSource source, String version) throws IOException {
71+
var content = loadContentFromSource(source);
72+
var meta = LinkFileMeta.createOrLoad(content, version, false);
73+
return create(source, meta, content);
74+
}
75+
7076
public static LinkFile create(StreamSource source, String content) {
7177
var meta = LinkFileMeta.createOrLoad(content, null, true);
7278
return create(source, meta, content);

model/src/main/java/org/gorpipe/gor/driver/linkfile/LinkFileMeta.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ public class LinkFileMeta extends BaseMeta {
1717
// Should the content lifecycle be managed (data deleted if the link is removed from the link file) (true or false).
1818
public static final String HEADER_DATA_LIFECYCLE_MANAGED_KEY = "DATA_LIFECYCLE_MANAGED";
1919

20-
private static final String DEFAULT_VERSION = System.getProperty("gor.driver.link.default.version", LinkFileV0.VERSION);
20+
static final String DEFAULT_VERSION = System.getProperty("gor.driver.link.default.version", LinkFileV0.VERSION);
2121

2222
public static final int DEFAULT_ENTRIES_COUNT_MAX = 100;
2323
public static final long DEFAULT_ENTRIES_AGE_MAX = Long.MAX_VALUE;

model/src/main/java/org/gorpipe/gor/driver/linkfile/LinkFileUtil.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ public static String extractLinkMetaOptionData(String options) {
9595
return "";
9696
}
9797

98-
public record LinkData(String linkFile, String linkFileContent, String linkFileMeta, String linkFileInfo, String md5) {}
98+
public record LinkData(String linkFile, String linkFileContent, String linkFileMeta, String linkFileInfo, String md5, String version) {}
9999

100100

101101
/**
@@ -111,17 +111,19 @@ public record LinkData(String linkFile, String linkFileContent, String linkFileM
111111
public static LinkData extractLink(FileReader fileReader, String source, String optLinkFile, String optLinkFileMeta, String md5) {
112112
var linkFile = LinkFile.validateAndUpdateLinkFileName(optLinkFile);
113113
var linkFileContent = !Strings.isNullOrEmpty(linkFile) ? PathUtils.resolve(fileReader.getCommonRoot(), source) : "";
114+
var version = LinkFileV1.VERSION; // Default to V1
114115

115116
if (Strings.isNullOrEmpty(linkFile) && !Strings.isNullOrEmpty(source)) {
116117
// Check if link file is forced from the source
117118
var dataSource = fileReader.resolveUrl(source, true);
118119
if (dataSource != null && dataSource.forceLink()) {
119120
linkFile = dataSource.getProjectLinkFile();
120121
linkFileContent = dataSource.getProjectLinkFileContent();
122+
version = LinkFileMeta.DEFAULT_VERSION; // Use default version when forced from source.
121123
}
122124
}
123125
var metaInfo = extractLinkMetaInfo(optLinkFileMeta);
124-
return new LinkData(linkFile, linkFileContent, metaInfo.linkFileMeta, metaInfo.linkFileInfo, md5);
126+
return new LinkData(linkFile, linkFileContent, metaInfo.linkFileMeta, metaInfo.linkFileInfo, md5, version);
125127
}
126128

127129
public static LinkData extractLinkMetaInfo(String optLinkFileMeta) {
@@ -139,7 +141,7 @@ public static LinkData extractLinkMetaInfo(String optLinkFileMeta) {
139141
}
140142
}
141143

142-
return new LinkData("", "", linkFileMeta, linkFileInfo, "");
144+
return new LinkData("", "", linkFileMeta, linkFileInfo, "", "");
143145
}
144146

145147
public static void writeLinkFile(FileReader fileReader, LinkData linkData) throws IOException {
@@ -149,7 +151,7 @@ public static void writeLinkFile(FileReader fileReader, LinkData linkData) throw
149151
// Use the nonsecure driver file reader as this is an exception from the write no links rule.
150152
var unsecureFileReader = fileReader.unsecure();
151153

152-
LinkFile.loadV1((StreamSource)unsecureFileReader.resolveUrl(linkData.linkFile, true))
154+
LinkFile.createOrLoad((StreamSource)unsecureFileReader.resolveUrl(linkData.linkFile, true), linkData.version)
153155
.appendMeta(linkData.linkFileMeta)
154156
.appendEntry(linkData.linkFileContent, linkData.md5, linkData.linkFileInfo, unsecureFileReader)
155157
.save(unsecureFileReader.getQueryTime());

0 commit comments

Comments
 (0)