package serverFTUGM;

import org.openisis.*;
import java.io.IOException;
import java.util.Date;
import java.util.Vector;
import java.net.URL;
import java.lang.*;
import java.util.*;
import java.io.*;
import javax.xml.parsers.*;
import org.w3c.dom.*;
import org.xml.sax.*;
import org.apache.soap.util.xml.*;

public class serverFTUGM {
	private static final String EMPTY = "";
	private static Db dbs;
	private static String dberr = EMPTY;
	private static int ROWS = 5;
	
	public HashMap[] searchFTUGM(String searchKey) {
		try {
			String[] args = new String[] { "-db", "c:/isis/data/buku/buku", "-v", "error", "-encoding", "Cp850" };
			dbs = Db.open(null,args);
		} catch (IOException e) {
			dberr = e.toString();
		}
		int[] nset = dbs.search(searchKey, Db.QRY_KEYAT);
		HashMap[] sMap = new HashMap[nset.length];
		
		for(int j = 0; j < nset.length; j++) {
			HashMap item = new HashMap();
			Rec recval = dbs.readRow(nset[j]);
			if(recval == null) {
				continue;
			}
			int m = Db.MDL | Db.PS | Db.HTA;
			String r13 = "<br>&nbsp;&nbsp;";
			item.put("nomer",recval.v("","", 99,m,0,0, r13,"")); //nomer
			item.put("judul",recval.v("","",245,m,0,0, r13,"")); //judul
			item.put("edisi",recval.v("","",250,m,0,0, r13,"")); //edisi
			item.put("seri",recval.v("","",440,m,0,0, r13,"")); //seri
			item.put("penulis",recval.v("","",100,m,0,0, r13,"")); //penulis
			item.put("penerbit",recval.v("","",260,m,0,0, r13,"")); //penerbit
			item.put("tahun1",recval.v("","",982,m,0,0, r13,"")); //tahun1
			item.put("tahun2",recval.v("","",983,m,0,0, r13,"")); //tahun2
			item.put("catatan",recval.v("","",500,m,0,0, r13,"")); //catatan 
			item.put("eks",recval.v("","",985,m,0,0, r13,"")); //eks
			item.put("ktkunci",recval.v("","",695,m,0,0, r13,"")); //ktkunci
			item.put("lokasi",recval.v("","",850,m,0,0, r13,""));//lokasi
			                                      
			sMap[j] = item;
		}
		return (HashMap[]) sMap;
	}
	
	public static void main(String[] args) {
		if(args.length < 1) {
			System.out.println("Please provide the search key");
			return;
		} else {
			String searchkey = args[0];
			serverFTUGM coba = new serverFTUGM();
			Map[] cobaVal = coba.searchFTUGM(searchkey);
			System.out.println("The search word is: \""+searchkey+"\". Found "+cobaVal.length+":");
			System.out.println("------------");
			for(int i=0; i < cobaVal.length; i++) {
				Map hasilVal = cobaVal[i];
				System.out.println("Nomer: "+hasilVal.get("nomer"));
				System.out.println("Judul: "+hasilVal.get("judul"));
				System.out.println("Seri: "+hasilVal.get("seri"));
				System.out.println("Penulis: "+hasilVal.get("penulis"));
				System.out.println("Penerbit: "+hasilVal.get("penerbit"));
				System.out.println("-----------");
			}
		}
	}
}
