/** * Creates the initiation acceptance packet to forward to the stream * initiator. * * @param streamInitiationOffer The offer from the stream initiator to connect for a stream. * @param namespaces The namespace that relates to the accepted means of transfer. * @return The response to be forwarded to the initiator. */ public StreamInitiation createInitiationAccept( StreamInitiation streamInitiationOffer, String[] namespaces) { StreamInitiation response = new StreamInitiation(); response.setTo(streamInitiationOffer.getFrom()); response.setFrom(streamInitiationOffer.getTo()); response.setType(IQ.Type.RESULT); response.setPacketID(streamInitiationOffer.getPacketID()); DataForm form = new DataForm(Form.TYPE_SUBMIT); FormField field = new FormField( FileTransferNegotiator.STREAM_DATA_FIELD_NAME); for (String namespace : namespaces) { field.addValue(namespace); } form.addField(field); response.setFeatureNegotiationForm(form); return response; }
/** * Returns the size in bytes of the file. * * @return Returns the size in bytes of the file. */ public long getFileSize() { return streamInitiation.getFile().getSize(); }
/** * Returns the mime-type of the file. * * @return Returns the mime-type of the file. */ public String getMimeType() { return streamInitiation.getMimeType(); }
final String streamID, final String fileName, final long size, final String desc, int responseTimeout) throws XMPPException { StreamInitiation si = new StreamInitiation(); si.setSesssionID(streamID); si.setMimeType(URLConnection.guessContentTypeFromName(fileName)); si.setFile(siFile); si.setFeatureNegotiationForm(createDefaultInitiationForm()); si.setFrom(connection.getUser()); si.setTo(userID); si.setType(IQ.Type.SET); .createPacketCollector(new PacketIDFilter(si.getPacketID())); connection.sendPacket(si); Packet siResponse = collector.nextResult(responseTimeout); StreamInitiation response = (StreamInitiation) siResponse; return getOutgoingNegotiator(getStreamMethodField(response .getFeatureNegotiationForm()));
String mimeType = parser.getAttributeValue("", "mime-type"); StreamInitiation initiation = new StreamInitiation(); file.setDesc(desc); file.setRanged(isRanged); initiation.setFile(file); initiation.setSesssionID(id); initiation.setMimeType(mimeType); initiation.setFeatureNegotiationForm(form);
/** * Reject a stream initiation request from a remote user. * * @param si The Stream Initiation request to reject. */ public void rejectStream(final StreamInitiation si) { XMPPError error = new XMPPError(XMPPError.Condition.forbidden, "Offer Declined"); IQ iqPacket = createIQ(si.getPacketID(), si.getFrom(), si.getTo(), IQ.Type.ERROR); iqPacket.setError(error); connection.sendPacket(iqPacket); }
StreamInitiation si = request.getStreamInitiation(); FormField streamMethodField = getStreamMethodField(si .getFeatureNegotiationForm()); IQ iqPacket = createIQ(si.getPacketID(), si.getFrom(), si.getTo(), IQ.Type.ERROR); iqPacket.setError(error); IQ iqPacket = createIQ(si.getPacketID(), si.getFrom(), si.getTo(), IQ.Type.ERROR); iqPacket.setError(e.getXMPPError());
public String getChildElementXML() { StringBuilder buf = new StringBuilder(); if (this.getType().equals(IQ.Type.SET)) { buf.append("<si xmlns=\"http://jabber.org/protocol/si\" "); if (getSessionID() != null) { buf.append("id=\"").append(getSessionID()).append("\" "); } if (getMimeType() != null) { buf.append("mime-type=\"").append(getMimeType()).append("\" "); } buf .append("profile=\"http://jabber.org/protocol/si/profile/file-transfer\">"); // Add the file section if there is one. String fileXML = file.toXML(); if (fileXML != null) { buf.append(fileXML); } } else if (this.getType().equals(IQ.Type.RESULT)) { buf.append("<si xmlns=\"http://jabber.org/protocol/si\">"); } else { throw new IllegalArgumentException("IQ Type not understood"); } if (featureNegotiation != null) { buf.append(featureNegotiation.toXML()); } buf.append("</si>"); return buf.toString(); }
public InputStream createIncomingStream(StreamInitiation initiation) throws XMPPException { PacketCollector collector = connection.createPacketCollector( getInitiationPacketFilter(initiation.getFrom(), initiation.getSessionID()));
/** * Returns the stream ID that uniquely identifies this file transfer. * * @return Returns the stream ID that uniquely identifies this file * transfer. */ public String getStreamID() { return streamInitiation.getSessionID(); }
/** * Returns the fully-qualified jabber ID of the user that requested this * file transfer. * * @return Returns the fully-qualified jabber ID of the user that requested * this file transfer. */ public String getRequestor() { return streamInitiation.getFrom(); }
final String streamID, final String fileName, final long size, final String desc, int responseTimeout) throws XMPPException { StreamInitiation si = new StreamInitiation(); si.setSesssionID(streamID); si.setMimeType(URLConnection.guessContentTypeFromName(fileName)); si.setFile(siFile); si.setFeatureNegotiationForm(createDefaultInitiationForm()); si.setFrom(connection.getUser()); si.setTo(userID); si.setType(IQ.Type.SET); .createPacketCollector(new PacketIDFilter(si.getPacketID())); connection.sendPacket(si); Packet siResponse = collector.nextResult(responseTimeout); StreamInitiation response = (StreamInitiation) siResponse; return getOutgoingNegotiator(getStreamMethodField(response .getFeatureNegotiationForm()));
String mimeType = parser.getAttributeValue("", "mime-type"); StreamInitiation initiation = new StreamInitiation(); file.setDesc(desc); file.setRanged(isRanged); initiation.setFile(file); initiation.setSesssionID(id); initiation.setMimeType(mimeType); initiation.setFeatureNegotiationForm(form);
/** * Reject a stream initiation request from a remote user. * * @param si The Stream Initiation request to reject. */ public void rejectStream(final StreamInitiation si) { XMPPError error = new XMPPError(403, "Offer Declined"); IQ iqPacket = createIQ(si.getPacketID(), si.getFrom(), si.getTo(), IQ.Type.ERROR); iqPacket.setError(error); connection.sendPacket(iqPacket); }
StreamInitiation si = request.getStreamInitiation(); FormField streamMethodField = getStreamMethodField(si .getFeatureNegotiationForm()); IQ iqPacket = createIQ(si.getPacketID(), si.getFrom(), si.getTo(), IQ.Type.ERROR); iqPacket.setError(error); IQ iqPacket = createIQ(si.getPacketID(), si.getFrom(), si.getTo(), IQ.Type.ERROR); iqPacket.setError(e.getXMPPError());
public String getChildElementXML() { StringBuffer buf = new StringBuffer(); if (this.getType().equals(IQ.Type.SET)) { buf.append("<si xmlns=\"http://jabber.org/protocol/si\" "); if (getSessionID() != null) { buf.append("id=\"").append(getSessionID()).append("\" "); } if (getMimeType() != null) { buf.append("mime-type=\"").append(getMimeType()).append("\" "); } buf .append("profile=\"http://jabber.org/protocol/si/profile/file-transfer\">"); // Add the file section if there is one. String fileXML = file.toXML(); if (fileXML != null) { buf.append(fileXML); } } else if (this.getType().equals(IQ.Type.RESULT)) { buf.append("<si xmlns=\"http://jabber.org/protocol/si\">"); } else { throw new IllegalArgumentException("IQ Type not understood"); } if (featureNegotiation != null) { buf.append(featureNegotiation.toXML()); } buf.append("</si>"); return buf.toString(); }
public InputStream createIncomingStream(StreamInitiation initiation) throws XMPPException { PacketCollector collector = connection.createPacketCollector( getInitiationPacketFilter(initiation.getFrom(), initiation.getSessionID()));
/** * Returns the stream ID that uniquely identifies this file transfer. * * @return Returns the stream ID that uniquely identifies this file * transfer. */ public String getStreamID() { return streamInitiation.getSessionID(); }
/** * Returns the fully-qualified jabber ID of the user that requested this * file transfer. * * @return Returns the fully-qualified jabber ID of the user that requested * this file transfer. */ public String getRequestor() { return streamInitiation.getFrom(); }
final String streamID, final String fileName, final long size, final String desc, int responseTimeout) throws XMPPException { StreamInitiation si = new StreamInitiation(); si.setSesssionID(streamID); si.setMimeType(URLConnection.guessContentTypeFromName(fileName)); si.setFile(siFile); si.setFeatureNegotiationForm(createDefaultInitiationForm()); si.setFrom(connection.getUser()); si.setTo(userID); si.setType(IQ.Type.SET); .createPacketCollector(new PacketIDFilter(si.getPacketID())); connection.sendPacket(si); Packet siResponse = collector.nextResult(responseTimeout); StreamInitiation response = (StreamInitiation) siResponse; return getOutgoingNegotiator(getStreamMethodField(response .getFeatureNegotiationForm()));