Skip to content

Commit

Permalink
Updates based on testing
Browse files Browse the repository at this point in the history
  • Loading branch information
mineralntl committed Feb 26, 2024
1 parent b1b87b2 commit 0fa5693
Showing 1 changed file with 21 additions and 15 deletions.
36 changes: 21 additions & 15 deletions src/main/java/datawave/query/util/TypeMetadata.java
Original file line number Diff line number Diff line change
@@ -1,14 +1,5 @@
package datawave.query.util;

import com.google.common.base.Splitter;
import com.google.common.collect.HashMultimap;
import com.google.common.collect.ImmutableMultimap;
import com.google.common.collect.Iterables;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.google.common.collect.Multimap;
import com.google.common.collect.Sets;

import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
Expand All @@ -25,6 +16,15 @@
import java.util.TreeSet;
import java.util.stream.Collectors;

import com.google.common.base.Splitter;
import com.google.common.collect.HashMultimap;
import com.google.common.collect.ImmutableMultimap;
import com.google.common.collect.Iterables;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.google.common.collect.Multimap;
import com.google.common.collect.Sets;

public class TypeMetadata implements Serializable {

private Set<String> ingestTypes = new TreeSet<>();
Expand All @@ -47,8 +47,8 @@ public void setDataTypesMiniMap(Map<String,Integer> dataTypesMiniMap) {
this.dataTypesMiniMap = dataTypesMiniMap;
}

private Map<String,Integer> ingestTypesMiniMap = new TreeMap<>();
private Map<String,Integer> dataTypesMiniMap = new TreeMap<>();
private Map<String,Integer> ingestTypesMiniMap;
private Map<String,Integer> dataTypesMiniMap;

// <ingestType, <fieldName, DataType(s)>>
protected Map<String,Multimap<String,String>> typeMetadata;
Expand All @@ -60,17 +60,23 @@ public void setDataTypesMiniMap(Map<String,Integer> dataTypesMiniMap) {

public TypeMetadata() {
typeMetadata = Maps.newHashMap();
ingestTypesMiniMap = new TreeMap<>();
dataTypesMiniMap = new TreeMap<>();
}

public TypeMetadata(String in) {
typeMetadata = Maps.newHashMap();
ingestTypesMiniMap = new TreeMap<>();
dataTypesMiniMap = new TreeMap<>();
this.fromString(in);
}

public TypeMetadata(TypeMetadata in) {
typeMetadata = Maps.newHashMap();
ingestTypesMiniMap = new TreeMap<>();
dataTypesMiniMap = new TreeMap<>();
// make sure we do a deep copy to avoid access issues later
for (Map.Entry<String,Multimap<String,String>> entry : in.typeMetadata.entrySet()) {
for (Entry<String,Multimap<String,String>> entry : in.typeMetadata.entrySet()) {
this.typeMetadata.put(entry.getKey(), HashMultimap.create(entry.getValue()));
}
this.ingestTypes.addAll(in.ingestTypes);
Expand Down Expand Up @@ -389,18 +395,18 @@ private void fromString(String data) {
.entrySet()
.stream()
.filter(e -> e.getValue().equals(Integer.valueOf(vs[0])))
.map(Map.Entry::getKey)
.map(Entry::getKey)
.findFirst().get();

String dataType = getDataTypesMiniMap()
.entrySet()
.stream()
.filter(e -> e.getValue().equals(Integer.valueOf(vs[1])))
.map(Map.Entry::getKey)
.map(Entry::getKey)
.findFirst().get();
// @formatter:on

this.put(entrySplits[0], ingestType, dataType);
this.addTypeMetadata(entrySplits[0], ingestType, dataType);
}
fieldNames.add(entrySplits[0]);
}
Expand Down

0 comments on commit 0fa5693

Please sign in to comment.