diff --git a/pom.xml b/pom.xml
index add9884c9e..0baa8f87ab 100644
--- a/pom.xml
+++ b/pom.xml
@@ -771,7 +771,7 @@
com.xpandit.*
3.2.2
- 10.0.0
+ 10.7.4
false
${xporter.engine.version}-SNAPSHOT
14.0.4
@@ -790,6 +790,7 @@
7.0.0-m02
xray-commons-javax
+ opensearch
@@ -813,6 +814,26 @@
+
+ org.apache.maven.plugins
+ maven-antrun-plugin
+ 3.1.0
+
+
+ replace-token
+ process-resources
+
+ run
+
+
+
+
+
+
+
+
+
+
maven-compiler-plugin
3.8.0
@@ -830,13 +851,13 @@
com/atlassian/jira/security/request/RequestMethod.class
com/atlassian/jira/security/request/SupportedMethods.class
com/xpandit/raven/rest/filters/jira89/*.java
- com/xpandit/raven/customfield/searchers/opensearch/**/*.java
- com/xpandit/raven/query/opensearch/*.java
- com/xpandit/raven/rest/internal/opensearch/*.java
- com/xpandit/raven/rest/internal/opensearch/**/*.java
- com/xpandit/raven/service/jira/opensearch/*.java
- com/xpandit/raven/service/jira/opensearch/**/*.java
- com/xpandit/raven/service/impl/opensearch/**/*.java
+ com/xpandit/raven/customfield/searchers/legacy/**/*.java
+ com/xpandit/raven/query/legacy/*.java
+ com/xpandit/raven/rest/internal/legacy/*.java
+ com/xpandit/raven/rest/internal/legacy/**/*.java
+ com/xpandit/raven/service/jira/legacy/*.java
+ com/xpandit/raven/service/jira/legacy/**/*.java
+ com/xpandit/raven/service/impl/legacy/**/*.java
-Xplugin:Manifold
@@ -854,6 +875,62 @@
+
+
+ process-annotations
+ generate-sources
+
+ compile
+
+
+ only
+
+
+ com.xblend
+ ${velocity.allowlist.generator.artifactId}
+ ${velocity.allowlist.generator.version}
+
+
+ systems.manifold
+ manifold-preprocessor
+ ${manifold.version}
+
+
+ org.projectlombok
+ lombok
+ 1.18.30
+
+
+
+
+ com.xblend.processors.VelocityAllowlistFileGenerator
+
+
+ com.xblend.processors.VelocityAllowlistMissingAnnotation
+
+
+
+ -s
+ ${project.build.directory}/generated-sources/annotations/
+ -AoutputFile=allowlist.xml
+ -Apaths=${raven.velocity.allowlist.paths}
+ -Xplugin:Manifold
+
+
+ com/atlassian/jira/security/request/RequestMethod.class
+ com/atlassian/jira/security/request/SupportedMethods.class
+ com/xpandit/raven/rest/filters/jira89/*.java
+ com/xpandit/raven/customfield/searchers/legacy/**/*.java
+ com/xpandit/raven/query/legacy/*.java
+ com/xpandit/raven/rest/internal/legacy/*.java
+ com/xpandit/raven/rest/internal/legacy/**/*.java
+ com/xpandit/raven/service/jira/legacy/*.java
+ com/xpandit/raven/service/jira/legacy/**/*.java
+ com/xpandit/raven/service/impl/legacy/**/*.java
+
+
+
+
com.google.code.maven-replacer-plugin
@@ -915,9 +992,13 @@
+
+ RAVEN_EXTERNAL_ALLOWLIST_CONTENT
+ ${raven.velocity.allowlist.external}
+
JIRA-LEGACY-SEARCH-COMPONENTS-TOKEN
- ${raven.jira.search.api.legacy.components}
+
diff --git a/src/main/java/com/xpandit/raven/customfield/searchers/opensearch/NumberRangeSearcher.java b/src/main/java/com/xpandit/raven/customfield/searchers/opensearch/NumberRangeSearcher.java
index c4efd2576e..b906657b1a 100644
--- a/src/main/java/com/xpandit/raven/customfield/searchers/opensearch/NumberRangeSearcher.java
+++ b/src/main/java/com/xpandit/raven/customfield/searchers/opensearch/NumberRangeSearcher.java
@@ -187,7 +187,7 @@ public class NumberRangeSearcher
CustomField customField,
boolean skipsIndexingNull
) {
- super(fieldVisibilityManager, customField, skipsIndexingNull);
+ super(fieldVisibilityManager, doubleConverter, customField, skipsIndexingNull);
this.customField = customField;
this.fieldVisibilityManager = fieldVisibilityManager;
this.skipsIndexingNull = skipsIndexingNull;
@@ -195,11 +195,11 @@ public class NumberRangeSearcher
this.sortedStringField = buildSortField(customField);
}
- private static DoubleField buildDoubleField(CustomField customField) {
+ private DoubleField buildDoubleField(CustomField customField) {
return DoubleField.builder(customField.getId()).docValues().indexed().stored().build();
}
- private static KeywordField buildSortField(CustomField customField) {
+ private KeywordField buildSortField(CustomField customField) {
return KeywordField.builder("sort_" + customField.getId()).indexed().docValues().build();
}
@@ -225,7 +225,7 @@ public class NumberRangeSearcher
// Copied over from com.atlassian.jira.search.utils.NumericUtils because it is marked as
// @com.atlassian.annotations.Internal
- public static int longToPrefixCoded(long val, int shift, char[] buffer) {
+ public int longToPrefixCoded(long val, int shift, char[] buffer) {
if (shift <= 63 && shift >= 0) {
int nChars = (63 - shift) / 7 + 1;
int len = nChars + 1;
@@ -242,17 +242,17 @@ public class NumberRangeSearcher
}
}
- public static String longToPrefixCoded(long val, int shift) {
+ public String longToPrefixCoded(long val, int shift) {
char[] buffer = new char[11];
int len = longToPrefixCoded(val, shift, buffer);
return new String(buffer, 0, len);
}
- public static String longToPrefixCoded(long val) {
+ public String longToPrefixCoded(long val) {
return longToPrefixCoded(val, 0);
}
- public static String doubleToPrefixCoded(double val) {
+ public String doubleToPrefixCoded(double val) {
return longToPrefixCoded(org.apache.lucene.util.NumericUtils.doubleToSortableLong(val));
}
}
diff --git a/src/main/java/com/xpandit/raven/customfield/searchers/opensearch/manualteststeps/ManualTestStepsFieldIndexer.java b/src/main/java/com/xpandit/raven/customfield/searchers/opensearch/manualteststeps/ManualTestStepsFieldIndexer.java
index 6ec4da0093..f92cafbacd 100644
--- a/src/main/java/com/xpandit/raven/customfield/searchers/opensearch/manualteststeps/ManualTestStepsFieldIndexer.java
+++ b/src/main/java/com/xpandit/raven/customfield/searchers/opensearch/manualteststeps/ManualTestStepsFieldIndexer.java
@@ -47,8 +47,8 @@ public class ManualTestStepsFieldIndexer extends BaseCustomFieldIndexer {
this.testVersionManager = testVersionManager;
}
- private static AnalyzedTextField buildVisibleField(CustomField customField) {
- return AnalyzedTextField.builder(customField.getId())
+ private static KeywordField buildVisibleField(CustomField customField) {
+ return KeywordField.builder(customField.getId())
.stored()
.indexed()
.subfield(AnalyzedTextField.builder("pq_support")
diff --git a/src/main/java/com/xpandit/raven/customfield/searchers/opensearch/stringcollection/MultiStringCustomFieldIndexer.java b/src/main/java/com/xpandit/raven/customfield/searchers/opensearch/stringcollection/MultiStringCustomFieldIndexer.java
index 54e5282260..38dba48872 100644
--- a/src/main/java/com/xpandit/raven/customfield/searchers/opensearch/stringcollection/MultiStringCustomFieldIndexer.java
+++ b/src/main/java/com/xpandit/raven/customfield/searchers/opensearch/stringcollection/MultiStringCustomFieldIndexer.java
@@ -42,7 +42,7 @@ public class MultiStringCustomFieldIndexer extends BaseCustomFieldIndexer {
this.sortField = buildSortField(customField);
}
- private static Field buildVisibleField(CustomField customField) {
+ private static KeywordField buildVisibleField(CustomField customField) {
return KeywordField.builder(customField.getId())
.indexed()
.stored()
@@ -88,7 +88,7 @@ public class MultiStringCustomFieldIndexer extends BaseCustomFieldIndexer {
String valueForSorting = FieldIndexerUtil.getValueForSorting(singleValue);
if (singleValue != null) {
if (searchable) {
- fieldValueCollector.add(this.field.name(), singleValue);
+ fieldValueCollector.add(this.customField.getName(), singleValue);
fieldValueCollector.add(this.sortField.name(), valueForSorting);
} else {
fieldValueCollector.add(this.unsearchableField.name(), singleValue);
@@ -102,7 +102,7 @@ public class MultiStringCustomFieldIndexer extends BaseCustomFieldIndexer {
}
public Collection getFields() {
- return Stream.of(this.field, this.unsearchableField, this.sortField)
+ return Stream.of(this.visibleField, this.unsearchableField, this.sortField)
.collect(Collectors.toList());
}
diff --git a/src/main/java/com/xpandit/raven/customfield/searchers/opensearch/teststatus/TestStatusCustomFieldIndexer.java b/src/main/java/com/xpandit/raven/customfield/searchers/opensearch/teststatus/TestStatusCustomFieldIndexer.java
index f3ee684f03..439cb32da1 100644
--- a/src/main/java/com/xpandit/raven/customfield/searchers/opensearch/teststatus/TestStatusCustomFieldIndexer.java
+++ b/src/main/java/com/xpandit/raven/customfield/searchers/opensearch/teststatus/TestStatusCustomFieldIndexer.java
@@ -65,7 +65,7 @@ public class TestStatusCustomFieldIndexer extends BaseCustomFieldIndexer {
this.sortRawField = buildSortRawField(customField);
}
- private static Field buildVisibleField(CustomField customField) {
+ private static KeywordField buildVisibleField(CustomField customField) {
return KeywordField.builder(customField.getId()).indexed().stored().docValues().multiValued().build();
}
@@ -167,7 +167,7 @@ public class TestStatusCustomFieldIndexer extends BaseCustomFieldIndexer {
String valueForSorting = FieldIndexerUtil.getValueForSorting(value);
if (value != null || !this.skipsIndexingNull()) {
if (searchable) {
- fieldValueCollector.add(this.field.name(), value);
+ fieldValueCollector.add(this.customField.getName(), value);
fieldValueCollector.add(this.rawField.name(), value);
fieldValueCollector.add(this.sortField.name(), valueForSorting);
fieldValueCollector.add(this.sortRawField.name(), valueForSorting);
@@ -178,7 +178,7 @@ public class TestStatusCustomFieldIndexer extends BaseCustomFieldIndexer {
}
public Collection getFields() {
- return Stream.of(this.field,
+ return Stream.of(this.visibleField,
this.unsearchableField,
this.sortField,
this.rawField,