rendered paste bodypackage com.bskyb.activate.Telnet;import java.util.Vector;import com.bskyb.activate.VO.*;public class ExcelAccess implements Runnable { boolean gettingFromFile; Vector currentRequests; Vector completedRequests; private Thread t; ExcelAccess() { currentRequests = new Vector(); completedRequests = new Vector(); } public void Write(Vector Request) { currentRequests.addAll(Request); if(!gettingFromFile) { gettingFromFile = true; t = new Thread(this); t.start(); } } public Vector Read() { Vector out = new Vector(); synchronized(completedRequests) { out = new Vector(completedRequests); completedRequests.clear(); } return out; } public void run() { while(gettingFromFile) { activateInterface current; current = (activateInterface) currentRequests.remove(0); String Type = current.getVar("Type").toString(); if( Type.equalsIgnoreCase("CARDNUMBER")) { String CardNumber = ""; current.editVar("status", "SUCESS"); current.setFrom("EXCEL"); current.addvar("VALUE",CardNumber ); } else { if(Type.equalsIgnoreCase("BOXNUMBER")) { String boxnumber = ""; current.editVar("status", "SUCESS"); current.setFrom("EXCEL"); current.addvar("VALUE",boxnumber ); } else { if(Type.equalsIgnoreCase("INSTALLER")) { String installer = ""; current.editVar("status", "SUCESS"); current.setFrom("EXCEL"); current.addvar("VALUE",installer ); } else { current.editVar("status", "failed"); current.addvar("REASON", "Request was of an unknow type: "+Type); current.setFrom("EXCEL"); } } } synchronized(completedRequests) { completedRequests.add(current); } if(currentRequests.isEmpty()) { this.gettingFromFile = false; } } }}