From a22074d22f9189d05bd7d325372e8ddb23b073c2 Mon Sep 17 00:00:00 2001
From: srosse <stephane.rosse@frentix.com>
Date: Mon, 20 Apr 2020 15:47:25 +0200
Subject: [PATCH] OO-4645: fix join adobe connect red screen if sco missing

---
 .../manager/AdobeConnectManagerImpl.java      | 36 ++++++++++---------
 1 file changed, 19 insertions(+), 17 deletions(-)

diff --git a/src/main/java/org/olat/modules/adobeconnect/manager/AdobeConnectManagerImpl.java b/src/main/java/org/olat/modules/adobeconnect/manager/AdobeConnectManagerImpl.java
index 4cfc00cce6b..b7e25674c50 100644
--- a/src/main/java/org/olat/modules/adobeconnect/manager/AdobeConnectManagerImpl.java
+++ b/src/main/java/org/olat/modules/adobeconnect/manager/AdobeConnectManagerImpl.java
@@ -389,24 +389,26 @@ public class AdobeConnectManagerImpl implements AdobeConnectManager, DeletableGr
 			}
 			
 			AdobeConnectSco sco = getAdapter().getScoMeeting(meeting, errors);
-			String urlPath = sco.getUrlPath();
-			UriBuilder builder = adobeConnectModule
-					.getAdobeConnectHostUriBuilder()
-					.path(urlPath);
-
-			BreezeSession session = null;
-			Authentication authentication = securityManager.findAuthentication(identity, ACONNECT_PROVIDER);
-			if(authentication != null) {
-				session = getAdapter().commonInfo(authentication, errors);
-			}
-
-			if(session != null && StringHelper.containsNonWhitespace(session.getSession())) {
-				builder.queryParam("session", session.getSession());
-			} else {
-				String fullName = userManager.getUserDisplayName(identity);
-				builder.queryParam("guestName", fullName).build();
+			if(sco != null) {
+				String urlPath = sco.getUrlPath();
+				UriBuilder builder = adobeConnectModule
+						.getAdobeConnectHostUriBuilder()
+						.path(urlPath);
+	
+				BreezeSession session = null;
+				Authentication authentication = securityManager.findAuthentication(identity, ACONNECT_PROVIDER);
+				if(authentication != null) {
+					session = getAdapter().commonInfo(authentication, errors);
+				}
+	
+				if(session != null && StringHelper.containsNonWhitespace(session.getSession())) {
+					builder.queryParam("session", session.getSession());
+				} else {
+					String fullName = userManager.getUserDisplayName(identity);
+					builder.queryParam("guestName", fullName).build();
+				}
+				return builder.build().toString();
 			}
-			return builder.build().toString();
 		}
 		return null;
 	}
-- 
GitLab