Annotation of edoc-applet/Bundle.java, revision 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>