From 3646f05e75d930bb01f366c78f2cbad79f50d4ee Mon Sep 17 00:00:00 2001
From: uhensler <none@none>
Date: Wed, 10 Jan 2018 10:30:20 +0100
Subject: [PATCH] OO-3116: Show the taxonomic path in the list of queston items

---
 src/main/java/org/olat/modules/qpool/QuestionItem.java     | 5 -----
 .../java/org/olat/modules/qpool/QuestionItemShort.java     | 2 ++
 src/main/java/org/olat/modules/qpool/QuestionItemView.java | 1 +
 .../java/org/olat/modules/qpool/model/ItemWrapper.java     | 7 +++++++
 .../org/olat/modules/qpool/model/QuestionItemImpl.java     | 1 +
 .../olat/modules/qpool/ui/AbstractItemListController.java  | 1 +
 src/main/java/org/olat/modules/qpool/ui/ItemRow.java       | 5 +++++
 .../org/olat/modules/qpool/ui/QuestionItemDataModel.java   | 2 ++
 .../olat/modules/qpool/ui/_i18n/LocalStrings_de.properties | 2 +-
 .../olat/modules/qpool/ui/_i18n/LocalStrings_en.properties | 2 +-
 .../olat/modules/qpool/ui/_i18n/LocalStrings_fr.properties | 2 +-
 .../olat/modules/qpool/ui/_i18n/LocalStrings_it.properties | 2 +-
 .../olat/modules/qpool/ui/_i18n/LocalStrings_pl.properties | 1 -
 .../modules/qpool/ui/_i18n/LocalStrings_pt_BR.properties   | 2 +-
 .../modules/qpool/ui/_i18n/LocalStrings_zh_CN.properties   | 1 -
 15 files changed, 24 insertions(+), 12 deletions(-)

diff --git a/src/main/java/org/olat/modules/qpool/QuestionItem.java b/src/main/java/org/olat/modules/qpool/QuestionItem.java
index 122799ee7ce..0da898802b1 100644
--- a/src/main/java/org/olat/modules/qpool/QuestionItem.java
+++ b/src/main/java/org/olat/modules/qpool/QuestionItem.java
@@ -41,11 +41,6 @@ public interface QuestionItem extends QuestionItemShort {
 	public String getAdditionalInformations();
 		
 	//classification
-	/**
-	 * Field can be lazy loaded
-	 * @return
-	 */
-	public String getTaxonomicPath();
 	
 	public TaxonomyLevel getTaxonomyLevel();
 	
diff --git a/src/main/java/org/olat/modules/qpool/QuestionItemShort.java b/src/main/java/org/olat/modules/qpool/QuestionItemShort.java
index d5446c0bb34..e7a3db11228 100644
--- a/src/main/java/org/olat/modules/qpool/QuestionItemShort.java
+++ b/src/main/java/org/olat/modules/qpool/QuestionItemShort.java
@@ -54,6 +54,8 @@ public interface QuestionItemShort extends OLATResourceable, CreateInfo, Modifie
 	 */
 	public String getTaxonomyLevelName();
 	
+	public String getTaxonomicPath();;
+	
 	public String getTopic();
 	
 	//educational
diff --git a/src/main/java/org/olat/modules/qpool/QuestionItemView.java b/src/main/java/org/olat/modules/qpool/QuestionItemView.java
index da4f92dff3c..aebbe22df90 100644
--- a/src/main/java/org/olat/modules/qpool/QuestionItemView.java
+++ b/src/main/java/org/olat/modules/qpool/QuestionItemView.java
@@ -70,6 +70,7 @@ public interface QuestionItemView extends QuestionItemShort {
 		coverage,
 		additionalInformations,
 		taxonomyLevel,
+		taxonomyPath,
 		difficulty,
 		stdevDifficulty,
 		differentiation,
diff --git a/src/main/java/org/olat/modules/qpool/model/ItemWrapper.java b/src/main/java/org/olat/modules/qpool/model/ItemWrapper.java
index f34d5e41085..27fd204c9f9 100644
--- a/src/main/java/org/olat/modules/qpool/model/ItemWrapper.java
+++ b/src/main/java/org/olat/modules/qpool/model/ItemWrapper.java
@@ -53,6 +53,7 @@ public class ItemWrapper implements QuestionItemView {
 	private String language;
 	
 	private String taxonomyLevel;
+	private String taxonomyPath;
 	private String educationalContextLevel;
 	private String educationalLearningTime;
 	
@@ -196,6 +197,11 @@ public class ItemWrapper implements QuestionItemView {
 		return taxonomyLevel;
 	}
 
+	@Override
+	public String getTaxonomicPath() {
+		return taxonomyPath;
+	}
+
 	@Override
 	public String getEducationalContextLevel() {
 		return educationalContextLevel;
@@ -332,6 +338,7 @@ public class ItemWrapper implements QuestionItemView {
 			itemWrapper.language = item.getLanguage();
 			
 			itemWrapper.taxonomyLevel = item.getTaxonomyLevelName();
+			itemWrapper.taxonomyPath = item.getTaxonomicPath();
 			itemWrapper.educationalContextLevel = item.getEducationalContextLevel();
 			itemWrapper.educationalLearningTime = item.getEducationalLearningTime();
 			
diff --git a/src/main/java/org/olat/modules/qpool/model/QuestionItemImpl.java b/src/main/java/org/olat/modules/qpool/model/QuestionItemImpl.java
index b5ea33de6d7..41dc02febbe 100644
--- a/src/main/java/org/olat/modules/qpool/model/QuestionItemImpl.java
+++ b/src/main/java/org/olat/modules/qpool/model/QuestionItemImpl.java
@@ -246,6 +246,7 @@ public class QuestionItemImpl implements QuestionItemFull, CreateInfo, ModifiedI
 		this.additionalInformations = additionalInformations;
 	}
 
+	@Override
 	public TaxonomyLevel getTaxonomyLevel() {
 		return taxonomyLevel;
 	}
diff --git a/src/main/java/org/olat/modules/qpool/ui/AbstractItemListController.java b/src/main/java/org/olat/modules/qpool/ui/AbstractItemListController.java
index b40b4b33e84..689f9dc5f2f 100644
--- a/src/main/java/org/olat/modules/qpool/ui/AbstractItemListController.java
+++ b/src/main/java/org/olat/modules/qpool/ui/AbstractItemListController.java
@@ -174,6 +174,7 @@ public abstract class AbstractItemListController extends FormBasicController
 		columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(false, Cols.coverage.i18nKey(), Cols.coverage.ordinal(), true, OrderBy.coverage.name()));
 		columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(false, Cols.additionalInfos.i18nKey(), Cols.additionalInfos.ordinal(), true,  OrderBy.additionalInformations.name()));
 		columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(Cols.taxnonomyLevel.i18nKey(), Cols.taxnonomyLevel.ordinal(), true, OrderBy.taxonomyLevel.name()));
+		columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(Cols.taxnonomyPath.i18nKey(), Cols.taxnonomyPath.ordinal(), true, OrderBy.taxonomyPath.name()));
 		columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(false, Cols.difficulty.i18nKey(), Cols.difficulty.ordinal(), true, OrderBy.difficulty.name()));
 		columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(false, Cols.stdevDifficulty.i18nKey(), Cols.stdevDifficulty.ordinal(), true, OrderBy.stdevDifficulty.name()));
 		columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(false, Cols.differentiation.i18nKey(), Cols.differentiation.ordinal(), true, OrderBy.differentiation.name()));
diff --git a/src/main/java/org/olat/modules/qpool/ui/ItemRow.java b/src/main/java/org/olat/modules/qpool/ui/ItemRow.java
index 94a0226cea8..c085cb777b8 100644
--- a/src/main/java/org/olat/modules/qpool/ui/ItemRow.java
+++ b/src/main/java/org/olat/modules/qpool/ui/ItemRow.java
@@ -160,6 +160,11 @@ public class ItemRow implements QuestionItemView {
 		return delegate.getTaxonomyLevelName();
 	}
 
+	@Override
+	public String getTaxonomicPath() {
+		return delegate.getTaxonomicPath();
+	}
+
 	@Override
 	public String getEducationalContextLevel() {
 		return delegate.getEducationalContextLevel();
diff --git a/src/main/java/org/olat/modules/qpool/ui/QuestionItemDataModel.java b/src/main/java/org/olat/modules/qpool/ui/QuestionItemDataModel.java
index d281b0f01a3..0076037398b 100644
--- a/src/main/java/org/olat/modules/qpool/ui/QuestionItemDataModel.java
+++ b/src/main/java/org/olat/modules/qpool/ui/QuestionItemDataModel.java
@@ -76,6 +76,7 @@ public class QuestionItemDataModel extends DefaultFlexiTableDataSourceModel<Item
 			case creationDate: return item.getCreationDate();
 			case lastModified: return item.getLastModified();
 			case taxnonomyLevel: return item.getTaxonomyLevelName();
+			case taxnonomyPath: return item.getTaxonomicPath();
 			case difficulty: return MetaUIFactory.bigDToString(item.getDifficulty());
 			case stdevDifficulty: return MetaUIFactory.bigDToString(item.getStdevDifficulty());
 			case differentiation: return MetaUIFactory.bigDToString(item.getDifferentiation());
@@ -113,6 +114,7 @@ public class QuestionItemDataModel extends DefaultFlexiTableDataSourceModel<Item
 		creationDate("technical.creation"),
 		lastModified("technical.lastModified"),
 		taxnonomyLevel("classification.taxonomy.level"),
+		taxnonomyPath("classification.taxonomic.path"),
 		difficulty("question.difficulty"),
 		stdevDifficulty("question.stdevDifficulty"),
 		differentiation("question.differentiation"),
diff --git a/src/main/java/org/olat/modules/qpool/ui/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/modules/qpool/ui/_i18n/LocalStrings_de.properties
index 24883720483..2801cb7892d 100644
--- a/src/main/java/org/olat/modules/qpool/ui/_i18n/LocalStrings_de.properties
+++ b/src/main/java/org/olat/modules/qpool/ui/_i18n/LocalStrings_de.properties
@@ -7,7 +7,7 @@ applications=Anwendung
 author.item=Autorenrechte
 bulk.change=Metadaten \u00E4ndern
 bulk.change.description=Hier k\u00F6nnen Sie in 1 Schritt mehrere Attributen von mehreren Fragen \u00E4ndern.
-classification.taxonomic.path=Fachbereich
+classification.taxonomic.path=Fachbereich Pfad
 classification.taxonomy.level=Fachbereich
 classification.taxonomy.parents=Pfad
 collection.creationDate=Erstellt am
diff --git a/src/main/java/org/olat/modules/qpool/ui/_i18n/LocalStrings_en.properties b/src/main/java/org/olat/modules/qpool/ui/_i18n/LocalStrings_en.properties
index c4d24e21927..beb4ded9151 100644
--- a/src/main/java/org/olat/modules/qpool/ui/_i18n/LocalStrings_en.properties
+++ b/src/main/java/org/olat/modules/qpool/ui/_i18n/LocalStrings_en.properties
@@ -7,7 +7,7 @@ applications=Applications
 author.item=Author rights
 bulk.change=Change metadata
 bulk.change.description=here you can change in a single step severals attributes of several questions.
-classification.taxonomic.path=Subject
+classification.taxonomic.path=Subject path
 classification.taxonomy.level=Subject
 classification.taxonomy.parents=Path
 collection.creationDate=Created at
diff --git a/src/main/java/org/olat/modules/qpool/ui/_i18n/LocalStrings_fr.properties b/src/main/java/org/olat/modules/qpool/ui/_i18n/LocalStrings_fr.properties
index 8d575893f58..81bb2d2b193 100644
--- a/src/main/java/org/olat/modules/qpool/ui/_i18n/LocalStrings_fr.properties
+++ b/src/main/java/org/olat/modules/qpool/ui/_i18n/LocalStrings_fr.properties
@@ -7,7 +7,7 @@ applications=Utilisations
 author.item=Droit d'auteur
 bulk.change=Changer les m\u00E9tadonn\u00E9es
 bulk.change.description=Ici vous pouvez modifier en une seule \u00E9tape les attributs de plusieurs questions \u00E0 la fois.
-classification.taxonomic.path=Sujet
+classification.taxonomic.path=Sujet chemin
 classification.taxonomy.level=Sujet
 classification.taxonomy.parents=Chemin
 collection.creationDate=Cr\u00E9er le
diff --git a/src/main/java/org/olat/modules/qpool/ui/_i18n/LocalStrings_it.properties b/src/main/java/org/olat/modules/qpool/ui/_i18n/LocalStrings_it.properties
index e7b31bb8d9a..b09f76187c1 100644
--- a/src/main/java/org/olat/modules/qpool/ui/_i18n/LocalStrings_it.properties
+++ b/src/main/java/org/olat/modules/qpool/ui/_i18n/LocalStrings_it.properties
@@ -5,7 +5,7 @@ applications=Utilizzazioni
 author.item=Diritti di autore
 bulk.change=Modificare i metadati
 bulk.change.description=Qui puoi modificare gli attributi di pi\u00F9 domande in un solo passo.
-classification.taxonomic.path=Disciplina
+classification.taxonomic.path=Disciplina percorso
 classification.taxonomy.level=Disciplina
 classification.taxonomy.parents=Percorso
 collection.creationDate=Creato il
diff --git a/src/main/java/org/olat/modules/qpool/ui/_i18n/LocalStrings_pl.properties b/src/main/java/org/olat/modules/qpool/ui/_i18n/LocalStrings_pl.properties
index 6cf67fee381..7323d094858 100644
--- a/src/main/java/org/olat/modules/qpool/ui/_i18n/LocalStrings_pl.properties
+++ b/src/main/java/org/olat/modules/qpool/ui/_i18n/LocalStrings_pl.properties
@@ -3,7 +3,6 @@ add.to.list=Dodaj do listy
 applications=Zastosowania
 author.item=Prawa autorskie
 bulk.change=Zmie\u0144 metadane
-classification.taxonomic.path=Przedmiot
 classification.taxonomy.level=Przedmiot2
 classification.taxonomy.parents=\u015Acie\u017Cka
 collection.creationDate=Utworzono
diff --git a/src/main/java/org/olat/modules/qpool/ui/_i18n/LocalStrings_pt_BR.properties b/src/main/java/org/olat/modules/qpool/ui/_i18n/LocalStrings_pt_BR.properties
index 4b9e59adbbe..83462d716dd 100644
--- a/src/main/java/org/olat/modules/qpool/ui/_i18n/LocalStrings_pt_BR.properties
+++ b/src/main/java/org/olat/modules/qpool/ui/_i18n/LocalStrings_pt_BR.properties
@@ -8,7 +8,7 @@ applications=Aplica\u00E7\u00F5es
 author.item=Direitos de autor
 bulk.change=Alterar metadados
 bulk.change.description=Aqui voc\u00EA pode mudar em uma \u00FAnica etapa, v\u00E1rios atributos de v\u00E1rias perguntas.
-classification.taxonomic.path=Assunto
+classification.taxonomic.path=Assunto caminho
 classification.taxonomy.level=Assunto
 classification.taxonomy.parents=Caminho
 collection.creationDate=Criado em
diff --git a/src/main/java/org/olat/modules/qpool/ui/_i18n/LocalStrings_zh_CN.properties b/src/main/java/org/olat/modules/qpool/ui/_i18n/LocalStrings_zh_CN.properties
index 42836979ba3..20b6281d675 100644
--- a/src/main/java/org/olat/modules/qpool/ui/_i18n/LocalStrings_zh_CN.properties
+++ b/src/main/java/org/olat/modules/qpool/ui/_i18n/LocalStrings_zh_CN.properties
@@ -5,7 +5,6 @@ applications=\u5E94\u7528
 author.item=\u4F5C\u8005\u6743\u9650
 bulk.change=\u6539\u53D8\u5143\u6570\u636E
 bulk.change.description=\u8FD9\u91CC\u60A8\u53EF\u4EE51\u6B65\u66F4\u6539\u66F4\u591A\u95EE\u9898\u7684\u5C5E\u6027\u3002
-classification.taxonomic.path=\u4E3B\u9898
 classification.taxonomy.level=\u4E13\u4E1A\u9886\u57DF
 classification.taxonomy.parents=\u8DEF\u5F84
 collection.creationDate=\u521B\u5EFA\u4E8E
-- 
GitLab