From c5ff7f73212660e5063ebe6c6f296ad34cd4ac45 Mon Sep 17 00:00:00 2001 From: foster33 <84727868+foster33@users.noreply.github.com> Date: Wed, 8 Jan 2025 20:40:56 +0000 Subject: [PATCH 1/2] Add search functionality and other QOL changes --- .../edge/DefaultEdgeDictionary.java | 46 +++++++++++-------- .../DictionaryServiceConfiguration.java | 2 +- .../dictionary/edge/EdgeDictionaryImpl.java | 8 +++- 3 files changed, 33 insertions(+), 23 deletions(-) diff --git a/api/src/main/java/datawave/webservice/dictionary/edge/DefaultEdgeDictionary.java b/api/src/main/java/datawave/webservice/dictionary/edge/DefaultEdgeDictionary.java index 4f4dc92..79b5e6c 100644 --- a/api/src/main/java/datawave/webservice/dictionary/edge/DefaultEdgeDictionary.java +++ b/api/src/main/java/datawave/webservice/dictionary/edge/DefaultEdgeDictionary.java @@ -1,6 +1,7 @@ package datawave.webservice.dictionary.edge; import java.io.IOException; +import java.text.MessageFormat; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; @@ -32,7 +33,13 @@ public class DefaultEdgeDictionary extends EdgeDictionaryBase, HtmlProvider { private static final long serialVersionUID = 1L; + private final String jqueryUri; + private final String dataTablesUri; private static final String TITLE = "Edge Dictionary", SEP = ", "; + private static final String DATA_TABLES_TEMPLATE = "\n" + + "\n" + "\n"; @XmlElementWrapper(name = "EdgeMetadata") @XmlElement(name = "Metadata") @@ -41,9 +48,12 @@ public class DefaultEdgeDictionary extends EdgeDictionaryBase fields) { + public DefaultEdgeDictionary(Collection fields, String jqueryUri, String dataTablesUri) { if (fields == null) { this.metadataList = null; setTotalResults(0); @@ -52,6 +62,8 @@ public DefaultEdgeDictionary(Collection fields) { setTotalResults(this.metadataList.size()); this.setHasResults(true); } + this.jqueryUri = jqueryUri; + this.dataTablesUri = dataTablesUri; } @Override @@ -177,7 +189,7 @@ public String getTitle() { @Override public String getHeadContent() { - return ""; + return MessageFormat.format(DATA_TABLES_TEMPLATE, jqueryUri, dataTablesUri); } public String getPageHeader() { @@ -187,28 +199,19 @@ public String getPageHeader() { @Override public String getMainContent() { StringBuilder builder = new StringBuilder(2048); - builder.append("
    ").append("
  • Edge Type: Defined either by Datawave Configuration files or Edge enrichment field.
  • ") - .append("
  • Edge Relationship: Defined by Datawave Configuration files
  • ") - .append("
  • Edge Attribute1 Source: Defined by Datawave Configuration files and optional attributes Attribute2 and Attribute3
  • ") - .append("
  • Fields: List of Field Name pairs used to generate this edge type.
  • ") - .append("
  • Fields Format:
    [Source Field, Target Field | Enrichment Field=Enrichment Field Value]
  • ") - .append("
  • Date: start date of edge type creation, format: yyyyMMdd
  • ").append("
"); - builder.append("\n") - .append("") - .append(""); + builder.append("
\n"); + builder.append("
\n"); + builder.append("
Edge TypeEdge RelationshipEdge Attribute1 SourceFieldsDate
\n") + .append("") + .append("") + .append("") + .append("") + .append("").append(""); builder.append(""); int x = 0; for (MetadataBase metadata : this.getMetadataList()) { - // highlight alternating rows - if (x % 2 == 0) { - builder.append(""); - } else { - builder.append(""); - } - x++; - String type = metadata.getEdgeType(); String relationship = metadata.getEdgeRelationship(); String collect = metadata.getEdgeAttribute1Source(); @@ -231,6 +234,9 @@ public String getMainContent() { builder.append(""); builder.append("
Edge Type ⓘEdge Relationship ⓘEdge Attribute1 Source ⓘFields ⓘDate ⓘ
\n"); + builder.append("
\n"); + builder.append("\n"); + builder.append(""); return builder.toString(); } diff --git a/service/src/main/java/datawave/microservice/dictionary/config/DictionaryServiceConfiguration.java b/service/src/main/java/datawave/microservice/dictionary/config/DictionaryServiceConfiguration.java index d263cfc..295a2b7 100644 --- a/service/src/main/java/datawave/microservice/dictionary/config/DictionaryServiceConfiguration.java +++ b/service/src/main/java/datawave/microservice/dictionary/config/DictionaryServiceConfiguration.java @@ -62,7 +62,7 @@ public DataDictionary datawaveDataDictionary(MarkingFunctions markingFunctions, @Bean @ConditionalOnMissingBean public EdgeDictionary datawaveEdgeDictionary(MetadataHelperFactory metadataHelperFactory) { - return new EdgeDictionaryImpl(metadataHelperFactory); + return new EdgeDictionaryImpl(metadataHelperFactory, "/dictionary/webjars/jquery/", "/dictionary/webjars/datatables/js/"); } @Bean diff --git a/service/src/main/java/datawave/microservice/dictionary/edge/EdgeDictionaryImpl.java b/service/src/main/java/datawave/microservice/dictionary/edge/EdgeDictionaryImpl.java index ff691b0..9db95a6 100644 --- a/service/src/main/java/datawave/microservice/dictionary/edge/EdgeDictionaryImpl.java +++ b/service/src/main/java/datawave/microservice/dictionary/edge/EdgeDictionaryImpl.java @@ -30,9 +30,13 @@ public class EdgeDictionaryImpl implements EdgeDictionary edgeMetada meta.setEventFields(eFields); metadata.add(meta); } - return new DefaultEdgeDictionary(metadata); + return new DefaultEdgeDictionary(metadata, this.jqueryUri, this.dataTablesUri); } } From f1c9bb3d4e9fe1a4d4217592f4fdd57d39664b20 Mon Sep 17 00:00:00 2001 From: foster33 <84727868+foster33@users.noreply.github.com> Date: Wed, 8 Jan 2025 22:28:44 +0000 Subject: [PATCH 2/2] Version change --- api/pom.xml | 2 +- service/pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/api/pom.xml b/api/pom.xml index 02fabf0..4b946a6 100644 --- a/api/pom.xml +++ b/api/pom.xml @@ -8,7 +8,7 @@ ../../../microservice-parent/pom.xml dictionary-api - 4.0.5-SNAPSHOT + 4.0.5 https://code.nsa.gov/datawave-dictionary-service scm:git:https://github.com/NationalSecurityAgency/datawave-dictionary-service.git diff --git a/service/pom.xml b/service/pom.xml index 620366d..ebb0957 100644 --- a/service/pom.xml +++ b/service/pom.xml @@ -26,7 +26,7 @@ datawave.microservice.dictionary.DictionaryService 2.1.1 5.2.0 - 4.0.3 + 4.0.5 4.0.2 3.0.2 4.0.0