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,