From 6d742165be4cf9d4408ee847754fbc0b0c8c7218 Mon Sep 17 00:00:00 2001
From: srosse <none@none>
Date: Tue, 6 Dec 2011 15:48:28 +0100
Subject: [PATCH] FXOLAT-388: remove cycle in class dependency

---
 .../institution/InstitutionPortlet.java       | 38 +++++++++++++-
 .../InstitutionPortletXStream.java            | 52 -------------------
 .../institution/InstitutionPortletTest.java   |  2 +-
 3 files changed, 38 insertions(+), 54 deletions(-)
 delete mode 100644 src/main/java/de/bps/olat/portal/institution/InstitutionPortletXStream.java

diff --git a/src/main/java/de/bps/olat/portal/institution/InstitutionPortlet.java b/src/main/java/de/bps/olat/portal/institution/InstitutionPortlet.java
index 68924fca311..a575aec6d2f 100644
--- a/src/main/java/de/bps/olat/portal/institution/InstitutionPortlet.java
+++ b/src/main/java/de/bps/olat/portal/institution/InstitutionPortlet.java
@@ -33,6 +33,8 @@ import org.olat.core.util.Util;
 import org.olat.core.util.WebappHelper;
 
 import com.thoughtworks.xstream.XStream;
+import com.thoughtworks.xstream.io.naming.NoNameCoder;
+import com.thoughtworks.xstream.io.xml.XppDriver;
 
 
 public class InstitutionPortlet extends AbstractPortlet {
@@ -133,7 +135,7 @@ public class InstitutionPortlet extends AbstractPortlet {
 		institutions = new FastHashMap();
 		
 		File configurationFile = new File(WebappHelper.getContextRoot() + CONFIG_FILE);
-		XStream xstream = InstitutionPortletXStream.getXStream();
+		XStream xstream = getInstitutionConfigXStream();
 		InstitutionConfiguration configuration = (InstitutionConfiguration)xstream.fromXML(configurationFile);
 		
 		for(InstitutionPortletEntry institution: configuration.getInstitution()) {
@@ -156,6 +158,40 @@ public class InstitutionPortlet extends AbstractPortlet {
 	public static InstitutionPortletEntry getInstitutionPortletEntry(String institution) {
 		return (InstitutionPortletEntry) institutions.get(institution);
 	}
+		
+	public static XStream getInstitutionConfigXStream() {
+		XStream xstream = new XStream(new XppDriver(new NoNameCoder()));
+		xstream.alias("configuration", InstitutionConfiguration.class);
+		xstream.addImplicitCollection(InstitutionConfiguration.class, "institution", "institution", InstitutionPortletEntry.class);
+		xstream.alias("institution", InstitutionPortletEntry.class);
+		xstream.addImplicitCollection(InstitutionPortletEntry.class, "polymorphlink", "polymorphlink", PolymorphLink.class);
+		xstream.aliasAttribute(InstitutionPortletEntry.class, "shortname", "shortname");
+		xstream.alias("logo", Value.class);
+		xstream.alias("name", Value.class);
+		xstream.alias("url", Value.class);
+		
+		xstream.alias("supervisor", InstitutionPortletSupervisorEntry.class);
+		xstream.addImplicitCollection(InstitutionPortletEntry.class, "supervisor", "supervisor", InstitutionPortletSupervisorEntry.class);
+		xstream.alias("person", Value.class);
+		xstream.alias("phone", Value.class);
+		xstream.alias("email", Value.class);
+		xstream.alias("blog", Value.class);
+		//polymorph link
+		xstream.alias("polymorphlink", PolymorphLink.class);
+		xstream.aliasAttribute(PolymorphLink.class, "defaultId", "default_targetid");
+		xstream.aliasAttribute(PolymorphLink.class, "linkType", "type");
+		xstream.aliasAttribute(PolymorphLink.class, "linkText", "text");
+		//polymorph link element
+		xstream.alias("element", PolymorphLinkElement.class);
+		xstream.addImplicitCollection(PolymorphLink.class, "element", "element", PolymorphLinkElement.class);
+		xstream.aliasAttribute(PolymorphLinkElement.class, "attribute", "attribute");
+		xstream.aliasAttribute(PolymorphLinkElement.class, "value", "value");
+		xstream.aliasAttribute(PolymorphLinkElement.class, "cond", "condition");
+		xstream.aliasAttribute(PolymorphLinkElement.class, "id", "targetid");
+
+		xstream.aliasAttribute(Value.class, "value", "value");
+		return xstream;
+	}
 }
 
 /**
diff --git a/src/main/java/de/bps/olat/portal/institution/InstitutionPortletXStream.java b/src/main/java/de/bps/olat/portal/institution/InstitutionPortletXStream.java
deleted file mode 100644
index 0ca55388025..00000000000
--- a/src/main/java/de/bps/olat/portal/institution/InstitutionPortletXStream.java
+++ /dev/null
@@ -1,52 +0,0 @@
-package de.bps.olat.portal.institution;
-
-import com.thoughtworks.xstream.XStream;
-import com.thoughtworks.xstream.io.naming.NoNameCoder;
-import com.thoughtworks.xstream.io.xml.XppDriver;
-
-/**
- * 
- * Description:<br>
- * 
- * <P>
- * Initial Date:  2 déc. 2011 <br>
- *
- * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com
- */
-public class InstitutionPortletXStream {
-	
-	public static XStream getXStream() {
-		XStream xstream = new XStream(new XppDriver(new NoNameCoder()));
-		xstream.alias("configuration", InstitutionConfiguration.class);
-		xstream.addImplicitCollection(InstitutionConfiguration.class, "institution", "institution", InstitutionPortletEntry.class);
-		xstream.alias("institution", InstitutionPortletEntry.class);
-		xstream.addImplicitCollection(InstitutionPortletEntry.class, "polymorphlink", "polymorphlink", PolymorphLink.class);
-		xstream.aliasAttribute(InstitutionPortletEntry.class, "shortname", "shortname");
-		xstream.alias("logo", Value.class);
-		xstream.alias("name", Value.class);
-		xstream.alias("url", Value.class);
-		
-		xstream.alias("supervisor", InstitutionPortletSupervisorEntry.class);
-		xstream.addImplicitCollection(InstitutionPortletEntry.class, "supervisor", "supervisor", InstitutionPortletSupervisorEntry.class);
-		xstream.alias("person", Value.class);
-		xstream.alias("phone", Value.class);
-		xstream.alias("email", Value.class);
-		xstream.alias("blog", Value.class);
-		//polymorph link
-		xstream.alias("polymorphlink", PolymorphLink.class);
-		xstream.aliasAttribute(PolymorphLink.class, "defaultId", "default_targetid");
-		xstream.aliasAttribute(PolymorphLink.class, "linkType", "type");
-		xstream.aliasAttribute(PolymorphLink.class, "linkText", "text");
-		//polymorph link element
-		xstream.alias("element", PolymorphLinkElement.class);
-		xstream.addImplicitCollection(PolymorphLink.class, "element", "element", PolymorphLinkElement.class);
-		xstream.aliasAttribute(PolymorphLinkElement.class, "attribute", "attribute");
-		xstream.aliasAttribute(PolymorphLinkElement.class, "value", "value");
-		xstream.aliasAttribute(PolymorphLinkElement.class, "cond", "condition");
-		xstream.aliasAttribute(PolymorphLinkElement.class, "id", "targetid");
-
-		xstream.aliasAttribute(Value.class, "value", "value");
-		return xstream;
-	}
-
-}
diff --git a/src/test/java/de/bps/olat/portal/institution/InstitutionPortletTest.java b/src/test/java/de/bps/olat/portal/institution/InstitutionPortletTest.java
index 2363896e920..bfbd4ef53da 100644
--- a/src/test/java/de/bps/olat/portal/institution/InstitutionPortletTest.java
+++ b/src/test/java/de/bps/olat/portal/institution/InstitutionPortletTest.java
@@ -25,7 +25,7 @@ public class InstitutionPortletTest {
 
 	@Test
 	public void readConfiguration() throws IOException, URISyntaxException {
-		XStream xstream = InstitutionPortletXStream.getXStream();
+		XStream xstream = InstitutionPortlet.getInstitutionConfigXStream();
 		InputStream input = InstitutionPortletTest.class.getResourceAsStream("olat_portals_institution.xml");
 		InstitutionConfiguration obj = (InstitutionConfiguration)xstream.fromXML(input);
 
-- 
GitLab