• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java FileTransferRequest类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中org.jivesoftware.smackx.filetransfer.FileTransferRequest的典型用法代码示例。如果您正苦于以下问题:Java FileTransferRequest类的具体用法?Java FileTransferRequest怎么用?Java FileTransferRequest使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



FileTransferRequest类属于org.jivesoftware.smackx.filetransfer包,在下文中一共展示了FileTransferRequest类的19个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的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


示例16: rejectRequest

import org.jivesoftware.smackx.filetransfer.FileTransferRequest; //导入依赖的package包/类
private void rejectRequest(FileTransferRequest request) {
	LOG.debug("Rejecting transfer. " + " File name: " + request.getFileName() + ", description: "
			+ request.getDescription());
	request.reject();
}
 
开发者ID:OurGrid,项目名称:commune,代码行数:6,代码来源:IncomingTransfersManager.java


示例17: transferRequest

import org.jivesoftware.smackx.filetransfer.FileTransferRequest; //导入依赖的package包/类
public void transferRequest(FileTransferRequest ftr) {
	LOG.debug("Incoming transfer request. File name: " + ftr.getFileName());
	incomingManager.fileTransferRequest(ftr);
}
 
开发者ID:OurGrid,项目名称:commune,代码行数:5,代码来源:TransferManager.java


示例18: handleTransferRequest

import org.jivesoftware.smackx.filetransfer.FileTransferRequest; //导入依赖的package包/类
private void handleTransferRequest(FileTransferRequest request, ContactList contactList) {
    // Check if a listener handled this request
    if (fireTransferListeners(request)) {
        return;
    }

    String requestor = request.getRequestor();
    String bareJID = StringUtils.parseBareAddress(requestor);
    String fileName = request.getFileName();


    ContactItem contactItem = contactList.getContactItemByJID(bareJID);

    ChatRoom chatRoom;
    if (contactItem != null) {
        chatRoom = SparkManager.getChatManager().createChatRoom(bareJID, contactItem.getDisplayName(), contactItem.getDisplayName());
    }
    else {
        chatRoom = SparkManager.getChatManager().createChatRoom(bareJID, bareJID, bareJID);
    }

    TranscriptWindow transcriptWindow = chatRoom.getTranscriptWindow();
    transcriptWindow.insertCustomText(Res.getString("message.file.transfer.chat.window"), true, false, Color.BLACK);        

    final ReceiveFileTransfer receivingMessageUI = new ReceiveFileTransfer();
    receivingMessageUI.acceptFileTransfer(request);

    chatRoom.addClosingListener(new ChatRoomClosingListener() {
        public void closing() {
            receivingMessageUI.cancelTransfer();
        }
    });
    
    transcriptWindow.addComponent(receivingMessageUI);

    chatRoom.increaseUnreadMessageCount();

    chatRoom.scrollToBottom();
    
    String fileTransMsg = contactItem.getDisplayName() + " " + Res.getString("message.file.transfer.short.message") + " " + fileName;
    SparkManager.getChatManager().getChatContainer().fireNotifyOnMessage(chatRoom, true, fileTransMsg, Res.getString("message.file.transfer.notification"));
}
 
开发者ID:visit,项目名称:spark-svn-mirror,代码行数:43,代码来源:SparkTransferManager.java


示例19: handleTransfer

import org.jivesoftware.smackx.filetransfer.FileTransferRequest; //导入依赖的package包/类
/**
 * Returns true if the object wishes to handle the file transfer itself. Otherwise,
 * it will default.
 *
 * @param request the <code>FileTransferRequest</code>
 * @return true if object handles transfer request.
 */
boolean handleTransfer(FileTransferRequest request);
 
开发者ID:visit,项目名称:spark-svn-mirror,代码行数:9,代码来源:FileTransferListener.java



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java Datastore类代码示例发布时间:2022-05-22
下一篇:
Java AmazonInfo类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap