Example #1
0
        //# __________ PROTOCOL :: (PRIVATE) HANDLE FILE UPLOAD __________ #//
        public void _HandleFileUpload(VmUploadDirectoryManager manager)
        {
            String sessionId = manager.GetSessionCookie();
            Monitor("Upload Session: " + sessionId);
            VmMessageHttpResponse response = GetFileBasedSessionStatus(sessionId);

            String sessionStatus = response.Mappings["sessionStatus"];
            if( sessionStatus.Equals("uploading") )
                HandleFileUploadContinue(manager, sessionId, response.Mappings["data"]);
            else if( sessionStatus.Equals("complete") )
                HandleUploadComplete(manager);
            Monitor("");
        }
Example #2
0
        //# __________ PROTOCOL :: PRIVATE (UTILITY) __________ #//
        public void WriteSessionManifest(VmUploadDirectoryManager manager, JwList<VmScheduledUpload> uploads)
        {
            String sessionManifest = ConvertToSessionUploadManifest(uploads);
            manager.WriteSessionManifest(sessionManifest);

            if( VmProperties.Default.ShouldTransmitChunked() )
            {
                String s = ConvertToChunkedSessionUploadManifest(uploads);
                manager.WriteChunkedSessionManifest(s);
            }
        }
Example #3
0
 //# __________ PROTOCOL :: (PRIVATE) HANDLE CHUNKED UPLOAD __________ #//
 public void _HandleChunkedUpload(VmUploadDirectoryManager manager)
 {
     VmAccountChunkedUploader uploader = new VmAccountChunkedUploader(this);
     uploader.HandleUpload(manager);
 }
Example #4
0
 public void UploadFileBasedEntry(
     VmUploadDirectoryManager manager,
     String sessionId,
     VmSessionManifestEntry entry,
     int index,
     int maxIndex)
 {
     VmMessageHttpRequest req = new VmMessageHttpRequest();
     req.Mappings["command"] = "upload";
     req.Mappings["sessionId"] = sessionId;
     req.Mappings["fileName"] = entry.FileName;
     req.Mappings["fileType"] = entry.FileType;
     req.Mappings["airportCode"] = entry.AirportCode;
     byte[] ba = manager.ReadFile( entry.AirportCode, entry.FileType, entry.FileName);
     req.Mappings["data"] = JwUtility.ToString(ba);
     MonitorBeginFile(
         entry.AirportCode,
         entry.FileName,
         index,
         maxIndex);
     VmMessageHttpResponse res  = req.Send();
 }
Example #5
0
 //# __________ PROTOCOL :: PRIVATE (UPLOAD STEPS) __________ #//
 /**
  * Delete any directory who is not uploadable, this is true if:
  *  1) An error occured copying this directory from output
  *  2) An error occured after deleting this directory after upload complete.
  **/
 public void VerifyUploadDirectories()
 {
     DirectoryInfo[] dia = GetUploadDirectories();
     foreach( DirectoryInfo uploadDir in dia)
     {
         VmUploadDirectoryManager o = new VmUploadDirectoryManager(uploadDir.FullName);
         if( ! o.HasUploadableCookie() ) o.Delete();
     }
 }
Example #6
0
 public void RemoveOutputDirectory(VmUploadDirectoryManager manager)
 {
     if( manager == null ) return;
     if( ! manager.HasUploadableCookie() )
         throw new Exception("ERROR: Unable to prepare for upload. (100)");
     DirectoryInfo di;
     di = new DirectoryInfo(VmAccountData.Default.GetAccountOutputPath());
     if( di.Exists ) di.Delete(true);
     di = new DirectoryInfo(VmAccountData.Default.GetAccountOutputPath());
     if( di.Exists )
         throw new Exception("ERROR: Unable to prepare for upload. (101)");
 }
Example #7
0
 public void TransferUploadDirectories()
 {
     DirectoryInfo[] dia = GetUploadDirectories();
     foreach( DirectoryInfo uploadDir in dia)
     {
         VmUploadDirectoryManager o = new VmUploadDirectoryManager(uploadDir.FullName);
         HandleUpload(o);
     }
 }
Example #8
0
 //# __________ PROTOCOL :: (PRIVATE) HANDLE UPLOAD __________ #//
 public void HandleUpload(VmUploadDirectoryManager manager)
 {
     if( manager.HasChunkedSessionManifest() )
         HandleChunkedUpload(manager);
     else
         HandleFileUpload(manager);
 }
Example #9
0
 public void HandleUploadComplete(VmUploadDirectoryManager manager)
 {
     manager.DeleteUploadableCookie();
     manager.Delete();
 }
Example #10
0
 public void HandleFileUploadContinue(
     VmUploadDirectoryManager manager,
     String sessionId,
     String remainingManifest)
 {
     manager.WriteStatusSessionManifest(remainingManifest);
     JwList<VmSessionManifestEntry> entries = manager.GetStatusSessionManifestEntries();
     int count = 1;
     foreach( VmSessionManifestEntry entry in entries)
     {
         UploadFileBasedEntry(
             manager,
             sessionId,
             entry,
             count++,
             entries.Count);
     }
 }
Example #11
0
        public void HandleFileUpload(VmUploadDirectoryManager manager)
        {
            if( ! manager.HasSessionCookie() )
                CreateFileModeUploadSession(manager);

            _HandleFileUpload(manager);
        }
Example #12
0
 public void CreateFileModeUploadSession(VmUploadDirectoryManager manager)
 {
     VmMessageHttpRequest req = new VmMessageHttpRequest();
     req.Mappings["command"] = "createSession";
     req.Mappings["data"] = manager.GetSessionManifest();
     VmMessageHttpResponse res  = req.Send();
     String sessionId = res.Mappings["sessionId"];
     manager.WriteSessionCookie(sessionId);
 }
Example #13
0
 public void CreateChunkedModeUploadSession(VmUploadDirectoryManager manager)
 {
     VmMessageHttpRequest req = new VmMessageHttpRequest();
     req.Mappings["command"] = "createSession";
     req.Mappings[TRANSMISSION_MODE_KEY] = TRASNMISSION_MODE_CHUNKED;
     req.Mappings["data"] = manager.GetChunkedSessionManifest();
     VmMessageHttpResponse res  = req.Send();
     String sessionId = res.Mappings["sessionId"];
     manager.WriteSessionCookie(sessionId);
 }
 //# __________ PROTOCOL :: PUBLIC __________ #//
 public void HandleUpload(VmUploadDirectoryManager manager)
 {
     _manager = manager;
     _HandleUpload();
 }