Skip to content

Commit

Permalink
Import all knowledge items
Browse files Browse the repository at this point in the history
Filter out empty strings and replace quot
  • Loading branch information
Siedlerchr committed Aug 11, 2022
1 parent f06e564 commit 2d5ef1d
Show file tree
Hide file tree
Showing 5 changed files with 1,836 additions and 40 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import java.util.function.Predicate;
import java.util.stream.Collectors;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;
Expand Down Expand Up @@ -363,16 +364,22 @@ private String getPublisher(CitaviExchangeData.References.Reference data) {
}

private String getKnowledgeItem(CitaviExchangeData.References.Reference data) {
Optional<KnowledgeItem> knowledgeItem = knowledgeItems.getKnowledgeItem().stream().filter(p -> data.getId().equals(p.getReferenceID())).findFirst();

StringBuilder comment = new StringBuilder();
Optional<String> title = knowledgeItem.map(item -> item.getCoreStatement());
title.ifPresent(t -> comment.append("# ").append(t).append("\n\n"));
Optional<String> text = knowledgeItem.map(item -> item.getText());
text.ifPresent(t -> comment.append(t).append("\n\n"));
Optional<Integer> pages = knowledgeItem.map(item -> item.getPageRangeNumber()).filter(range -> range != -1);
pages.ifPresent(p -> comment.append("page range: ").append(p));

List<KnowledgeItem> foundItems = knowledgeItems.getKnowledgeItem().stream().filter(p -> data.getId().equals(p.getReferenceID())).toList();

int i = 0;
for (KnowledgeItem knowledgeItem : foundItems) {
i++;
Optional<String> title = Optional.ofNullable(knowledgeItem.getCoreStatement()).filter(Predicate.not(String::isEmpty));
title.ifPresent(t -> comment.append("# ").append(t).append("\n\n"));
Optional<String> text = Optional.ofNullable(knowledgeItem.getText()).filter(Predicate.not(String::isEmpty));
text.ifPresent(t -> comment.append(t).append("\n\n"));
Optional<Integer> pages = Optional.ofNullable(knowledgeItem.getPageRangeNumber()).filter(range -> range != -1);
pages.ifPresent(p -> comment.append("page range: ").append(p));
if (i < foundItems.size()) {
comment.append("\n\n");
}
}
return comment.toString();
}

Expand Down Expand Up @@ -455,6 +462,7 @@ private static InputStream checkForUtf8BOMAndDiscardIfAny(InputStream inputStrea
private String clean(String input) {
return StringUtil.unifyLineBreaks(input, " ")
.trim()
.replaceAll(" +", " ");
.replaceAll(" +", " ")
.replaceAll("&quot;", "\"");
}
}
15 changes: 8 additions & 7 deletions src/main/java/org/jabref/model/database/BibDatabase.java
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@
import java.util.Objects;
import java.util.Optional;
import java.util.Set;
import java.util.TreeSet;
import java.util.concurrent.ConcurrentHashMap;
import java.util.regex.Pattern;
import java.util.stream.Collectors;
Expand Down Expand Up @@ -601,13 +600,15 @@ private void listen(FieldAddedOrRemovedEvent event) {

private void updateVisibleFields() {
visibleFields.clear();
Set<Field> allFields = new TreeSet<>(Comparator.comparing(Field::getName));
for (BibEntry e : getEntries()) {
allFields.addAll(e.getFields());
for (BibEntry entry : getEntries()) {

Set<Field> fields = entry.getFields().stream().filter(field -> !FieldFactory.isInternalField(field))
.filter(field -> StringUtil.isNotBlank(field.getName()))
.collect(Collectors.toSet());

visibleFields.addAll(fields);
}
visibleFields.addAll(allFields.stream().filter(field -> !FieldFactory.isInternalField(field))
.filter(field -> StringUtil.isNotBlank(field.getName()))
.collect(Collectors.toSet()));

}

public Optional<BibEntry> getReferencedEntry(BibEntry entry) {
Expand Down
Loading

0 comments on commit 2d5ef1d

Please sign in to comment.