From 30d0097b288f80f3d8e453ff2da73ce83e2da330 Mon Sep 17 00:00:00 2001
From: uhensler <urs.hensler@frentix.com>
Date: Mon, 24 Feb 2020 08:42:27 +0100
Subject: [PATCH] OO-4167: NPE when creating a new linked list course element

---
 .../java/de/bps/course/nodes/LLCourseNode.java  | 17 +++++++----------
 1 file changed, 7 insertions(+), 10 deletions(-)

diff --git a/src/main/java/de/bps/course/nodes/LLCourseNode.java b/src/main/java/de/bps/course/nodes/LLCourseNode.java
index 56e84b96b4f..01ba62be6c7 100644
--- a/src/main/java/de/bps/course/nodes/LLCourseNode.java
+++ b/src/main/java/de/bps/course/nodes/LLCourseNode.java
@@ -72,23 +72,20 @@ public class LLCourseNode extends AbstractAccessableCourseNode {
 
 	public LLCourseNode(INode parent) {
 		super(TYPE, parent);
-		initDefaultConfig();
 	}
-
-	private void initDefaultConfig() {
+	
+	@Override
+	public void updateModuleConfigDefaults(boolean isNewNode, INode parent) {
 		ModuleConfiguration config = getModuleConfiguration();
-		// add an empty link entry as default if none existent
-		if (config.get(CONF_LINKLIST) == null) {
+		
+		if (isNewNode) {
 			List<LLModel> initialList = new ArrayList<>(1);
 			initialList.add(new LLModel());
 			config.set(CONF_LINKLIST, initialList);
 		}
-	}
-	
-	@Override
-	public void updateModuleConfigDefaults(boolean isNewNode, INode parent) {
-		ModuleConfiguration config = getModuleConfiguration();
+		
 		if(config.getConfigurationVersion() < 2) {
+			@SuppressWarnings("unchecked")
 			List<LLModel> links = (List<LLModel>)config.get(CONF_LINKLIST);
 			for(LLModel link:links) {
 				String linkValue = link.getTarget();
-- 
GitLab