From 23b515f95f5c20b40caf6dfa26d58b976f4b46be Mon Sep 17 00:00:00 2001
From: Piotr Gawron <piotr.gawron@uni.lu>
Date: Wed, 1 Mar 2017 09:46:20 +0100
Subject: [PATCH] parsing of languages improved

---
 .../main/java/smash/appointment/parse/Subject.java   | 12 ++++++++++--
 .../java/smash/appointment/parse/SubjectParser.java  |  2 +-
 2 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/appointment-import/src/main/java/smash/appointment/parse/Subject.java b/appointment-import/src/main/java/smash/appointment/parse/Subject.java
index 798dcdc1..e41fd63d 100644
--- a/appointment-import/src/main/java/smash/appointment/parse/Subject.java
+++ b/appointment-import/src/main/java/smash/appointment/parse/Subject.java
@@ -124,8 +124,10 @@ public class Subject {
 	}
 
 	public void addLanguage(String string) {
-		if (!string.isEmpty()) {
-			this.languages.add(string);
+		if (!string.trim().isEmpty()) {
+			if (!languages.contains(string)) {
+				this.languages.add(string);
+			}
 		}
 	}
 
@@ -557,4 +559,10 @@ public class Subject {
 		this.resigned = resigned;
 	}
 
+	public void addLanguages(List<String> langs) {
+		for (String string : langs) {
+			addLanguage(string);
+		}
+	}
+
 }
diff --git a/appointment-import/src/main/java/smash/appointment/parse/SubjectParser.java b/appointment-import/src/main/java/smash/appointment/parse/SubjectParser.java
index 52718b29..6292d3cb 100644
--- a/appointment-import/src/main/java/smash/appointment/parse/SubjectParser.java
+++ b/appointment-import/src/main/java/smash/appointment/parse/SubjectParser.java
@@ -87,7 +87,7 @@ public abstract class SubjectParser {
 		result.setmPowerId(parsemPowerId(row));
 		result.setBirthDate(parseBirthDate(row));
 		result.setType(parseType(row));
-		result.setLanguages(parseLanguages(row));
+		result.addLanguages(parseLanguages(row));
 		result.setToBeSeenAt(parseToBeSeenAt(row));
 		result.setDead(parseDead(row));
 		result.setResigned(parseResigned(row));
-- 
GitLab