source: branches/2.2/jabberit_messenger/java_source/src/nu/fw/jeti/plugins/filetransfer/XSiFileTransferHandler.java @ 3102

Revision 3102, 1.6 KB checked in by amuller, 14 years ago (diff)

Ticket #986 - Efetuado merge para o Branch 2.2( atualizacao do modulo)

  • Property svn:executable set to *
Line 
1// Created on 20-okt-2004
2package nu.fw.jeti.plugins.filetransfer;
3
4import nu.fw.jeti.jabber.elements.Extension;
5import nu.fw.jeti.jabber.elements.XData;
6import nu.fw.jeti.jabber.elements.XMPPError;
7import nu.fw.jeti.jabber.elements.XMPPErrorTag;
8import nu.fw.jeti.jabber.handlers.ExtensionHandler;
9import nu.fw.jeti.util.Log;
10
11import org.xml.sax.Attributes;
12
13/**
14 * @author E.S. de Boer
15 *
16 */
17public class XSiFileTransferHandler extends ExtensionHandler
18{//TODO range
19        private String name;
20        private String hash;
21        private String date;
22        private String description;
23        private long size;
24        private int length;
25        private long offset;
26               
27        public void startHandling(Attributes attr)
28        {
29                name=attr.getValue("name");
30                hash=attr.getValue("hash");
31                date=attr.getValue("date");
32                try
33                {
34                        size=Long.parseLong(attr.getValue("size"));
35                }
36                catch(NumberFormatException e)
37                {
38                        size=0;
39                        Log.xmlReceivedError("Si profile, size is not a number");
40                }
41                length=0;
42                offset=0;
43        }
44       
45        public void startElement(String name,Attributes attr)
46        {
47                if(name.equals("range"))
48                {
49                        try
50                        {
51                                length=Integer.parseInt(attr.getValue("length"));
52                                offset=Long.parseLong(attr.getValue("offset"));
53                        }
54                        catch(NumberFormatException e)
55                        {
56                                size=0;
57                                Log.xmlReceivedError("Si profile, range is not a number");
58                        }
59                }
60        }
61               
62        public void endElement(String name)
63        {
64                if(name.equals("desc"))description = getText();
65                clearCurrentChars();
66        }
67
68        public Extension build()
69        {
70                return new XSiFileTransfer(name,hash,date,size,description,length,offset);
71        }
72}
73/*
74 * Overrides for emacs
75 * Local variables:
76 * tab-width: 4
77 * End:
78 */
Note: See TracBrowser for help on using the repository browser.