本文整理汇总了Java中org.jivesoftware.smackx.filetransfer.FileTransferRequest类的典型用法代码示例。如果您正苦于以下问题:Java FileTransferRequest类的具体用法?Java FileTransferRequest怎么用?Java FileTransferRequest使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
FileTransferRequest类属于org.jivesoftware.smackx.filetransfer包,在下文中一共展示了FileTransferRequest类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getFile
import org.jivesoftware.smackx.filetransfer.FileTransferRequest; //导入依赖的package包/类
public void getFile(){
manager.addFileTransferListener(new FileTransferListener() {
@Override
public void fileTransferRequest(FileTransferRequest request) {
IncomingFileTransfer fileTransfer = request.accept();
try {
fileTransfer.recieveFile(new File(Environment.getExternalStorageDirectory().getAbsolutePath(), "�����ļ�"));
} catch (XMPPException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
}
示例2: getPropsMap
import org.jivesoftware.smackx.filetransfer.FileTransferRequest; //导入依赖的package包/类
private Map<String, String> getPropsMap(FileTransferRequest ftr) {
String[ ] msgArray = ftr.getDescription().split(PROPERTIES_SEPARATOR);
Map<String, String> props = new TreeMap<String, String>();
for (String msg : msgArray) {
if (msg == null) {
continue;
}
String[] data = msg.split(PROPERTY_SEPARATOR);
if (data == null || data.length == 0 || data.length > 2) {
continue;
}
if (data.length == 1) {
props.put(data[0], null);
} else {
props.put(data[0], data[1]);
}
}
return props;
}
示例3: fileTransferRequest
import org.jivesoftware.smackx.filetransfer.FileTransferRequest; //导入依赖的package包/类
@Override
public void fileTransferRequest(final FileTransferRequest request)
{
log.fine("Received file transfer request " + request);
final String uniqueFileIdentifier = request.getDescription();
final MD5Hash hash = new MD5Hash(uniqueFileIdentifier);
final File temporaryIncomingFile = getTemporaryFileToStoreIncomingTransfer();
log.fine("File " + request.getFileName() + " being saved as " + temporaryIncomingFile.getAbsolutePath());
final IncomingFileTransfer transfer = request.accept();
try
{
transfer.recieveFile(temporaryIncomingFile);
FileTransferWorker fileTransferWorker = new FileTransferWorker(new FileTransferWorker.FileTransferWorkerDelegate()
{
@Override
public void transferComplete()
{
fileTransferDidComplete(request.getFileName(), temporaryIncomingFile, hash, transfer);
}
}, transfer);
fileTransferWorker.start();
}
catch (XMPPException ex)
{
log.log(Level.SEVERE, null, ex);
}
}
示例4: fileTransferRequest
import org.jivesoftware.smackx.filetransfer.FileTransferRequest; //导入依赖的package包/类
@Override
public void fileTransferRequest(FileTransferRequest request) {
Logger.log("incoming file " + request.getFileName() + " from " + request.getRequestor(), LoggerLevel.VERBOSE);
fileTransfers.put(Long.valueOf(request.getStreamID().hashCode()) , request);
FileInfo fi = new FileInfo(getInternalService().getService().getServiceId());
fi.setFilename(request.getFileName());
fi.setSize(request.getFileSize());
FileMessage fm = new FileMessage(getInternalService().getService().getServiceId(), getInternalService().getService().getEntityAdapter().normalizeJID(request.getRequestor()), Arrays.asList(fi));
fm.setMessageId(request.getStreamID().hashCode());
getInternalService().getService().getCoreService().message(fm);
}
示例5: fileRespond
import org.jivesoftware.smackx.filetransfer.FileTransferRequest; //导入依赖的package包/类
void fileRespond(final FileMessage fileMessage, final Boolean accept) {
FileTransferRequest request = fileTransfers.remove(fileMessage.getMessageId());
if (request != null) {
if (accept) {
Runnable r = new IncomingFileRunnable(fileMessage.getContactUid(), request);
Executors.defaultThreadFactory().newThread(r).start();
} else {
request.reject();
}
} else {
Logger.log("No file message to respond " + fileMessage.getMessageId(), LoggerLevel.INFO);
}
}
示例6: cancel
import org.jivesoftware.smackx.filetransfer.FileTransferRequest; //导入依赖的package包/类
public void cancel(long messageId) {
FileTransferRequest request = fileTransfers.get(messageId);
if (request != null) {
request.reject();
fileTransfers.remove(messageId);
}
}
示例7: IncomingTransfersManager
import org.jivesoftware.smackx.filetransfer.FileTransferRequest; //导入依赖的package包/类
public IncomingTransfersManager(Module module, FileTransferManager manager, ReentrantLock transfersLock) {
this.module = module;
receiverListeners = new HashMap<DeploymentID,TransferReceiver>();
handlersRequestMap = new HashMap<IncomingTransferHandle,FileTransferRequest>();
transfers = new ConcurrentHashMap<TransferHandle,IncomingTransfer>();
this.manager = manager;
transferStateMonitor = new TransferStateMonitorThread();
this.transfersLock = transfersLock;
}
示例8: accept
import org.jivesoftware.smackx.filetransfer.FileTransferRequest; //导入依赖的package包/类
public void accept(IncomingTransferHandle handle, DeploymentID listenerID) {
File destination = handle.getLocalFile();
long inactivityTimeout = handle.getInactivityTimeout();
boolean receiveProgressUpdates = handle.isReceiveProgressUpdate();
LOG.debug( "Accepting transfer. Handle: " + handle + ", dest: " + destination.getAbsolutePath() );
createSubFolders(destination);
FileTransferRequest fileTransferRequest = handlersRequestMap.get( handle );
final IncomingFileTransfer transfer = fileTransferRequest.accept();
IncomingTransfer fileTransfer = new IncomingTransfer(module, listenerID, destination, transfer, handle,
inactivityTimeout, fileTransferRequest.getFileSize(), receiveProgressUpdates);
if ( receiveProgressUpdates ) {
TransferProgress transferProgress = new TransferProgress( handle, destination.getName(),
fileTransferRequest.getFileSize(), transfer.getStatus(), 0L, 0D, 0, false );
Message message =
AbstractTransfer.createUpdateTransferProgressMessage(module.getContainerID(), listenerID,
transferProgress);
module.sendMessage(message);
}
try {
fileTransfer.start();
} catch (IllegalArgumentException e) {
LOG.error("Destination is not writable. Handle: " + handle + ", dest: " + destination.getAbsolutePath());
reject(handle);
}
addTransfer(handle, fileTransfer);
}
示例9: fileTransferRequest
import org.jivesoftware.smackx.filetransfer.FileTransferRequest; //导入依赖的package包/类
public void fileTransferRequest(FileTransferRequest ftr) {
Map<String, String> props = getPropsMap(ftr);
if (props.size() < 5) {
rejectRequest(ftr);
} else {
DeploymentID receiverID = new DeploymentID(props.get(DESTINATION_PROPERTY));
TransferReceiver receiver = receiverListeners.get(receiverID);
if (receiver != null) {
String transferDescription = null;
transferDescription = props.get(DESCRIPTION_PROPERTY);
try {
long id = Long.parseLong(props.get(HANDLE_PROPERTY));
ContainerID senderID = ContainerID.parse(ftr.getRequestor());
IncomingTransferHandle handle =
new IncomingTransferHandle(id, ftr.getFileName(), transferDescription, ftr.getFileSize(), senderID);
handle.setReadable(Boolean.parseBoolean(props.get(READABLE_PROPERTY)));
handle.setExecutable(Boolean.parseBoolean(props.get(EXECUTABLE_PROPERTY)));
handle.setWritable(Boolean.parseBoolean(props.get(WRITABLE_PROPERTY)));
handlersRequestMap.put(handle, ftr);
Message message = new Message(module.getContainerID(), receiverID, "transferRequestReceived");
message.addParameter(IncomingTransferHandle.class, handle);
module.sendMessage(message);
} catch (Exception e) {
rejectRequest(ftr);
}
} else {
rejectRequest(ftr);
}
}
}
示例10: fireTransferListeners
import org.jivesoftware.smackx.filetransfer.FileTransferRequest; //导入依赖的package包/类
private boolean fireTransferListeners(FileTransferRequest request) {
for (FileTransferListener listener : new ArrayList<FileTransferListener>(listeners)) {
boolean accepted = listener.handleTransfer(request);
if (accepted) {
return true;
}
}
return false;
}
示例11: rejectRequest
import org.jivesoftware.smackx.filetransfer.FileTransferRequest; //导入依赖的package包/类
private void rejectRequest(FileTransferRequest request) {
request.reject();
setBackground(new Color(239, 245, 250));
acceptButton.setVisible(false);
declineButton.setVisible(false);
fileLabel.setText("");
titleLabel.setText(Res.getString("message.file.transfer.canceled"));
titleLabel.setForeground(new Color(65, 139, 179));
invalidate();
validate();
repaint();
}
示例12: requestContainsBannedFile
import org.jivesoftware.smackx.filetransfer.FileTransferRequest; //导入依赖的package包/类
/**
* Tests the supplied {@link FileTransferRequest} against the supplied {@link FileTransferSettings}. Returns true if the request
* fails to match the configuration for allowed files.
*
* @param request the transfer request to test.
* @param settings the transfer settings to use in testing the request.
* @return true if the request fails to match the configuration for allowed files.
*/
private boolean requestContainsBannedFile(FileTransferRequest request, FileTransferSettings settings) {
if (settings.getCheckFileSize() && request.getFileSize() > settings.getMaxFileSize()) {
return true;
}
if (settings.getBlockedJIDs().contains(trimJID(request.getRequestor()))) {
return true;
}
if (settings.getBlockedExtensions().contains(getFileExtensionFromName(request.getFileName()))) {
return true;
}
return false;
}
示例13: addTransferListener
import org.jivesoftware.smackx.filetransfer.FileTransferRequest; //导入依赖的package包/类
/**
* Adds a {@link FileTransferListener} to allow this plugin to intercept {@link FileTransferRequest}s.
*/
private void addTransferListener() {
SparkTransferManager transferManager = SparkManager.getTransferManager();
transferManager.addTransferListener(new FileTransferListener() {
public boolean handleTransfer(FileTransferRequest request) {
FileTransferSettings settings = (FileTransferSettings)prefManager.getPreferenceData("transferSettings");
if (requestContainsBannedFile(request, settings)) {
request.reject();
String responseMessage = settings.getCannedRejectionMessage();
if (responseMessage != null && responseMessage.length() > 0) {
Message message = new Message();
message.setTo(request.getRequestor());
message.setBody(responseMessage);
SparkManager.getConnection().sendPacket(message);
}
return true;
}
else {
return false;
}
}
});
}
示例14: IncomingFileRunnable
import org.jivesoftware.smackx.filetransfer.FileTransferRequest; //导入依赖的package包/类
private IncomingFileRunnable(String senderJid, FileTransferRequest request) {
this.senderJid = senderJid;
this.request = request;
}
示例15: reject
import org.jivesoftware.smackx.filetransfer.FileTransferRequest; //导入依赖的package包/类
public void reject(TransferHandle handle) {
FileTransferRequest request = handlersRequestMap.get(handle);
rejectRequest(request);
}