Repository: openmeetings Updated Branches: refs/heads/master 76abbfa78 -> 9774beaf5
[OPENMEETINGS-1714] more issues are fixed Project: http://git-wip-us.apache.org/repos/asf/openmeetings/repo Commit: http://git-wip-us.apache.org/repos/asf/openmeetings/commit/9774beaf Tree: http://git-wip-us.apache.org/repos/asf/openmeetings/tree/9774beaf Diff: http://git-wip-us.apache.org/repos/asf/openmeetings/diff/9774beaf Branch: refs/heads/master Commit: 9774beaf5e742008361516ee8996c691563166ed Parents: 76abbfa Author: Maxim Solodovnik <[email protected]> Authored: Fri Sep 29 16:57:14 2017 +0700 Committer: Maxim Solodovnik <[email protected]> Committed: Fri Sep 29 16:57:14 2017 +0700 ---------------------------------------------------------------------- .../backup/AppointmentConverter.java | 4 +- .../AppointmentReminderTypeConverter.java | 4 +- .../openmeetings/backup/BackupExport.java | 520 ++++++------ .../openmeetings/backup/BackupImport.java | 834 ++++++++++--------- .../backup/BaseFileItemConverter.java | 4 +- .../openmeetings/backup/GroupConverter.java | 4 +- .../openmeetings/backup/InlineConverter.java | 2 +- .../backup/OmCalendarConverter.java | 4 +- .../apache/openmeetings/backup/OmConverter.java | 2 +- .../openmeetings/backup/PollTypeConverter.java | 4 +- .../backup/RecordingStatusConverter.java | 2 +- .../openmeetings/backup/RoomConverter.java | 4 +- .../openmeetings/backup/RoomTypeConverter.java | 4 +- .../backup/SalutationConverter.java | 4 +- .../openmeetings/backup/UserConverter.java | 4 +- .../web/room/sidebar/icon/SettingsIcon.java | 2 +- .../web/user/profile/ChangePasswordDialog.java | 2 +- .../web/user/profile/ProfileForm.java | 2 +- 18 files changed, 736 insertions(+), 670 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/openmeetings/blob/9774beaf/openmeetings-install/src/main/java/org/apache/openmeetings/backup/AppointmentConverter.java ---------------------------------------------------------------------- diff --git a/openmeetings-install/src/main/java/org/apache/openmeetings/backup/AppointmentConverter.java b/openmeetings-install/src/main/java/org/apache/openmeetings/backup/AppointmentConverter.java index c219331..6f1e0ac 100644 --- a/openmeetings-install/src/main/java/org/apache/openmeetings/backup/AppointmentConverter.java +++ b/openmeetings-install/src/main/java/org/apache/openmeetings/backup/AppointmentConverter.java @@ -18,6 +18,8 @@ */ package org.apache.openmeetings.backup; +import static org.apache.openmeetings.backup.OmConverter.getLong; + import java.util.Map; import org.apache.openmeetings.db.dao.calendar.AppointmentDao; @@ -25,7 +27,7 @@ import org.apache.openmeetings.db.entity.calendar.Appointment; import org.simpleframework.xml.stream.InputNode; import org.simpleframework.xml.stream.OutputNode; -public class AppointmentConverter extends OmConverter<Appointment> { +public class AppointmentConverter implements OmConverter<Appointment> { private AppointmentDao appointmentDao; private Map<Long, Long> idMap; http://git-wip-us.apache.org/repos/asf/openmeetings/blob/9774beaf/openmeetings-install/src/main/java/org/apache/openmeetings/backup/AppointmentReminderTypeConverter.java ---------------------------------------------------------------------- diff --git a/openmeetings-install/src/main/java/org/apache/openmeetings/backup/AppointmentReminderTypeConverter.java b/openmeetings-install/src/main/java/org/apache/openmeetings/backup/AppointmentReminderTypeConverter.java index f55d7fe..99f09ed 100644 --- a/openmeetings-install/src/main/java/org/apache/openmeetings/backup/AppointmentReminderTypeConverter.java +++ b/openmeetings-install/src/main/java/org/apache/openmeetings/backup/AppointmentReminderTypeConverter.java @@ -18,11 +18,13 @@ */ package org.apache.openmeetings.backup; +import static org.apache.openmeetings.backup.OmConverter.getInt; + import org.apache.openmeetings.db.entity.calendar.Appointment.Reminder; import org.simpleframework.xml.stream.InputNode; import org.simpleframework.xml.stream.OutputNode; -public class AppointmentReminderTypeConverter extends OmConverter<Reminder> { +public class AppointmentReminderTypeConverter implements OmConverter<Reminder> { public AppointmentReminderTypeConverter() { //default constructor is for export } http://git-wip-us.apache.org/repos/asf/openmeetings/blob/9774beaf/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupExport.java ---------------------------------------------------------------------- diff --git a/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupExport.java b/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupExport.java index 8b716fa..1d310e3 100644 --- a/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupExport.java +++ b/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupExport.java @@ -149,274 +149,315 @@ public class BackupExport { */ writeList(ser, zos, "organizations.xml", "organisations", groupDao.get(0, Integer.MAX_VALUE)); progressHolder.setProgress(5); - /* - * ##################### Backup Users - */ - exportUsers(zos, userDao.getAllBackupUsers()); - progressHolder.setProgress(10); - /* - * ##################### Backup Room - */ - { - Registry registry = new Registry(); - Strategy strategy = new RegistryStrategy(registry); - Serializer serializer = new Persister(strategy); + exportUsers(zos, progressHolder); + exportRoom(zos, progressHolder); + exportRoomGroup(zos, progressHolder); + exportRoomFile(zos, progressHolder); + exportCalendar(zos, progressHolder); + exportAppointment(zos, progressHolder); + exportMeetingMember(zos, progressHolder); + exportLdap(zos, progressHolder, ser); + exportOauth(zos, progressHolder, ser); + exportPrivateMsg(zos, progressHolder); + exportPrivateMsgFolder(zos, progressHolder, ser); + exportContacts(zos, progressHolder); + exportFile(zos, progressHolder); + exportRecording(zos, progressHolder); + exportPoll(zos, progressHolder); + exportConfig(zos, progressHolder); + exportChat(zos, progressHolder); - registry.bind(User.class, UserConverter.class); - registry.bind(Room.Type.class, RoomTypeConverter.class); + if (includeFiles) { + //##################### Backup Room Files + for (File file : OmFileHelper.getUploadDir().listFiles()) { + if (file.isDirectory()) { + String fName = file.getName(); + if (!IMPORT_DIR.equals(fName) && !BACKUP_DIR.equals(fName)) { + log.debug("### " + file.getName()); + writeZipDir(BCKP_ROOM_FILES, file.getParentFile().toURI(), file, zos); + } + } + } - writeList(serializer, zos, "rooms.xml", "rooms", roomDao.get()); - progressHolder.setProgress(15); + //##################### Backup Recording Files + File recDir = OmFileHelper.getStreamsHibernateDir(); + writeZipDir(BCKP_RECORD_FILES, recDir.toURI(), recDir, zos); + progressHolder.setProgress(90); } + } + progressHolder.setProgress(100); + log.debug("---Done"); + } - /* - * ##################### Backup Room Groups - */ - { - Registry registry = new Registry(); - Strategy strategy = new RegistryStrategy(registry); - Serializer serializer = new Persister(strategy); + /* + * ##################### Backup Users + */ + private void exportUsers(ZipOutputStream zos, ProgressHolder progressHolder) throws Exception { + Registry registry = new Registry(); + Strategy strategy = new RegistryStrategy(registry); + Serializer ser = new Persister(strategy); - registry.bind(Group.class, GroupConverter.class); - registry.bind(Room.class, RoomConverter.class); + registry.bind(Group.class, GroupConverter.class); + registry.bind(Salutation.class, SalutationConverter.class); + List<User> list = userDao.getAllBackupUsers(); + if (list != null && !list.isEmpty()) { + Class<?> dateClass = list.get(0).getRegdate() != null ? list.get(0).getRegdate().getClass() : list.get(0).getInserted().getClass(); + registry.bind(dateClass, DateConverter.class); + } - writeList(serializer, zos, "rooms_organisation.xml", "room_organisations", roomGroupDao.get()); - progressHolder.setProgress(17); - } + writeList(ser, zos, "users.xml", "users", list); + progressHolder.setProgress(10); + } - /* - * ##################### Backup Room Files - */ - { - Registry registry = new Registry(); - Strategy strategy = new RegistryStrategy(registry); - Serializer serializer = new Persister(strategy); + /* + * ##################### Backup Room + */ + private void exportRoom(ZipOutputStream zos, ProgressHolder progressHolder) throws Exception { + Registry registry = new Registry(); + Strategy strategy = new RegistryStrategy(registry); + Serializer serializer = new Persister(strategy); - registry.bind(FileItem.class, BaseFileItemConverter.class); - registry.bind(Recording.class, BaseFileItemConverter.class); + registry.bind(User.class, UserConverter.class); + registry.bind(Room.Type.class, RoomTypeConverter.class); - writeList(serializer, zos, "roomFiles.xml", "RoomFiles", roomDao.getFiles()); - progressHolder.setProgress(17); - } + writeList(serializer, zos, "rooms.xml", "rooms", roomDao.get()); + progressHolder.setProgress(15); + } - /* - * ##################### Backup Calendars - */ - { - List<OmCalendar> list = calendarDao.get(); - Registry registry = new Registry(); - Strategy strategy = new RegistryStrategy(registry); - Serializer serializer = new Persister(strategy); - registry.bind(User.class, UserConverter.class); - - writeList(serializer, zos, "calendars.xml", "calendars", list); - progressHolder.setProgress(22); - } - /* - * ##################### Backup Appointments - */ - { - List<Appointment> list = appointmentDao.get(); - Registry registry = new Registry(); - Strategy strategy = new RegistryStrategy(registry); - Serializer serializer = new Persister(strategy); - - registry.bind(User.class, UserConverter.class); - registry.bind(Appointment.Reminder.class, AppointmentReminderTypeConverter.class); - registry.bind(Room.class, RoomConverter.class); - if (list != null && !list.isEmpty()) { - for (Appointment a : list) { - if (a.getStart() != null) { - registry.bind(a.getStart().getClass(), DateConverter.class); - break; - } else if (a.getInserted() != null) { - registry.bind(a.getInserted().getClass(), DateConverter.class); - break; - } - } - } + /* + * ##################### Backup Room Groups + */ + private void exportRoomGroup(ZipOutputStream zos, ProgressHolder progressHolder) throws Exception { + Registry registry = new Registry(); + Strategy strategy = new RegistryStrategy(registry); + Serializer serializer = new Persister(strategy); - writeList(serializer, zos, "appointements.xml", "appointments", list); - progressHolder.setProgress(25); - } + registry.bind(Group.class, GroupConverter.class); + registry.bind(Room.class, RoomConverter.class); - /* - * ##################### Backup Meeting Members - */ - { - Registry registry = new Registry(); - Strategy strategy = new RegistryStrategy(registry); - Serializer serializer = new Persister(strategy); + writeList(serializer, zos, "rooms_organisation.xml", "room_organisations", roomGroupDao.get()); + progressHolder.setProgress(17); + } - registry.bind(User.class, UserConverter.class); - registry.bind(Appointment.class, AppointmentConverter.class); + /* + * ##################### Backup Room Files + */ + private void exportRoomFile(ZipOutputStream zos, ProgressHolder progressHolder) throws Exception { + Registry registry = new Registry(); + Strategy strategy = new RegistryStrategy(registry); + Serializer serializer = new Persister(strategy); - writeList(serializer, zos, "meetingmembers.xml", - "meetingmembers", meetingMemberDao.getMeetingMembers()); - progressHolder.setProgress(30); - } + registry.bind(FileItem.class, BaseFileItemConverter.class); + registry.bind(Recording.class, BaseFileItemConverter.class); - /* - * ##################### LDAP Configs - */ - List<LdapConfig> ldapList = ldapConfigDao.get(); - if (!ldapList.isEmpty()) { - ldapList.remove(0); - } - writeList(ser, zos, "ldapconfigs.xml", "ldapconfigs", ldapList); - progressHolder.setProgress(35); + writeList(serializer, zos, "roomFiles.xml", "RoomFiles", roomDao.getFiles()); + progressHolder.setProgress(17); + } - /* - * ##################### OAuth2 servers - */ - writeList(ser, zos, "oauth2servers.xml", "oauth2servers", auth2Dao.get(0, Integer.MAX_VALUE)); - progressHolder.setProgress(45); + /* + * ##################### Backup Calendars + */ + private void exportCalendar(ZipOutputStream zos, ProgressHolder progressHolder) throws Exception { + List<OmCalendar> list = calendarDao.get(); + Registry registry = new Registry(); + Strategy strategy = new RegistryStrategy(registry); + Serializer serializer = new Persister(strategy); + registry.bind(User.class, UserConverter.class); - /* - * ##################### Private Messages - */ - { - List<PrivateMessage> list = privateMessageDao.get(0, Integer.MAX_VALUE); - Registry registry = new Registry(); - Strategy strategy = new RegistryStrategy(registry); - Serializer serializer = new Persister(strategy); - - registry.bind(User.class, UserConverter.class); - registry.bind(Room.class, RoomConverter.class); - if (list != null && !list.isEmpty()) { - registry.bind(list.get(0).getInserted().getClass(), DateConverter.class); - } + writeList(serializer, zos, "calendars.xml", "calendars", list); + progressHolder.setProgress(22); + } - writeList(serializer, zos, "privateMessages.xml", - "privatemessages", list); - progressHolder.setProgress(50); + /* + * ##################### Backup Appointments + */ + private void exportAppointment(ZipOutputStream zos, ProgressHolder progressHolder) throws Exception { + List<Appointment> list = appointmentDao.get(); + Registry registry = new Registry(); + Strategy strategy = new RegistryStrategy(registry); + Serializer serializer = new Persister(strategy); + + registry.bind(User.class, UserConverter.class); + registry.bind(Appointment.Reminder.class, AppointmentReminderTypeConverter.class); + registry.bind(Room.class, RoomConverter.class); + if (list != null && !list.isEmpty()) { + for (Appointment a : list) { + if (a.getStart() != null) { + registry.bind(a.getStart().getClass(), DateConverter.class); + break; + } else if (a.getInserted() != null) { + registry.bind(a.getInserted().getClass(), DateConverter.class); + break; + } } + } - /* - * ##################### Private Message Folders - */ - writeList(ser, zos, "privateMessageFolder.xml", - "privatemessagefolders", privateMessageFolderDao.get(0, Integer.MAX_VALUE)); - progressHolder.setProgress(55); + writeList(serializer, zos, "appointements.xml", "appointments", list); + progressHolder.setProgress(25); + } - /* - * ##################### User Contacts - */ - { - Registry registry = new Registry(); - Strategy strategy = new RegistryStrategy(registry); - Serializer serializer = new Persister(strategy); + /* + * ##################### Backup Meeting Members + */ + private void exportMeetingMember(ZipOutputStream zos, ProgressHolder progressHolder) throws Exception { + Registry registry = new Registry(); + Strategy strategy = new RegistryStrategy(registry); + Serializer serializer = new Persister(strategy); - registry.bind(User.class, UserConverter.class); + registry.bind(User.class, UserConverter.class); + registry.bind(Appointment.class, AppointmentConverter.class); - writeList(serializer, zos, "userContacts.xml", "usercontacts", userContactDao.get()); - progressHolder.setProgress(60); - } + writeList(serializer, zos, "meetingmembers.xml", + "meetingmembers", meetingMemberDao.getMeetingMembers()); + progressHolder.setProgress(30); + } - /* - * ##################### File-Explorer - */ - { - List<FileItem> list = fileItemDao.get(); - Registry registry = new Registry(); - Strategy strategy = new RegistryStrategy(registry); - Serializer serializer = new Persister(strategy); - - if (list != null && !list.isEmpty()) { - registry.bind(list.get(0).getInserted().getClass(), DateConverter.class); - } + /* + * ##################### LDAP Configs + */ + private void exportLdap(ZipOutputStream zos, ProgressHolder progressHolder, Serializer ser) throws Exception { + List<LdapConfig> ldapList = ldapConfigDao.get(); + if (!ldapList.isEmpty()) { + ldapList.remove(0); + } + writeList(ser, zos, "ldapconfigs.xml", "ldapconfigs", ldapList); + progressHolder.setProgress(35); + } - writeList(serializer, zos, "fileExplorerItems.xml", "fileExplorerItems", list); - progressHolder.setProgress(65); - } + /* + * ##################### OAuth2 servers + */ + private void exportOauth(ZipOutputStream zos, ProgressHolder progressHolder, Serializer ser) throws Exception { + writeList(ser, zos, "oauth2servers.xml", "oauth2servers", auth2Dao.get(0, Integer.MAX_VALUE)); + progressHolder.setProgress(45); + } - /* - * ##################### Recordings - */ - { - List<Recording> list = recordingDao.get(); - Registry registry = new Registry(); - Strategy strategy = new RegistryStrategy(registry); - Serializer serializer = new Persister(strategy); - - if (list != null && !list.isEmpty()) { - registry.bind(list.get(0).getInserted().getClass(), DateConverter.class); - } + /* + * ##################### Private Messages + */ + private void exportPrivateMsg(ZipOutputStream zos, ProgressHolder progressHolder) throws Exception { + List<PrivateMessage> list = privateMessageDao.get(0, Integer.MAX_VALUE); + Registry registry = new Registry(); + Strategy strategy = new RegistryStrategy(registry); + Serializer serializer = new Persister(strategy); - writeList(serializer, zos, "flvRecordings.xml", "flvrecordings", list); - progressHolder.setProgress(70); - } + registry.bind(User.class, UserConverter.class); + registry.bind(Room.class, RoomConverter.class); + if (list != null && !list.isEmpty()) { + registry.bind(list.get(0).getInserted().getClass(), DateConverter.class); + } - /* - * ##################### Polls - */ - { - List<RoomPoll> list = pollManager.get(); - Registry registry = new Registry(); - Strategy strategy = new RegistryStrategy(registry); - Serializer serializer = new Persister(strategy); - - registry.bind(User.class, UserConverter.class); - registry.bind(Room.class, RoomConverter.class); - registry.bind(RoomPoll.Type.class, PollTypeConverter.class); - if (list != null && !list.isEmpty()) { - registry.bind(list.get(0).getCreated().getClass(), DateConverter.class); - } + writeList(serializer, zos, "privateMessages.xml", + "privatemessages", list); + progressHolder.setProgress(50); + } - writeList(serializer, zos, "roompolls.xml", "roompolls", list); - progressHolder.setProgress(75); - } + /* + * ##################### Private Message Folders + */ + private void exportPrivateMsgFolder(ZipOutputStream zos, ProgressHolder progressHolder, Serializer ser) throws Exception { + writeList(ser, zos, "privateMessageFolder.xml", + "privatemessagefolders", privateMessageFolderDao.get(0, Integer.MAX_VALUE)); + progressHolder.setProgress(55); + } - /* - * ##################### Config - */ - { - List<Configuration> list = configurationDao.get(0, Integer.MAX_VALUE); - Serializer serializer = getConfigSerializer(list); + /* + * ##################### User Contacts + */ + private void exportContacts(ZipOutputStream zos, ProgressHolder progressHolder) throws Exception { + Registry registry = new Registry(); + Strategy strategy = new RegistryStrategy(registry); + Serializer serializer = new Persister(strategy); - writeList(serializer, zos, "configs.xml", "configs", list); - progressHolder.setProgress(80); - } + registry.bind(User.class, UserConverter.class); - /* - * ##################### Chat - */ - { - List<ChatMessage> list = chatDao.get(0, Integer.MAX_VALUE); - Registry registry = new Registry(); - registry.bind(User.class, UserConverter.class); - registry.bind(Room.class, RoomConverter.class); - Strategy strategy = new RegistryStrategy(registry); - Serializer serializer = new Persister(strategy); - - if (list != null && !list.isEmpty()) { - registry.bind(list.get(0).getSent().getClass(), DateConverter.class); - } + writeList(serializer, zos, "userContacts.xml", "usercontacts", userContactDao.get()); + progressHolder.setProgress(60); + } - writeList(serializer, zos, "chat_messages.xml", "chat_messages", list); - progressHolder.setProgress(85); - } - if (includeFiles) { - //##################### Backup Room Files - for (File file : OmFileHelper.getUploadDir().listFiles()) { - if (file.isDirectory()) { - String fName = file.getName(); - if (!IMPORT_DIR.equals(fName) && !BACKUP_DIR.equals(fName)) { - log.debug("### " + file.getName()); - writeZipDir(BCKP_ROOM_FILES, file.getParentFile().toURI(), file, zos); - } - } - } + /* + * ##################### File-Explorer + */ + private void exportFile(ZipOutputStream zos, ProgressHolder progressHolder) throws Exception { + List<FileItem> list = fileItemDao.get(); + Registry registry = new Registry(); + Strategy strategy = new RegistryStrategy(registry); + Serializer serializer = new Persister(strategy); - //##################### Backup Recording Files - File recDir = OmFileHelper.getStreamsHibernateDir(); - writeZipDir(BCKP_RECORD_FILES, recDir.toURI(), recDir, zos); - progressHolder.setProgress(90); - } + if (list != null && !list.isEmpty()) { + registry.bind(list.get(0).getInserted().getClass(), DateConverter.class); } - progressHolder.setProgress(100); - log.debug("---Done"); + + writeList(serializer, zos, "fileExplorerItems.xml", "fileExplorerItems", list); + progressHolder.setProgress(65); + } + + /* + * ##################### Recordings + */ + private void exportRecording(ZipOutputStream zos, ProgressHolder progressHolder) throws Exception { + List<Recording> list = recordingDao.get(); + Registry registry = new Registry(); + Strategy strategy = new RegistryStrategy(registry); + Serializer serializer = new Persister(strategy); + + if (list != null && !list.isEmpty()) { + registry.bind(list.get(0).getInserted().getClass(), DateConverter.class); + } + + writeList(serializer, zos, "flvRecordings.xml", "flvrecordings", list); + progressHolder.setProgress(70); + } + + /* + * ##################### Polls + */ + private void exportPoll(ZipOutputStream zos, ProgressHolder progressHolder) throws Exception { + List<RoomPoll> list = pollManager.get(); + Registry registry = new Registry(); + Strategy strategy = new RegistryStrategy(registry); + Serializer serializer = new Persister(strategy); + + registry.bind(User.class, UserConverter.class); + registry.bind(Room.class, RoomConverter.class); + registry.bind(RoomPoll.Type.class, PollTypeConverter.class); + if (list != null && !list.isEmpty()) { + registry.bind(list.get(0).getCreated().getClass(), DateConverter.class); + } + + writeList(serializer, zos, "roompolls.xml", "roompolls", list); + progressHolder.setProgress(75); + } + + /* + * ##################### Config + */ + private void exportConfig(ZipOutputStream zos, ProgressHolder progressHolder) throws Exception { + List<Configuration> list = configurationDao.get(0, Integer.MAX_VALUE); + Serializer serializer = getConfigSerializer(list); + + writeList(serializer, zos, "configs.xml", "configs", list); + progressHolder.setProgress(80); + } + + /* + * ##################### Chat + */ + private void exportChat(ZipOutputStream zos, ProgressHolder progressHolder) throws Exception { + List<ChatMessage> list = chatDao.get(0, Integer.MAX_VALUE); + Registry registry = new Registry(); + registry.bind(User.class, UserConverter.class); + registry.bind(Room.class, RoomConverter.class); + Strategy strategy = new RegistryStrategy(registry); + Serializer serializer = new Persister(strategy); + + if (list != null && !list.isEmpty()) { + registry.bind(list.get(0).getSent().getClass(), DateConverter.class); + } + + writeList(serializer, zos, "chat_messages.xml", "chat_messages", list); + progressHolder.setProgress(85); } private static Serializer getConfigSerializer(List<Configuration> list) throws Exception { @@ -464,21 +505,6 @@ public class BackupExport { root.commit(); } - public void exportUsers(ZipOutputStream zos, List<User> list) throws Exception { - Registry registry = new Registry(); - Strategy strategy = new RegistryStrategy(registry); - Serializer ser = new Persister(strategy); - - registry.bind(Group.class, GroupConverter.class); - registry.bind(Salutation.class, SalutationConverter.class); - if (list != null && !list.isEmpty()) { - Class<?> dateClass = list.get(0).getRegdate() != null ? list.get(0).getRegdate().getClass() : list.get(0).getInserted().getClass(); - registry.bind(dateClass, DateConverter.class); - } - - writeList(ser, zos, "users.xml", "users", list); - } - private void writeZipDir(String prefix, URI base, File dir, ZipOutputStream zos) throws IOException { for (File file : dir.listFiles()) { if (file.isDirectory()) { http://git-wip-us.apache.org/repos/asf/openmeetings/blob/9774beaf/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupImport.java ---------------------------------------------------------------------- diff --git a/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupImport.java b/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupImport.java index 6f395d4..43f26dd 100644 --- a/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupImport.java +++ b/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupImport.java @@ -377,513 +377,533 @@ public class BackupImport { messageFolderMap.put(TRASH_FOLDER_ID, TRASH_FOLDER_ID); File f = unzip(is); + importConfigs(f); + Serializer simpleSerializer = new Persister(); + importGroups(f, simpleSerializer); + Long defaultLdapId = importLdap(f, simpleSerializer); + importOauth(f, simpleSerializer); + importUsers(f, defaultLdapId); + importRooms(f); + importRoomGroups(f); + importChat(f); + importCalendars(f); + importAppointments(f); + importMeetingMembers(f); + importRecordings(f); + importPrivateMsgFolders(f, simpleSerializer); + importContacts(f); + importPrivateMsgs(f); + importFiles(f); + importPolls(f); + importRoomFiles(f); + log.info("Room files import complete, starting copy of files and folders"); /* - * ##################### Import Configs + * ##################### Import real files and folders */ - { - Registry registry = new Registry(); - Strategy strategy = new RegistryStrategy(registry); - RegistryMatcher matcher = new RegistryMatcher(); //TODO need to be removed in the later versions - Serializer serializer = new Persister(strategy, matcher); + importFolders(f); - matcher.bind(Long.class, LongTransform.class); - registry.bind(Date.class, DateConverter.class); - registry.bind(User.class, new UserConverter(userDao, userMap)); + log.info("File explorer item import complete, clearing temp files"); - List<Configuration> list = readList(serializer, f, "configs.xml", "configs", Configuration.class, true); - for (Configuration c : list) { - if (c.getKey() == null || c.isDeleted()) { - continue; - } - String newKey = outdatedConfigKeys.get(c.getKey()); - if (newKey != null) { - c.setKey(newKey); - } - Configuration.Type type = configTypes.get(c.getKey()); - if (type != null) { - c.setType(type); - if (Configuration.Type.bool == type) { - if ("1".equals(c.getValue()) || "yes".equals(c.getValue()) || "true".equals(c.getValue())) { - c.setValue("true"); - } else { - c.setValue("false"); - } + FileUtils.deleteDirectory(f); + } + + /* + * ##################### Import Configs + */ + private void importConfigs(File f) throws Exception { + Registry registry = new Registry(); + Strategy strategy = new RegistryStrategy(registry); + RegistryMatcher matcher = new RegistryMatcher(); //TODO need to be removed in the later versions + Serializer serializer = new Persister(strategy, matcher); + + matcher.bind(Long.class, LongTransform.class); + registry.bind(Date.class, DateConverter.class); + registry.bind(User.class, new UserConverter(userDao, userMap)); + + List<Configuration> list = readList(serializer, f, "configs.xml", "configs", Configuration.class, true); + for (Configuration c : list) { + if (c.getKey() == null || c.isDeleted()) { + continue; + } + String newKey = outdatedConfigKeys.get(c.getKey()); + if (newKey != null) { + c.setKey(newKey); + } + Configuration.Type type = configTypes.get(c.getKey()); + if (type != null) { + c.setType(type); + if (Configuration.Type.bool == type) { + if ("1".equals(c.getValue()) || "yes".equals(c.getValue()) || "true".equals(c.getValue())) { + c.setValue("true"); + } else { + c.setValue("false"); } } - Configuration cfg = cfgDao.forceGet(c.getKey()); - if (cfg != null && !cfg.isDeleted()) { - log.warn("Non deleted configuration with same key is found! old value: {}, new value: {}", cfg.getValue(), c.getValue()); - } - c.setId(cfg == null ? null : cfg.getId()); - if (c.getUser() != null && c.getUser().getId() == null) { - c.setUser(null); - } - if (CONFIG_CRYPT.equals(c.getKey())) { - try { - Class<?> clazz = Class.forName(c.getValue()); - clazz.newInstance(); - } catch (Exception e) { - log.warn("Not existing Crypt class found {}, replacing with SCryptImplementation", c.getValue()); - c.setValue(SCryptImplementation.class.getCanonicalName()); - } + } + Configuration cfg = cfgDao.forceGet(c.getKey()); + if (cfg != null && !cfg.isDeleted()) { + log.warn("Non deleted configuration with same key is found! old value: {}, new value: {}", cfg.getValue(), c.getValue()); + } + c.setId(cfg == null ? null : cfg.getId()); + if (c.getUser() != null && c.getUser().getId() == null) { + c.setUser(null); + } + if (CONFIG_CRYPT.equals(c.getKey())) { + try { + Class<?> clazz = Class.forName(c.getValue()); + clazz.newInstance(); + } catch (Exception e) { + log.warn("Not existing Crypt class found {}, replacing with SCryptImplementation", c.getValue()); + c.setValue(SCryptImplementation.class.getCanonicalName()); } - cfgDao.update(c, null); } + cfgDao.update(c, null); } + } + /* + * ##################### Import Groups + */ + private void importGroups(File f, Serializer simpleSerializer) throws Exception { log.info("Configs import complete, starting group import"); - /* - * ##################### Import Groups - */ - Serializer simpleSerializer = new Persister(); - { - List<Group> list = readList(simpleSerializer, f, "organizations.xml", "organisations", Group.class); - for (Group o : list) { - Long oldId = o.getId(); - o.setId(null); - o = groupDao.update(o, null); - groupMap.put(oldId, o.getId()); - } + List<Group> list = readList(simpleSerializer, f, "organizations.xml", "organisations", Group.class); + for (Group o : list) { + Long oldId = o.getId(); + o.setId(null); + o = groupDao.update(o, null); + groupMap.put(oldId, o.getId()); } + } + /* + * ##################### Import LDAP Configs + */ + private Long importLdap(File f, Serializer simpleSerializer) throws Exception { log.info("Groups import complete, starting LDAP config import"); - /* - * ##################### Import LDAP Configs - */ Long defaultLdapId = cfgDao.getLong(CONFIG_DEFAULT_LDAP_ID, null); - { - List<LdapConfig> list = readList(simpleSerializer, f, "ldapconfigs.xml", "ldapconfigs", LdapConfig.class, true); - for (LdapConfig c : list) { - if (!"local DB [internal]".equals(c.getName())) { - c.setId(null); - c = ldapConfigDao.update(c, null); - if (defaultLdapId == null) { - defaultLdapId = c.getId(); - } + List<LdapConfig> list = readList(simpleSerializer, f, "ldapconfigs.xml", "ldapconfigs", LdapConfig.class, true); + for (LdapConfig c : list) { + if (!"local DB [internal]".equals(c.getName())) { + c.setId(null); + c = ldapConfigDao.update(c, null); + if (defaultLdapId == null) { + defaultLdapId = c.getId(); } } } + return defaultLdapId; + } + /* + * ##################### OAuth2 servers + */ + private void importOauth(File f, Serializer simpleSerializer) throws Exception { log.info("Ldap config import complete, starting OAuth2 server import"); - /* - * ##################### OAuth2 servers - */ - { - List<OAuthServer> list = readList(simpleSerializer, f, "oauth2servers.xml", "oauth2servers", OAuthServer.class, true); - for (OAuthServer s : list) { - s.setId(null); - auth2Dao.update(s, null); - } + List<OAuthServer> list = readList(simpleSerializer, f, "oauth2servers.xml", "oauth2servers", OAuthServer.class, true); + for (OAuthServer s : list) { + s.setId(null); + auth2Dao.update(s, null); } + } + /* + * ##################### Import Users + */ + private void importUsers(File f, Long defaultLdapId) throws Exception { log.info("OAuth2 servers import complete, starting user import"); - /* - * ##################### Import Users - */ - { - String jNameTimeZone = cfgDao.getString(CONFIG_DEFAULT_TIMEZONE, "Europe/Berlin"); - List<User> list = readUserList(f, "users.xml", "users"); - int minLoginLength = getMinLoginLength(cfgDao); - for (User u : list) { - if (u.getLogin() == null) { - continue; - } - if (u.getType() == User.Type.contact && u.getLogin().length() < minLoginLength) { - u.setLogin(UUID.randomUUID().toString()); - } + String jNameTimeZone = cfgDao.getString(CONFIG_DEFAULT_TIMEZONE, "Europe/Berlin"); + List<User> list = readUserList(f, "users.xml", "users"); + int minLoginLength = getMinLoginLength(cfgDao); + for (User u : list) { + if (u.getLogin() == null) { + continue; + } + if (u.getType() == User.Type.contact && u.getLogin().length() < minLoginLength) { + u.setLogin(UUID.randomUUID().toString()); + } - String tz = u.getTimeZoneId(); - if (tz == null) { - u.setTimeZoneId(jNameTimeZone); - u.setForceTimeZoneCheck(true); - } else { - u.setForceTimeZoneCheck(false); - } + String tz = u.getTimeZoneId(); + if (tz == null) { + u.setTimeZoneId(jNameTimeZone); + u.setForceTimeZoneCheck(true); + } else { + u.setForceTimeZoneCheck(false); + } - Long userId = u.getId(); - u.setId(null); - if (u.getSipUser() != null && u.getSipUser().getId() != 0) { - u.getSipUser().setId(0); - } - if (LDAP_EXT_TYPE.equals(u.getExternalType()) && User.Type.external != u.getType()) { - log.warn("Found LDAP user in 'old' format, external_type == 'LDAP':: " + u); - u.setType(User.Type.ldap); - u.setExternalType(null); - if (u.getDomainId() == null) { - u.setDomainId(defaultLdapId); //domainId was not supported in old versions of OM - } - } - if (!Strings.isEmpty(u.getExternalType())) { - u.setType(User.Type.external); - } - if (AuthLevelUtil.hasLoginLevel(u.getRights()) && !Strings.isEmpty(u.getActivatehash())) { - u.setActivatehash(null); + Long userId = u.getId(); + u.setId(null); + if (u.getSipUser() != null && u.getSipUser().getId() != 0) { + u.getSipUser().setId(0); + } + if (LDAP_EXT_TYPE.equals(u.getExternalType()) && User.Type.external != u.getType()) { + log.warn("Found LDAP user in 'old' format, external_type == 'LDAP':: " + u); + u.setType(User.Type.ldap); + u.setExternalType(null); + if (u.getDomainId() == null) { + u.setDomainId(defaultLdapId); //domainId was not supported in old versions of OM } - userDao.update(u, Long.valueOf(-1)); - userMap.put(userId, u.getId()); } + if (!Strings.isEmpty(u.getExternalType())) { + u.setType(User.Type.external); + } + if (AuthLevelUtil.hasLoginLevel(u.getRights()) && !Strings.isEmpty(u.getActivatehash())) { + u.setActivatehash(null); + } + userDao.update(u, Long.valueOf(-1)); + userMap.put(userId, u.getId()); } + } + /* + * ##################### Import Rooms + */ + private void importRooms(File f) throws Exception { log.info("Users import complete, starting room import"); - /* - * ##################### Import Rooms - */ - { - List<Room> list = readRoomList(f, "rooms.xml", "rooms"); - for (Room r : list) { - Long roomId = r.getId(); - - // We need to reset ids as openJPA reject to store them otherwise - r.setId(null); - if (r.getModerators() != null) { - for (Iterator<RoomModerator> i = r.getModerators().iterator(); i.hasNext();) { - RoomModerator rm = i.next(); - if (rm.getUser().getId() == null) { - i.remove(); - } + List<Room> list = readRoomList(f, "rooms.xml", "rooms"); + for (Room r : list) { + Long roomId = r.getId(); + + // We need to reset ids as openJPA reject to store them otherwise + r.setId(null); + if (r.getModerators() != null) { + for (Iterator<RoomModerator> i = r.getModerators().iterator(); i.hasNext();) { + RoomModerator rm = i.next(); + if (rm.getUser().getId() == null) { + i.remove(); } } - r = roomDao.update(r, null); - roomMap.put(roomId, r.getId()); } + r = roomDao.update(r, null); + roomMap.put(roomId, r.getId()); } + } + /* + * ##################### Import Room Groups + */ + private void importRoomGroups(File f) throws Exception { log.info("Room import complete, starting room groups import"); - /* - * ##################### Import Room Groups - */ - { - Registry registry = new Registry(); - Strategy strategy = new RegistryStrategy(registry); - Serializer serializer = new Persister(strategy); + Registry registry = new Registry(); + Strategy strategy = new RegistryStrategy(registry); + Serializer serializer = new Persister(strategy); - registry.bind(Group.class, new GroupConverter(groupDao, groupMap)); - registry.bind(Room.class, new RoomConverter(roomDao, roomMap)); + registry.bind(Group.class, new GroupConverter(groupDao, groupMap)); + registry.bind(Room.class, new RoomConverter(roomDao, roomMap)); - List<RoomGroup> list = readList(serializer, f, "rooms_organisation.xml", "room_organisations", RoomGroup.class); - for (RoomGroup ro : list) { - if (!ro.isDeleted() && ro.getRoom() != null && ro.getRoom().getId() != null && ro.getGroup() != null && ro.getGroup().getId() != null) { - // We need to reset this as openJPA reject to store them otherwise - ro.setId(null); - roomGroupDao.update(ro, null); - } + List<RoomGroup> list = readList(serializer, f, "rooms_organisation.xml", "room_organisations", RoomGroup.class); + for (RoomGroup ro : list) { + if (!ro.isDeleted() && ro.getRoom() != null && ro.getRoom().getId() != null && ro.getGroup() != null && ro.getGroup().getId() != null) { + // We need to reset this as openJPA reject to store them otherwise + ro.setId(null); + roomGroupDao.update(ro, null); } } + } + /* + * ##################### Import Chat messages + */ + private void importChat(File f) throws Exception { log.info("Room groups import complete, starting chat messages import"); - /* - * ##################### Import Chat messages - */ - { - Registry registry = new Registry(); - Strategy strategy = new RegistryStrategy(registry); - Serializer serializer = new Persister(strategy); + Registry registry = new Registry(); + Strategy strategy = new RegistryStrategy(registry); + Serializer serializer = new Persister(strategy); - registry.bind(User.class, new UserConverter(userDao, userMap)); - registry.bind(Room.class, new RoomConverter(roomDao, roomMap)); - registry.bind(Date.class, DateConverter.class); + registry.bind(User.class, new UserConverter(userDao, userMap)); + registry.bind(Room.class, new RoomConverter(roomDao, roomMap)); + registry.bind(Date.class, DateConverter.class); - List<ChatMessage> list = readList(serializer, f, "chat_messages.xml", "chat_messages", ChatMessage.class, true); - for (ChatMessage m : list) { - m.setId(null); - if (m.getFromUser() == null || m.getFromUser().getId() == null) { - continue; - } - chatDao.update(m); + List<ChatMessage> list = readList(serializer, f, "chat_messages.xml", "chat_messages", ChatMessage.class, true); + for (ChatMessage m : list) { + m.setId(null); + if (m.getFromUser() == null || m.getFromUser().getId() == null) { + continue; } + chatDao.update(m); } + } + + /* + * ##################### Import Calendars + */ + private void importCalendars(File f) throws Exception { log.info("Chat messages import complete, starting calendar import"); - /* - * ##################### Import Calendars - */ - { - Registry registry = new Registry(); - Strategy strategy = new RegistryStrategy(registry); - Serializer serializer = new Persister(strategy); - registry.bind(User.class, new UserConverter(userDao, userMap)); - //registry.bind(OmCalendar.SyncType.class, OmCalendarSyncTypeConverter.class); - List<OmCalendar> list = readList(serializer, f, "calendars.xml", "calendars", OmCalendar.class, true); - for (OmCalendar c : list) { - Long id = c.getId(); - c.setId(null); - c = calendarDao.update(c); - calendarMap.put(id, c.getId()); - } + Registry registry = new Registry(); + Strategy strategy = new RegistryStrategy(registry); + Serializer serializer = new Persister(strategy); + registry.bind(User.class, new UserConverter(userDao, userMap)); + //registry.bind(OmCalendar.SyncType.class, OmCalendarSyncTypeConverter.class); + List<OmCalendar> list = readList(serializer, f, "calendars.xml", "calendars", OmCalendar.class, true); + for (OmCalendar c : list) { + Long id = c.getId(); + c.setId(null); + c = calendarDao.update(c); + calendarMap.put(id, c.getId()); } + } + /* + * ##################### Import Appointements + */ + private void importAppointments(File f) throws Exception { log.info("Calendar import complete, starting appointement import"); - /* - * ##################### Import Appointements - */ - { - Registry registry = new Registry(); - Strategy strategy = new RegistryStrategy(registry); - Serializer serializer = new Persister(strategy); + Registry registry = new Registry(); + Strategy strategy = new RegistryStrategy(registry); + Serializer serializer = new Persister(strategy); - registry.bind(User.class, new UserConverter(userDao, userMap)); - registry.bind(Appointment.Reminder.class, AppointmentReminderTypeConverter.class); - registry.bind(Room.class, new RoomConverter(roomDao, roomMap)); - registry.bind(Date.class, DateConverter.class); - registry.bind(OmCalendar.class, new OmCalendarConverter(calendarDao, calendarMap)); + registry.bind(User.class, new UserConverter(userDao, userMap)); + registry.bind(Appointment.Reminder.class, AppointmentReminderTypeConverter.class); + registry.bind(Room.class, new RoomConverter(roomDao, roomMap)); + registry.bind(Date.class, DateConverter.class); + registry.bind(OmCalendar.class, new OmCalendarConverter(calendarDao, calendarMap)); - List<Appointment> list = readList(serializer, f, "appointements.xml", "appointments", Appointment.class); - for (Appointment a : list) { - Long appId = a.getId(); + List<Appointment> list = readList(serializer, f, "appointements.xml", "appointments", Appointment.class); + for (Appointment a : list) { + Long appId = a.getId(); - // We need to reset this as openJPA reject to store them otherwise - a.setId(null); - if (a.getOwner() != null && a.getOwner().getId() == null) { - a.setOwner(null); - } - if (a.getRoom() == null || a.getRoom().getId() == null) { - log.warn("Appointment without room was found, skipping: {}", a); - continue; - } - if (a.getStart() == null || a.getEnd() == null) { - log.warn("Appointment without start/end time was found, skipping: {}", a); - continue; - } - a = appointmentDao.update(a, null, false); - appointmentMap.put(appId, a.getId()); + // We need to reset this as openJPA reject to store them otherwise + a.setId(null); + if (a.getOwner() != null && a.getOwner().getId() == null) { + a.setOwner(null); } + if (a.getRoom() == null || a.getRoom().getId() == null) { + log.warn("Appointment without room was found, skipping: {}", a); + continue; + } + if (a.getStart() == null || a.getEnd() == null) { + log.warn("Appointment without start/end time was found, skipping: {}", a); + continue; + } + a = appointmentDao.update(a, null, false); + appointmentMap.put(appId, a.getId()); } + } + /* + * ##################### Import MeetingMembers + * + * Reminder Invitations will be NOT send! + */ + private void importMeetingMembers(File f) throws Exception { log.info("Appointement import complete, starting meeting members import"); - /* - * ##################### Import MeetingMembers - * - * Reminder Invitations will be NOT send! - */ - { - List<MeetingMember> list = readMeetingMemberList(f, "meetingmembers.xml", "meetingmembers"); - for (MeetingMember ma : list) { - ma.setId(null); - meetingMemberDao.update(ma); - } + List<MeetingMember> list = readMeetingMemberList(f, "meetingmembers.xml", "meetingmembers"); + for (MeetingMember ma : list) { + ma.setId(null); + meetingMemberDao.update(ma); } + } + /* + * ##################### Import Recordings + */ + private void importRecordings(File f) throws Exception { log.info("Meeting members import complete, starting recordings server import"); - /* - * ##################### Import Recordings - */ - { - List<Recording> list = readRecordingList(f, "flvRecordings.xml", "flvrecordings"); - for (Recording r : list) { - Long recId = r.getId(); - r.setId(null); - if (r.getRoomId() != null) { - r.setRoomId(roomMap.get(r.getRoomId())); - } - if (r.getOwnerId() != null) { - r.setOwnerId(userMap.get(r.getOwnerId())); - } - if (r.getMetaData() != null) { - for (RecordingMetaData meta : r.getMetaData()) { - meta.setId(null); - meta.setRecording(r); - } - } - if (!Strings.isEmpty(r.getHash()) && r.getHash().startsWith(recordingFileName)) { - String name = getFileName(r.getHash()); - r.setHash(UUID.randomUUID().toString()); - fileMap.put(String.format("%s.%s", name, EXTENSION_JPG), String.format("%s.%s", r.getHash(), EXTENSION_PNG)); - fileMap.put(String.format("%s.%s.%s", name, EXTENSION_FLV, EXTENSION_MP4), String.format("%s.%s", r.getHash(), EXTENSION_MP4)); - } - if (Strings.isEmpty(r.getHash())) { - r.setHash(UUID.randomUUID().toString()); + List<Recording> list = readRecordingList(f, "flvRecordings.xml", "flvrecordings"); + for (Recording r : list) { + Long recId = r.getId(); + r.setId(null); + if (r.getRoomId() != null) { + r.setRoomId(roomMap.get(r.getRoomId())); + } + if (r.getOwnerId() != null) { + r.setOwnerId(userMap.get(r.getOwnerId())); + } + if (r.getMetaData() != null) { + for (RecordingMetaData meta : r.getMetaData()) { + meta.setId(null); + meta.setRecording(r); } - r = recordingDao.update(r); - fileItemMap.put(recId, r.getId()); } + if (!Strings.isEmpty(r.getHash()) && r.getHash().startsWith(recordingFileName)) { + String name = getFileName(r.getHash()); + r.setHash(UUID.randomUUID().toString()); + fileMap.put(String.format("%s.%s", name, EXTENSION_JPG), String.format("%s.%s", r.getHash(), EXTENSION_PNG)); + fileMap.put(String.format("%s.%s.%s", name, EXTENSION_FLV, EXTENSION_MP4), String.format("%s.%s", r.getHash(), EXTENSION_MP4)); + } + if (Strings.isEmpty(r.getHash())) { + r.setHash(UUID.randomUUID().toString()); + } + r = recordingDao.update(r); + fileItemMap.put(recId, r.getId()); } + } + /* + * ##################### Import Private Message Folders + */ + private void importPrivateMsgFolders(File f, Serializer simpleSerializer) throws Exception { log.info("Recording import complete, starting private message folder import"); - /* - * ##################### Import Private Message Folders - */ - { - List<PrivateMessageFolder> list = readList(simpleSerializer, f, "privateMessageFolder.xml" - , "privatemessagefolders", PrivateMessageFolder.class, true); - for (PrivateMessageFolder p : list) { - Long folderId = p.getId(); - PrivateMessageFolder storedFolder = privateMessageFolderDao.get(folderId); - if (storedFolder == null) { - p.setId(null); - Long newFolderId = privateMessageFolderDao.addPrivateMessageFolderObj(p); - messageFolderMap.put(folderId, newFolderId); - } + List<PrivateMessageFolder> list = readList(simpleSerializer, f, "privateMessageFolder.xml" + , "privatemessagefolders", PrivateMessageFolder.class, true); + for (PrivateMessageFolder p : list) { + Long folderId = p.getId(); + PrivateMessageFolder storedFolder = privateMessageFolderDao.get(folderId); + if (storedFolder == null) { + p.setId(null); + Long newFolderId = privateMessageFolderDao.addPrivateMessageFolderObj(p); + messageFolderMap.put(folderId, newFolderId); } } + } + /* + * ##################### Import User Contacts + */ + private void importContacts(File f) throws Exception { log.info("Private message folder import complete, starting user contacts import"); - /* - * ##################### Import User Contacts - */ - { - Registry registry = new Registry(); - Strategy strategy = new RegistryStrategy(registry); - Serializer serializer = new Persister(strategy); + Registry registry = new Registry(); + Strategy strategy = new RegistryStrategy(registry); + Serializer serializer = new Persister(strategy); - registry.bind(User.class, new UserConverter(userDao, userMap)); + registry.bind(User.class, new UserConverter(userDao, userMap)); - List<UserContact> list = readList(serializer, f, "userContacts.xml", "usercontacts", UserContact.class, true); - for (UserContact uc : list) { - Long ucId = uc.getId(); - UserContact storedUC = userContactDao.get(ucId); + List<UserContact> list = readList(serializer, f, "userContacts.xml", "usercontacts", UserContact.class, true); + for (UserContact uc : list) { + Long ucId = uc.getId(); + UserContact storedUC = userContactDao.get(ucId); - if (storedUC == null && uc.getContact() != null && uc.getContact().getId() != null) { - uc.setId(null); - if (uc.getOwner() != null && uc.getOwner().getId() == null) { - uc.setOwner(null); - } - uc = userContactDao.update(uc); - userContactMap.put(ucId, uc.getId()); + if (storedUC == null && uc.getContact() != null && uc.getContact().getId() != null) { + uc.setId(null); + if (uc.getOwner() != null && uc.getOwner().getId() == null) { + uc.setOwner(null); } + uc = userContactDao.update(uc); + userContactMap.put(ucId, uc.getId()); } } + } + /* + * ##################### Import Private Messages + */ + private void importPrivateMsgs(File f) throws Exception { log.info("Usercontact import complete, starting private messages item import"); - /* - * ##################### Import Private Messages - */ - { - Registry registry = new Registry(); - Strategy strategy = new RegistryStrategy(registry); - Serializer serializer = new Persister(strategy); + Registry registry = new Registry(); + Strategy strategy = new RegistryStrategy(registry); + Serializer serializer = new Persister(strategy); - registry.bind(User.class, new UserConverter(userDao, userMap)); - registry.bind(Room.class, new RoomConverter(roomDao, roomMap)); - registry.bind(Date.class, DateConverter.class); + registry.bind(User.class, new UserConverter(userDao, userMap)); + registry.bind(Room.class, new RoomConverter(roomDao, roomMap)); + registry.bind(Date.class, DateConverter.class); - List<PrivateMessage> list = readList(serializer, f, "privateMessages.xml", "privatemessages", PrivateMessage.class, true); - boolean oldBackup = true; - for (PrivateMessage p : list) { - if (p.getFolderId() == null || p.getFolderId().longValue() < 0) { - oldBackup = false; - break; - } + List<PrivateMessage> list = readList(serializer, f, "privateMessages.xml", "privatemessages", PrivateMessage.class, true); + boolean oldBackup = true; + for (PrivateMessage p : list) { + if (p.getFolderId() == null || p.getFolderId().longValue() < 0) { + oldBackup = false; + break; } - for (PrivateMessage p : list) { - p.setId(null); - p.setFolderId(getNewId(p.getFolderId(), Maps.MESSAGEFOLDERS)); - p.setUserContactId(getNewId(p.getUserContactId(), Maps.USERCONTACTS)); - if (p.getRoom() != null && p.getRoom().getId() == null) { - p.setRoom(null); - } - if (p.getTo() != null && p.getTo().getId() == null) { - p.setTo(null); - } - if (p.getFrom() != null && p.getFrom().getId() == null) { - p.setFrom(null); - } - if (p.getOwner() != null && p.getOwner().getId() == null) { - p.setOwner(null); - } - if (oldBackup && p.getOwner() != null && p.getOwner().getId() != null - && p.getFrom() != null && p.getFrom().getId() != null - && p.getOwner().getId() == p.getFrom().getId()) - { - p.setFolderId(SENT_FOLDER_ID); - } - privateMessageDao.update(p, null); + } + for (PrivateMessage p : list) { + p.setId(null); + p.setFolderId(getNewId(p.getFolderId(), Maps.MESSAGEFOLDERS)); + p.setUserContactId(getNewId(p.getUserContactId(), Maps.USERCONTACTS)); + if (p.getRoom() != null && p.getRoom().getId() == null) { + p.setRoom(null); + } + if (p.getTo() != null && p.getTo().getId() == null) { + p.setTo(null); } + if (p.getFrom() != null && p.getFrom().getId() == null) { + p.setFrom(null); + } + if (p.getOwner() != null && p.getOwner().getId() == null) { + p.setOwner(null); + } + if (oldBackup && p.getOwner() != null && p.getOwner().getId() != null + && p.getFrom() != null && p.getFrom().getId() != null + && p.getOwner().getId() == p.getFrom().getId()) + { + p.setFolderId(SENT_FOLDER_ID); + } + privateMessageDao.update(p, null); } + } + /* + * ##################### Import File-Explorer Items + */ + private void importFiles(File f) throws Exception { log.info("Private message import complete, starting file explorer item import"); - /* - * ##################### Import File-Explorer Items - */ - { - List<FileItem> list = readFileItemList(f, "fileExplorerItems.xml", "fileExplorerItems"); - for (FileItem file : list) { - Long fId = file.getId(); - // We need to reset this as openJPA reject to store them otherwise - file.setId(null); - Long roomId = file.getRoomId(); - file.setRoomId(roomMap.containsKey(roomId) ? roomMap.get(roomId) : null); - if (file.getOwnerId() != null) { - file.setOwnerId(userMap.get(file.getOwnerId())); - } - if (file.getParentId() != null && file.getParentId().longValue() <= 0L) { - file.setParentId(null); - } - if (Strings.isEmpty(file.getHash())) { - file.setHash(UUID.randomUUID().toString()); - } - file = fileItemDao.update(file); - fileItemMap.put(fId, file.getId()); + List<FileItem> list = readFileItemList(f, "fileExplorerItems.xml", "fileExplorerItems"); + for (FileItem file : list) { + Long fId = file.getId(); + // We need to reset this as openJPA reject to store them otherwise + file.setId(null); + Long roomId = file.getRoomId(); + file.setRoomId(roomMap.containsKey(roomId) ? roomMap.get(roomId) : null); + if (file.getOwnerId() != null) { + file.setOwnerId(userMap.get(file.getOwnerId())); + } + if (file.getParentId() != null && file.getParentId().longValue() <= 0L) { + file.setParentId(null); } + if (Strings.isEmpty(file.getHash())) { + file.setHash(UUID.randomUUID().toString()); + } + file = fileItemDao.update(file); + fileItemMap.put(fId, file.getId()); } + } + /* + * ##################### Import Room Polls + */ + private void importPolls(File f) throws Exception { log.info("File explorer item import complete, starting room poll import"); - /* - * ##################### Import Room Polls - */ - { - Registry registry = new Registry(); - Strategy strategy = new RegistryStrategy(registry); - RegistryMatcher matcher = new RegistryMatcher(); //TODO need to be removed in the later versions - Serializer serializer = new Persister(strategy, matcher); + Registry registry = new Registry(); + Strategy strategy = new RegistryStrategy(registry); + RegistryMatcher matcher = new RegistryMatcher(); //TODO need to be removed in the later versions + Serializer serializer = new Persister(strategy, matcher); - matcher.bind(Integer.class, IntegerTransform.class); - registry.bind(User.class, new UserConverter(userDao, userMap)); - registry.bind(Room.class, new RoomConverter(roomDao, roomMap)); - registry.bind(RoomPoll.Type.class, PollTypeConverter.class); - registry.bind(Date.class, DateConverter.class); + matcher.bind(Integer.class, IntegerTransform.class); + registry.bind(User.class, new UserConverter(userDao, userMap)); + registry.bind(Room.class, new RoomConverter(roomDao, roomMap)); + registry.bind(RoomPoll.Type.class, PollTypeConverter.class); + registry.bind(Date.class, DateConverter.class); - List<RoomPoll> list = readList(serializer, f, "roompolls.xml", "roompolls", RoomPoll.class, true); - for (RoomPoll rp : list) { - rp.setId(null); - if (rp.getRoom() == null || rp.getRoom().getId() == null) { - //room was deleted - continue; - } - if (rp.getCreator() == null || rp.getCreator().getId() == null) { - rp.setCreator(null); - } - for (RoomPollAnswer rpa : rp.getAnswers()) { - if (rpa.getVotedUser() == null || rpa.getVotedUser().getId() == null) { - rpa.setVotedUser(null); - } + List<RoomPoll> list = readList(serializer, f, "roompolls.xml", "roompolls", RoomPoll.class, true); + for (RoomPoll rp : list) { + rp.setId(null); + if (rp.getRoom() == null || rp.getRoom().getId() == null) { + //room was deleted + continue; + } + if (rp.getCreator() == null || rp.getCreator().getId() == null) { + rp.setCreator(null); + } + for (RoomPollAnswer rpa : rp.getAnswers()) { + if (rpa.getVotedUser() == null || rpa.getVotedUser().getId() == null) { + rpa.setVotedUser(null); } - pollDao.update(rp); } + pollDao.update(rp); } + } + /* + * ##################### Import Room Files + */ + private void importRoomFiles(File f) throws Exception { log.info("Poll import complete, starting room files import"); - /* - * ##################### Import Room Files - */ - { - Registry registry = new Registry(); - Strategy strategy = new RegistryStrategy(registry); - Serializer serializer = new Persister(strategy); + Registry registry = new Registry(); + Strategy strategy = new RegistryStrategy(registry); + Serializer serializer = new Persister(strategy); - registry.bind(BaseFileItem.class, new BaseFileItemConverter(fileItemDao, fileItemMap)); + registry.bind(BaseFileItem.class, new BaseFileItemConverter(fileItemDao, fileItemMap)); - List<RoomFile> list = readList(serializer, f, "roomFiles.xml", "RoomFiles", RoomFile.class, true); - for (RoomFile rf : list) { - Room r = roomDao.get(roomMap.get(rf.getRoomId())); - if (r.getFiles() == null) { - r.setFiles(new ArrayList<>()); - } - rf.setId(null); - rf.setRoomId(r.getId()); - r.getFiles().add(rf); - roomDao.update(r, null); + List<RoomFile> list = readList(serializer, f, "roomFiles.xml", "RoomFiles", RoomFile.class, true); + for (RoomFile rf : list) { + Room r = roomDao.get(roomMap.get(rf.getRoomId())); + if (r.getFiles() == null) { + r.setFiles(new ArrayList<>()); } + rf.setId(null); + rf.setRoomId(r.getId()); + r.getFiles().add(rf); + roomDao.update(r, null); } - - log.info("Room files import complete, starting copy of files and folders"); - /* - * ##################### Import real files and folders - */ - importFolders(f); - - log.info("File explorer item import complete, clearing temp files"); - - FileUtils.deleteDirectory(f); } private static <T> List<T> readList(Serializer ser, File baseDir, String fileName, String listNodeName, Class<T> clazz) throws Exception { http://git-wip-us.apache.org/repos/asf/openmeetings/blob/9774beaf/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BaseFileItemConverter.java ---------------------------------------------------------------------- diff --git a/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BaseFileItemConverter.java b/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BaseFileItemConverter.java index def8fa5..d7b5415 100644 --- a/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BaseFileItemConverter.java +++ b/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BaseFileItemConverter.java @@ -18,6 +18,8 @@ */ package org.apache.openmeetings.backup; +import static org.apache.openmeetings.backup.OmConverter.getLong; + import java.util.Map; import org.apache.openmeetings.db.dao.file.FileItemDao; @@ -26,7 +28,7 @@ import org.apache.openmeetings.db.entity.file.FileItem; import org.simpleframework.xml.stream.InputNode; import org.simpleframework.xml.stream.OutputNode; -public class BaseFileItemConverter extends OmConverter<BaseFileItem> { +public class BaseFileItemConverter implements OmConverter<BaseFileItem> { private FileItemDao fileDao; private Map<Long, Long> idMap; http://git-wip-us.apache.org/repos/asf/openmeetings/blob/9774beaf/openmeetings-install/src/main/java/org/apache/openmeetings/backup/GroupConverter.java ---------------------------------------------------------------------- diff --git a/openmeetings-install/src/main/java/org/apache/openmeetings/backup/GroupConverter.java b/openmeetings-install/src/main/java/org/apache/openmeetings/backup/GroupConverter.java index 7a07fe8..58cfe9e 100644 --- a/openmeetings-install/src/main/java/org/apache/openmeetings/backup/GroupConverter.java +++ b/openmeetings-install/src/main/java/org/apache/openmeetings/backup/GroupConverter.java @@ -18,6 +18,8 @@ */ package org.apache.openmeetings.backup; +import static org.apache.openmeetings.backup.OmConverter.getLong; + import java.util.Map; import org.apache.openmeetings.db.dao.user.GroupDao; @@ -25,7 +27,7 @@ import org.apache.openmeetings.db.entity.user.Group; import org.simpleframework.xml.stream.InputNode; import org.simpleframework.xml.stream.OutputNode; -public class GroupConverter extends OmConverter<Group> { +public class GroupConverter implements OmConverter<Group> { private GroupDao groupDao; private Map<Long, Long> idMap; http://git-wip-us.apache.org/repos/asf/openmeetings/blob/9774beaf/openmeetings-install/src/main/java/org/apache/openmeetings/backup/InlineConverter.java ---------------------------------------------------------------------- diff --git a/openmeetings-install/src/main/java/org/apache/openmeetings/backup/InlineConverter.java b/openmeetings-install/src/main/java/org/apache/openmeetings/backup/InlineConverter.java index 51e7ec8..67b78d6 100644 --- a/openmeetings-install/src/main/java/org/apache/openmeetings/backup/InlineConverter.java +++ b/openmeetings-install/src/main/java/org/apache/openmeetings/backup/InlineConverter.java @@ -20,7 +20,7 @@ package org.apache.openmeetings.backup; import org.simpleframework.xml.stream.InputNode; -public abstract class InlineConverter<T> extends OmConverter<T> { +public abstract class InlineConverter<T> implements OmConverter<T> { String getNextValue(InputNode parent, String name) throws Exception { InputNode node = parent.getNext(name); http://git-wip-us.apache.org/repos/asf/openmeetings/blob/9774beaf/openmeetings-install/src/main/java/org/apache/openmeetings/backup/OmCalendarConverter.java ---------------------------------------------------------------------- diff --git a/openmeetings-install/src/main/java/org/apache/openmeetings/backup/OmCalendarConverter.java b/openmeetings-install/src/main/java/org/apache/openmeetings/backup/OmCalendarConverter.java index 2cef48b..1fdbf6f 100644 --- a/openmeetings-install/src/main/java/org/apache/openmeetings/backup/OmCalendarConverter.java +++ b/openmeetings-install/src/main/java/org/apache/openmeetings/backup/OmCalendarConverter.java @@ -18,6 +18,8 @@ */ package org.apache.openmeetings.backup; +import static org.apache.openmeetings.backup.OmConverter.getLong; + import java.util.Map; import org.apache.openmeetings.db.dao.calendar.OmCalendarDao; @@ -25,7 +27,7 @@ import org.apache.openmeetings.db.entity.calendar.OmCalendar; import org.simpleframework.xml.stream.InputNode; import org.simpleframework.xml.stream.OutputNode; -public class OmCalendarConverter extends OmConverter<OmCalendar> { +public class OmCalendarConverter implements OmConverter<OmCalendar> { private OmCalendarDao calendarDao; private Map<Long, Long> idMap; http://git-wip-us.apache.org/repos/asf/openmeetings/blob/9774beaf/openmeetings-install/src/main/java/org/apache/openmeetings/backup/OmConverter.java ---------------------------------------------------------------------- diff --git a/openmeetings-install/src/main/java/org/apache/openmeetings/backup/OmConverter.java b/openmeetings-install/src/main/java/org/apache/openmeetings/backup/OmConverter.java index 310e7e3..7b36f74 100644 --- a/openmeetings-install/src/main/java/org/apache/openmeetings/backup/OmConverter.java +++ b/openmeetings-install/src/main/java/org/apache/openmeetings/backup/OmConverter.java @@ -21,7 +21,7 @@ package org.apache.openmeetings.backup; import org.simpleframework.xml.convert.Converter; import org.simpleframework.xml.stream.InputNode; -public abstract class OmConverter<T> implements Converter<T> { +public interface OmConverter<T> extends Converter<T> { static long getLong(InputNode node) throws Exception { return getLong(node.getValue()); } http://git-wip-us.apache.org/repos/asf/openmeetings/blob/9774beaf/openmeetings-install/src/main/java/org/apache/openmeetings/backup/PollTypeConverter.java ---------------------------------------------------------------------- diff --git a/openmeetings-install/src/main/java/org/apache/openmeetings/backup/PollTypeConverter.java b/openmeetings-install/src/main/java/org/apache/openmeetings/backup/PollTypeConverter.java index 8de2fe9..92eec70 100644 --- a/openmeetings-install/src/main/java/org/apache/openmeetings/backup/PollTypeConverter.java +++ b/openmeetings-install/src/main/java/org/apache/openmeetings/backup/PollTypeConverter.java @@ -18,11 +18,13 @@ */ package org.apache.openmeetings.backup; +import static org.apache.openmeetings.backup.OmConverter.getLong; + import org.apache.openmeetings.db.entity.room.RoomPoll; import org.simpleframework.xml.stream.InputNode; import org.simpleframework.xml.stream.OutputNode; -public class PollTypeConverter extends OmConverter<RoomPoll.Type> { +public class PollTypeConverter implements OmConverter<RoomPoll.Type> { public PollTypeConverter() {} @Override http://git-wip-us.apache.org/repos/asf/openmeetings/blob/9774beaf/openmeetings-install/src/main/java/org/apache/openmeetings/backup/RecordingStatusConverter.java ---------------------------------------------------------------------- diff --git a/openmeetings-install/src/main/java/org/apache/openmeetings/backup/RecordingStatusConverter.java b/openmeetings-install/src/main/java/org/apache/openmeetings/backup/RecordingStatusConverter.java index d6551cc..bbdd19e 100644 --- a/openmeetings-install/src/main/java/org/apache/openmeetings/backup/RecordingStatusConverter.java +++ b/openmeetings-install/src/main/java/org/apache/openmeetings/backup/RecordingStatusConverter.java @@ -27,7 +27,7 @@ import org.simpleframework.xml.stream.InputNode; import org.simpleframework.xml.stream.OutputNode; import org.slf4j.Logger; -public class RecordingStatusConverter extends OmConverter<Recording.Status> { +public class RecordingStatusConverter implements OmConverter<Recording.Status> { private static final Logger log = Red5LoggerFactory.getLogger(RecordingStatusConverter.class, getWebAppRootKey()); private static final String PROCESSING = "PROCESSING"; public RecordingStatusConverter() {} http://git-wip-us.apache.org/repos/asf/openmeetings/blob/9774beaf/openmeetings-install/src/main/java/org/apache/openmeetings/backup/RoomConverter.java ---------------------------------------------------------------------- diff --git a/openmeetings-install/src/main/java/org/apache/openmeetings/backup/RoomConverter.java b/openmeetings-install/src/main/java/org/apache/openmeetings/backup/RoomConverter.java index a47c036..5b10a32 100644 --- a/openmeetings-install/src/main/java/org/apache/openmeetings/backup/RoomConverter.java +++ b/openmeetings-install/src/main/java/org/apache/openmeetings/backup/RoomConverter.java @@ -18,6 +18,8 @@ */ package org.apache.openmeetings.backup; +import static org.apache.openmeetings.backup.OmConverter.getLong; + import java.util.Map; import org.apache.openmeetings.db.dao.room.RoomDao; @@ -25,7 +27,7 @@ import org.apache.openmeetings.db.entity.room.Room; import org.simpleframework.xml.stream.InputNode; import org.simpleframework.xml.stream.OutputNode; -public class RoomConverter extends OmConverter<Room> { +public class RoomConverter implements OmConverter<Room> { private RoomDao roomDao; private Map<Long, Long> idMap; http://git-wip-us.apache.org/repos/asf/openmeetings/blob/9774beaf/openmeetings-install/src/main/java/org/apache/openmeetings/backup/RoomTypeConverter.java ---------------------------------------------------------------------- diff --git a/openmeetings-install/src/main/java/org/apache/openmeetings/backup/RoomTypeConverter.java b/openmeetings-install/src/main/java/org/apache/openmeetings/backup/RoomTypeConverter.java index 1aad991..700b68f 100644 --- a/openmeetings-install/src/main/java/org/apache/openmeetings/backup/RoomTypeConverter.java +++ b/openmeetings-install/src/main/java/org/apache/openmeetings/backup/RoomTypeConverter.java @@ -18,11 +18,13 @@ */ package org.apache.openmeetings.backup; +import static org.apache.openmeetings.backup.OmConverter.getInt; + import org.apache.openmeetings.db.entity.room.Room.Type; import org.simpleframework.xml.stream.InputNode; import org.simpleframework.xml.stream.OutputNode; -public class RoomTypeConverter extends OmConverter<Type> { +public class RoomTypeConverter implements OmConverter<Type> { public RoomTypeConverter() {} @Override http://git-wip-us.apache.org/repos/asf/openmeetings/blob/9774beaf/openmeetings-install/src/main/java/org/apache/openmeetings/backup/SalutationConverter.java ---------------------------------------------------------------------- diff --git a/openmeetings-install/src/main/java/org/apache/openmeetings/backup/SalutationConverter.java b/openmeetings-install/src/main/java/org/apache/openmeetings/backup/SalutationConverter.java index b6fc93d..aeeb087 100644 --- a/openmeetings-install/src/main/java/org/apache/openmeetings/backup/SalutationConverter.java +++ b/openmeetings-install/src/main/java/org/apache/openmeetings/backup/SalutationConverter.java @@ -18,11 +18,13 @@ */ package org.apache.openmeetings.backup; +import static org.apache.openmeetings.backup.OmConverter.getInt; + import org.apache.openmeetings.db.entity.user.User.Salutation; import org.simpleframework.xml.stream.InputNode; import org.simpleframework.xml.stream.OutputNode; -public class SalutationConverter extends OmConverter<Salutation> { +public class SalutationConverter implements OmConverter<Salutation> { @Override public Salutation read(InputNode node) throws Exception { return Salutation.get(getInt(node)); http://git-wip-us.apache.org/repos/asf/openmeetings/blob/9774beaf/openmeetings-install/src/main/java/org/apache/openmeetings/backup/UserConverter.java ---------------------------------------------------------------------- diff --git a/openmeetings-install/src/main/java/org/apache/openmeetings/backup/UserConverter.java b/openmeetings-install/src/main/java/org/apache/openmeetings/backup/UserConverter.java index 4853efa..a2cf50d 100644 --- a/openmeetings-install/src/main/java/org/apache/openmeetings/backup/UserConverter.java +++ b/openmeetings-install/src/main/java/org/apache/openmeetings/backup/UserConverter.java @@ -18,6 +18,8 @@ */ package org.apache.openmeetings.backup; +import static org.apache.openmeetings.backup.OmConverter.getLong; + import java.util.Map; import org.apache.openmeetings.db.dao.user.UserDao; @@ -25,7 +27,7 @@ import org.apache.openmeetings.db.entity.user.User; import org.simpleframework.xml.stream.InputNode; import org.simpleframework.xml.stream.OutputNode; -public class UserConverter extends OmConverter<User> { +public class UserConverter implements OmConverter<User> { private UserDao userDao; private Map<Long, Long> idMap; http://git-wip-us.apache.org/repos/asf/openmeetings/blob/9774beaf/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/SettingsIcon.java ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/SettingsIcon.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/SettingsIcon.java index 5dba196..d19d81f 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/SettingsIcon.java +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/SettingsIcon.java @@ -40,6 +40,6 @@ public class SettingsIcon extends ClientIcon { @Override protected String getScript() { - return String.format("VideoSettings.open();"); + return "VideoSettings.open();"; } } http://git-wip-us.apache.org/repos/asf/openmeetings/blob/9774beaf/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/ChangePasswordDialog.java ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/ChangePasswordDialog.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/ChangePasswordDialog.java index 4508493..a1a186f 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/ChangePasswordDialog.java +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/ChangePasswordDialog.java @@ -71,7 +71,7 @@ public class ChangePasswordDialog extends AbstractFormDialog<String> { try { Thread.sleep(6 + (long)(10 * Math.random() * 1000)); } catch (InterruptedException e) { - log.error("Unexpected exception while sleeting", e); + log.error("Unexpected exception while sleeping", e); } } String p1 = pass.getConvertedInput(); http://git-wip-us.apache.org/repos/asf/openmeetings/blob/9774beaf/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/ProfileForm.java ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/ProfileForm.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/ProfileForm.java index 9f4f9cc..5a8dc4e 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/ProfileForm.java +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/ProfileForm.java @@ -129,7 +129,7 @@ public class ProfileForm extends Form<User> { try { Thread.sleep(6 + (long)(10 * Math.random() * 1000)); } catch (InterruptedException e) { - log.error("Unexpected exception while sleeting", e); + log.error("Unexpected exception while sleeping", e); } } super.onValidate();
