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>