Skip to content

Commit

Permalink
issue #193
Browse files Browse the repository at this point in the history
  • Loading branch information
wowasa committed Sep 7, 2023
1 parent 829f95a commit e836cfa
Showing 1 changed file with 83 additions and 75 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@

import org.apache.commons.lang3.tuple.Pair;

import eu.clarin.cmdi.vlo.FieldKey;
import eu.clarin.cmdi.vlo.config.FieldNameService;
import eu.clarin.cmdi.vlo.importer.CMDIDataBaseImpl;
import eu.clarin.cmdi.vlo.importer.mapping.FacetDefinition;
Expand All @@ -26,80 +27,87 @@
*
* @author Wolfgang Walter SAUER (wowasa) <[email protected]>
*/
public class CMDIDataImpl extends CMDIDataBaseImpl<Map<String,List<ValueSet>>> {
private final Map<String,List<ValueSet>> facetValuesMap;

public CMDIDataImpl(FieldNameService fieldNameService) {
super(fieldNameService);
facetValuesMap = new HashMap<String,List<ValueSet>>();
}

@Override
public void addDocField(ValueSet valueSet, boolean caseInsensitive) {

this.facetValuesMap.computeIfAbsent(valueSet.getTargetFacetName(), list -> new ArrayList<ValueSet>()).add(valueSet);
}

@Override
public void addDocField(String fieldName, Object value, boolean caseInsensitive) {

this.facetValuesMap.computeIfAbsent(fieldName, list -> new ArrayList<ValueSet>()).add(

new ValueSet(
-1,
new FacetDefinition(null, "unknown"),
new TargetFacet(new FacetDefinition(null, fieldName), value.toString()),
Pair.of(value.toString(), DEFAULT_LANGUAGE),
false,
false
)
);
}

@Override
public void addDocFieldIfNull(ValueSet valueSet, boolean caseInsensitive) {

this.facetValuesMap.putIfAbsent(valueSet.getTargetFacetName(), List.of(valueSet));
}

@Override
public Collection<Object> getDocField(String name) {

return null;
}

@Override
public Map<String, List<ValueSet>> getDocument() {
return this.facetValuesMap;
}

@Override
public void replaceDocField(ValueSet valueSet, boolean caseInsensitive) {
this.facetValuesMap.put(valueSet.getTargetFacetName(), Arrays.asList(valueSet));

}

@Override
public void replaceDocField(String name, Object value, boolean caseInsensitive) {


}

@Override
public void removeField(String name) {
this.facetValuesMap.remove(name);

}

@Override
public boolean hasField(String name) {
return this.facetValuesMap.containsKey(name);
}

@Override
public Collection<Object> getFieldValues(String name) {

return this.facetValuesMap.get(name).stream().map(Object.class::cast).collect(Collectors.toList());
}
public class CMDIDataImpl extends CMDIDataBaseImpl<Map<String, List<ValueSet>>> {

private final Map<String, List<ValueSet>> facetValuesMap;

public CMDIDataImpl(FieldNameService fieldNameService) {
super(fieldNameService);
facetValuesMap = new HashMap<String, List<ValueSet>>();
}

@Override
public void addDocField(ValueSet valueSet, boolean caseInsensitive) {

final String fieldName = valueSet.getTargetFacetName();
final String value = valueSet.getValue();

if (fieldNameService.getFieldName(FieldKey.ID).equals(fieldName)) {
setId(value.trim());
}
else {

this.facetValuesMap.computeIfAbsent(valueSet.getTargetFacetName(), list -> new ArrayList<ValueSet>())
.add(valueSet);
}
}

@Override
public void addDocField(String fieldName, Object value, boolean caseInsensitive) {

this.facetValuesMap.computeIfAbsent(fieldName, list -> new ArrayList<ValueSet>()).add(

new ValueSet(-1, new FacetDefinition(null, "unknown"),
new TargetFacet(new FacetDefinition(null, fieldName), value.toString()),
Pair.of(value.toString(), DEFAULT_LANGUAGE), false, false));
}

@Override
public void addDocFieldIfNull(ValueSet valueSet, boolean caseInsensitive) {

this.facetValuesMap.putIfAbsent(valueSet.getTargetFacetName(), List.of(valueSet));
}

@Override
public Collection<Object> getDocField(String name) {

Collection<ValueSet> valueSetList;

return (valueSetList = this.facetValuesMap.get(name)) == null ? null
: valueSetList.stream().map(ValueSet::getValue).collect(Collectors.toList());
}

@Override
public Map<String, List<ValueSet>> getDocument() {
return this.facetValuesMap;
}

@Override
public void replaceDocField(ValueSet valueSet, boolean caseInsensitive) {
this.facetValuesMap.put(valueSet.getTargetFacetName(), Arrays.asList(valueSet));

}

@Override
public void replaceDocField(String name, Object value, boolean caseInsensitive) {

}

@Override
public void removeField(String name) {
this.facetValuesMap.remove(name);

}

@Override
public boolean hasField(String name) {
return this.facetValuesMap.containsKey(name);
}

@Override
public Collection<Object> getFieldValues(String name) {

return this.facetValuesMap.get(name).stream().map(Object.class::cast).collect(Collectors.toList());
}

}

0 comments on commit e836cfa

Please sign in to comment.