Annotation of edoc-applet/Bundle.java, revision 1.1.1.1
1.1 rogo 1: //
2: // Bundle.java
3: //
4: //
5: // Created by rogo on Thu Jan 30 2003.
6: // Copyright (c) 2001 __MyCompanyName__. All rights reserved.
7: //
8: import java.util.*;
9: import java.io.*;
10:
11: public class Bundle
12: {
13: String name="";
14: int grp=0;
15: Vector documents=new Vector();
16: Hashtable docs=new Hashtable();
17: Hashtable docsLocator=new Hashtable();
18: static Hashtable genresId=new Hashtable();
19: static Hashtable genresLabel=new Hashtable();
20: static Hashtable genresName=new Hashtable();
21:
22: static Vector genVec= new Vector();
23: public Bundle()
24: {
25:
26: }
27: public void exportToXML(File f) throws Exception
28: {
29: FileWriter fw = new FileWriter(f);
30: BufferedWriter buffr = new BufferedWriter(fw);
31: buffr.write("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
32: buffr.newLine();
33: buffr.write("<edoc>\n");
34: // write Documents
35: for(int j=0;j<docs.size();++j)
36: {
37: Document doc=(Document)documents.elementAt(j);
38: doc.exportToXML(buffr);
39: }
40:
41: buffr.newLine();
42: buffr.write("</edoc>");
43:
44: buffr.close();
45: fw.close();
46: }
47: static class Document
48: {
49: int docID=0;
50: int ver=0;
51: String title = "";
52: String type = ""; // edoc Type e.g. Archimedes Image Collection
53: String locator="";
54: String comment="";
55: String placeofevent="";
56: int fileID=0;
57: int fileVer=0;
58: String fileName="";
59: String mimeType="";
60: String md5cs="";
61: int size=0;
62: String fileLink="";
63: Hashtable metaTags = new Hashtable();
64:
65:
66: static int lastDocID=0;
67: public Document()
68: {
69: docID=++lastDocID;
70: }
71: public Document(int docID,int ver,String title,String locator,String comment,String placeofevent,int fileID,int fileVer,String fileName,String mimeType,String md5cs, int size, String fileLink)
72: {
73: this.docID=docID;
74: this.ver=ver;
75: this.title=title;
76: this.locator=locator;
77: this.comment=comment;
78: this.placeofevent=placeofevent;
79: this.fileID=fileID;
80: this.fileVer=fileVer;
81: this.fileName=fileName;
82: this.mimeType=mimeType;
83: this.md5cs=md5cs;
84: this.size=size;
85: this.fileLink=fileLink;
86: }
87: public void addData(String key,String value)
88: {
89: //System.out.println(key+" "+value);
90: // known tags
91: if(key.equals("docID"))
92: docID = Integer.parseInt(value);
93: else if(key.equals("ver"))
94: ver = Integer.parseInt(value);
95: else if(key.equals("title"))
96: {
97: title=value;
98: metaTags.put(key,value);
99: }
100: else if(key.equals("type"))
101: type=value;
102: else if(key.equals("locator")||key.equals("locater")) // wrong Typing in interface
103: {
104: locator=value;
105: // temporarly because of typing error
106: metaTags.put("locator",value);
107: }
108: else if(key.equals("comment"))
109: {
110: comment=value;
111: metaTags.put(key,value);
112: }
113: else if(key.equals("placeofevent"))
114: {
115: placeofevent=value;
116: metaTags.put(key,value);
117: }
118: else if(key.equals("fileID"))
119: fileID = Integer.parseInt(value);
120: else if(key.equals("fileVer"))
121: fileVer = Integer.parseInt(value);
122: else if(key.equals("filename"))
123: fileName=value;
124: else if(key.equals("mimetype"))
125: mimeType=value;
126: else if(key.equals("md5cs"))
127: md5cs=value;
128: else if(key.equals("size"))
129: size=Integer.parseInt(value);
130: else if(key.equals("filelink"))
131: fileLink=value;
132: // end of known tags
133: else
134: metaTags.put(key,value);
135: if(key.equals("docaffs")) System.out.println(value);
136: }
137: public void removeData(String key)
138: {
139: metaTags.remove(key);
140: }
141: public void exportToXML(BufferedWriter buffr) throws Exception
142: {
143: buffr.write(" <doc id = \""+docID+"\" ver = \""+ver+"\">\n");
144: buffr.write(" <type>"+type+"</type>\n");
145:
146: Enumeration en = metaTags.keys();
147: while(en.hasMoreElements())
148: {
149: String key=(String)en.nextElement();
150: buffr.write(" <"+key+">");
151: buffr.write((String)metaTags.get(key));
152: buffr.write("</"+key+">\n");
153:
154: }
155: buffr.write(" <file id = \""+fileID+"\" ver = \""+fileVer+"\">\n");
156: buffr.write(" <filename>"+fileName+"</filename>\n");
157: buffr.write(" <mimetype>"+mimeType+"</mimetype>\n");
158: buffr.write(" <md5cs>"+md5cs+"</md5cs>\n");
159: buffr.write(" <size>"+size+"</size>\n");
160: buffr.write(" <filelink>"+fileLink+"</filelink>\n");
161: buffr.write(" </file>\n");
162: buffr.write(" </doc>\n");
163: }
164: public String toString() {
165: return "Document "+docID+" "+size;
166: }
167:
168: }
169: static class Genre
170: {
171:
172: static boolean debug=false;
173: Integer id;
174: String label="";
175: String name="";
176: String definition="";
177: public Genre() {}
178: public String toString()
179: {
180: if(debug)
181: return id+"\n"+label+"\n"+name+"\n"+definition;
182: else return id+" "+label;
183: }
184: public void addData(String key,String value)
185: {
186: //System.out.println(key+" "+value);
187: // known tags
188: if(key.equals("label"))
189: label = value;
190: else if(key.equals("name"))
191: name = value;
192: else if(key.equals("definition"))
193: definition=value;
194: }
195: }
196: }
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>