diff --git a/src/main/java/de/bps/olat/user/ChangeEMailExecuteController.java b/src/main/java/de/bps/olat/user/ChangeEMailExecuteController.java index 2922f57455a1c7ced03daaa42995b5061e6d9921..e41582bda0021f3ba33a3b15cb4bc9f8f6baaea8 100644 --- a/src/main/java/de/bps/olat/user/ChangeEMailExecuteController.java +++ b/src/main/java/de/bps/olat/user/ChangeEMailExecuteController.java @@ -29,6 +29,7 @@ import org.olat.core.id.Identity; import org.olat.core.id.User; import org.olat.core.util.StringHelper; import org.olat.core.util.Util; +import org.olat.core.util.xml.XStreamHelper; import org.olat.home.HomeMainController; import org.olat.login.SupportsAfterLoginInterceptor; import org.olat.user.ProfileAndHomePageEditController; @@ -101,7 +102,7 @@ public class ChangeEMailExecuteController extends ChangeEMailController implemen * @return */ public boolean changeEMail(WindowControl wControl) { - XStream xml = new XStream(); + XStream xml = XStreamHelper.createXStreamInstance(); @SuppressWarnings("unchecked") HashMap<String, String> mails = (HashMap<String, String>) xml.fromXML(tempKey.getEmailAddress()); diff --git a/src/main/java/org/olat/core/util/xml/EnhancedXStream.java b/src/main/java/org/olat/core/util/xml/EnhancedXStream.java index ed00931d701ec36bcde5902eacc8d8681a84624a..9503dd22b2dad4c5c85555d03befc379e18888f8 100644 --- a/src/main/java/org/olat/core/util/xml/EnhancedXStream.java +++ b/src/main/java/org/olat/core/util/xml/EnhancedXStream.java @@ -37,18 +37,18 @@ import com.thoughtworks.xstream.converters.collections.MapConverter; import com.thoughtworks.xstream.mapper.MapperWrapper; /** - * This implmentation of XStream automatically convert hibernat list, set and map - * to standard java collections and convert by import / deserialization - * the old hibernate 3 collection packages to the new one. + * This implmentation of XStream automatically convert hibernat list, set and + * map to standard java collections and convert by import / deserialization the + * old hibernate 3 collection packages to the new one. * * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com */ -public class EnhancedXStream extends XStream { - +public class EnhancedXStream extends XStream { + public EnhancedXStream(boolean export) { super(); - - if(export) { + + if (export) { addDefaultImplementation(PersistentList.class, List.class); addDefaultImplementation(PersistentBag.class, List.class); addDefaultImplementation(PersistentMap.class, Map.class); @@ -56,24 +56,26 @@ public class EnhancedXStream extends XStream { addDefaultImplementation(PersistentSet.class, Set.class); addDefaultImplementation(PersistentSortedSet.class, Set.class); addDefaultImplementation(ArrayList.class, List.class); - + registerConverter(new CollectionConverter(getMapper()) { - public boolean canConvert(@SuppressWarnings("rawtypes") Class type) { - return PersistentList.class == type || PersistentBag.class == type; - } + @Override + public boolean canConvert(@SuppressWarnings("rawtypes") Class type) { + return PersistentList.class == type || PersistentBag.class == type; + } }); - + registerConverter(new MapConverter(getMapper()) { - public boolean canConvert(@SuppressWarnings("rawtypes") Class type) { - return PersistentMap.class == type; - } + @Override + public boolean canConvert(@SuppressWarnings("rawtypes") Class type) { + return PersistentMap.class == type; + } }); } } - + @Override protected MapperWrapper wrapMapper(MapperWrapper next) { return new EnhancedMapper(next); } - + } diff --git a/src/main/java/org/olat/core/util/xml/XStreamHelper.java b/src/main/java/org/olat/core/util/xml/XStreamHelper.java index 1fdf31910b81bfe732e1268c794be1914b915621..69e83ff95562383e60bc1b66ac76575e750a1a1c 100644 --- a/src/main/java/org/olat/core/util/xml/XStreamHelper.java +++ b/src/main/java/org/olat/core/util/xml/XStreamHelper.java @@ -84,6 +84,7 @@ public class XStreamHelper { private static final String ENCODING = "UTF-8"; private static XStream unconfiguredXStream = new XStream(); + /** * Write a an object to an XML file. UTF-8 is used as encoding @@ -227,8 +228,7 @@ public class XStreamHelper { * writing to a configured XML mapping */ public static XStream createXStreamInstance() { - EnhancedXStream xstream = new EnhancedXStream(false); - return xstream; + return new EnhancedXStream(false); } /** @@ -238,8 +238,7 @@ public class XStreamHelper { * @return */ public static XStream createXStreamInstanceForDBObjects() { - EnhancedXStream xstream = new EnhancedXStream(true); - return xstream; + return new EnhancedXStream(true); } /** diff --git a/src/main/java/org/olat/group/manager/GroupXStream.java b/src/main/java/org/olat/group/manager/GroupXStream.java index 7a4e94d59fb0ffc66839980c46c80998d4dfd050..a5e19bbbf4fbcc90cab22b8c85f18ed73806591e 100644 --- a/src/main/java/org/olat/group/manager/GroupXStream.java +++ b/src/main/java/org/olat/group/manager/GroupXStream.java @@ -25,6 +25,8 @@ import java.io.OutputStream; import java.util.ArrayList; import java.util.List; +import org.olat.core.util.xml.XStreamHelper; + import com.thoughtworks.xstream.XStream; /** @@ -42,7 +44,7 @@ public class GroupXStream { private final XStream xstream; public GroupXStream() { - xstream = new XStream(); + xstream = XStreamHelper.createXStreamInstance(); xstream.alias("OLATGroupExport", OLATGroupExport.class); xstream.alias("AreaCollection", AreaCollection.class); xstream.alias("GroupCollection", GroupCollection.class); diff --git a/src/main/java/org/olat/modules/webFeed/manager/FeedFileStorge.java b/src/main/java/org/olat/modules/webFeed/manager/FeedFileStorge.java index 03045a83fbc31594c023293f18a98da1dce6489a..aaaf8ef56c180d32e09b46f401980e0d106b3b1c 100644 --- a/src/main/java/org/olat/modules/webFeed/manager/FeedFileStorge.java +++ b/src/main/java/org/olat/modules/webFeed/manager/FeedFileStorge.java @@ -98,7 +98,7 @@ public class FeedFileStorge { public FeedFileStorge() { fileResourceManager = FileResourceManager.getInstance(); - xstream = new XStream(); + xstream = XStreamHelper.createXStreamInstance(); xstream.alias("feed", FeedImpl.class); xstream.aliasField("type", FeedImpl.class, "resourceableType"); xstream.omitField(FeedImpl.class, "id"); diff --git a/src/main/java/org/olat/registration/RegistrationManager.java b/src/main/java/org/olat/registration/RegistrationManager.java index 62c45b7d6792c5031e445c7342fde91305377939..96de61bc0634baec46f81e0e92cc580351609dd2 100644 --- a/src/main/java/org/olat/registration/RegistrationManager.java +++ b/src/main/java/org/olat/registration/RegistrationManager.java @@ -55,6 +55,7 @@ import org.olat.core.util.WebappHelper; import org.olat.core.util.i18n.I18nModule; import org.olat.core.util.mail.MailManager; import org.olat.core.util.mail.MailerResult; +import org.olat.core.util.xml.XStreamHelper; import org.olat.properties.Property; import org.olat.properties.PropertyManager; import org.olat.user.UserManager; @@ -361,7 +362,7 @@ public class RegistrationManager { List<TemporaryKey> tk = rm.loadTemporaryKeyByAction(RegistrationManager.EMAIL_CHANGE); if (tk != null) { for (TemporaryKey temporaryKey : tk) { - XStream xml = new XStream(); + XStream xml = XStreamHelper.createXStreamInstance(); @SuppressWarnings("unchecked") Map<String, String> mails = (Map<String, String>) xml.fromXML(temporaryKey.getEmailAddress()); if (emailAddress.equalsIgnoreCase(mails.get("changedEMail"))) { diff --git a/src/main/java/org/olat/user/ProfileFormController.java b/src/main/java/org/olat/user/ProfileFormController.java index 53e472298987ce09bc28f6f8468d597137a31ccf..c2b25d24ce403fc4a38a2fe36f79136ef18d76d6 100644 --- a/src/main/java/org/olat/user/ProfileFormController.java +++ b/src/main/java/org/olat/user/ProfileFormController.java @@ -545,7 +545,7 @@ public class ProfileFormController extends FormBasicController { mailMap.put("currentEMail", currentEmail); mailMap.put("changedEMail", changedEmail); - XStream xml = new XStream(); + XStream xml = XStreamHelper.createXStreamInstance(); String serMailMap = xml.toXML(mailMap); TemporaryKey tk = rm.createAndDeleteOldTemporaryKey(identityToModify.getKey(), serMailMap, ip, RegistrationManager.EMAIL_CHANGE);