From b22b98f85cda715c0ea965037759b1fe342e6fd9 Mon Sep 17 00:00:00 2001
From: Andreas Michael Parschalk <andreas.parschalk@uibk.ac.at>
Date: Wed, 22 Jul 2020 16:43:00 +0200
Subject: [PATCH] openolat#214: NPE when copying structure node with expert
 rule

---
 .../AbstractCourseNodeCopyConfigurator.java         | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/src/main/java/de/bps/course/nodewizard/coursenode/AbstractCourseNodeCopyConfigurator.java b/src/main/java/de/bps/course/nodewizard/coursenode/AbstractCourseNodeCopyConfigurator.java
index d4f4ebe8b12..f4dc3440be7 100644
--- a/src/main/java/de/bps/course/nodewizard/coursenode/AbstractCourseNodeCopyConfigurator.java
+++ b/src/main/java/de/bps/course/nodewizard/coursenode/AbstractCourseNodeCopyConfigurator.java
@@ -145,13 +145,14 @@ public class AbstractCourseNodeCopyConfigurator implements ICourseNodeCopyConfig
 	}
 
 	protected String replaceIdsInCondition(String condition) {
+		if (condition != null) {
+			condition = KeyAndNameConverter.convertExpressionKeyToKey(condition, courseEnvMapper);
 
-		condition = KeyAndNameConverter.convertExpressionKeyToKey(condition, courseEnvMapper);
-
-		for (String nodeSourceId : courseEnvMapper.getNodeSourceIds()) {
-			condition = condition.replaceAll(
-					"\"" + nodeSourceId + "\"",
-					"\"" + courseEnvMapper.getNodeTargetIdent(nodeSourceId) + "\"");
+			for (String nodeSourceId : courseEnvMapper.getNodeSourceIds()) {
+				condition = condition.replaceAll(
+						"\"" + nodeSourceId + "\"",
+						"\"" + courseEnvMapper.getNodeTargetIdent(nodeSourceId) + "\"");
+			}
 		}
 		return condition;
 	}
-- 
GitLab