List of usage examples for org.apache.commons.transaction.util FileHelper copyRec
public static void copyRec(File source, File target) throws IOException
From source file:org.apache.openmeetings.backup.BackupExport.java
public void performExport(File filePath, File backup_dir, boolean includeFiles, ProgressHolder progressHolder) throws Exception { if (!backup_dir.exists()) { backup_dir.mkdirs();/* w w w . j a v a 2 s . co m*/ } Serializer simpleSerializer = new Persister(); progressHolder.setProgress(0); /* * ##################### Backup Groups */ writeList(simpleSerializer, backup_dir, "organizations.xml", "organisations", groupDao.get(0, Integer.MAX_VALUE)); progressHolder.setProgress(5); /* * ##################### Backup Users */ exportUsers(backup_dir, userDao.getAllBackupUsers()); progressHolder.setProgress(10); /* * ##################### Backup Room */ { Registry registry = new Registry(); Strategy strategy = new RegistryStrategy(registry); Serializer serializer = new Persister(strategy); registry.bind(User.class, UserConverter.class); registry.bind(Room.Type.class, RoomTypeConverter.class); writeList(serializer, backup_dir, "rooms.xml", "rooms", roomDao.get()); progressHolder.setProgress(15); } /* * ##################### Backup Room Groups */ { Registry registry = new Registry(); Strategy strategy = new RegistryStrategy(registry); Serializer serializer = new Persister(strategy); registry.bind(Group.class, GroupConverter.class); registry.bind(Room.class, RoomConverter.class); writeList(serializer, backup_dir, "rooms_organisation.xml", "room_organisations", roomGroupDao.get()); progressHolder.setProgress(20); } /* * ##################### 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.size() > 0) { 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; } } } writeList(serializer, backup_dir, "appointements.xml", "appointments", list); progressHolder.setProgress(25); } /* * ##################### Backup Meeting Members */ { Registry registry = new Registry(); Strategy strategy = new RegistryStrategy(registry); Serializer serializer = new Persister(strategy); registry.bind(User.class, UserConverter.class); registry.bind(Appointment.class, AppointmentConverter.class); writeList(serializer, backup_dir, "meetingmembers.xml", "meetingmembers", meetingMemberDao.getMeetingMembers()); progressHolder.setProgress(30); } /* * ##################### LDAP Configs */ List<LdapConfig> ldapList = ldapConfigDao.get(); if (!ldapList.isEmpty()) { ldapList.remove(0); } writeList(simpleSerializer, backup_dir, "ldapconfigs.xml", "ldapconfigs", ldapList); progressHolder.setProgress(35); /* * ##################### Cluster servers */ writeList(simpleSerializer, backup_dir, "servers.xml", "servers", serverDao.get(0, Integer.MAX_VALUE)); progressHolder.setProgress(40); /* * ##################### OAuth2 servers */ writeList(simpleSerializer, backup_dir, "oauth2servers.xml", "oauth2servers", auth2Dao.get(0, Integer.MAX_VALUE)); progressHolder.setProgress(45); /* * ##################### 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.size() > 0) { registry.bind(list.get(0).getInserted().getClass(), DateConverter.class); } writeList(serializer, backup_dir, "privateMessages.xml", "privatemessages", list); progressHolder.setProgress(50); } /* * ##################### Private Message Folders */ writeList(simpleSerializer, backup_dir, "privateMessageFolder.xml", "privatemessagefolders", privateMessageFolderDao.get(0, Integer.MAX_VALUE)); progressHolder.setProgress(55); /* * ##################### User Contacts */ { Registry registry = new Registry(); Strategy strategy = new RegistryStrategy(registry); Serializer serializer = new Persister(strategy); registry.bind(User.class, UserConverter.class); writeList(serializer, backup_dir, "userContacts.xml", "usercontacts", userContactDao.get()); progressHolder.setProgress(60); } /* * ##################### File-Explorer */ { List<FileExplorerItem> list = fileExplorerItemDao.get(); Registry registry = new Registry(); Strategy strategy = new RegistryStrategy(registry); Serializer serializer = new Persister(strategy); if (list != null && list.size() > 0) { registry.bind(list.get(0).getInserted().getClass(), DateConverter.class); } writeList(serializer, backup_dir, "fileExplorerItems.xml", "fileExplorerItems", list); progressHolder.setProgress(65); } /* * ##################### Recordings */ { List<Recording> list = recordingDao.get(); Registry registry = new Registry(); Strategy strategy = new RegistryStrategy(registry); Serializer serializer = new Persister(strategy); if (list != null && list.size() > 0) { registry.bind(list.get(0).getInserted().getClass(), DateConverter.class); } writeList(serializer, backup_dir, "flvRecordings.xml", "flvrecordings", list); progressHolder.setProgress(70); } /* * ##################### 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.size() > 0) { registry.bind(list.get(0).getCreated().getClass(), DateConverter.class); } writeList(serializer, backup_dir, "roompolls.xml", "roompolls", list); progressHolder.setProgress(75); } /* * ##################### Config */ { List<Configuration> list = configurationDao.getConfigurations(0, Integer.MAX_VALUE, "c.id", true); Registry registry = new Registry(); registry.bind(User.class, UserConverter.class); Strategy strategy = new RegistryStrategy(registry); Serializer serializer = new Persister(strategy); if (list != null && list.size() > 0) { registry.bind(list.get(0).getInserted().getClass(), DateConverter.class); } writeList(serializer, backup_dir, "configs.xml", "configs", list); progressHolder.setProgress(80); } /* * ##################### 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.size() > 0) { registry.bind(list.get(0).getSent().getClass(), DateConverter.class); } writeList(serializer, backup_dir, "chat_messages.xml", "chat_messages", list); progressHolder.setProgress(85); } if (includeFiles) { /* * ##################### Backup Room Files */ File targetRootDir = new File(backup_dir, "roomFiles"); if (!targetRootDir.exists()) { targetRootDir.mkdir(); } File sourceDir = OmFileHelper.getUploadDir(); File[] files = sourceDir.listFiles(); for (File file : files) { if (file.isDirectory()) { if (!file.getName().equals("backup") && !file.getName().equals("import")) { log.debug("### " + file.getName()); FileHelper.copyRec(file, new File(targetRootDir, file.getName())); } } } /* * ##################### Backup Recording Files */ File targetDirRec = new File(backup_dir, "recordingFiles"); if (!targetDirRec.exists()) { targetDirRec.mkdir(); } File sourceDirRec = OmFileHelper.getStreamsHibernateDir(); FileHelper.copyRec(sourceDirRec, targetDirRec); progressHolder.setProgress(90); } writeZipDir(backup_dir, filePath); progressHolder.setProgress(100); log.debug("---Done"); }
From source file:org.apache.openmeetings.servlet.outputhandler.BackupExport.java
public void performExport(File filePath, File backup_dir, boolean includeFiles) throws Exception { if (!backup_dir.exists()) { backup_dir.mkdirs();/*from w w w. j a va 2s . c om*/ } Serializer simpleSerializer = new Persister(); /* * ##################### Backup Organizations */ writeList(simpleSerializer, backup_dir, "organizations.xml", "organisations", organisationManager.getOrganisations(3L)); /* * ##################### Backup Users */ exportUsers(backup_dir, usersDao.getAllUsersDeleted()); /* * ##################### Backup Room */ { Registry registry = new Registry(); Strategy strategy = new RegistryStrategy(registry); Serializer serializer = new Persister(strategy); registry.bind(User.class, UserConverter.class); registry.bind(RoomType.class, RoomTypeConverter.class); writeList(serializer, backup_dir, "rooms.xml", "rooms", roomManager.getBackupRooms()); } /* * ##################### Backup Room Organizations */ { Registry registry = new Registry(); Strategy strategy = new RegistryStrategy(registry); Serializer serializer = new Persister(strategy); registry.bind(Organisation.class, OrganisationConverter.class); registry.bind(Room.class, RoomConverter.class); writeList(serializer, backup_dir, "rooms_organisation.xml", "room_organisations", roomManager.getRoomsOrganisations()); } /* * ##################### Backup Appointments */ { List<Appointment> list = appointmentDao.getAppointments(); Registry registry = new Registry(); Strategy strategy = new RegistryStrategy(registry); Serializer serializer = new Persister(strategy); registry.bind(AppointmentCategory.class, AppointmentCategoryConverter.class); registry.bind(User.class, UserConverter.class); registry.bind(AppointmentReminderTyps.class, AppointmentReminderTypeConverter.class); registry.bind(Room.class, RoomConverter.class); if (list != null && list.size() > 0) { registry.bind(list.get(0).getAppointmentStarttime().getClass(), DateConverter.class); } writeList(serializer, backup_dir, "appointements.xml", "appointments", list); } /* * ##################### Backup Meeting Members */ { Registry registry = new Registry(); Strategy strategy = new RegistryStrategy(registry); Serializer serializer = new Persister(strategy); registry.bind(User.class, UserConverter.class); registry.bind(Appointment.class, AppointmentConverter.class); writeList(serializer, backup_dir, "meetingmembers.xml", "meetingmembers", meetingMemberDao.getMeetingMembers()); } /* * ##################### LDAP Configs */ writeList(simpleSerializer, backup_dir, "ldapconfigs.xml", "ldapconfigs", ldapConfigDao.getLdapConfigs()); /* * ##################### Private Messages */ { List<PrivateMessage> list = privateMessagesDao.getPrivateMessages(); 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.size() > 0) { registry.bind(list.get(0).getInserted().getClass(), DateConverter.class); } writeList(serializer, backup_dir, "privateMessages.xml", "privatemessages", list); } /* * ##################### Private Message Folders */ writeList(simpleSerializer, backup_dir, "privateMessageFolder.xml", "privatemessagefolders", privateMessageFolderDao.getPrivateMessageFolders()); /* * ##################### User Contacts */ { Registry registry = new Registry(); Strategy strategy = new RegistryStrategy(registry); Serializer serializer = new Persister(strategy); registry.bind(User.class, UserConverter.class); writeList(serializer, backup_dir, "userContacts.xml", "usercontacts", userContactsDao.getUserContacts()); } /* * ##################### File-Explorer */ { List<FileExplorerItem> list = fileExplorerItemDao.getFileExplorerItems(); Registry registry = new Registry(); Strategy strategy = new RegistryStrategy(registry); Serializer serializer = new Persister(strategy); if (list != null && list.size() > 0) { registry.bind(list.get(0).getInserted().getClass(), DateConverter.class); } writeList(serializer, backup_dir, "fileExplorerItems.xml", "fileExplorerItems", list); } /* * ##################### Recordings */ { List<FlvRecording> list = flvRecordingDao.getAllFlvRecordings(); Registry registry = new Registry(); Strategy strategy = new RegistryStrategy(registry); Serializer serializer = new Persister(strategy); if (list != null && list.size() > 0) { registry.bind(list.get(0).getInserted().getClass(), DateConverter.class); } writeList(serializer, backup_dir, "flvRecordings.xml", "flvrecordings", list); } /* * ##################### Polls */ { List<RoomPoll> list = pollManager.getPollListBackup(); 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(PollType.class, PollTypeConverter.class); if (list != null && list.size() > 0) { registry.bind(list.get(0).getCreated().getClass(), DateConverter.class); } writeList(serializer, backup_dir, "roompolls.xml", "roompolls", list); } /* * ##################### Config */ { List<Configuration> list = configurationDao.getConfigurations(0, Integer.MAX_VALUE, "c.configuration_id", true); Registry registry = new Registry(); registry.bind(OmTimeZone.class, OmTimeZoneConverter.class); registry.bind(State.class, StateConverter.class); registry.bind(User.class, UserConverter.class); Strategy strategy = new RegistryStrategy(registry); Serializer serializer = new Persister(strategy); if (list != null && list.size() > 0) { registry.bind(list.get(0).getStarttime().getClass(), DateConverter.class); } writeList(serializer, backup_dir, "configs.xml", "configs", list); } if (includeFiles) { /* * ##################### Backup Room Files */ File targetRootDir = new File(backup_dir, "roomFiles"); if (!targetRootDir.exists()) { targetRootDir.mkdir(); } File sourceDir = OmFileHelper.getUploadDir(); File[] files = sourceDir.listFiles(); for (File file : files) { if (file.isDirectory()) { if (!file.getName().equals("backup") && !file.getName().equals("import")) { log.debug("### " + file.getName()); FileHelper.copyRec(file, new File(targetRootDir, file.getName())); } } } /* * ##################### Backup Recording Files */ File targetDirRec = new File(backup_dir, "recordingFiles"); if (!targetDirRec.exists()) { targetDirRec.mkdir(); } File sourceDirRec = OmFileHelper.getStreamsHibernateDir(); FileHelper.copyRec(sourceDirRec, targetDirRec); } writeZipDir(backup_dir, filePath); log.debug("---Done"); }