import java.io.*; import java.util.*; /* PKGINST: APapache NAME: apache CATEGORY: application ARCH: sparc VERSION: 1.3.3 BASEDIR: /usr/local VENDOR: The Apache Group PSTAMP: Steve Christensen INSTDATE: Nov 29 2000 14:25 EMAIL: steve@smc.vnet.net STATUS: completely installed FILES: 296 installed pathnames 1 shared pathnames 24 directories 9 executables 4646 blocks used (approx) */ public class Pkginfo { private String pkginst = ""; private String name = ""; private String category = ""; private String arch = ""; private String version = ""; private String basedir = ""; private String vendor = ""; private String pstamp = ""; private String instdate = ""; private String email = ""; private String status = ""; private Vector files = new Vector(); private Vector store = new Vector(); public Pkginfo(String pk,String n,String c,String a,String ver,String base,String ven, String ps, String inst,String e, String st, Vector f) { pkginst = pk; name = n; category = c; arch = a; version = ver; basedir = base; vendor = ven; pstamp = ps; instdate = inst; email = e; status = st; files = (Vector)f.clone(); } public Pkginfo(Vector v) { boolean FILES_FLAG = false; //while((line = v.readline()) != null) for(int i = 0; i < v.size(); i++) { String temp = (String)v.get(i); //System.out.println("-----------------------------------------------temp: *"+temp+"*"); if(temp.equalsIgnoreCase("")) { Pkginfo pobj = new Pkginfo(getPKGINST(),getNAME(),getCATEGORY(), getARCH(),getVERSION(),getBASEDIR(),getVENDOR(),getPSTAMP(), getINSTDATE(),getEMAIL(),getSTATUS(),getFILES()); store.add(pobj); initialize(); FILES_FLAG = false; } else { if(temp.indexOf("PKGINST") > -1) { setPKGINST(getPart(temp.trim())); } else if(temp.indexOf("NAME") > -1) { setNAME(getPart(temp.trim())); } else if(temp.indexOf("CATEGORY") > -1) { setCATEGORY(getPart(temp.trim())); } else if(temp.indexOf("ARCH") > -1) { setARCH(getPart(temp.trim())); } else if(temp.indexOf("VERSION") > -1) { setVERSION(getPart(temp.trim())); } else if(temp.indexOf("BASEDIR") > -1) { setBASEDIR(getPart(temp.trim())); } else if(temp.indexOf("VENDOR") > -1) { setVENDOR(getPart(temp.trim())); } else if(temp.indexOf("PSTAMP") > -1) { setPSTAMP(getPart(temp.trim())); } else if(temp.indexOf("INSTDATE") > -1) { setINSTDATE(getPart(temp.trim())); } else if(temp.indexOf("EMAIL") > -1) { setEMAIL(getPart(temp.trim())); } else if(temp.indexOf("STATUS") > -1) { setSTATUS(getPart(temp.trim())); } else if(temp.indexOf("FILES") > -1) { setFILES(getPart(temp.trim())); FILES_FLAG = true; } else { if(FILES_FLAG) { setFILES(temp.trim()); } } } }//for loop if(!getPKGINST().equalsIgnoreCase("")) { Pkginfo pobj = new Pkginfo(getPKGINST(),getNAME(),getCATEGORY(),getARCH(), getVERSION(),getBASEDIR(),getVENDOR(),getPSTAMP(),getINSTDATE(),getEMAIL(), getSTATUS(),getFILES()); store.add(pobj); initialize(); FILES_FLAG = false; } } public void setPKGINST(String s) { pkginst = s; } public void setNAME(String s) { name = s; } public void setCATEGORY(String s) { category = s; } public void setARCH(String s) { arch = s; } public void setVERSION(String s) { version = s; } public void setBASEDIR(String s) { basedir = s; } public void setVENDOR(String s) { vendor = s; } public void setPSTAMP(String s) { pstamp = s; } public void setINSTDATE(String s) { instdate = s; } public void setEMAIL(String s) { email = s; } public void setSTATUS(String s) { status = s; } public void setFILES(String s) { files.add(s); } public String getPKGINST() { return pkginst; } public String getNAME() { return name; } public String getCATEGORY() { return category; } public String getARCH() { return arch; } public String getVERSION() { return version; } public String getBASEDIR() { return basedir; } public String getVENDOR() { return vendor; } public String getPSTAMP() { return pstamp; } public String getINSTDATE() { return instdate; } public String getEMAIL() { return email; } public String getSTATUS() { return status; } public Vector getFILES() { return files; } public Vector getVector() { return store; } public String getPart(String s) { StringTokenizer tok = new StringTokenizer(s,":"); String part1 = tok.nextToken(); String part2 = tok.nextToken(); return part2; } public void printObject() { System.out.println("PKGINST : " + getPKGINST()); System.out.println("NAME : " + getNAME()); System.out.println("CATEGORY: " + getCATEGORY()); System.out.println("ARCH : " + getARCH()); System.out.println("VERSION : " + getVERSION()); System.out.println("BASEDIR : " + getBASEDIR()); System.out.println("VENDOR : " + getVENDOR()); System.out.println("PSTAMP : " + getPSTAMP()); System.out.println("INSTDATE: " + getINSTDATE()); System.out.println("EMAIL : " + getEMAIL()); System.out.println("STATUS : " + getSTATUS()); for(int i = 0; i < files.size(); i++) { if(i == 0) { System.out.println("FILES : " + files.get(i)); } else { System.out.println(files.get(i)); } } System.out.println(); } public void initialize() { pkginst = ""; name = ""; category = ""; arch = ""; version = ""; basedir = ""; vendor = ""; pstamp = ""; instdate = ""; email = ""; status = ""; files = new Vector(); } public static void main(String[] args) { ReadFile2 rf = new ReadFile2("C:\\Johnny\\school\\compiler2\\pkginfo.txt"); rf.printVector(rf.getVector()); Pkginfo p = new Pkginfo(rf.getVector()); System.out.println("How many objects: " + p.getVector().size()); for(int i = 0; i < p.getVector().size(); i++) { Pkginfo temp = (Pkginfo)p.getVector().get(i); temp.printObject(); } } }