00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 package org.openmobileis.synchro.openmsp.server.util;
00027
00028 import java.io.IOException;
00029 import java.util.HashMap;
00030
00031 import javax.servlet.http.HttpServletRequest;
00032 import javax.servlet.http.HttpServletResponse;
00033
00034 import org.openmobileis.common.context.UserTerminal;
00035 import org.openmobileis.common.user.profile.Profile;
00036 import org.openmobileis.common.util.exception.SynchroException;
00037 import org.openmobileis.common.util.file.OpenMisArchive;
00038
00043 public final class CLDCSynchroFileGenerator implements SynchroFileGenerator {
00044
00048 public CLDCSynchroFileGenerator() {
00049 }
00050
00051
00052
00053
00054 public void generateSynchroFile(UserTerminal terminal, Profile profil, HttpServletRequest request, HttpServletResponse res, FileSystem fileSystem, String newSessionId) throws SynchroException {
00055 try {
00056
00057 HashMap zipFileMap = new HashMap(10);
00058 OpenMISFile[] syncfileList = fileSystem.getFileList();
00059 OpenMisArchive ret = new OpenMisArchive();
00060 for (int i = 0; i < syncfileList.length; i++) {
00061 ret.addEntry(syncfileList[i].getFileName(), syncfileList[i].getFileData());
00062 }
00063 res.addHeader("SyncNum", newSessionId);
00064 res.setContentType("application/zip");
00065
00066
00067
00068 } catch (IOException ex) {
00069 throw new SynchroException("Error during synchro file genration ", ex);
00070 }
00071
00072 }
00073
00074 }