private void fillFilteredResponses(Multistatus multistatus) { filteredResponses.Clear(); ArrayList responses = multistatus.getResponses(); for (int i = 0; i < responses.Count; i++) { DavResponse response = (DavResponse)responses[i]; ResourceTypeProperty resourceTypeProp = (ResourceTypeProperty)response.getProperty(DavProperty.RESOURCETYPE); if (resourceTypeProp != null && resourceTypeProp.getResourceType() == ResourceTypeProperty.RESOURCE) { filteredResponses.Add(response); } } }
public void fillFileList(String remotePath, Multistatus multistatus) { ArrayList responses = multistatus.getResponses(); fillFilteredResponses(multistatus); listFiles.Items.Clear(); try { for (int i = 0; i < filteredResponses.Count; i++) { DavResponse response = (DavResponse)filteredResponses[i]; String displayName = ""; String size = ""; String mimeType = ""; String modified = ""; DisplayNameProperty displayNameProp = (DisplayNameProperty)response.getProperty(DavProperty.DISPLAYNAME); ResourceTypeProperty resourceTypeProp = (ResourceTypeProperty)response.getProperty(DavProperty.RESOURCETYPE); LastModifiedProperty lastModifiedProp = (LastModifiedProperty)response.getProperty(DavProperty.GETLASTMODIFIED); ContentLenghtProperty getContentLengthProp = (ContentLenghtProperty)response.getProperty(DavProperty.GETCONTENTLENGTH); WebDavProperty versionNameProp = response.getProperty("D:" + DavProperty.VERSIONNAME); WebDavProperty mimeTypeProperty = response.getProperty("jcr:mimeType"); String pattern = "ddd, dd MMM yyyy HH':'mm':'ss 'GMT'"; if (displayNameProp != null) { displayName = displayNameProp.getDisplayName(); if (lastModifiedProp != null) { modified = ParseDate(lastModifiedProp.getLastModified()); } if (mimeTypeProperty != null) { mimeType = mimeTypeProperty.getTextContent(); } if (getContentLengthProp != null) { long fileSize = System.Convert.ToInt64(getContentLengthProp.getContentLenght()); if (fileSize < 1024) { size = fileSize.ToString(); } else if (fileSize < (1024 * 1024)) { fileSize = fileSize >> 10; size += fileSize; size += "K"; } else { String kb = "" + (fileSize >> 10) % 1024; while (kb.Length < 3) { kb = "0" + kb; } fileSize = fileSize >> 20; size += fileSize; size += "."; size += kb.ToCharArray()[0]; size += "M"; } } int imageId = getImageIdByMimeType(mimeTypeProperty); ListViewItem viewItem = new ListViewItem(new string[] { displayName, size, mimeType, modified}, imageId); listFiles.Items.Add(viewItem); } } } catch (Exception exc) { MessageBox.Show("EXCEPTION " + exc.Message + " : " + exc.StackTrace); } }