当前位置: 首页>>代码示例>>Java>>正文


Java FileTransferRequest类代码示例

本文整理汇总了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();
		}
		
	}
});
  }
 
开发者ID:phoenixNirvana,项目名称:NewCommunication-Android,代码行数:20,代码来源:XmppManager.java

示例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;
}
 
开发者ID:OurGrid,项目名称:commune,代码行数:25,代码来源:IncomingTransfersManager.java

示例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);
	}
}
 
开发者ID:synergynet,项目名称:synergynet3.1,代码行数:31,代码来源:FileReceiver.java

示例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);
}
 
开发者ID:snuk182,项目名称:aceim,代码行数:15,代码来源:XMPPFileTransferListener.java

示例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);
	}
}
 
开发者ID:snuk182,项目名称:aceim,代码行数:15,代码来源:XMPPFileTransferListener.java

示例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);
	}
}
 
开发者ID:snuk182,项目名称:aceim,代码行数:9,代码来源:XMPPFileTransferListener.java

示例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;
	}
 
开发者ID:OurGrid,项目名称:commune,代码行数:12,代码来源:IncomingTransfersManager.java

示例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);
}
 
开发者ID:OurGrid,项目名称:commune,代码行数:35,代码来源:IncomingTransfersManager.java

示例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);
		}
	}
}
 
开发者ID:OurGrid,项目名称:commune,代码行数:41,代码来源:IncomingTransfersManager.java

示例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;
}
 
开发者ID:visit,项目名称:spark-svn-mirror,代码行数:10,代码来源:SparkTransferManager.java

示例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();
}
 
开发者ID:visit,项目名称:spark-svn-mirror,代码行数:15,代码来源:ReceiveFileTransfer.java

示例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;

}
 
开发者ID:visit,项目名称:spark-svn-mirror,代码行数:22,代码来源:FileTransferSettingsPlugin.java

示例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;
            }
        }
    });
}
 
开发者ID:visit,项目名称:spark-svn-mirror,代码行数:30,代码来源:FileTransferSettingsPlugin.java

示例14: IncomingFileRunnable

import org.jivesoftware.smackx.filetransfer.FileTransferRequest; //导入依赖的package包/类
private IncomingFileRunnable(String senderJid, FileTransferRequest request) {
	this.senderJid = senderJid;
	this.request = request;
}
 
开发者ID:snuk182,项目名称:aceim,代码行数:5,代码来源:XMPPFileTransferListener.java

示例15: reject

import org.jivesoftware.smackx.filetransfer.FileTransferRequest; //导入依赖的package包/类
public void reject(TransferHandle handle) {
	FileTransferRequest request = handlersRequestMap.get(handle);
	rejectRequest(request);
}
 
开发者ID:OurGrid,项目名称:commune,代码行数:5,代码来源:IncomingTransfersManager.java


注:本文中的org.jivesoftware.smackx.filetransfer.FileTransferRequest类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。