private void addExternalItem(final FcpPersistentPut uploadRequest) { final FrostUploadItem ulItem = new FrostUploadItem(); ulItem.setGqIdentifier(uploadRequest.getIdentifier()); ulItem.setExternal(true); // direct uploads maybe have no filename, use identifier String fileName = uploadRequest.getFilename(); if (fileName == null) { fileName = uploadRequest.getIdentifier(); } else if (fileName.indexOf('/') > -1 || fileName.indexOf('\\') > -1) { // filename contains directories, use only filename final String stmp = new File(fileName).getName(); if (stmp.length() > 0) { fileName = stmp; // use plain filename } } ulItem.setFile(new File(fileName)); ulItem.setFileName(fileName); ulItem.setFileSize(uploadRequest.getFileSize()); ulItem.setPriority(uploadRequest.getPriority()); ulItem.setState(FrostUploadItem.STATE_PROGRESS); SwingUtilities.invokeLater( new Runnable() { public void run() { uploadModel.addExternalItem(ulItem); } }); applyState(ulItem, uploadRequest); }
public void disconnected() { isConnected = false; MainFrame.getInstance().setDisconnected(); SwingUtilities.invokeLater( new Runnable() { public void run() { uploadModel.removeExternalUploads(); downloadModel.removeExternalDownloads(); } }); logger.severe("disconnected!"); }
public void persistentRequestRemoved(final FcpPersistentGet downloadRequest) { if (downloadModelItems.containsKey(downloadRequest.getIdentifier())) { final FrostDownloadItem dlItem = downloadModelItems.get(downloadRequest.getIdentifier()); if (dlItem.isExternal()) { SwingUtilities.invokeLater( new Runnable() { public void run() { List<FrostDownloadItem> itemList = new ArrayList<FrostDownloadItem>(); itemList.add(dlItem); downloadModel.removeItems(itemList); } }); } else { if (dlItem.isInternalRemoveExpected()) { dlItem.setInternalRemoveExpected(false); // clear flag } else if (dlItem.getState() != FrostDownloadItem.STATE_DONE) { dlItem.setEnabled(false); dlItem.setState(FrostDownloadItem.STATE_FAILED); dlItem.setErrorCodeDescription("Disappeared from global queue"); } } } }