diff --git a/stroom-analytics/stroom-analytics-impl/src/main/java/stroom/analytics/impl/AnalyticsSearchProvider.java b/stroom-analytics/stroom-analytics-impl/src/main/java/stroom/analytics/impl/AnalyticsSearchProvider.java index 4df96b1b637..e32994b2f4c 100644 --- a/stroom-analytics/stroom-analytics-impl/src/main/java/stroom/analytics/impl/AnalyticsSearchProvider.java +++ b/stroom-analytics/stroom-analytics-impl/src/main/java/stroom/analytics/impl/AnalyticsSearchProvider.java @@ -17,7 +17,6 @@ package stroom.analytics.impl; -import stroom.datasource.api.v2.FieldInfo; import stroom.datasource.api.v2.FindFieldInfoCriteria; import stroom.datasource.api.v2.QueryField; import stroom.docref.DocRef; @@ -65,7 +64,7 @@ public AnalyticsSearchProvider(final CoprocessorsFactory coprocessorsFactory, } @Override - public ResultPage getFieldInfo(final FindFieldInfoCriteria criteria) { + public ResultPage getFieldInfo(final FindFieldInfoCriteria criteria) { return FieldInfoResultPageBuilder.builder(criteria).addAll(AnalyticFields.getFields()).build(); } diff --git a/stroom-annotation/stroom-annotation-impl/src/main/java/stroom/annotation/impl/AnnotationService.java b/stroom-annotation/stroom-annotation-impl/src/main/java/stroom/annotation/impl/AnnotationService.java index f839f6d4bcd..84fd878f778 100644 --- a/stroom-annotation/stroom-annotation-impl/src/main/java/stroom/annotation/impl/AnnotationService.java +++ b/stroom-annotation/stroom-annotation-impl/src/main/java/stroom/annotation/impl/AnnotationService.java @@ -8,7 +8,6 @@ import stroom.annotation.shared.EventLink; import stroom.annotation.shared.SetAssignedToRequest; import stroom.annotation.shared.SetStatusRequest; -import stroom.datasource.api.v2.FieldInfo; import stroom.datasource.api.v2.FindFieldInfoCriteria; import stroom.datasource.api.v2.QueryField; import stroom.docref.DocRef; @@ -59,7 +58,7 @@ public DocRef getDocRef() { } @Override - public ResultPage getFieldInfo(final FindFieldInfoCriteria criteria) { + public ResultPage getFieldInfo(final FindFieldInfoCriteria criteria) { return FieldInfoResultPageBuilder.builder(criteria).addAll(AnnotationFields.FIELDS).build(); } diff --git a/stroom-app/src/main/resources/ui/noauth/swagger/stroom.json b/stroom-app/src/main/resources/ui/noauth/swagger/stroom.json index ef9c5bc8697..2ce7e1b883d 100644 --- a/stroom-app/src/main/resources/ui/noauth/swagger/stroom.json +++ b/stroom-app/src/main/resources/ui/noauth/swagger/stroom.json @@ -2784,7 +2784,7 @@ "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/ResultPageFieldInfo" + "$ref" : "#/components/schemas/ResultPageQueryField" } } }, @@ -13701,7 +13701,7 @@ "$ref" : "#/components/schemas/DocRef" }, "field" : { - "$ref" : "#/components/schemas/FieldInfo" + "$ref" : "#/components/schemas/QueryField" }, "text" : { "type" : "string" @@ -13709,28 +13709,6 @@ }, "required" : [ "dataSource", "field" ] }, - "FieldInfo" : { - "type" : "object", - "properties" : { - "conditions" : { - "type" : "string", - "enum" : [ "'=', '!=', 'between', '>', '>=', '<', '<='", "'=', '!=', 'in', 'in dictionary', 'between', '>', '>=', '<', '<='", "'=', '!='", "'=', '!=', 'between', '>', '>=', '<', '<='", "'=', '!=', 'in', 'in dictionary'", "'is', 'in folder'", "'=', '!=', 'in', 'in dictionary'", "'is', 'in folder', '=', '!=', 'in', 'in dictionary'", "'=', '!=', 'in', 'in dictionary'", "'=', '!=', '>', '>=', '<', '<=', 'between', 'in', 'in dictionary'", "'=', '!=', 'in', 'in dictionary', 'matches regex'", "'=', '!=', 'in', 'in dictionary'", "'=', '!=', 'in', 'in dictionary'", "'=', '!=', '>', '>=', '<', '<=', 'between', 'in', 'in dictionary'", "'=', '!='", "'=', '!=', '>', '>=', '<', '<=', 'between', 'in', 'in dictionary'", "'=', '!=', 'in', 'in dictionary'", "'is', '=', '!='", "'between'", "'=', '!=', 'in'", "'=', '!=', 'in'", "'=', '!=', 'in', 'in dictionary'", "'=', '!=', 'in', 'in dictionary', 'is'", "'=', '!=', '>', '>=', '<', '<=', 'between', 'in', 'in dictionary'", "'=', '!=', '>', '>=', '<', '<=', 'between', 'in', 'in dictionary'" ] - }, - "docRefType" : { - "type" : "string" - }, - "fldName" : { - "type" : "string" - }, - "fldType" : { - "type" : "string", - "enum" : [ "ID", "BOOLEAN", "INTEGER", "LONG", "FLOAT", "DOUBLE", "DATE", "TEXT", "KEYWORD", "IPV4_ADDRESS", "DOC_REF" ] - }, - "queryable" : { - "type" : "boolean" - } - } - }, "Filter" : { "type" : "object", "description" : "A pair of regular expression filters (inclusion and exclusion) to apply to the field. Either or both can be supplied", @@ -16780,8 +16758,8 @@ }, { "type" : "object", "properties" : { - "fieldInfo" : { - "$ref" : "#/components/schemas/FieldInfo" + "field" : { + "$ref" : "#/components/schemas/QueryField" } } } ] @@ -17361,21 +17339,6 @@ } } }, - "ResultPageFieldInfo" : { - "type" : "object", - "description" : "A page of results.", - "properties" : { - "pageResponse" : { - "$ref" : "#/components/schemas/PageResponse" - }, - "values" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/FieldInfo" - } - } - } - }, "ResultPageFindInContentResult" : { "type" : "object", "description" : "A page of results.", @@ -17556,6 +17519,21 @@ } } }, + "ResultPageQueryField" : { + "type" : "object", + "description" : "A page of results.", + "properties" : { + "pageResponse" : { + "$ref" : "#/components/schemas/PageResponse" + }, + "values" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/QueryField" + } + } + } + }, "ResultPageQueryHelpRow" : { "type" : "object", "description" : "A page of results.", diff --git a/stroom-app/src/main/resources/ui/noauth/swagger/stroom.yaml b/stroom-app/src/main/resources/ui/noauth/swagger/stroom.yaml index 86906a171a4..25e6a402c97 100644 --- a/stroom-app/src/main/resources/ui/noauth/swagger/stroom.yaml +++ b/stroom-app/src/main/resources/ui/noauth/swagger/stroom.yaml @@ -1918,7 +1918,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ResultPageFieldInfo' + $ref: '#/components/schemas/ResultPageQueryField' description: default response summary: Find data source fields tags: @@ -9914,63 +9914,12 @@ components: dataSource: $ref: '#/components/schemas/DocRef' field: - $ref: '#/components/schemas/FieldInfo' + $ref: '#/components/schemas/QueryField' text: type: string required: - dataSource - field - FieldInfo: - type: object - properties: - conditions: - type: string - enum: - - "'=', '!=', 'between', '>', '>=', '<', '<='" - - "'=', '!=', 'in', 'in dictionary', 'between', '>', '>=', '<', '<='" - - "'=', '!='" - - "'=', '!=', 'between', '>', '>=', '<', '<='" - - "'=', '!=', 'in', 'in dictionary'" - - "'is', 'in folder'" - - "'=', '!=', 'in', 'in dictionary'" - - "'is', 'in folder', '=', '!=', 'in', 'in dictionary'" - - "'=', '!=', 'in', 'in dictionary'" - - "'=', '!=', '>', '>=', '<', '<=', 'between', 'in', 'in dictionary'" - - "'=', '!=', 'in', 'in dictionary', 'matches regex'" - - "'=', '!=', 'in', 'in dictionary'" - - "'=', '!=', 'in', 'in dictionary'" - - "'=', '!=', '>', '>=', '<', '<=', 'between', 'in', 'in dictionary'" - - "'=', '!='" - - "'=', '!=', '>', '>=', '<', '<=', 'between', 'in', 'in dictionary'" - - "'=', '!=', 'in', 'in dictionary'" - - "'is', '=', '!='" - - '''between''' - - "'=', '!=', 'in'" - - "'=', '!=', 'in'" - - "'=', '!=', 'in', 'in dictionary'" - - "'=', '!=', 'in', 'in dictionary', 'is'" - - "'=', '!=', '>', '>=', '<', '<=', 'between', 'in', 'in dictionary'" - - "'=', '!=', '>', '>=', '<', '<=', 'between', 'in', 'in dictionary'" - docRefType: - type: string - fldName: - type: string - fldType: - type: string - enum: - - ID - - BOOLEAN - - INTEGER - - LONG - - FLOAT - - DOUBLE - - DATE - - TEXT - - KEYWORD - - IPV4_ADDRESS - - DOC_REF - queryable: - type: boolean Filter: type: object description: A pair of regular expression filters (inclusion and exclusion) @@ -12800,8 +12749,8 @@ components: - $ref: '#/components/schemas/QueryHelpData' - type: object properties: - fieldInfo: - $ref: '#/components/schemas/FieldInfo' + field: + $ref: '#/components/schemas/QueryField' QueryHelpFunctionSignature: type: object allOf: @@ -13414,16 +13363,6 @@ components: type: array items: $ref: '#/components/schemas/Dependency' - ResultPageFieldInfo: - type: object - description: A page of results. - properties: - pageResponse: - $ref: '#/components/schemas/PageResponse' - values: - type: array - items: - $ref: '#/components/schemas/FieldInfo' ResultPageFindInContentResult: type: object description: A page of results. @@ -13544,6 +13483,16 @@ components: type: array items: $ref: '#/components/schemas/ProcessorTaskSummary' + ResultPageQueryField: + type: object + description: A page of results. + properties: + pageResponse: + $ref: '#/components/schemas/PageResponse' + values: + type: array + items: + $ref: '#/components/schemas/QueryField' ResultPageQueryHelpRow: type: object description: A page of results. diff --git a/stroom-core-client/src/main/java/stroom/dashboard/client/table/cf/RulesPresenter.java b/stroom-core-client/src/main/java/stroom/dashboard/client/table/cf/RulesPresenter.java index aa61145b4d5..8f51760d70a 100644 --- a/stroom-core-client/src/main/java/stroom/dashboard/client/table/cf/RulesPresenter.java +++ b/stroom-core-client/src/main/java/stroom/dashboard/client/table/cf/RulesPresenter.java @@ -22,7 +22,6 @@ import stroom.dashboard.client.table.TablePresenter; import stroom.dashboard.shared.ComponentConfig; import stroom.dashboard.shared.TableComponentSettings; -import stroom.datasource.api.v2.FieldInfo; import stroom.datasource.api.v2.QueryField; import stroom.document.client.event.DirtyEvent; import stroom.document.client.event.DirtyEvent.DirtyHandler; @@ -201,7 +200,7 @@ private void add() { .build(); final RulePresenter editRulePresenter = editRulePresenterProvider.get(); final SimpleFieldSelectionListModel selectionBoxModel = new SimpleFieldSelectionListModel(); - selectionBoxModel.addItems(fields.stream().map(FieldInfo::create).collect(Collectors.toList())); + selectionBoxModel.addItems(fields); editRulePresenter.read(newRule, selectionBoxModel); final PopupSize popupSize = PopupSize.resizable(800, 550); @@ -226,7 +225,7 @@ private void add() { private void edit(final ConditionalFormattingRule existingRule) { final RulePresenter editRulePresenter = editRulePresenterProvider.get(); final SimpleFieldSelectionListModel selectionBoxModel = new SimpleFieldSelectionListModel(); - selectionBoxModel.addItems(fields.stream().map(FieldInfo::create).collect(Collectors.toList())); + selectionBoxModel.addItems(fields); editRulePresenter.read(existingRule, selectionBoxModel); final PopupSize popupSize = PopupSize.resizable(800, 400); diff --git a/stroom-core-client/src/main/java/stroom/data/client/presenter/ExpressionPresenter.java b/stroom-core-client/src/main/java/stroom/data/client/presenter/ExpressionPresenter.java index 37f7159218e..516df85011d 100644 --- a/stroom-core-client/src/main/java/stroom/data/client/presenter/ExpressionPresenter.java +++ b/stroom-core-client/src/main/java/stroom/data/client/presenter/ExpressionPresenter.java @@ -17,7 +17,6 @@ package stroom.data.client.presenter; -import stroom.datasource.api.v2.FieldInfo; import stroom.datasource.api.v2.QueryField; import stroom.dispatch.client.RestFactory; import stroom.docref.DocRef; @@ -62,7 +61,7 @@ public void read(final ExpressionOperator expression, final List fields) { final SimpleFieldSelectionListModel fieldSelectionBoxModel = new SimpleFieldSelectionListModel(); - fieldSelectionBoxModel.addItems(fields.stream().map(FieldInfo::create).collect(Collectors.toList())); + fieldSelectionBoxModel.addItems(fields); editExpressionPresenter.init(restFactory, dataSource, fieldSelectionBoxModel); editExpressionPresenter.read(GwtNullSafe.requireNonNullElseGet( diff --git a/stroom-core-client/src/main/java/stroom/processor/client/presenter/ProcessorEditPresenter.java b/stroom-core-client/src/main/java/stroom/processor/client/presenter/ProcessorEditPresenter.java index 58e48b0ccfc..4dd00e92408 100644 --- a/stroom-core-client/src/main/java/stroom/processor/client/presenter/ProcessorEditPresenter.java +++ b/stroom-core-client/src/main/java/stroom/processor/client/presenter/ProcessorEditPresenter.java @@ -4,7 +4,6 @@ import stroom.alert.client.event.ConfirmEvent; import stroom.dashboard.shared.ValidateExpressionResult; import stroom.data.client.presenter.EditExpressionPresenter; -import stroom.datasource.api.v2.FieldInfo; import stroom.datasource.api.v2.QueryField; import stroom.dispatch.client.Rest; import stroom.dispatch.client.RestFactory; @@ -69,7 +68,7 @@ public void read(final ExpressionOperator expression, final Long minMetaCreateTimeMs, final Long maxMetaCreateTimeMs) { final SimpleFieldSelectionListModel selectionBoxModel = new SimpleFieldSelectionListModel(); - selectionBoxModel.addItems(fields.stream().map(FieldInfo::create).collect(Collectors.toList())); + selectionBoxModel.addItems(fields); editExpressionPresenter.init(restFactory, dataSource, selectionBoxModel); if (expression != null) { diff --git a/stroom-core-client/src/main/java/stroom/query/client/AsyncSuggestOracle.java b/stroom-core-client/src/main/java/stroom/query/client/AsyncSuggestOracle.java index a88a1530f1d..c5bdb90fc79 100644 --- a/stroom-core-client/src/main/java/stroom/query/client/AsyncSuggestOracle.java +++ b/stroom-core-client/src/main/java/stroom/query/client/AsyncSuggestOracle.java @@ -16,7 +16,7 @@ package stroom.query.client; -import stroom.datasource.api.v2.FieldInfo; +import stroom.datasource.api.v2.QueryField; import stroom.dispatch.client.Rest; import stroom.dispatch.client.RestFactory; import stroom.docref.DocRef; @@ -43,7 +43,7 @@ public class AsyncSuggestOracle extends SuggestOracle { private RestFactory restFactory; private DocRef dataSource; - private FieldInfo field; + private QueryField field; private Timer requestTimer; public void setRestFactory(final RestFactory restFactory) { @@ -54,7 +54,7 @@ public void setDataSource(final DocRef dataSource) { this.dataSource = dataSource; } - public void setField(final FieldInfo field) { + public void setField(final QueryField field) { this.field = field; } diff --git a/stroom-core-client/src/main/java/stroom/query/client/DataSourceClient.java b/stroom-core-client/src/main/java/stroom/query/client/DataSourceClient.java index a587307ba79..b31a65e547b 100644 --- a/stroom-core-client/src/main/java/stroom/query/client/DataSourceClient.java +++ b/stroom-core-client/src/main/java/stroom/query/client/DataSourceClient.java @@ -1,7 +1,7 @@ package stroom.query.client; -import stroom.datasource.api.v2.FieldInfo; import stroom.datasource.api.v2.FindFieldInfoCriteria; +import stroom.datasource.api.v2.QueryField; import stroom.datasource.shared.DataSourceResource; import stroom.dispatch.client.RestFactory; import stroom.docref.DocRef; @@ -29,10 +29,10 @@ public DataSourceClient(final RestFactory restFactory) { } public void findFields(final FindFieldInfoCriteria findFieldInfoCriteria, - final Consumer> consumer) { + final Consumer> consumer) { restFactory .builder() - .forResultPageOf(FieldInfo.class) + .forResultPageOf(QueryField.class) .onSuccess(consumer) .call(DATA_SOURCE_RESOURCE) .findFields(findFieldInfoCriteria); @@ -40,7 +40,7 @@ public void findFields(final FindFieldInfoCriteria findFieldInfoCriteria, public void findFieldByName(final DocRef dataSourceRef, final String fieldName, - final Consumer consumer) { + final Consumer consumer) { if (dataSourceRef != null) { final FindFieldInfoCriteria findFieldInfoCriteria = new FindFieldInfoCriteria( new PageRequest(0, 1), @@ -49,7 +49,7 @@ public void findFieldByName(final DocRef dataSourceRef, StringMatch.equals(fieldName, true)); restFactory .builder() - .forResultPageOf(FieldInfo.class) + .forResultPageOf(QueryField.class) .onSuccess(result -> { if (result.getValues().size() > 0) { consumer.accept(result.getFirst()); diff --git a/stroom-core-client/src/main/java/stroom/query/client/TermEditor.java b/stroom-core-client/src/main/java/stroom/query/client/TermEditor.java index 1f1fea76fb6..c01a138dd80 100644 --- a/stroom-core-client/src/main/java/stroom/query/client/TermEditor.java +++ b/stroom-core-client/src/main/java/stroom/query/client/TermEditor.java @@ -17,8 +17,8 @@ package stroom.query.client; import stroom.datasource.api.v2.ConditionSet; -import stroom.datasource.api.v2.FieldInfo; import stroom.datasource.api.v2.FieldType; +import stroom.datasource.api.v2.QueryField; import stroom.dispatch.client.RestFactory; import stroom.docref.DocRef; import stroom.explorer.client.presenter.DocSelectionBoxPresenter; @@ -54,7 +54,7 @@ public class TermEditor extends Composite { private static final String NARROW_CLASS_NAME = "narrow"; private final FlowPanel layout; - private final BaseSelectionBox fieldListBox; + private final BaseSelectionBox fieldListBox; private final SelectionBox conditionListBox; private final Label andLabel; private final SuggestBox value; @@ -188,7 +188,7 @@ private void read(final Term term) { } private void write(final Term term) { - final FieldInfo selectedField = fieldListBox.getValue(); + final QueryField selectedField = fieldListBox.getValue(); if (selectedField != null && conditionListBox.getValue() != null) { DocRef docRef = null; @@ -223,7 +223,7 @@ private void write(final Term term) { } } - private void changeField(final FieldInfo field, final Condition condition, final boolean useDefaultCondition) { + private void changeField(final QueryField field, final Condition condition, final boolean useDefaultCondition) { suggestOracle.setField(field); final List conditions = getConditions(field); @@ -255,10 +255,10 @@ private void changeField(final FieldInfo field, final Condition condition, final } } - private List getConditions(final FieldInfo field) { + private List getConditions(final QueryField field) { ConditionSet conditions; - if (field != null && field.getConditions() != null) { - conditions = field.getConditions(); + if (field != null && field.getConditionSet() != null) { + conditions = field.getConditionSet(); } else { FieldType fieldType = null; @@ -271,9 +271,9 @@ private List getConditions(final FieldInfo field) { return conditions.getConditionList(); } - private void changeCondition(final FieldInfo field, + private void changeCondition(final QueryField field, final Condition condition) { - final FieldInfo selectedField = fieldListBox.getValue(); + final QueryField selectedField = fieldListBox.getValue(); FieldType indexFieldType = null; if (selectedField != null && selectedField.getFldType() != null) { indexFieldType = selectedField.getFldType(); @@ -341,7 +341,7 @@ private void enterDateRangeMode() { updateDateBoxes(); } - private void enterDocRefMode(final FieldInfo field, final Condition condition) { + private void enterDocRefMode(final QueryField field, final Condition condition) { setActiveWidgets(docRefWidget); if (docSelectionBoxPresenter != null) { @@ -475,9 +475,9 @@ private void registerHandler(final HandlerRegistration handlerRegistration) { registrations.add(handlerRegistration); } - private BaseSelectionBox createFieldBox() { - final BaseSelectionBox fieldListBox = - new BaseSelectionBox(); + private BaseSelectionBox createFieldBox() { + final BaseSelectionBox fieldListBox = + new BaseSelectionBox(); fieldListBox.addStyleName(ITEM_CLASS_NAME); fieldListBox.addStyleName(DROPDOWN_CLASS_NAME); fieldListBox.addStyleName("field"); diff --git a/stroom-core-client/src/main/java/stroom/query/client/presenter/DynamicColumnSelectionListModel.java b/stroom-core-client/src/main/java/stroom/query/client/presenter/DynamicColumnSelectionListModel.java index 4d3839eefde..9ef3761f3a8 100644 --- a/stroom-core-client/src/main/java/stroom/query/client/presenter/DynamicColumnSelectionListModel.java +++ b/stroom-core-client/src/main/java/stroom/query/client/presenter/DynamicColumnSelectionListModel.java @@ -1,8 +1,8 @@ package stroom.query.client.presenter; -import stroom.datasource.api.v2.FieldInfo; import stroom.datasource.api.v2.FieldType; import stroom.datasource.api.v2.FindFieldInfoCriteria; +import stroom.datasource.api.v2.QueryField; import stroom.docref.DocRef; import stroom.docref.StringMatch; import stroom.docref.StringMatch.MatchType; @@ -90,7 +90,7 @@ private String getParentPath(final ColumnSelectionItem parent) { private ResultPage createResults(final StringMatch filter, final String parentPath, final PageRequest pageRequest, - final ResultPage response) { + final ResultPage response) { final ResultPage counts = getCounts(filter, pageRequest); final ResultPage annotations = getAnnotations(filter, pageRequest); @@ -165,8 +165,7 @@ private ResultPage getAnnotations(final StringMatch filter, "SolrIndex".equals(dataSourceRef.getType()) || "ElasticIndex".equals(dataSourceRef.getType())) { AnnotationFields.FIELDS.forEach(field -> { - final FieldInfo fieldInfo = FieldInfo.create(field); - final ColumnSelectionItem columnSelectionItem = ColumnSelectionItem.create(fieldInfo); + final ColumnSelectionItem columnSelectionItem = ColumnSelectionItem.create(field); add(filter, columnSelectionItem, builder); }); } @@ -253,7 +252,7 @@ public static ColumnSelectionItem create(final Column column) { return new ColumnSelectionItem(column, column.getDisplayValue(), false); } - public static ColumnSelectionItem create(final FieldInfo fieldInfo) { + public static ColumnSelectionItem create(final QueryField fieldInfo) { final Column column = convertFieldInfo(fieldInfo); return new ColumnSelectionItem(column, column.getDisplayValue(), false); } @@ -280,7 +279,7 @@ private static void addFieldIfPresent(final List params, params.add(ParamSubstituteUtil.makeParam(fieldName)); } - private static Column convertFieldInfo(final FieldInfo fieldInfo) { + private static Column convertFieldInfo(final QueryField fieldInfo) { final String indexFieldName = fieldInfo.getFldName(); final Builder columnBuilder = Column.builder(); columnBuilder.name(indexFieldName); diff --git a/stroom-core-client/src/main/java/stroom/query/client/presenter/DynamicFieldSelectionListModel.java b/stroom-core-client/src/main/java/stroom/query/client/presenter/DynamicFieldSelectionListModel.java index e34de435559..c3d3c46a09f 100644 --- a/stroom-core-client/src/main/java/stroom/query/client/presenter/DynamicFieldSelectionListModel.java +++ b/stroom-core-client/src/main/java/stroom/query/client/presenter/DynamicFieldSelectionListModel.java @@ -1,7 +1,7 @@ package stroom.query.client.presenter; -import stroom.datasource.api.v2.FieldInfo; import stroom.datasource.api.v2.FindFieldInfoCriteria; +import stroom.datasource.api.v2.QueryField; import stroom.docref.DocRef; import stroom.docref.StringMatch; import stroom.query.client.DataSourceClient; @@ -78,7 +78,7 @@ public void reset() { } @Override - public void findFieldByName(final String fieldName, final Consumer consumer) { + public void findFieldByName(final String fieldName, final Consumer consumer) { dataSourceClient.findFieldByName(dataSourceRef, fieldName, consumer); } @@ -98,16 +98,16 @@ public boolean displayPager() { } @Override - public FieldInfoSelectionItem wrap(final FieldInfo item) { + public FieldInfoSelectionItem wrap(final QueryField item) { return new FieldInfoSelectionItem(item); } @Override - public FieldInfo unwrap(final FieldInfoSelectionItem selectionItem) { + public QueryField unwrap(final FieldInfoSelectionItem selectionItem) { if (selectionItem == null) { return null; } - return selectionItem.getFieldInfo(); + return selectionItem.getField(); } @Override diff --git a/stroom-core-client/src/main/java/stroom/query/client/presenter/FieldInfoSelectionItem.java b/stroom-core-client/src/main/java/stroom/query/client/presenter/FieldInfoSelectionItem.java index a812fe77398..c29621530f6 100644 --- a/stroom-core-client/src/main/java/stroom/query/client/presenter/FieldInfoSelectionItem.java +++ b/stroom-core-client/src/main/java/stroom/query/client/presenter/FieldInfoSelectionItem.java @@ -1,6 +1,6 @@ package stroom.query.client.presenter; -import stroom.datasource.api.v2.FieldInfo; +import stroom.datasource.api.v2.QueryField; import stroom.item.client.SelectionItem; import stroom.svg.shared.SvgImage; @@ -8,18 +8,18 @@ public class FieldInfoSelectionItem implements SelectionItem { - private final FieldInfo fieldInfo; + private final QueryField field; - public FieldInfoSelectionItem(final FieldInfo fieldInfo) { - this.fieldInfo = fieldInfo; + public FieldInfoSelectionItem(final QueryField field) { + this.field = field; } @Override public String getLabel() { - if (fieldInfo == null) { + if (field == null) { return "[ none ]"; } - return fieldInfo.getFldName(); + return field.getFldName(); } @Override @@ -32,8 +32,8 @@ public boolean isHasChildren() { return false; } - public FieldInfo getFieldInfo() { - return fieldInfo; + public QueryField getField() { + return field; } @Override @@ -45,18 +45,18 @@ public boolean equals(final Object o) { return false; } final FieldInfoSelectionItem that = (FieldInfoSelectionItem) o; - return Objects.equals(fieldInfo, that.fieldInfo); + return Objects.equals(field, that.field); } @Override public int hashCode() { - return Objects.hash(fieldInfo); + return Objects.hash(field); } @Override public String toString() { return "FieldInfoSelectionItem{" + - "fieldInfo=" + fieldInfo + + "field=" + field + '}'; } } diff --git a/stroom-core-client/src/main/java/stroom/query/client/presenter/FieldSelectionListModel.java b/stroom-core-client/src/main/java/stroom/query/client/presenter/FieldSelectionListModel.java index 656645615ef..c923f5f9aa5 100644 --- a/stroom-core-client/src/main/java/stroom/query/client/presenter/FieldSelectionListModel.java +++ b/stroom-core-client/src/main/java/stroom/query/client/presenter/FieldSelectionListModel.java @@ -1,10 +1,10 @@ package stroom.query.client.presenter; -import stroom.datasource.api.v2.FieldInfo; +import stroom.datasource.api.v2.QueryField; import stroom.item.client.SelectionListModel; import java.util.function.Consumer; -public interface FieldSelectionListModel extends SelectionListModel { - void findFieldByName(String fieldName, Consumer consumer); +public interface FieldSelectionListModel extends SelectionListModel { + void findFieldByName(String fieldName, Consumer consumer); } diff --git a/stroom-core-client/src/main/java/stroom/query/client/presenter/SimpleFieldSelectionListModel.java b/stroom-core-client/src/main/java/stroom/query/client/presenter/SimpleFieldSelectionListModel.java index ab510c36d7e..81ea2937dd0 100644 --- a/stroom-core-client/src/main/java/stroom/query/client/presenter/SimpleFieldSelectionListModel.java +++ b/stroom-core-client/src/main/java/stroom/query/client/presenter/SimpleFieldSelectionListModel.java @@ -1,38 +1,38 @@ package stroom.query.client.presenter; -import stroom.datasource.api.v2.FieldInfo; +import stroom.datasource.api.v2.QueryField; import stroom.item.client.AbstractSelectionListModel; import java.util.function.Consumer; public class SimpleFieldSelectionListModel - extends AbstractSelectionListModel + extends AbstractSelectionListModel implements FieldSelectionListModel { @Override - public void findFieldByName(final String fieldName, final Consumer consumer) { + public void findFieldByName(final String fieldName, final Consumer consumer) { if (fieldName != null) { items.stream() .filter(fieldInfo -> fieldInfo.getLabel().equals(fieldName)) .findFirst() - .ifPresent(item -> consumer.accept(item.getFieldInfo())); + .ifPresent(item -> consumer.accept(item.getField())); } else { items.stream() .findFirst() - .ifPresent(item -> consumer.accept(item.getFieldInfo())); + .ifPresent(item -> consumer.accept(item.getField())); } } @Override - public FieldInfoSelectionItem wrap(final FieldInfo item) { + public FieldInfoSelectionItem wrap(final QueryField item) { return new FieldInfoSelectionItem(item); } @Override - public FieldInfo unwrap(final FieldInfoSelectionItem selectionItem) { + public QueryField unwrap(final FieldInfoSelectionItem selectionItem) { if (selectionItem == null) { return null; } - return selectionItem.getFieldInfo(); + return selectionItem.getField(); } } diff --git a/stroom-core-client/src/main/java/stroom/receive/rules/client/presenter/DataRetentionImpactPresenter.java b/stroom-core-client/src/main/java/stroom/receive/rules/client/presenter/DataRetentionImpactPresenter.java index 25eef2ac25b..21d79aa969f 100644 --- a/stroom-core-client/src/main/java/stroom/receive/rules/client/presenter/DataRetentionImpactPresenter.java +++ b/stroom-core-client/src/main/java/stroom/receive/rules/client/presenter/DataRetentionImpactPresenter.java @@ -29,7 +29,7 @@ import stroom.data.retention.shared.DataRetentionRules; import stroom.data.retention.shared.DataRetentionRulesResource; import stroom.data.retention.shared.FindDataRetentionImpactCriteria; -import stroom.datasource.api.v2.FieldInfo; +import stroom.datasource.api.v2.QueryField; import stroom.dispatch.client.Rest; import stroom.dispatch.client.RestFactory; import stroom.meta.shared.MetaFields; @@ -76,11 +76,11 @@ public class DataRetentionImpactPresenter private static final String BTN_TITLE_EXPAND_ALL = "Expand all"; private static final String BTN_TITLE_COLLAPSE_ALL = "Collapse all"; - private static final List FILTERABLE_FIELDS = new ArrayList<>(); + private static final List FILTERABLE_FIELDS = new ArrayList<>(); static { - FILTERABLE_FIELDS.add(FieldInfo.create(MetaFields.FEED)); - FILTERABLE_FIELDS.add(FieldInfo.create(MetaFields.TYPE)); + FILTERABLE_FIELDS.add(MetaFields.FEED); + FILTERABLE_FIELDS.add(MetaFields.TYPE); } private final MyDataGrid dataGrid; diff --git a/stroom-core-client/src/main/java/stroom/receive/rules/client/presenter/RuleSetSettingsPresenter.java b/stroom-core-client/src/main/java/stroom/receive/rules/client/presenter/RuleSetSettingsPresenter.java index 0469b884912..c12a8b04d76 100644 --- a/stroom-core-client/src/main/java/stroom/receive/rules/client/presenter/RuleSetSettingsPresenter.java +++ b/stroom-core-client/src/main/java/stroom/receive/rules/client/presenter/RuleSetSettingsPresenter.java @@ -18,7 +18,6 @@ package stroom.receive.rules.client.presenter; import stroom.alert.client.event.ConfirmEvent; -import stroom.datasource.api.v2.FieldInfo; import stroom.docref.DocRef; import stroom.entity.client.presenter.DocumentEditPresenter; import stroom.query.api.v2.ExpressionOperator; @@ -43,7 +42,6 @@ import com.gwtplatform.mvp.client.View; import java.util.List; -import java.util.stream.Collectors; public class RuleSetSettingsPresenter extends DocumentEditPresenter { @@ -299,11 +297,7 @@ protected void onRead(final DocRef docRef, final ReceiveDataRules document, fina if (document != null) { fieldSelectionBoxModel.clear(); - fieldSelectionBoxModel.addItems(document - .getFields() - .stream() - .map(FieldInfo::create) - .collect(Collectors.toList())); + fieldSelectionBoxModel.addItems(document.getFields()); this.rules = document.getRules(); listPresenter.getSelectionModel().clear(); setDirty(false); diff --git a/stroom-core-client/src/main/java/stroom/view/client/presenter/ViewSettingsPresenter.java b/stroom-core-client/src/main/java/stroom/view/client/presenter/ViewSettingsPresenter.java index fac1e2ba8a4..5429c1a7f35 100644 --- a/stroom-core-client/src/main/java/stroom/view/client/presenter/ViewSettingsPresenter.java +++ b/stroom-core-client/src/main/java/stroom/view/client/presenter/ViewSettingsPresenter.java @@ -18,7 +18,6 @@ package stroom.view.client.presenter; import stroom.data.client.presenter.EditExpressionPresenter; -import stroom.datasource.api.v2.FieldInfo; import stroom.dispatch.client.RestFactory; import stroom.docref.DocRef; import stroom.entity.client.presenter.DocumentEditPresenter; @@ -40,8 +39,6 @@ import com.google.web.bindery.event.shared.EventBus; import com.gwtplatform.mvp.client.View; -import java.util.stream.Collectors; - public class ViewSettingsPresenter extends DocumentEditPresenter { private final RestFactory restFactory; @@ -98,11 +95,7 @@ protected void onRead(final DocRef docRef, final ViewDoc entity, final boolean r dataSourceSelectionPresenter.setSelectedEntityReference(entity.getDataSource()); pipelineSelectionPresenter.setSelectedEntityReference(entity.getPipeline()); final SimpleFieldSelectionListModel fieldSelectionBoxModel = new SimpleFieldSelectionListModel(); - fieldSelectionBoxModel.addItems(MetaFields - .getAllFields() - .stream() - .map(FieldInfo::create) - .collect(Collectors.toList())); + fieldSelectionBoxModel.addItems(MetaFields.getAllFields()); expressionPresenter.init(restFactory, MetaFields.STREAM_STORE_DOC_REF, fieldSelectionBoxModel); // Read expression. diff --git a/stroom-core-shared/src/main/java/stroom/datasource/shared/DataSourceResource.java b/stroom-core-shared/src/main/java/stroom/datasource/shared/DataSourceResource.java index 59be303edc2..7cd446b054f 100644 --- a/stroom-core-shared/src/main/java/stroom/datasource/shared/DataSourceResource.java +++ b/stroom-core-shared/src/main/java/stroom/datasource/shared/DataSourceResource.java @@ -16,8 +16,8 @@ package stroom.datasource.shared; -import stroom.datasource.api.v2.FieldInfo; import stroom.datasource.api.v2.FindFieldInfoCriteria; +import stroom.datasource.api.v2.QueryField; import stroom.docref.DocRef; import stroom.docstore.shared.Documentation; import stroom.util.shared.ResourcePaths; @@ -45,7 +45,7 @@ public interface DataSourceResource extends RestResource, DirectRestService { @Operation( summary = "Find data source fields", operationId = "findDataSourceFields") - ResultPage findFields( + ResultPage findFields( @Parameter(description = "criteria", required = true) FindFieldInfoCriteria criteria); @POST diff --git a/stroom-core-shared/src/main/java/stroom/query/shared/FetchSuggestionsRequest.java b/stroom-core-shared/src/main/java/stroom/query/shared/FetchSuggestionsRequest.java index e9681a15914..84d0eafdd68 100644 --- a/stroom-core-shared/src/main/java/stroom/query/shared/FetchSuggestionsRequest.java +++ b/stroom-core-shared/src/main/java/stroom/query/shared/FetchSuggestionsRequest.java @@ -16,7 +16,7 @@ package stroom.query.shared; -import stroom.datasource.api.v2.FieldInfo; +import stroom.datasource.api.v2.QueryField; import stroom.docref.DocRef; import com.fasterxml.jackson.annotation.JsonCreator; @@ -35,14 +35,14 @@ public class FetchSuggestionsRequest { @NotNull @JsonProperty - private final FieldInfo field; + private final QueryField field; @JsonProperty private final String text; @JsonCreator public FetchSuggestionsRequest(@JsonProperty("dataSource") final DocRef dataSource, - @JsonProperty("field") final FieldInfo field, + @JsonProperty("field") final QueryField field, @JsonProperty("text") final String text) { this.dataSource = dataSource; this.field = field; @@ -53,7 +53,7 @@ public DocRef getDataSource() { return dataSource; } - public FieldInfo getField() { + public QueryField getField() { return field; } diff --git a/stroom-core-shared/src/main/java/stroom/query/shared/QueryHelpField.java b/stroom-core-shared/src/main/java/stroom/query/shared/QueryHelpField.java index df982398f58..3ea80949454 100644 --- a/stroom-core-shared/src/main/java/stroom/query/shared/QueryHelpField.java +++ b/stroom-core-shared/src/main/java/stroom/query/shared/QueryHelpField.java @@ -1,6 +1,6 @@ package stroom.query.shared; -import stroom.datasource.api.v2.FieldInfo; +import stroom.datasource.api.v2.QueryField; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonInclude; @@ -16,14 +16,14 @@ public class QueryHelpField extends QueryHelpData { @JsonProperty @JsonPropertyDescription("A field of a data source.") - private final FieldInfo fieldInfo; + private final QueryField field; @JsonCreator - public QueryHelpField(@JsonProperty("fieldInfo") final FieldInfo fieldInfo) { - this.fieldInfo = fieldInfo; + public QueryHelpField(@JsonProperty("field") final QueryField field) { + this.field = field; } - public FieldInfo getFieldInfo() { - return fieldInfo; + public QueryField getField() { + return field; } } diff --git a/stroom-core/src/test/java/stroom/core/meta/TestMetaSuggestionsQueryHandler.java b/stroom-core/src/test/java/stroom/core/meta/TestMetaSuggestionsQueryHandler.java index 208c3d3a4d2..c48e128de8b 100644 --- a/stroom-core/src/test/java/stroom/core/meta/TestMetaSuggestionsQueryHandler.java +++ b/stroom-core/src/test/java/stroom/core/meta/TestMetaSuggestionsQueryHandler.java @@ -1,6 +1,5 @@ package stroom.core.meta; -import stroom.datasource.api.v2.FieldInfo; import stroom.docref.DocRef; import stroom.docrefinfo.api.DocRefInfoService; import stroom.feed.api.FeedStore; @@ -143,7 +142,7 @@ private List doFeedNameTest(final Set metaFeedNames, final Set getFieldInfo(final FindFieldInfoCriteria criteria) { + public ResultPage getFieldInfo(final FindFieldInfoCriteria criteria) { return FieldInfoResultPageBuilder.builder(criteria).addAll(IndexShardFields.getFields()).build(); } diff --git a/stroom-meta/stroom-meta-impl/src/main/java/stroom/meta/impl/MetaDataSourceProvider.java b/stroom-meta/stroom-meta-impl/src/main/java/stroom/meta/impl/MetaDataSourceProvider.java index ed4fbc35426..afe0ff1b972 100644 --- a/stroom-meta/stroom-meta-impl/src/main/java/stroom/meta/impl/MetaDataSourceProvider.java +++ b/stroom-meta/stroom-meta-impl/src/main/java/stroom/meta/impl/MetaDataSourceProvider.java @@ -1,8 +1,8 @@ package stroom.meta.impl; import stroom.datasource.api.v2.DataSourceProvider; -import stroom.datasource.api.v2.FieldInfo; import stroom.datasource.api.v2.FindFieldInfoCriteria; +import stroom.datasource.api.v2.QueryField; import stroom.docref.DocRef; import stroom.meta.shared.MetaFields; import stroom.query.common.v2.FieldInfoResultPageBuilder; @@ -27,7 +27,7 @@ public String getType() { } @Override - public ResultPage getFieldInfo(final FindFieldInfoCriteria criteria) { + public ResultPage getFieldInfo(final FindFieldInfoCriteria criteria) { return FieldInfoResultPageBuilder.builder(criteria).addAll(MetaFields.getFields()).build(); } diff --git a/stroom-meta/stroom-meta-impl/src/main/java/stroom/meta/impl/MetaServiceImpl.java b/stroom-meta/stroom-meta-impl/src/main/java/stroom/meta/impl/MetaServiceImpl.java index fe776756a11..1e0bdbc46a1 100644 --- a/stroom-meta/stroom-meta-impl/src/main/java/stroom/meta/impl/MetaServiceImpl.java +++ b/stroom-meta/stroom-meta-impl/src/main/java/stroom/meta/impl/MetaServiceImpl.java @@ -5,7 +5,6 @@ import stroom.data.retention.shared.DataRetentionDeleteSummary; import stroom.data.retention.shared.DataRetentionRules; import stroom.data.retention.shared.FindDataRetentionImpactCriteria; -import stroom.datasource.api.v2.FieldInfo; import stroom.datasource.api.v2.FindFieldInfoCriteria; import stroom.datasource.api.v2.QueryField; import stroom.docref.DocRef; @@ -285,7 +284,7 @@ public DocRef getDocRef() { } @Override - public ResultPage getFieldInfo(final FindFieldInfoCriteria criteria) { + public ResultPage getFieldInfo(final FindFieldInfoCriteria criteria) { return FieldInfoResultPageBuilder.builder(criteria).addAll(MetaFields.getAllFields()).build(); } diff --git a/stroom-pipeline/src/main/java/stroom/pipeline/refdata/ReferenceDataServiceImpl.java b/stroom-pipeline/src/main/java/stroom/pipeline/refdata/ReferenceDataServiceImpl.java index 9843d6c1502..7a1c08123d4 100644 --- a/stroom-pipeline/src/main/java/stroom/pipeline/refdata/ReferenceDataServiceImpl.java +++ b/stroom-pipeline/src/main/java/stroom/pipeline/refdata/ReferenceDataServiceImpl.java @@ -2,7 +2,6 @@ import stroom.bytebuffer.ByteBufferPool; import stroom.data.shared.StreamTypeNames; -import stroom.datasource.api.v2.FieldInfo; import stroom.datasource.api.v2.FindFieldInfoCriteria; import stroom.datasource.api.v2.QueryField; import stroom.dictionary.api.WordListProvider; @@ -679,7 +678,7 @@ public DocRef getDocRef() { } @Override - public ResultPage getFieldInfo(final FindFieldInfoCriteria criteria) { + public ResultPage getFieldInfo(final FindFieldInfoCriteria criteria) { return FieldInfoResultPageBuilder.builder(criteria).addAll(ReferenceDataFields.FIELDS).build(); } diff --git a/stroom-processor/stroom-processor-impl/src/main/java/stroom/processor/impl/ProcessorTaskServiceImpl.java b/stroom-processor/stroom-processor-impl/src/main/java/stroom/processor/impl/ProcessorTaskServiceImpl.java index 8480947cbdf..adb13a57b3c 100644 --- a/stroom-processor/stroom-processor-impl/src/main/java/stroom/processor/impl/ProcessorTaskServiceImpl.java +++ b/stroom-processor/stroom-processor-impl/src/main/java/stroom/processor/impl/ProcessorTaskServiceImpl.java @@ -17,7 +17,6 @@ package stroom.processor.impl; -import stroom.datasource.api.v2.FieldInfo; import stroom.datasource.api.v2.FindFieldInfoCriteria; import stroom.datasource.api.v2.QueryField; import stroom.docref.DocRef; @@ -94,7 +93,7 @@ public DocRef getDocRef() { } @Override - public ResultPage getFieldInfo(final FindFieldInfoCriteria criteria) { + public ResultPage getFieldInfo(final FindFieldInfoCriteria criteria) { return FieldInfoResultPageBuilder.builder(criteria).addAll(ProcessorTaskFields.getFields()).build(); } diff --git a/stroom-query/stroom-query-api/src/main/java/stroom/datasource/api/v2/DataSourceProvider.java b/stroom-query/stroom-query-api/src/main/java/stroom/datasource/api/v2/DataSourceProvider.java index edea6259bc0..0afb11ac5d3 100644 --- a/stroom-query/stroom-query-api/src/main/java/stroom/datasource/api/v2/DataSourceProvider.java +++ b/stroom-query/stroom-query-api/src/main/java/stroom/datasource/api/v2/DataSourceProvider.java @@ -28,7 +28,7 @@ public interface DataSourceProvider { String getType(); - ResultPage getFieldInfo(FindFieldInfoCriteria criteria); + ResultPage getFieldInfo(FindFieldInfoCriteria criteria); Optional fetchDocumentation(DocRef dataSourceRef); diff --git a/stroom-query/stroom-query-api/src/main/java/stroom/datasource/api/v2/FieldInfo.java b/stroom-query/stroom-query-api/src/main/java/stroom/datasource/api/v2/FieldInfo.java deleted file mode 100644 index 34d65440bf8..00000000000 --- a/stroom-query/stroom-query-api/src/main/java/stroom/datasource/api/v2/FieldInfo.java +++ /dev/null @@ -1,164 +0,0 @@ -package stroom.datasource.api.v2; - -import com.fasterxml.jackson.annotation.JsonCreator; -import com.fasterxml.jackson.annotation.JsonIgnore; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonInclude.Include; -import com.fasterxml.jackson.annotation.JsonProperty; -import com.fasterxml.jackson.annotation.JsonPropertyOrder; - -import java.util.Objects; - -@JsonPropertyOrder(alphabetic = true) -@JsonInclude(Include.NON_NULL) -public class FieldInfo implements Field { - - @JsonProperty - private final String fldName; - @JsonProperty - private final FieldType fldType; - @JsonProperty - private final ConditionSet conditions; - @JsonProperty - private final String docRefType; - @JsonProperty - private final Boolean queryable; - - @JsonCreator - public FieldInfo(@JsonProperty("fldName") final String fldName, - @JsonProperty("fldType") final FieldType fldType, - @JsonProperty("conditions") final ConditionSet conditions, - @JsonProperty("docRefType") final String docRefType, - @JsonProperty("queryable") final Boolean queryable) { - this.fldName = fldName; - this.fldType = fldType; - this.conditions = conditions; - this.docRefType = docRefType; - this.queryable = queryable; - } - - public static FieldInfo create(final QueryField field) { - return builder() - .fldName(field.getFldName()) - .fldType(field.getFldType()) - .conditions(field.getConditionSet()) - .docRefType(field.getDocRefType()) - .build(); - } - - @Override - public String getFldName() { - return fldName; - } - - @Override - public FieldType getFldType() { - return fldType; - } - - public ConditionSet getConditions() { - return conditions; - } - - public String getDocRefType() { - return docRefType; - } - - public Boolean getQueryable() { - return queryable; - } - - public boolean queryable() { - return queryable == null || queryable; - } - - @JsonIgnore - @Override - public String getDisplayValue() { - return fldName; - } - - @Override - public int compareTo(final Field field) { - return fldName.compareTo(field.getFldName()); - } - - @Override - public boolean equals(final Object o) { - if (this == o) { - return true; - } - if (!(o instanceof FieldInfo)) { - return false; - } - final FieldInfo that = (FieldInfo) o; - return Objects.equals(fldName, that.fldName) && fldType == that.fldType; - } - - @Override - public int hashCode() { - return Objects.hash(fldName, fldType); - } - - public Builder copy() { - return new Builder(this); - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - - private String fldName; - private FieldType fldType; - private ConditionSet conditions; - private String docRefType; - private Boolean queryable; - - public Builder() { - } - - public Builder(final FieldInfo fieldInfo) { - this.fldName = fieldInfo.fldName; - this.fldType = fieldInfo.fldType; - this.conditions = fieldInfo.conditions; - this.docRefType = fieldInfo.docRefType; - this.queryable = fieldInfo.queryable; - } - - public Builder fldName(final String fldName) { - this.fldName = fldName; - return this; - } - - public Builder fldType(final FieldType fldType) { - this.fldType = fldType; - return this; - } - - public Builder conditions(final ConditionSet conditions) { - this.conditions = conditions; - return this; - } - - public Builder docRefType(final String docRefType) { - this.docRefType = docRefType; - return this; - } - - public Builder queryable(final Boolean queryable) { - this.queryable = queryable; - return this; - } - - public FieldInfo build() { - return new FieldInfo( - fldName, - fldType, - conditions, - docRefType, - queryable); - } - } -} diff --git a/stroom-query/stroom-query-api/src/main/java/stroom/datasource/api/v2/QueryFieldService.java b/stroom-query/stroom-query-api/src/main/java/stroom/datasource/api/v2/QueryFieldService.java index 339ee1e0fb4..0439b52c65e 100644 --- a/stroom-query/stroom-query-api/src/main/java/stroom/datasource/api/v2/QueryFieldService.java +++ b/stroom-query/stroom-query-api/src/main/java/stroom/datasource/api/v2/QueryFieldService.java @@ -9,7 +9,7 @@ public interface QueryFieldService { int getOrCreateFieldSource(DocRef docRef); - void addFields(int fieldSourceId, Collection fields); + void addFields(int fieldSourceId, Collection fields); - ResultPage findFieldInfo(FindFieldInfoCriteria criteria); + ResultPage findFieldInfo(FindFieldInfoCriteria criteria); } diff --git a/stroom-query/stroom-query-common/src/main/java/stroom/query/common/v2/DataSourceProviderRegistry.java b/stroom-query/stroom-query-common/src/main/java/stroom/query/common/v2/DataSourceProviderRegistry.java index be77f4a0b11..ab73bc9f052 100644 --- a/stroom-query/stroom-query-common/src/main/java/stroom/query/common/v2/DataSourceProviderRegistry.java +++ b/stroom-query/stroom-query-common/src/main/java/stroom/query/common/v2/DataSourceProviderRegistry.java @@ -1,8 +1,8 @@ package stroom.query.common.v2; import stroom.datasource.api.v2.DataSourceProvider; -import stroom.datasource.api.v2.FieldInfo; import stroom.datasource.api.v2.FindFieldInfoCriteria; +import stroom.datasource.api.v2.QueryField; import stroom.docref.DocRef; import stroom.util.logging.LambdaLogger; import stroom.util.logging.LambdaLoggerFactory; @@ -42,7 +42,7 @@ public DocRef fetchDefaultExtractionPipeline(final DocRef dataSourceRef) { .orElse(null); } - public ResultPage getFieldInfo(final FindFieldInfoCriteria criteria) { + public ResultPage getFieldInfo(final FindFieldInfoCriteria criteria) { try { return getDataSourceProvider(criteria.getDataSourceRef().getType()) .map(dsp -> dsp.getFieldInfo(criteria)) diff --git a/stroom-query/stroom-query-common/src/main/java/stroom/query/common/v2/FieldInfoResultPageBuilder.java b/stroom-query/stroom-query-common/src/main/java/stroom/query/common/v2/FieldInfoResultPageBuilder.java index 4c510bd486f..60de25d9bc9 100644 --- a/stroom-query/stroom-query-common/src/main/java/stroom/query/common/v2/FieldInfoResultPageBuilder.java +++ b/stroom-query/stroom-query-common/src/main/java/stroom/query/common/v2/FieldInfoResultPageBuilder.java @@ -1,6 +1,5 @@ package stroom.query.common.v2; -import stroom.datasource.api.v2.FieldInfo; import stroom.datasource.api.v2.FindFieldInfoCriteria; import stroom.datasource.api.v2.QueryField; import stroom.util.resultpage.InexactResultPageBuilder; @@ -14,7 +13,7 @@ public class FieldInfoResultPageBuilder { private final StringMatcher stringMatcher; - private final ResultPageBuilder resultPageBuilder; + private final ResultPageBuilder resultPageBuilder; private boolean addMore = true; @@ -38,12 +37,12 @@ public FieldInfoResultPageBuilder addAll(final List fields) { public boolean add(final QueryField field) { if (stringMatcher.match(field.getFldName()).isPresent()) { - addMore = resultPageBuilder.add(FieldInfo.create(field)); + addMore = resultPageBuilder.add(field); } return addMore; } - public ResultPage build() { + public ResultPage build() { return resultPageBuilder.build(); } } diff --git a/stroom-query/stroom-query-field-impl-db/src/main/java/stroom/query/field/impl/db/QueryFieldDaoImpl.java b/stroom-query/stroom-query-field-impl-db/src/main/java/stroom/query/field/impl/db/QueryFieldDaoImpl.java index 43987be1dc6..565fec4f2fc 100644 --- a/stroom-query/stroom-query-field-impl-db/src/main/java/stroom/query/field/impl/db/QueryFieldDaoImpl.java +++ b/stroom-query/stroom-query-field-impl-db/src/main/java/stroom/query/field/impl/db/QueryFieldDaoImpl.java @@ -17,9 +17,9 @@ package stroom.query.field.impl.db; import stroom.datasource.api.v2.ConditionSet; -import stroom.datasource.api.v2.FieldInfo; import stroom.datasource.api.v2.FieldType; import stroom.datasource.api.v2.FindFieldInfoCriteria; +import stroom.datasource.api.v2.QueryField; import stroom.db.util.JooqUtil; import stroom.docref.DocRef; import stroom.docref.StringMatch; @@ -77,13 +77,13 @@ public void createFieldSource(final DocRef docRef) { .execute()); } - public void addFields(final int fieldSourceId, final Collection fields) { + public void addFields(final int fieldSourceId, final Collection fields) { JooqUtil.context(queryDatasourceDbConnProvider, context -> { var c = context.insertInto(FIELD_INFO, FIELD_INFO.FK_FIELD_SOURCE_ID, FIELD_INFO.FIELD_TYPE, FIELD_INFO.FIELD_NAME); - for (final FieldInfo field : fields) { + for (final QueryField field : fields) { c = c.values(fieldSourceId, (byte) field.getFldType().getIndex(), field.getFldName()); @@ -95,7 +95,7 @@ public void addFields(final int fieldSourceId, final Collection field } @Override - public ResultPage findFieldInfo(final FindFieldInfoCriteria criteria) { + public ResultPage findFieldInfo(final FindFieldInfoCriteria criteria) { final Optional optional = getFieldSource(criteria.getDataSourceRef()); if (optional.isEmpty()) { return ResultPage.createCriterialBasedList(Collections.emptyList(), criteria); @@ -107,7 +107,7 @@ public ResultPage findFieldInfo(final FindFieldInfoCriteria criteria) final int offset = JooqUtil.getOffset(criteria.getPageRequest()); final int limit = JooqUtil.getLimit(criteria.getPageRequest(), true); - final List fieldInfoList = JooqUtil + final List fieldInfoList = JooqUtil .contextResult(queryDatasourceDbConnProvider, context -> context .select(FIELD_INFO.FIELD_TYPE, FIELD_INFO.FIELD_NAME) @@ -122,7 +122,7 @@ public ResultPage findFieldInfo(final FindFieldInfoCriteria criteria) final String name = r.get(FIELD_INFO.FIELD_NAME); final FieldType fieldType = FieldType.get(typeId); final ConditionSet conditions = ConditionSet.getDefault(fieldType); - return new FieldInfo(name, fieldType, conditions, null, null); + return new QueryField(null, null, name, fieldType, conditions, null, null); }); return ResultPage.createCriterialBasedList(fieldInfoList, criteria); } diff --git a/stroom-query/stroom-query-field-impl/src/main/java/stroom/query/field/impl/QueryFieldDao.java b/stroom-query/stroom-query-field-impl/src/main/java/stroom/query/field/impl/QueryFieldDao.java index c7c89ccb89a..53d13633865 100644 --- a/stroom-query/stroom-query-field-impl/src/main/java/stroom/query/field/impl/QueryFieldDao.java +++ b/stroom-query/stroom-query-field-impl/src/main/java/stroom/query/field/impl/QueryFieldDao.java @@ -17,8 +17,8 @@ package stroom.query.field.impl; -import stroom.datasource.api.v2.FieldInfo; import stroom.datasource.api.v2.FindFieldInfoCriteria; +import stroom.datasource.api.v2.QueryField; import stroom.docref.DocRef; import stroom.util.shared.ResultPage; @@ -28,7 +28,7 @@ public interface QueryFieldDao { int getOrCreateFieldSource(DocRef docRef); - void addFields(int fieldSourceId, Collection fields); + void addFields(int fieldSourceId, Collection fields); - ResultPage findFieldInfo(FindFieldInfoCriteria criteria); + ResultPage findFieldInfo(FindFieldInfoCriteria criteria); } diff --git a/stroom-query/stroom-query-field-impl/src/main/java/stroom/query/field/impl/QueryFieldServiceImpl.java b/stroom-query/stroom-query-field-impl/src/main/java/stroom/query/field/impl/QueryFieldServiceImpl.java index f79291204ff..af6634c7733 100644 --- a/stroom-query/stroom-query-field-impl/src/main/java/stroom/query/field/impl/QueryFieldServiceImpl.java +++ b/stroom-query/stroom-query-field-impl/src/main/java/stroom/query/field/impl/QueryFieldServiceImpl.java @@ -1,7 +1,7 @@ package stroom.query.field.impl; -import stroom.datasource.api.v2.FieldInfo; import stroom.datasource.api.v2.FindFieldInfoCriteria; +import stroom.datasource.api.v2.QueryField; import stroom.datasource.api.v2.QueryFieldService; import stroom.docref.DocRef; import stroom.util.shared.ResultPage; @@ -25,12 +25,12 @@ public int getOrCreateFieldSource(final DocRef docRef) { } @Override - public void addFields(final int fieldSourceId, final Collection fields) { + public void addFields(final int fieldSourceId, final Collection fields) { queryDatasourceDao.addFields(fieldSourceId, fields); } @Override - public ResultPage findFieldInfo(final FindFieldInfoCriteria criteria) { + public ResultPage findFieldInfo(final FindFieldInfoCriteria criteria) { return queryDatasourceDao.findFieldInfo(criteria); } } diff --git a/stroom-query/stroom-query-impl/src/main/java/stroom/query/impl/Fields.java b/stroom-query/stroom-query-impl/src/main/java/stroom/query/impl/Fields.java index 64787add9b8..645ff89a734 100644 --- a/stroom-query/stroom-query-impl/src/main/java/stroom/query/impl/Fields.java +++ b/stroom-query/stroom-query-impl/src/main/java/stroom/query/impl/Fields.java @@ -1,7 +1,7 @@ package stroom.query.impl; -import stroom.datasource.api.v2.FieldInfo; import stroom.datasource.api.v2.FindFieldInfoCriteria; +import stroom.datasource.api.v2.QueryField; import stroom.docref.DocRef; import stroom.docref.StringMatch.MatchType; import stroom.query.shared.CompletionValue; @@ -62,7 +62,7 @@ public void addRows(final QueryHelpRequest request, Collections.emptyList(), optional.get(), request.getStringMatch()); - hasChildren = queryService.getFieldInfo(criteria).size() > 0; + hasChildren = queryService.findFields(criteria).size() > 0; } final StringMatcher stringMatcher = new StringMatcher(request.getStringMatch()); @@ -80,7 +80,7 @@ public void addRows(final QueryHelpRequest request, request.getSortList(), optional.get(), request.getStringMatch()); - final ResultPage resultPage = queryService.getFieldInfo(criteria); + final ResultPage resultPage = queryService.findFields(criteria); resultConsumer.skip(resultPage.getPageStart()); resultPage.getValues().forEach(fieldInfo -> { final QueryHelpRow row = new QueryHelpRow( @@ -109,12 +109,12 @@ public void addCompletions(final CompletionsRequest request, docRef, request.getStringMatch()); - final ResultPage resultPage = queryService.getFieldInfo(criteria); + final ResultPage resultPage = queryService.findFields(criteria); resultPage.getValues().forEach(fieldInfo -> resultList.add(createCompletionValue(fieldInfo))); }); } - private CompletionValue createCompletionValue(final FieldInfo fieldInfo) { + private CompletionValue createCompletionValue(final QueryField fieldInfo) { final String insertText = getInsertText(fieldInfo.getFldName()); final String tooltip = getDetail(fieldInfo); return new CompletionValue( @@ -125,7 +125,7 @@ private CompletionValue createCompletionValue(final FieldInfo fieldInfo) { tooltip); } - private String getDetail(final FieldInfo fieldInfo) { + private String getDetail(final QueryField fieldInfo) { final DetailBuilder detail = new DetailBuilder(); detail.title(fieldInfo.getFldName()); detail.description(description -> addFieldDetails(description, fieldInfo)); @@ -138,10 +138,10 @@ private String getInsertText(final String fieldName) { : fieldName; } - private void addFieldDetails(final DetailBuilder detail, final FieldInfo field) { + private void addFieldDetails(final DetailBuilder detail, final QueryField field) { final String fieldName = field.getFldName(); final String fieldType = field.getFldType().getDisplayValue(); - final String supportedConditions = field.getConditions().toString(); + final String supportedConditions = field.getConditionSet().toString(); detail.table(table -> table.appendKVRow("Name:", fieldName) .appendKVRow("Type:", fieldType) @@ -166,7 +166,7 @@ public Optional fetchDetail(final QueryHelpRow row) { } else if (row.getId().startsWith(FIELDS_ID + ".") && row.getData() instanceof final QueryHelpField queryHelpField) { - final FieldInfo fieldInfo = queryHelpField.getFieldInfo(); + final QueryField fieldInfo = queryHelpField.getField(); final InsertType insertType = NullSafe.isBlankString(row.getTitle()) ? InsertType.BLANK : InsertType.PLAIN_TEXT; diff --git a/stroom-query/stroom-query-impl/src/main/java/stroom/query/impl/QueryService.java b/stroom-query/stroom-query-impl/src/main/java/stroom/query/impl/QueryService.java index 966f533184e..4ea9cebe964 100644 --- a/stroom-query/stroom-query-impl/src/main/java/stroom/query/impl/QueryService.java +++ b/stroom-query/stroom-query-impl/src/main/java/stroom/query/impl/QueryService.java @@ -2,8 +2,8 @@ import stroom.dashboard.shared.DashboardSearchResponse; import stroom.dashboard.shared.ValidateExpressionResult; -import stroom.datasource.api.v2.FieldInfo; import stroom.datasource.api.v2.FindFieldInfoCriteria; +import stroom.datasource.api.v2.QueryField; import stroom.docref.DocRef; import stroom.query.shared.DownloadQueryResultsRequest; import stroom.query.shared.QueryDoc; @@ -32,7 +32,7 @@ public interface QueryService { Optional getReferencedDataSource(String query); - ResultPage getFieldInfo(FindFieldInfoCriteria criteria); + ResultPage findFields(FindFieldInfoCriteria criteria); Optional fetchDocumentation(DocRef dataSourceRef); } diff --git a/stroom-query/stroom-query-impl/src/main/java/stroom/query/impl/QueryServiceImpl.java b/stroom-query/stroom-query-impl/src/main/java/stroom/query/impl/QueryServiceImpl.java index af408c6264e..a6837d2200a 100644 --- a/stroom-query/stroom-query-impl/src/main/java/stroom/query/impl/QueryServiceImpl.java +++ b/stroom-query/stroom-query-impl/src/main/java/stroom/query/impl/QueryServiceImpl.java @@ -20,8 +20,8 @@ import stroom.dashboard.impl.logging.SearchEventLog; import stroom.dashboard.shared.DashboardSearchResponse; import stroom.dashboard.shared.ValidateExpressionResult; -import stroom.datasource.api.v2.FieldInfo; import stroom.datasource.api.v2.FindFieldInfoCriteria; +import stroom.datasource.api.v2.QueryField; import stroom.docref.DocRef; import stroom.docstore.api.DocumentResourceHelper; import stroom.event.logging.rs.api.AutoLogged; @@ -514,7 +514,7 @@ public Optional getReferencedDataSource(final String query) { } @Override - public ResultPage getFieldInfo(final FindFieldInfoCriteria criteria) { + public ResultPage findFields(final FindFieldInfoCriteria criteria) { return securityContext.useAsReadResult(() -> dataSourceProviderRegistry.getFieldInfo(criteria)); } diff --git a/stroom-query/stroom-query-impl/src/main/java/stroom/query/impl/datasource/DataSourceResourceImpl.java b/stroom-query/stroom-query-impl/src/main/java/stroom/query/impl/datasource/DataSourceResourceImpl.java index a920004b4c0..d26b9d0821f 100644 --- a/stroom-query/stroom-query-impl/src/main/java/stroom/query/impl/datasource/DataSourceResourceImpl.java +++ b/stroom-query/stroom-query-impl/src/main/java/stroom/query/impl/datasource/DataSourceResourceImpl.java @@ -16,8 +16,8 @@ package stroom.query.impl.datasource; -import stroom.datasource.api.v2.FieldInfo; import stroom.datasource.api.v2.FindFieldInfoCriteria; +import stroom.datasource.api.v2.QueryField; import stroom.datasource.shared.DataSourceResource; import stroom.docref.DocRef; import stroom.docstore.shared.Documentation; @@ -39,8 +39,8 @@ class DataSourceResourceImpl implements DataSourceResource { } @Override - public ResultPage findFields(final FindFieldInfoCriteria criteria) { - return queryServiceProvider.get().getFieldInfo(criteria); + public ResultPage findFields(final FindFieldInfoCriteria criteria) { + return queryServiceProvider.get().findFields(criteria); } @Override diff --git a/stroom-search/stroom-search-elastic/src/main/java/stroom/search/elastic/search/ElasticSearchProvider.java b/stroom-search/stroom-search-elastic/src/main/java/stroom/search/elastic/search/ElasticSearchProvider.java index 3b26ff1da5e..2cf74fa99ae 100644 --- a/stroom-search/stroom-search-elastic/src/main/java/stroom/search/elastic/search/ElasticSearchProvider.java +++ b/stroom-search/stroom-search-elastic/src/main/java/stroom/search/elastic/search/ElasticSearchProvider.java @@ -18,7 +18,6 @@ package stroom.search.elastic.search; import stroom.datasource.api.v2.ConditionSet; -import stroom.datasource.api.v2.FieldInfo; import stroom.datasource.api.v2.FieldType; import stroom.datasource.api.v2.FindFieldInfoCriteria; import stroom.datasource.api.v2.QueryField; @@ -153,7 +152,7 @@ public ResultStore createResultStore(final SearchRequest searchRequest) { } @Override - public ResultPage getFieldInfo(final FindFieldInfoCriteria criteria) { + public ResultPage getFieldInfo(final FindFieldInfoCriteria criteria) { return securityContext.useAsReadResult(() -> { final FieldInfoResultPageBuilder builder = FieldInfoResultPageBuilder.builder(criteria); final ElasticIndexDoc index = elasticIndexStore.readDocument(criteria.getDataSourceRef()); diff --git a/stroom-search/stroom-search-elastic/src/main/java/stroom/search/elastic/suggest/ElasticSuggestionsQueryHandlerImpl.java b/stroom-search/stroom-search-elastic/src/main/java/stroom/search/elastic/suggest/ElasticSuggestionsQueryHandlerImpl.java index 9e9b5d42e44..c7a05e73e78 100644 --- a/stroom-search/stroom-search-elastic/src/main/java/stroom/search/elastic/suggest/ElasticSuggestionsQueryHandlerImpl.java +++ b/stroom-search/stroom-search-elastic/src/main/java/stroom/search/elastic/suggest/ElasticSuggestionsQueryHandlerImpl.java @@ -1,7 +1,7 @@ package stroom.search.elastic.suggest; -import stroom.datasource.api.v2.FieldInfo; import stroom.datasource.api.v2.FieldType; +import stroom.datasource.api.v2.QueryField; import stroom.query.shared.FetchSuggestionsRequest; import stroom.query.shared.Suggestions; import stroom.search.elastic.ElasticClientCache; @@ -86,7 +86,7 @@ public Suggestions getSuggestions(final FetchSuggestionsRequest request) { private Suggestions querySuggestions(final FetchSuggestionsRequest request, final ElasticIndexDoc elasticIndex, final RestHighLevelClient elasticClient) { - final FieldInfo field = request.getField(); + final QueryField field = request.getField(); final String query = request.getText(); try { diff --git a/stroom-search/stroom-search-impl/src/main/java/stroom/search/impl/LuceneSearchProvider.java b/stroom-search/stroom-search-impl/src/main/java/stroom/search/impl/LuceneSearchProvider.java index 305d1ec07a0..ce134c3be56 100644 --- a/stroom-search/stroom-search-impl/src/main/java/stroom/search/impl/LuceneSearchProvider.java +++ b/stroom-search/stroom-search-impl/src/main/java/stroom/search/impl/LuceneSearchProvider.java @@ -17,7 +17,6 @@ package stroom.search.impl; -import stroom.datasource.api.v2.FieldInfo; import stroom.datasource.api.v2.FindFieldInfoCriteria; import stroom.datasource.api.v2.QueryField; import stroom.datasource.api.v2.QueryFieldService; @@ -87,7 +86,7 @@ public LuceneSearchProvider(final IndexStore indexStore, } @Override - public ResultPage getFieldInfo(final FindFieldInfoCriteria criteria) { + public ResultPage getFieldInfo(final FindFieldInfoCriteria criteria) { return securityContext.useAsReadResult(() -> { final DocRef docRef = criteria.getDataSourceRef(); @@ -107,8 +106,7 @@ public ResultPage getFieldInfo(final FindFieldInfoCriteria criteria) final List fields = IndexDataSourceFieldUtil.getDataSourceFields(index); final int fieldSourceId = queryFieldService.getOrCreateFieldSource(docRef); - final List mapped = fields.stream().map(FieldInfo::create).toList(); - queryFieldService.addFields(fieldSourceId, mapped); + queryFieldService.addFields(fieldSourceId, fields); // // TEST DATA // for (int i = 0; i < 1000; i++) { @@ -156,7 +154,7 @@ public IndexField getIndexField(final DocRef docRef, final String fieldName) { private void addField(final int fieldSourceId, final QueryField field) { queryFieldService.addFields(fieldSourceId, - Collections.singletonList(FieldInfo.create(field))); + Collections.singletonList(field)); } @Override diff --git a/stroom-search/stroom-search-solr/src/main/java/stroom/search/solr/search/SolrSearchProvider.java b/stroom-search/stroom-search-solr/src/main/java/stroom/search/solr/search/SolrSearchProvider.java index 188eaa5fdc8..d9dc1b53a7f 100644 --- a/stroom-search/stroom-search-solr/src/main/java/stroom/search/solr/search/SolrSearchProvider.java +++ b/stroom-search/stroom-search-solr/src/main/java/stroom/search/solr/search/SolrSearchProvider.java @@ -17,7 +17,6 @@ package stroom.search.solr.search; -import stroom.datasource.api.v2.FieldInfo; import stroom.datasource.api.v2.FindFieldInfoCriteria; import stroom.datasource.api.v2.QueryField; import stroom.dictionary.api.WordListProvider; @@ -110,7 +109,7 @@ public SolrSearchProvider(final SolrIndexCache solrIndexCache, } @Override - public ResultPage getFieldInfo(final FindFieldInfoCriteria criteria) { + public ResultPage getFieldInfo(final FindFieldInfoCriteria criteria) { return securityContext.useAsReadResult(() -> { final FieldInfoResultPageBuilder builder = FieldInfoResultPageBuilder.builder(criteria); final SolrIndexDoc index = solrIndexStore.readDocument(criteria.getDataSourceRef()); diff --git a/stroom-search/stroom-searchable-api/src/main/java/stroom/searchable/api/Searchable.java b/stroom-search/stroom-searchable-api/src/main/java/stroom/searchable/api/Searchable.java index 4b699751609..392ba4ee78d 100644 --- a/stroom-search/stroom-searchable-api/src/main/java/stroom/searchable/api/Searchable.java +++ b/stroom-search/stroom-searchable-api/src/main/java/stroom/searchable/api/Searchable.java @@ -1,6 +1,5 @@ package stroom.searchable.api; -import stroom.datasource.api.v2.FieldInfo; import stroom.datasource.api.v2.FindFieldInfoCriteria; import stroom.datasource.api.v2.QueryField; import stroom.docref.DocRef; @@ -15,7 +14,7 @@ public interface Searchable { DocRef getDocRef(); - ResultPage getFieldInfo(FindFieldInfoCriteria criteria); + ResultPage getFieldInfo(FindFieldInfoCriteria criteria); Optional fetchDocumentation(DocRef docRef); diff --git a/stroom-search/stroom-searchable-impl/src/main/java/stroom/searchable/impl/SearchableSearchProvider.java b/stroom-search/stroom-searchable-impl/src/main/java/stroom/searchable/impl/SearchableSearchProvider.java index ea112ddb921..e1d7824dea9 100644 --- a/stroom-search/stroom-searchable-impl/src/main/java/stroom/searchable/impl/SearchableSearchProvider.java +++ b/stroom-search/stroom-searchable-impl/src/main/java/stroom/searchable/impl/SearchableSearchProvider.java @@ -1,6 +1,5 @@ package stroom.searchable.impl; -import stroom.datasource.api.v2.FieldInfo; import stroom.datasource.api.v2.FindFieldInfoCriteria; import stroom.datasource.api.v2.QueryField; import stroom.docref.DocRef; @@ -80,8 +79,8 @@ class SearchableSearchProvider implements SearchProvider { } @Override - public ResultPage getFieldInfo(final FindFieldInfoCriteria criteria) { - final Optional> optional = securityContext.useAsReadResult(() -> { + public ResultPage getFieldInfo(final FindFieldInfoCriteria criteria) { + final Optional> optional = securityContext.useAsReadResult(() -> { final Searchable searchable = searchableProvider.get(criteria.getDataSourceRef()); if (searchable != null) { return Optional.ofNullable(searchable.getFieldInfo(criteria)); @@ -89,7 +88,7 @@ public ResultPage getFieldInfo(final FindFieldInfoCriteria criteria) return Optional.empty(); }); return optional.orElseGet(() -> { - final List list = Collections.emptyList(); + final List list = Collections.emptyList(); return ResultPage.createCriterialBasedList(list, criteria); }); } @@ -176,7 +175,7 @@ private ResultStore buildStore(final TaskContext parentTaskContext, null, docRef, null); - final ResultPage resultPage = searchable.getFieldInfo(findFieldInfoCriteria); + final ResultPage resultPage = searchable.getFieldInfo(findFieldInfoCriteria); final Runnable runnable = taskContextFactory.context(taskName, taskContext -> { final AtomicBoolean destroyed = new AtomicBoolean(); diff --git a/stroom-statistics/stroom-statistics-impl-sql/src/main/java/stroom/statistics/impl/sql/search/SqlStatisticSearchProvider.java b/stroom-statistics/stroom-statistics-impl-sql/src/main/java/stroom/statistics/impl/sql/search/SqlStatisticSearchProvider.java index 9bd0c748028..bfc3345749a 100644 --- a/stroom-statistics/stroom-statistics-impl-sql/src/main/java/stroom/statistics/impl/sql/search/SqlStatisticSearchProvider.java +++ b/stroom-statistics/stroom-statistics-impl-sql/src/main/java/stroom/statistics/impl/sql/search/SqlStatisticSearchProvider.java @@ -1,7 +1,6 @@ package stroom.statistics.impl.sql.search; import stroom.datasource.api.v2.ConditionSet; -import stroom.datasource.api.v2.FieldInfo; import stroom.datasource.api.v2.FieldType; import stroom.datasource.api.v2.FindFieldInfoCriteria; import stroom.datasource.api.v2.QueryField; @@ -83,7 +82,7 @@ public SqlStatisticSearchProvider(final StatisticStoreStore statisticStoreStore, } @Override - public ResultPage getFieldInfo(final FindFieldInfoCriteria criteria) { + public ResultPage getFieldInfo(final FindFieldInfoCriteria criteria) { final FieldInfoResultPageBuilder builder = FieldInfoResultPageBuilder.builder(criteria); final StatisticStoreDoc entity = statisticStoreCache.getStatisticsDataSource(criteria.getDataSourceRef()); if (entity != null) { @@ -109,7 +108,7 @@ public QueryField getTimeField(final DocRef docRef) { } /** - * Turn the {@link StatisticStoreDoc} into an {@link List< QueryField >} object + * Turn the {@link StatisticStoreDoc} into an {@link List< QueryField >} object *

* This builds the standard set of fields for a statistics store, which can * be filtered by the relevant statistics store instance diff --git a/stroom-task/stroom-task-impl/src/main/java/stroom/task/impl/SearchableDual.java b/stroom-task/stroom-task-impl/src/main/java/stroom/task/impl/SearchableDual.java index dc7e23ebdfc..19799123a25 100644 --- a/stroom-task/stroom-task-impl/src/main/java/stroom/task/impl/SearchableDual.java +++ b/stroom-task/stroom-task-impl/src/main/java/stroom/task/impl/SearchableDual.java @@ -1,6 +1,5 @@ package stroom.task.impl; -import stroom.datasource.api.v2.FieldInfo; import stroom.datasource.api.v2.FindFieldInfoCriteria; import stroom.datasource.api.v2.QueryField; import stroom.docref.DocRef; @@ -35,7 +34,7 @@ public DocRef getDocRef() { } @Override - public ResultPage getFieldInfo(final FindFieldInfoCriteria criteria) { + public ResultPage getFieldInfo(final FindFieldInfoCriteria criteria) { return FieldInfoResultPageBuilder.builder(criteria).addAll(FIELDS).build(); } diff --git a/stroom-task/stroom-task-impl/src/main/java/stroom/task/impl/SearchableTaskProgress.java b/stroom-task/stroom-task-impl/src/main/java/stroom/task/impl/SearchableTaskProgress.java index ddac5565afa..020195dd97e 100644 --- a/stroom-task/stroom-task-impl/src/main/java/stroom/task/impl/SearchableTaskProgress.java +++ b/stroom-task/stroom-task-impl/src/main/java/stroom/task/impl/SearchableTaskProgress.java @@ -3,7 +3,6 @@ import stroom.cluster.task.api.NodeNotFoundException; import stroom.cluster.task.api.NullClusterStateException; import stroom.cluster.task.api.TargetNodeSetFactory; -import stroom.datasource.api.v2.FieldInfo; import stroom.datasource.api.v2.FindFieldInfoCriteria; import stroom.datasource.api.v2.QueryField; import stroom.docref.DocRef; @@ -79,7 +78,7 @@ public DocRef getDocRef() { } @Override - public ResultPage getFieldInfo(final FindFieldInfoCriteria criteria) { + public ResultPage getFieldInfo(final FindFieldInfoCriteria criteria) { return FieldInfoResultPageBuilder.builder(criteria).addAll(TaskManagerFields.getFields()).build(); } diff --git a/stroom-ui/src/api/stroom.ts b/stroom-ui/src/api/stroom.ts index cac7037f102..37015f74e34 100644 --- a/stroom-ui/src/api/stroom.ts +++ b/stroom-ui/src/api/stroom.ts @@ -1834,41 +1834,10 @@ export interface FetchPropertyTypesResult { export interface FetchSuggestionsRequest { /** A class for describing a unique reference to a 'document' in stroom. A 'document' is an entity in stroom such as a data source dictionary or pipeline. */ dataSource: DocRef; - field: FieldInfo; + field: QueryField; text?: string; } -export interface FieldInfo { - conditions?: - | "'=', '!=', 'between', '>', '>=', '<', '<='" - | "'=', '!=', 'in', 'in dictionary', 'between', '>', '>=', '<', '<='" - | "'=', '!='" - | "'=', '!=', 'in', 'in dictionary'" - | "'is', 'in folder'" - | "'is', 'in folder', '=', '!=', 'in', 'in dictionary'" - | "'=', '!=', '>', '>=', '<', '<=', 'between', 'in', 'in dictionary'" - | "'=', '!=', 'in', 'in dictionary', 'matches regex'" - | "'is', '=', '!='" - | "'between'" - | "'=', '!=', 'in'" - | "'=', '!=', 'in', 'in dictionary', 'is'"; - docRefType?: string; - fldName?: string; - fldType?: - | "ID" - | "BOOLEAN" - | "INTEGER" - | "LONG" - | "FLOAT" - | "DOUBLE" - | "DATE" - | "TEXT" - | "KEYWORD" - | "IPV4_ADDRESS" - | "DOC_REF"; - queryable?: boolean; -} - /** * A pair of regular expression filters (inclusion and exclusion) to apply to the field. Either or both can be supplied */ @@ -3812,7 +3781,7 @@ export interface QueryHelpDetail { insertType?: "PLAIN_TEXT" | "SNIPPET" | "BLANK" | "NOT_INSERTABLE"; } -export type QueryHelpField = QueryHelpData & { fieldInfo?: FieldInfo }; +export type QueryHelpField = QueryHelpData & { field?: QueryField }; export type QueryHelpFunctionSignature = QueryHelpData & { aliases?: string[]; @@ -4274,15 +4243,6 @@ export interface ResultPageDependency { values?: Dependency[]; } -/** - * A page of results. - */ -export interface ResultPageFieldInfo { - /** Details of the page of results being returned. */ - pageResponse?: PageResponse; - values?: FieldInfo[]; -} - /** * A page of results. */ @@ -4391,6 +4351,15 @@ export interface ResultPageProcessorTaskSummary { values?: ProcessorTaskSummary[]; } +/** + * A page of results. + */ +export interface ResultPageQueryField { + /** Details of the page of results being returned. */ + pageResponse?: PageResponse; + values?: QueryField[]; +} + /** * A page of results. */ @@ -7596,7 +7565,7 @@ export class Api extends HttpClient - this.request({ + this.request({ path: `/dataSource/v1/findFields`, method: "POST", body: data, diff --git a/stroom-view/stroom-view-impl/src/main/java/stroom/view/impl/ViewSearchProvider.java b/stroom-view/stroom-view-impl/src/main/java/stroom/view/impl/ViewSearchProvider.java index f452f713030..b8639df3ce1 100644 --- a/stroom-view/stroom-view-impl/src/main/java/stroom/view/impl/ViewSearchProvider.java +++ b/stroom-view/stroom-view-impl/src/main/java/stroom/view/impl/ViewSearchProvider.java @@ -1,7 +1,6 @@ package stroom.view.impl; import stroom.datasource.api.v2.DataSourceProvider; -import stroom.datasource.api.v2.FieldInfo; import stroom.datasource.api.v2.FindFieldInfoCriteria; import stroom.datasource.api.v2.QueryField; import stroom.docref.DocRef; @@ -66,8 +65,8 @@ private DocRef getReferencedDataSource(final DocRef viewDocRef) { } @Override - public ResultPage getFieldInfo(final FindFieldInfoCriteria criteria) { - final Optional> optional = securityContext.useAsReadResult(() -> { + public ResultPage getFieldInfo(final FindFieldInfoCriteria criteria) { + final Optional> optional = securityContext.useAsReadResult(() -> { // Find the referenced data source. final DocRef docRef = getReferencedDataSource(criteria.getDataSourceRef()); if (docRef != null) { @@ -83,7 +82,7 @@ public ResultPage getFieldInfo(final FindFieldInfoCriteria criteria) return Optional.empty(); }); return optional.orElseGet(() -> { - final List list = Collections.emptyList(); + final List list = Collections.emptyList(); return ResultPage.createCriterialBasedList(list, criteria); }); }