import java.io.*; import java.util.*; class PlacaDeBaza { String descriere=null; int FSB=0; String chipset=null; String model=null; boolean sloturi_SATA=false,sloturi_SATA_RAID=false; int tip_SATA=0,tip_SATA_RAID=0; String placa_video=null; String producator=null; String tip_memorie=null; String viteza_AGP=null; int tip_soclu=0; String observatii=null; public PlacaDeBaza (String parametru) { descriere=new String(parametru); } public String getDescriere () { return descriere; } public void parsare () { if (descriere!=null) { int pozitie; if (descriere.contains("FSB")) FSB=(new Integer(new String(descriere.substring(descriere.indexOf("FSB")+4,descriere.indexOf(",",descriere.indexOf("FSB")+4))))).intValue(); if (descriere.contains("VIA")) chipset=new String(descriere.substring(descriere.indexOf("VIA"),descriere.indexOf(",",descriere.indexOf("VIA")))); if (descriere.contains("KT")) chipset=new String(descriere.substring(descriere.indexOf("KT"),descriere.indexOf(",",descriere.indexOf("KT")))); if (descriere.contains("NF")) chipset=new String(descriere.substring(descriere.indexOf("NF"),descriere.indexOf(",",descriere.indexOf("NF")))); if (descriere.contains("chipset")) { pozitie=descriere.indexOf("chipset"); while (descriere.charAt(pozitie)!=',') pozitie--; chipset=new String(descriere.substring(pozitie+2,descriere.indexOf("chipset")-1)); } pozitie=descriere.indexOf("Intel"); if (pozitie!=-1) { producator=new String("Intel"); if (descriere.indexOf(",")!=-1) model=new String(descriere.substring(pozitie+6,descriere.indexOf(","))); if (model==null && descriere.indexOf("-")!=-1) model=new String(descriere.substring(pozitie+6,descriere.indexOf("-"))); } pozitie=descriere.indexOf("INTEL"); if (pozitie!=-1) { producator=new String("Intel"); if (descriere.indexOf(",")!=-1) model=new String(descriere.substring(pozitie+6,descriere.indexOf(","))); if (model==null && descriere.indexOf("(")!=-1) model=new String(descriere.substring(pozitie+6,descriere.indexOf("("))); if (model==null && descriere.indexOf("-")!=-1) model=new String(descriere.substring(pozitie+6,descriere.indexOf("-"))); } pozitie=descriere.indexOf("ASUS"); if (pozitie!=-1) { producator=new String("ASUS"); if (descriere.indexOf(",")!=-1) model=new String(descriere.substring(pozitie+5,descriere.indexOf(","))); } if (model==null) { int pozitie1; int pozitie2; pozitie1=descriere.indexOf("/"); pozitie2=descriere.lastIndexOf("/"); if (pozitie1!=-1 && pozitie2!=-1 && pozitie1!=pozitie2) { if (descriere.charAt(pozitie2+6)==' ') model=new String(descriere.substring(0,pozitie2+6)); else model=new String(descriere.substring(0,pozitie2+7)); } if (pozitie1==-1 || pozitie2==-1) model=new String(descriere.substring(0,descriere.indexOf(","))); } if (descriere.contains("SATA") && descriere.contains("RAID")) sloturi_SATA_RAID=true; if (descriere.contains("SATA") && !descriere.contains("RAID")) { sloturi_SATA=true; tip_SATA=(new Integer(descriere.substring(descriere.indexOf("SATA")-6,descriere.indexOf("SATA")-3))).intValue(); } if (descriere.contains("video")) placa_video=new String(descriere.substring(descriere.indexOf("video"),descriere.length())); if (descriere.contains("DDR")) { pozitie=descriere.indexOf("DDR"); while (descriere.charAt(pozitie)!=',') pozitie--; tip_memorie=new String(descriere.substring(pozitie+1,descriere.indexOf(",",pozitie+1))); } if (descriere.contains("AGP")) { if (descriere.charAt(descriere.indexOf("AGP")+3)==' ') viteza_AGP=new String(descriere.substring(descriere.indexOf("AGP")+4,descriere.indexOf("X",descriere.indexOf("AGP"))+1)); else viteza_AGP=new String(descriere.substring(descriere.indexOf("AGP")+3,descriere.indexOf("X",descriere.indexOf("AGP"))+1)); } if (descriere.contains("SIS")) tip_soclu=(new Integer(new String(descriere.substring(descriere.indexOf("SIS")+4,descriere.indexOf(",",descriere.indexOf("SIS")+4))))).intValue(); if (descriere.contains("IEEE")) observatii=new String(descriere.substring(descriere.indexOf("IEEE"),descriere.length())); pozitie=descriere.indexOf("-"); if (pozitie!=-1 && descriere.charAt(pozitie-1)==' ') observatii=new String(descriere.substring(pozitie+1,descriere.length())); if (descriere.indexOf("(")!=-1 && descriere.indexOf(")")!=-1) observatii=new String(descriere.substring(descriere.indexOf("(")+1,descriere.indexOf(")"))); // afisare /*if (FSB!=0) System.out.print("FSB="+FSB); if (chipset!=null) System.out.print("chipset="+chipset); if (model!=null) System.out.print("model="+model); if (sloturi_SATA) System.out.print ("sloturi SATA tip SATA="+tip_SATA); if (sloturi_SATA_RAID) System.out.print ("sloturi SATA RAID tip SATA RAID="+tip_SATA_RAID); if (placa_video!=null) System.out.print("placa video="+placa_video); if (producator!=null) System.out.print("producator="+producator); if (tip_memorie!=null) System.out.print("tip memorie="+tip_memorie); if (viteza_AGP!=null) System.out.print("viteza AGP="+viteza_AGP); if (tip_soclu!=0) System.out.print("tip soclu="+tip_soclu); if (observatii!=null) System.out.print("observatii="+observatii); System.out.println();*/ } } public int creareRDF (int contor1,int contor2,RandomAccessFile f) { try { f.writeChars("\n"); contor2++; } catch (IOException e) { System.out.println("eroare i/o"); } return contor2; } } class Procesor { String descriere=null; String producator=null; String model=null; String observatii=null; public Procesor (String parametru) { descriere=new String(parametru); } public String getDescriere () { return descriere; } public void parsare () { if (descriere!=null) { int pozitie1,pozitie2; pozitie1=descriere.indexOf("("); pozitie2=descriere.indexOf(")"); if (descriere.contains("AMD")) { producator=new String("AMD"); if (pozitie1!=-1) { model=new String(descriere.substring(descriere.indexOf("AMD")+4,pozitie1-1)); if (pozitie2!=-1) observatii=new String(descriere.substring(pozitie1+1,pozitie2)); else observatii=new String(descriere.substring(pozitie1+1,descriere.length())); } else model=new String(descriere.substring(descriere.indexOf("AMD")+4,descriere.length())); } if (descriere.contains("Intel")) { producator=new String("Intel"); if (pozitie1!=-1) { model=new String(descriere.substring(descriere.indexOf("Intel")+6,pozitie1-1)); if (pozitie2!=-1) observatii=new String(descriere.substring(pozitie1+1,pozitie2)); else observatii=new String(descriere.substring(pozitie1+1,descriere.length())); } else model=new String(descriere.substring(descriere.indexOf("Intel")+6,descriere.length())); } // afisare /*if (model!=null) System.out.print("model="+model); if (producator!=null) System.out.print("producator="+producator); if (observatii!=null) System.out.print("observatii="+observatii); System.out.println();*/ } } public int creareRDF (int contor1,int contor2,RandomAccessFile f) { try { f.writeChars("\n"); contor2++; } catch (IOException e) { System.out.println("eroare i/o"); } return contor2; } } class Memorie { String descriere=null; String capacitate=null; String viteza=null; String tip=null; String observatii=null; public Memorie (String parametru) { descriere=new String(parametru); } public String getDescriere () { return descriere; } public void parsare () { if (descriere!=null) { if (descriere.contains("MB")) capacitate=new String(descriere.substring(descriere.indexOf("MB")-4,descriere.indexOf("MB"))+"MB"); if (descriere.contains("GB")) capacitate=new String(descriere.substring(descriere.indexOf("GB")-2,descriere.indexOf("GB"))+"GB"); if (descriere.contains("DDR")) { tip=new String("DDR"); if (descriere.indexOf("DDR")+4='0' && descriere.charAt(descriere.indexOf("DDR")+4)<='9') viteza=new String (descriere.substring(descriere.indexOf("DDR")+4,descriere.indexOf("DDR")+7)+"MHz"); } if (descriere.contains("PC-")) observatii=new String (descriere.substring(descriere.indexOf("PC-"),descriere.indexOf("PC-")+7)); if (descriere.contains("ECC")) observatii=new String("ECC"); // afisare /*if (capacitate!=null) System.out.print("capacitate="+capacitate); if (viteza!=null) System.out.print("viteza="+viteza); if (tip!=null) System.out.print("tip="+tip); if (observatii!=null) System.out.print("observatii="+observatii); System.out.println();*/ } } public int creareRDF (int contor1,int contor2,RandomAccessFile f) { try { f.writeChars("\n"); contor2++; } catch (IOException e) { System.out.println("eroare i/o"); } return contor2; } } class PlacaVideo { String descriere=null; int cantitate_memorie=0; String chipset=null; boolean conector_DVI=false,conector_TVOUT=false; String frecventa_GPU=null; String model=null; String producator=null; public PlacaVideo (String parametru) { descriere=new String(parametru); } public String getDescriere () { return descriere; } public void parsare () { if (descriere!=null) { int pozitie; pozitie=descriere.indexOf("MB"); if (pozitie!=-1) { if (descriere.charAt(pozitie-1)>='0' && descriere.charAt(pozitie-1)<='9') { if (descriere.charAt(pozitie-3)>='0' && descriere.charAt(pozitie-3)<='9') cantitate_memorie=(new Integer(new String(descriere.substring(pozitie-3,pozitie)))).intValue(); else cantitate_memorie=(new Integer(new String(descriere.substring(pozitie-2,pozitie)))).intValue(); } else { if (descriere.charAt(pozitie-4)>='0' && descriere.charAt(pozitie-4)<='9') cantitate_memorie=(new Integer(new String(descriere.substring(pozitie-4,pozitie-1)))).intValue(); else cantitate_memorie=(new Integer(new String(descriere.substring(pozitie-3,pozitie-1)))).intValue(); } } pozitie=descriere.indexOf("GEFORCE"); if (pozitie!=-1) chipset=new String(descriere.substring(pozitie,descriere.indexOf(",",pozitie))); pozitie=descriere.indexOf("Geforce"); if (pozitie!=-1) chipset=new String(descriere.substring(pozitie,descriere.indexOf(",",pozitie))); pozitie=descriere.indexOf("ATI"); if (pozitie!=-1) { if (descriere.indexOf(",",pozitie)!=-1) chipset=new String(descriere.substring(pozitie,descriere.indexOf(",",pozitie))); else chipset=new String(descriere.substring(pozitie,descriere.indexOf(" ",pozitie))); } pozitie=descriere.indexOf("ULTRA"); if (pozitie!=-1) chipset=new String(descriere.substring(descriere.lastIndexOf(",")+1,pozitie+5)); if (descriere.contains("DVI")) conector_DVI=true; if (descriere.contains("TVO")) conector_TVOUT=true; pozitie=descriere.indexOf("X",descriere.indexOf("AGP")+1); if (descriere.contains("AGP") && pozitie!=-1) { if (descriere.charAt(pozitie-1)>='0' && descriere.charAt(pozitie-1)<='9') frecventa_GPU=new String(descriere.substring(pozitie-1,pozitie+1)); else frecventa_GPU=new String(descriere.substring(pozitie-2,pozitie+1)); } if (descriere.contains("On Board") || descriere.contains("on board")) model=new String("on board"); pozitie=descriere.indexOf("LEADTEK"); if (pozitie!=-1) { producator=new String("LEADTEK"); model=new String(descriere.substring(pozitie+8,descriere.indexOf(",",pozitie))); } pozitie=descriere.indexOf("GECUBE"); if (pozitie!=-1) { producator=new String("GECUBE"); if (pozitie+7<=descriere.indexOf(",",pozitie)-1) model=new String(descriere.substring(pozitie+7,descriere.indexOf(",",pozitie))); } pozitie=descriere.indexOf("Intel"); if (pozitie!=-1) { producator=new String("Intel"); model=new String(descriere.substring(pozitie+6,descriere.indexOf("+",pozitie)-1)); } // afisare /*if (cantitate_memorie!=0) System.out.print("cantitate_memorie="+cantitate_memorie); if (chipset!=null) System.out.print("chipset="+chipset); if (conector_DVI) System.out.print("conector DVI"); if (conector_TVOUT) System.out.print("conector TVOUT"); if (frecventa_GPU!=null) System.out.print("frecventa GPU="+frecventa_GPU); if (model!=null) System.out.print("model="+model); if (producator!=null) System.out.print("producator="+producator); System.out.println();*/ } } public int creareRDF (int contor1,int contor2,RandomAccessFile f) { try { f.writeChars("\n"); contor2++; } catch (IOException e) { System.out.println("eroare i/o"); } return contor2; } } class TunerTv { String descriere=null; String model=null; String producator=null; String observatii=null; public TunerTv (String parametru) { descriere=new String(parametru); } public String getDescriere () { return descriere; } public void parsare () { if (descriere!=null) { producator=new String(descriere.substring(0,descriere.indexOf(" "))); model=new String(descriere.substring(descriere.indexOf(" ")+1,descriere.indexOf("(")-1)); observatii=new String(descriere.substring(descriere.indexOf("(")+1,descriere.indexOf(")"))); // afisare //System.out.println ("model="+model+" producator="+producator+" observatii="+observatii); } } public int creareRDF (int contor1,int contor2,RandomAccessFile f) { try { f.writeChars("\n"); contor2++; } catch (IOException e) { System.out.println("eroare i/o"); } return contor2; } } class PlacaDeRetea { String descriere=null; String viteza_de_transfer=null; String observatii=null; public PlacaDeRetea (String parametru) { descriere=new String(parametru); } public String getDescriere () { return descriere; } public void parsare () { if (descriere!=null) { int pozitie1,pozitie2; pozitie1=descriere.indexOf("/"); pozitie2=descriere.lastIndexOf("/"); if (pozitie1!=-1 && pozitie2!=-1 && pozitie1==pozitie2) viteza_de_transfer=new String(descriere.substring(pozitie1-2,pozitie1+4)); if (pozitie1!=-1 && pozitie2!=-1 && pozitie1!=pozitie2) viteza_de_transfer=new String(descriere.substring(pozitie1-2,pozitie1+4)+","+descriere.substring(pozitie2-3,pozitie2+5)); if (descriere.contains("On Board") || descriere.contains("on board")) observatii=new String ("on board"); if (descriere.contains("DUAL")) { if (observatii==null) observatii=new String("DUAL"); else observatii=observatii.concat(new String(",DUAL")); } // afisare /*if (viteza_de_transfer!=null) System.out.print ("viteza de transfer="+viteza_de_transfer); if (observatii!=null) System.out.print("observatii="+observatii); System.out.println();*/ } } public int creareRDF (int contor1,int contor2,RandomAccessFile f) { try { f.writeChars("\n"); contor2++; } catch (IOException e) { System.out.println("eroare i/o"); } return contor2; } } class FaxModem { String descriere=null; String producator=null; String rata_de_transfer=null; String tip=null; public FaxModem (String parametru) { descriere=new String(parametru); } public String getDescriere () { return descriere; } public void parsare () { if (descriere!=null && descriere.compareTo("-")!=0) { int pozitie; pozitie=descriere.indexOf("K"); if (pozitie!=-1) { rata_de_transfer=new String(descriere.substring(pozitie-2,pozitie)+"K"); producator=new String(descriere.substring(pozitie+2,descriere.indexOf(","))); } pozitie=descriere.indexOf(","); if (pozitie!=-1) tip=new String(descriere.substring(pozitie+2,descriere.length())); // afisare //System.out.println("producator="+producator+" rata de transfer="+rata_de_transfer+" tip="+tip); } } public int creareRDF (int contor1,int contor2,RandomAccessFile f) { try { f.writeChars("\n"); contor2++; } catch (IOException e) { System.out.println("eroare i/o"); } return contor2; } } class CDROM { String descriere=null; String producator=null; int viteza_citire=0; String observatii=null; public CDROM (String parametru) { descriere=new String(parametru); } public String getDescriere () { return descriere; } public void parsare () { if (descriere!=null && descriere.compareTo("-")!=0) { if (descriere.indexOf("x")==2) { viteza_citire=(new Integer(descriere.substring(0,2))).intValue(); producator=new String(descriere.substring(4,descriere.length())); } if (descriere.indexOf("inclus")==0) observatii=new String(descriere); // afisare /*if (producator!=null) System.out.print ("producator="+producator); if (viteza_citire!=0) System.out.print ("viteza citire="+viteza_citire); if (observatii!=null) System.out.print("observatii="+observatii); System.out.println();*/ } } public int creareRDF (int contor1,int contor2,RandomAccessFile f) { try { f.writeChars("\n"); contor2++; } catch (IOException e) { System.out.println("eroare i/o"); } return contor2; } } class CDRW { String descriere=null; int viteza_citire=0; int viteza_scriere_cdrw=0; int viteza_scriere_cdr=0; String producator=null; String observatii=null; public CDRW (String parametru) { descriere=new String(parametru); } public String getDescriere () { return descriere; } public void parsare () { if (descriere!=null && descriere.compareTo("-")!=0) { if (descriere.indexOf("/")==3 && descriere.lastIndexOf("/")==7) { viteza_citire=(new Integer(descriere.substring(0,2))).intValue(); viteza_scriere_cdrw=(new Integer(descriere.substring(4,6))).intValue(); viteza_scriere_cdr=(new Integer(descriere.substring(8,10))).intValue(); producator=new String(descriere.substring(12,descriere.length())); } if (descriere.indexOf("inclus")==0) observatii=new String(descriere); // afisare /*if (producator!=null) System.out.print ("producator="+producator); if (viteza_citire!=0) System.out.print ("viteza citire="+viteza_citire); if (viteza_scriere_cdrw!=0) System.out.print ("viteza scriere cdrw="+viteza_scriere_cdrw); if (viteza_scriere_cdr!=0) System.out.print ("viteza scriere cdr="+viteza_scriere_cdr); if (observatii!=null) System.out.print("observatii="+observatii); System.out.println();*/ } } public int creareRDF (int contor1,int contor2,RandomAccessFile f) { try { f.writeChars("\n"); contor2++; } catch (IOException e) { System.out.println("eroare i/o"); } return contor2; } } class DVD { String descriere=null; int viteza_citire=0; String producator=null; String observatii=null; public DVD (String parametru) { descriere=new String(parametru); } public String getDescriere () { return descriere; } public void parsare () { if (descriere!=null && descriere.compareTo("-")!=0) { if (descriere.indexOf("X")==2) { viteza_citire=(new Integer(descriere.substring(0,2))).intValue(); producator=new String(descriere.substring(4,descriere.length())); } if (descriere.indexOf("inclus")==0) observatii=new String(descriere); // afisare /*if (producator!=null) System.out.print ("producator="+producator); if (viteza_citire!=0) System.out.print ("viteza citire="+viteza_citire); if (observatii!=null) System.out.print("observatii="+observatii); System.out.println();*/ } } public int creareRDF (int contor1,int contor2,RandomAccessFile f) { try { f.writeChars("\n"); contor2++; } catch (IOException e) { System.out.println("eroare i/o"); } return contor2; } } class PlacaDeSunet { String descriere=null; String configuratie_iesire=null; String model=null; String producator=null; String observatii=null; public PlacaDeSunet (String parametru) { descriere=new String(parametru); } public String getDescriere () { return descriere; } public void parsare () { if (descriere!=null) { if (descriere.contains("Creative")) producator=new String("Creative"); if (descriere.contains("HERCULES")) producator=new String("HERCULES"); int pozitie; pozitie=descriere.indexOf("."); if (pozitie!=-1) { configuratie_iesire=new String(descriere.substring(pozitie-1,pozitie+2)); model=new String(descriere.substring(descriere.indexOf(" ")+1,pozitie-1)); } if (descriere.contains("On Board")) model=new String("On Board"); pozitie=descriere.indexOf("+"); if (pozitie!=-1) observatii=new String(descriere.substring(pozitie+2,descriere.length())); // afisare /*if (configuratie_iesire!=null) System.out.print("configuratie_iesire="+configuratie_iesire); if (model!=null) System.out.print("model="+model); if (producator!=null) System.out.print("producator="+producator); if (observatii!=null) System.out.print("observatii="+observatii); System.out.println();*/ } } public int creareRDF (int contor1,int contor2,RandomAccessFile f) { try { f.writeChars("\n"); contor2++; } catch (IOException e) { System.out.println("eroare i/o"); } return contor2; } } class HDD { String descriere=null; String buffer=null; String capacitate=null; String interfata=null; String viteza=null; String observatii=null; public HDD (String parametru) { descriere=new String(parametru); } public String getDescriere () { return descriere; } public void parsare () { if (descriere!=null) { int pozitie; pozitie=descriere.indexOf("GB"); if (pozitie!=-1) capacitate=new String(descriere.substring(0,pozitie+2)); pozitie=descriere.indexOf("RPM"); if (pozitie!=-1) viteza=new String(descriere.substring(pozitie-5,pozitie+3)); pozitie=descriere.indexOf("CACHE"); if (pozitie!=-1) buffer=new String(descriere.substring(pozitie-4,pozitie-1)); if (descriere.contains("SATA")) interfata=new String("SATA"); if (descriere.contains("RAID")) observatii=new String(descriere.substring(descriere.indexOf("RAID"),descriere.length())); // afisare /*if (buffer!=null) System.out.print ("buffer="+buffer); if (capacitate!=null) System.out.print ("capacitate="+capacitate); if (interfata!=null) System.out.print("interfata="+interfata); if (viteza!=null) System.out.print ("viteza="+viteza); if (observatii!=null) System.out.print ("observatii"+observatii);*/ System.out.println(); } } public int creareRDF (int contor1,int contor2,RandomAccessFile f) { try { f.writeChars("\n"); contor2++; } catch (IOException e) { System.out.println("eroare i/o"); } return contor2; } } class FDD { String descriere=null; String producator=null; String observatii=null; public FDD (String parametru) { descriere=new String(parametru); } public String getDescriere () { return descriere; } public void parsare () { if (descriere!=null) { if (descriere.indexOf("inclus")==0) observatii=new String(descriere); else producator=new String(descriere); // afisare /* if (producator!=null) System.out.print ("producator="+producator); if (observatii!=null) System.out.print ("observatii="+observatii); System.out.println(); */ } } public int creareRDF (int contor1,int contor2,RandomAccessFile f) { try { f.writeChars("\n"); contor2++; } catch (IOException e) { System.out.println("eroare i/o"); } return contor2; } } class Mouse { String descriere=null; String producator=null; boolean scroll_vertical=false; String tip_conector=null; String tip=null; String observatii=null; public Mouse (String parametru) { descriere=new String(parametru); } public String getDescriere () { return descriere; } public void parsare () { if (descriere!=null) { int pozitie; pozitie=descriere.indexOf("-"); if (pozitie!=-1) producator=new String(descriere.substring(0,pozitie-1)); pozitie=descriere.indexOf("*"); if (pozitie!=-1) producator=new String(descriere.substring(0,pozitie-1)); if (descriere.contains("Scroll")) scroll_vertical=true; if (descriere.contains("PS/2")) tip_conector=new String("PS/2"); if (descriere.contains("OPTIC")) tip=new String("optic"); if (descriere.contains("optic wireless")) tip=new String("optic wireless"); if (descriere.contains("mouse pad")) observatii=new String ("mouse pad"); // afisari /*if (producator!=null) System.out.print ("producator="+producator); if (scroll_vertical) System.out.print ("scroll vertical"); if (tip_conector!=null) System.out.print("tip conector"+tip_conector); if (tip!=null) System.out.print("tip"+tip); if (observatii!=null) System.out.print("observatii"+observatii); System.out.println();*/ } } public int creareRDF (int contor1,int contor2,RandomAccessFile f) { try { f.writeChars("\n"); contor2++; } catch (IOException e) { System.out.println("eroare i/o"); } return contor2; } } class Tastatura { String descriere=null; String producator=null; String tip_conector=null; String tip=null; public Tastatura (String parametru) { descriere=new String(parametru); } public String getDescriere () { return descriere; } public void parsare () { if (descriere!=null) { int pozitie; pozitie=descriere.indexOf("*"); if (pozitie!=-1) producator=new String(descriere.substring(0,pozitie-1)); if (descriere.contains("PS/2")) tip_conector=new String("PS/2"); if (descriere.contains("MULTIMEDIA")) tip=new String("MULTIMEDIA"); if (descriere.contains("wireless")) tip=new String("wireless"); // afisari /*if (producator!=null) System.out.print ("producator="+producator); if (tip_conector!=null) System.out.print("tip conector"+tip_conector); if (tip!=null) System.out.print("tip"+tip); System.out.println();*/ } } public int creareRDF (int contor1,int contor2,RandomAccessFile f) { try { f.writeChars("\n"); contor2++; } catch (IOException e) { System.out.println("eroare i/o"); } return contor2; } } class Carcasa { String descriere=null; String dimensiune_carcasa=null; String model=null; String producator=null; String observatii=null; public Carcasa (String parametru) { descriere=new String(parametru); } public String getDescriere () { return descriere; } public void parsare () { if (descriere!=null) { int pozitie; pozitie=descriere.indexOf("W"); if (pozitie!=-1) { if (descriere.charAt(pozitie-1)!=' ') observatii=new String("putere "+descriere.substring(pozitie-3,pozitie)+"W"); else observatii=new String("putere "+descriere.substring(pozitie-4,pozitie-1)+"W"); } pozitie=descriere.indexOf("U,"); if (pozitie!=-1) dimensiune_carcasa=new String (descriere.substring(pozitie-1,pozitie)+"U"); pozitie=descriere.indexOf("\""); if (pozitie!=-1) { if (dimensiune_carcasa==null) dimensiune_carcasa=new String (descriere.substring(pozitie-2,pozitie)+"inchi"); else dimensiune_carcasa=new String(dimensiune_carcasa.concat (","+descriere.substring(pozitie-2,pozitie)+"inchi")); } pozitie=descriere.indexOf("-"); if (pozitie!=-1) if (descriere.charAt(pozitie+2)>='A' && descriere.charAt(pozitie+2)<='Z') producator=new String (descriere.substring(pozitie+2,descriere.length())); if (descriere.indexOf("/")!=-1 && descriere.lastIndexOf("/")!=-1 && descriere.indexOf("/")!=descriere.lastIndexOf("/")) { producator=new String(descriere.substring(0,descriere.indexOf(" "))); model=new String(descriere.substring(descriere.indexOf(" ")+1,descriere.length())); } if (descriere.indexOf(",")!=-1 && descriere.lastIndexOf(",")!=-1 && descriere.indexOf(",")==descriere.lastIndexOf(",") && !descriere.contains("RACK")) model=new String(descriere.substring(0,descriere.indexOf(","))); if (descriere.indexOf(",")!=-1 && descriere.lastIndexOf(",")!=-1 && descriere.indexOf(",")==descriere.lastIndexOf(",") && descriere.indexOf("RACK")==0) observatii=new String(descriere.substring(descriere.indexOf(",")+2,descriere.length())); if (descriere.indexOf(",")!=-1 && descriere.lastIndexOf(",")!=-1 && descriere.indexOf(",")==descriere.lastIndexOf(",") && descriere.contains("RACK") && descriere.indexOf("RACK")!=0) { producator=new String(descriere.substring(0,descriere.indexOf(" "))); model=new String(descriere.substring(descriere.indexOf("(")+2,descriere.lastIndexOf(")"))); } // afisare /*if (dimensiune_carcasa!=null) System.out.print("dimensiune carcasa="+dimensiune_carcasa); if (model!=null) System.out.print("model="+model); if (producator!=null) System.out.print("producator="+producator); if (observatii!=null) System.out.print("observatii="+observatii); System.out.println();*/ } } public int creareRDF (int contor1,int contor2,RandomAccessFile f) { try { f.writeChars("\n"); contor2++; } catch (IOException e) { System.out.println("eroare i/o"); } return contor2; } } class Sursa { String descriere=null; int dimensiune_sursa=0; String model=null; int putere=0; int ventilatoare=0; String observatii=null; public Sursa (String parametru) { descriere=new String(parametru); } public String getDescriere () { return descriere; } public void parsare () { if (descriere!=null) { int pozitie; pozitie=descriere.indexOf("U"); if (pozitie!=-1) dimensiune_sursa=(new Integer(descriere.substring(pozitie-1,pozitie))).intValue(); if (descriere.indexOf("(")!=-1 && descriere.lastIndexOf(")")!=-1) model=new String(descriere.substring(descriere.indexOf("(")+1,descriere.lastIndexOf(")"))); pozitie=descriere.indexOf("W"); if (pozitie>=3) putere=(new Integer(descriere.substring(pozitie-4,pozitie-1))).intValue(); pozitie=descriere.indexOf("ventilatoare"); if (pozitie!=-1) ventilatoare=(new Integer(descriere.substring(pozitie-2,pozitie-1))).intValue(); if (descriere.indexOf(",")!=-1 && descriere.lastIndexOf(",")!=-1) observatii=new String(descriere.substring(descriere.indexOf(",")+2,descriere.lastIndexOf(","))); else observatii=new String(descriere.substring(descriere.indexOf(" ")+1,descriere.lastIndexOf(" "))); // afisare /*if (dimensiune_sursa!=0) System.out.print("dimensiune sursa="+dimensiune_sursa); if (model!=null) System.out.print("model="+model); if (putere!=0) System.out.print("putere="+putere); if (ventilatoare!=0) System.out.print("ventilatoare="+ventilatoare); if (observatii!=null) System.out.print("observatii="+observatii); System.out.println();*/ } } public int creareRDF (int contor1,int contor2,RandomAccessFile f) { try { f.writeChars("\n"); contor2++; } catch (IOException e) { System.out.println("eroare i/o"); } return contor2; } } class Kit { String descriere; public Kit (String parametru) { descriere=new String(parametru); } public String getDescriere () { return descriere; } public void parsare (CalculatorPersonal CP) { String producator=null; int pozitie; pozitie=descriere.lastIndexOf(" "); if (pozitie!=-1) { pozitie++; producator=new String(descriere.substring(pozitie,descriere.length())); } pozitie=descriere.indexOf("+"); if (pozitie!=-1) { CP.setMouse(new Mouse(producator+" * "+descriere.substring(0,pozitie-1))); CP.setTastatura(new Tastatura(producator+" * "+descriere.substring(pozitie+1,descriere.lastIndexOf(" ")))); } } } class CalculatorPersonal { PlacaDeBaza comp1=null; Procesor comp2=null; Memorie comp3=null; PlacaVideo comp4=null; TunerTv comp5=null; PlacaDeRetea comp6=null; FaxModem comp7=null; CDROM comp8=null; CDRW comp9=null; DVD comp10=null; PlacaDeSunet comp11=null; HDD comp12=null; FDD comp13=null; Mouse comp14=null; Tastatura comp15=null; Kit comp16=null; Sursa comp17=null; Carcasa comp18=null; public void setPlacaDeBaza (PlacaDeBaza PB) { comp1=new PlacaDeBaza(PB.getDescriere()); } public void setProcesor (Procesor P) { comp2=new Procesor(P.getDescriere()); } public void setMemorie (Memorie M) { comp3=new Memorie(M.getDescriere()); } public void setPlacaVideo (PlacaVideo PV) { comp4=new PlacaVideo(PV.getDescriere()); } public void setTunerTv (TunerTv TT) { comp5=new TunerTv(TT.getDescriere()); } public void setPlacaDeRetea (PlacaDeRetea PR) { comp6=new PlacaDeRetea(PR.getDescriere()); } public void setFaxModem (FaxModem FM) { comp7=new FaxModem(FM.getDescriere()); } public void setCDROM (CDROM C) { comp8=new CDROM(C.getDescriere()); } public void setCDRW (CDRW C) { comp9=new CDRW(C.getDescriere()); } public void setDVD (DVD D) { comp10=new DVD(D.getDescriere()); } public void setPlacaDeSunet (PlacaDeSunet PS) { comp11=new PlacaDeSunet(PS.getDescriere()); } public void setHDD (HDD H) { comp12=new HDD(H.getDescriere()); } public void setFDD (FDD F) { comp13=new FDD(F.getDescriere()); } public void setMouse (Mouse M) { comp14=new Mouse(M.getDescriere()); } public void setTastatura (Tastatura T) { comp15=new Tastatura(T.getDescriere()); } public void setKit (Kit K) { comp16=new Kit(K.getDescriere()); } public void setSursa (Sursa S) { comp17=new Sursa(S.getDescriere()); } public void setCarcasa (Carcasa C) { comp18=new Carcasa(C.getDescriere()); } public void afisare () { System.out.println("--configuratie calculator personal--"); if (comp1!=null) { System.out.println ("placa de baza: "+comp1.getDescriere()); comp1.parsare(); } if (comp2!=null) { System.out.println ("procesor: "+comp2.getDescriere()); comp2.parsare(); } if (comp3!=null) { System.out.println ("memorie: "+comp3.getDescriere()); comp3.parsare(); } if (comp4!=null) { System.out.println ("placa video: "+comp4.getDescriere()); comp4.parsare(); } if (comp5!=null) { System.out.println ("tuner tv: "+comp5.getDescriere()); comp5.parsare(); } if (comp6!=null) { System.out.println ("placa de retea: "+comp6.getDescriere()); comp6.parsare(); } if (comp7!=null) { System.out.println ("fax/modem: "+comp7.getDescriere()); comp7.parsare(); } if (comp8!=null) { System.out.println ("CD-ROM: "+comp8.getDescriere()); comp8.parsare(); } if (comp9!=null) { System.out.println ("CD-RW: "+comp9.getDescriere()); comp9.parsare(); } if (comp10!=null) { System.out.println ("DVD: "+comp10.getDescriere()); comp10.parsare(); } if (comp11!=null) { System.out.println ("placa de sunet: "+comp11.getDescriere()); comp11.parsare(); } if (comp12!=null) { System.out.println ("HDD: "+comp12.getDescriere()); comp12.parsare(); } if (comp13!=null) { System.out.println ("FDD: "+comp13.getDescriere()); comp13.parsare(); } if (comp16!=null) { System.out.println ("kit: "+comp16.getDescriere()); comp16.parsare(this); } if (comp14!=null) { System.out.println ("mouse: "+comp14.getDescriere()); comp14.parsare(); } if (comp15!=null) { System.out.println ("tastatura: "+comp15.getDescriere()); comp15.parsare(); } if (comp17!=null) { System.out.println ("sursa: "+comp17.getDescriere()); comp17.parsare(); } if (comp18!=null) { System.out.println ("carcasa: "+comp18.getDescriere()); comp18.parsare(); } } public int creareRDF (int contor1,int contor2,RandomAccessFile f) { try { f.writeChars("\n"); contor2++; f.writeChars("\n"); contor2++; // carcasa if (comp18!=null) { comp18.parsare(); contor2=comp18.creareRDF(contor1,contor2,f); } // faxmodem if (comp7!=null && (comp7.getDescriere()).compareTo("-")!=0) { comp7.parsare(); contor2=comp7.creareRDF(contor1,contor2,f); } // memorie if (comp3!=null) { comp3.parsare(); contor2=comp3.creareRDF(contor1,contor2,f); } // placagrafica if (comp4!=null) { comp4.parsare(); contor2=comp4.creareRDF(contor1,contor2,f); } // placadebaza if (comp1!=null) { comp1.parsare(); contor2=comp1.creareRDF(contor1,contor2,f); } // placaderetea if (comp6!=null) { comp6.parsare(); contor2=comp6.creareRDF(contor1,contor2,f); } // placadesunet if (comp11!=null) { comp11.parsare(); contor2=comp11.creareRDF(contor1,contor2,f); } // procesor if (comp2!=null) { comp2.parsare(); contor2=comp2.creareRDF(contor1,contor2,f); } // stocare magnetica f.writeChars("\n"); contor2++; // fdd if (comp13!=null) { comp13.parsare(); contor2=comp13.creareRDF(contor1,contor2,f); } // hdd if (comp12!=null) { comp12.parsare(); contor2=comp12.creareRDF(contor1,contor2,f); } if (comp8!=null || comp9!=null || comp10!=null) { // stocare optica f.writeChars("\n"); contor2++; } // cdrom if (comp8!=null) { comp8.parsare(); contor2=comp8.creareRDF(contor1,contor2,f); } // cdrw if (comp9!=null) { comp9.parsare(); contor2=comp9.creareRDF(contor1,contor2,f); } // dvdrom if (comp10!=null) { comp10.parsare(); contor2=comp10.creareRDF(contor1,contor2,f); } // sursa if (comp17!=null) { comp17.parsare(); contor2=comp17.creareRDF(contor1,contor2,f); } // tunertv if (comp5!=null) { comp5.parsare(); contor2=comp5.creareRDF(contor1,contor2,f); } // periferice f.writeChars("\n"); contor2++; if (comp16!=null) comp16.parsare(this); // mouse if (comp14!=null) { comp14.parsare(); contor2=comp14.creareRDF(contor1,contor2,f); } // tastatura if (comp15!=null) { comp15.parsare(); contor2=comp15.creareRDF(contor1,contor2,f); } } catch (IOException e) { System.out.println("eroare i/o"); } return contor2; } } public class RDF_parser { public static void creareRDF (Vector v) { RandomAccessFile f=null; try { f=new RandomAccessFile("sis.rdf","rw"); f.writeChars("\n"); f.writeChars("\n"); f.writeChars(" \n"); f.writeChars(" \n"); f.writeChars("]>\n"); f.writeChars("\n"); int contor1,contor2=0; for (contor1=0;contor1\n"); f.close(); } catch (Exception e) { System.out.print("eroare i/o"); } } public static void main (String args[]) { RandomAccessFile f=null; String l,s=new String(); boolean intreGhilimele=false,intreSpan=false,intreFont=false; boolean copiaza1=false,copiaza2=false; int tip=0; Vector calculatoarePersonale=new Vector(); int numar_calculatoare=0,limita_inferioara=0,limita_superioara=0; int curent=0; try { f=new RandomAccessFile("sis.html","r"); while ((l=f.readLine())!=null) { char[] dst=new char[l.length()]; l.getChars(0,l.length(),dst,0); int contor; for (contor=0;contor=3 && dst[contor]=='M' && dst[contor+1]=='B' && dst[contor+2]==':') { contor+=3; copiaza1=true; tip=1; } if (l.length()-contor>=9 && dst[contor]=='P' && dst[contor+1]=='r' && dst[contor+2]=='o' && dst[contor+3]=='c' && dst[contor+4]=='e' && dst[contor+5]=='s' && dst[contor+6]=='o' && dst[contor+7]=='r' && dst[contor+8]==':') { contor+=9; copiaza1=true; tip=2; } if (l.length()-contor>=8 && dst[contor]=='M' && dst[contor+1]=='e' && dst[contor+2]=='m' && dst[contor+3]=='o' && dst[contor+4]=='r' && dst[contor+5]=='i' && dst[contor+6]=='e' && dst[contor+7]==':') { contor+=8; copiaza1=true; tip=3; } if (l.length()-contor>=6 && dst[contor]=='V' && dst[contor+1]=='I' && dst[contor+2]=='D' && dst[contor+3]=='E' && dst[contor+4]=='O' && dst[contor+5]==':') { contor+=6; copiaza1=true; tip=4; } if (l.length()-contor>=8 && dst[contor]=='C' && dst[contor+1]=='A' && dst[contor+2]=='P' && dst[contor+3]=='T' && dst[contor+4]=='U' && dst[contor+5]=='R' && dst[contor+6]=='A' && dst[contor+7]==':') { contor+=8; copiaza1=true; tip=5; } if (l.length()-contor>=6 && dst[contor]=='R' && dst[contor+1]=='e' && dst[contor+2]=='t' && dst[contor+3]=='e' && dst[contor+4]=='a' && dst[contor+5]==':') { contor+=6; copiaza1=true; tip=6; } if (l.length()-contor>=10 && dst[contor]=='F' && dst[contor+1]=='a' && dst[contor+2]=='x' && dst[contor+3]=='/' && dst[contor+4]=='M' && dst[contor+5]=='o' && dst[contor+6]=='d' && dst[contor+7]=='e' && dst[contor+8]=='m' && dst[contor+9]==':') { contor+=10; copiaza1=true; tip=7; } if (l.length()-contor>=7 && dst[contor]=='C' && dst[contor+1]=='D' && dst[contor+2]=='-' && dst[contor+3]=='R' && dst[contor+4]=='O' && dst[contor+5]=='M' && dst[contor+6]==':') { contor+=7; copiaza1=true; tip=8; } if (l.length()-contor>=6 && dst[contor]=='C' && dst[contor+1]=='D' && dst[contor+2]=='-' && dst[contor+3]=='R' && dst[contor+4]=='W' && dst[contor+5]==':') { contor+=6; copiaza1=true; tip=9; } if (l.length()-contor>=4 && dst[contor]=='D' && dst[contor+1]=='V' && dst[contor+2]=='D' && dst[contor+3]==':') { contor+=4; copiaza1=true; tip=10; } if (l.length()-contor>=6 && dst[contor]=='S' && dst[contor+1]=='o' && dst[contor+2]=='u' && dst[contor+3]=='n' && dst[contor+4]=='d' && dst[contor+5]==':') { contor+=6; copiaza1=true; tip=11; } if (l.length()-contor>=3 && dst[contor]=='S' && dst[contor+1]=='B' && dst[contor+2]==' ' && dst[contor-1]!='F') { contor+=3; copiaza1=true; tip=12; } if (l.length()-contor>=4 && dst[contor]=='H' && dst[contor+1]=='D' && dst[contor+2]=='D' && dst[contor+3]==':') { contor+=4; copiaza1=true; tip=13; } if (l.length()-contor>=4 && dst[contor]=='F' && dst[contor+1]=='D' && dst[contor+2]=='D' && dst[contor+3]==':') { contor+=4; copiaza1=true; tip=14; } if (l.length()-contor>=6 && dst[contor]=='M' && dst[contor+1]=='o' && dst[contor+2]=='u' && dst[contor+3]=='s' && dst[contor+4]=='e' && dst[contor+5]==':') { contor+=6; copiaza1=true; tip=15; } if (l.length()-contor>=10 && dst[contor]=='T' && dst[contor+1]=='a' && dst[contor+2]=='s' && dst[contor+3]=='t' && dst[contor+4]=='a' && dst[contor+5]=='t' && dst[contor+6]=='u' && dst[contor+7]=='r' && dst[contor+8]=='a' && dst[contor+9]==':') { contor+=10; copiaza1=true; tip=16; } if (l.length()-contor>=6 && dst[contor]=='M' && dst[contor+1]=='o' && dst[contor+2]=='u' && dst[contor+3]=='s' && dst[contor+4]=='e' && dst[contor+5]==' ') { copiaza1=true; tip=17; } if (l.length()-contor>=6 && dst[contor]=='S' && dst[contor+1]=='u' && dst[contor+2]=='r' && dst[contor+3]=='s' && dst[contor+4]=='a' && dst[contor+5]==':') { contor+=6; copiaza1=true; tip=18; } if (l.length()-contor>=8 && dst[contor]=='C' && dst[contor+1]=='a' && dst[contor+2]=='r' && dst[contor+3]=='c' && dst[contor+4]=='a' && dst[contor+5]=='s' && dst[contor+6]=='a' && dst[contor+7]==':') { contor+=8; copiaza1=true; tip=19; } if (copiaza1==true && l.length()>contor) { copiaza2=true; if (dst[contor]=='\n' || dst[contor]=='\r' || dst[contor]=='\t') copiaza2=false; if ((s.compareTo("")==0 || s.endsWith(" ")) && dst[contor]==' ') copiaza2=false; if ((contor+4)') { intreSpan=false; contor+=7; } if ((contor+4)') { intreFont=false; contor+=1; } if ((contor+6)') contor+=6; if ((contor+4)') { copiaza1=false; if (tip==1) { //System.out.println ("placa de baza : "+s); numar_calculatoare++; CalculatorPersonal CP=new CalculatorPersonal(); CP.setPlacaDeBaza(new PlacaDeBaza(s)); calculatoarePersonale.add(CP); } if (tip==2) { //System.out.println ("procesor : "+s); ((CalculatorPersonal)calculatoarePersonale.elementAt(limita_inferioara+curent)).setProcesor(new Procesor(s)); curent=(curent+1)%numar_calculatoare; } if (tip==3) { //System.out.println ("memorie : "+s); ((CalculatorPersonal)calculatoarePersonale.elementAt(limita_inferioara+curent)).setMemorie(new Memorie(s)); curent=(curent+1)%numar_calculatoare; } if (tip==4) { //System.out.println ("video : "+s); ((CalculatorPersonal)calculatoarePersonale.elementAt(limita_inferioara+curent)).setPlacaVideo(new PlacaVideo(s)); curent=(curent+1)%numar_calculatoare; } if (tip==5) { //System.out.println ("tuner tv : "+s); ((CalculatorPersonal)calculatoarePersonale.elementAt(limita_inferioara+curent)).setTunerTv(new TunerTv(s)); curent=(curent+1)%numar_calculatoare; } if (tip==6) { //System.out.println ("retea : "+s); ((CalculatorPersonal)calculatoarePersonale.elementAt(limita_inferioara+curent)).setPlacaDeRetea(new PlacaDeRetea(s)); curent=(curent+1)%numar_calculatoare; } if (tip==7) { //System.out.println ("fax/modem : "+s); ((CalculatorPersonal)calculatoarePersonale.elementAt(limita_inferioara+curent)).setFaxModem(new FaxModem(s)); curent=(curent+1)%numar_calculatoare; } if (tip==8) { //System.out.println ("CD-ROM : "+s); ((CalculatorPersonal)calculatoarePersonale.elementAt(limita_inferioara+curent)).setCDROM(new CDROM(s)); curent=(curent+1)%numar_calculatoare; } if (tip==9) { //System.out.println ("CD-RW : "+s); ((CalculatorPersonal)calculatoarePersonale.elementAt(limita_inferioara+curent)).setCDRW(new CDRW(s)); curent=(curent+1)%numar_calculatoare; } if (tip==10) { //System.out.println ("DVD : "+s); ((CalculatorPersonal)calculatoarePersonale.elementAt(limita_inferioara+curent)).setDVD(new DVD(s)); curent=(curent+1)%numar_calculatoare; } if (tip==11) { //System.out.println ("placa de sunet : "+s); ((CalculatorPersonal)calculatoarePersonale.elementAt(limita_inferioara+curent)).setPlacaDeSunet(new PlacaDeSunet(s)); curent=(curent+1)%numar_calculatoare; } if (tip==12) { //System.out.println ("placa de sunet : "+s); ((CalculatorPersonal)calculatoarePersonale.elementAt(limita_inferioara+curent)).setPlacaDeSunet(new PlacaDeSunet(s)); curent=(curent+1)%numar_calculatoare; } if (tip==13) { //System.out.println ("HDD : "+s); ((CalculatorPersonal)calculatoarePersonale.elementAt(limita_inferioara+curent)).setHDD(new HDD(s)); curent=(curent+1)%numar_calculatoare; } if (tip==14) { //System.out.println ("FDD : "+s); ((CalculatorPersonal)calculatoarePersonale.elementAt(limita_inferioara+curent)).setFDD(new FDD(s)); curent=(curent+1)%numar_calculatoare; } if (tip==15) { //System.out.println ("mouse : "+s); ((CalculatorPersonal)calculatoarePersonale.elementAt(limita_inferioara+curent)).setMouse(new Mouse(s)); curent=(curent+1)%numar_calculatoare; } if (tip==16) { //System.out.println ("tastatura : "+s); ((CalculatorPersonal)calculatoarePersonale.elementAt(limita_inferioara+curent)).setTastatura(new Tastatura(s)); curent=(curent+1)%numar_calculatoare; } if (tip==17) { //System.out.println ("kit : "+s); ((CalculatorPersonal)calculatoarePersonale.elementAt(limita_inferioara+curent)).setKit(new Kit(s)); curent=(curent+1)%numar_calculatoare; } if (tip==18) { //System.out.println ("sursa : "+s); ((CalculatorPersonal)calculatoarePersonale.elementAt(limita_inferioara+curent)).setSursa(new Sursa(s)); curent=(curent+1)%numar_calculatoare; } if (tip==19) { //System.out.println ("carcasa : "+s); ((CalculatorPersonal)calculatoarePersonale.elementAt(limita_inferioara+limita_superioara)).setCarcasa(new Carcasa(s)); curent=(curent+1)%numar_calculatoare; limita_superioara++; if (limita_superioara==numar_calculatoare) { limita_inferioara+=numar_calculatoare; limita_superioara=0; numar_calculatoare=0; } } s=new String(); contor+=5; } if (copiaza1==true && copiaza2==true && intreSpan==false && intreFont==false && contor