Example usage for org.apache.commons.transaction.util FileHelper copyRec

List of usage examples for org.apache.commons.transaction.util FileHelper copyRec

Introduction

In this page you can find the example usage for org.apache.commons.transaction.util FileHelper copyRec.

Prototype

public static void copyRec(File source, File target) throws IOException 

Source Link

Document

Copies one directory or file to another.

Usage

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");
}