home *** CD-ROM | disk | FTP | other *** search
/ PC Pro 1999 April / DPPCPRO0499.ISO / April / Notes / 50b2wic.exe / DATA1.CAB / NotesProgramFilesJavaSupport / Notes.jar / lotus / notes / AgentRunner.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-11-15  |  3.6 KB  |  127 lines

  1. package lotus.notes;
  2.  
  3. public class AgentRunner extends NotesThread {
  4.    private static String dumpAgentContextFile = "AgentRunner.nsf";
  5.    private static String argServer;
  6.    private static String argDatabase;
  7.    private static String argAgent;
  8.    private String keyServer;
  9.    private String keyDatabase;
  10.    private String keyAgent;
  11.    private String agentClassName;
  12.  
  13.    public static void main(String[] var0) throws Exception {
  14.       AgentRunner var1 = new AgentRunner();
  15.       if (var0.length > 3) {
  16.          System.out.println("AgentRunner=> too many arguments");
  17.          System.out.println("Usage: java AgentRunner <agent> [<database> [<server>]]");
  18.       } else if (var0.length == 0) {
  19.          System.out.println("AgentRunner=> no arguments");
  20.          System.out.println("Usage: java AgentRunner <agent> [<database> [<server>]]");
  21.       } else {
  22.          if (var0.length > 0) {
  23.             argAgent = var0[0];
  24.          }
  25.  
  26.          if (var0.length > 1) {
  27.             argDatabase = var0[1];
  28.          }
  29.  
  30.          if (var0.length > 2) {
  31.             argServer = var0[2];
  32.          }
  33.  
  34.          ((Thread)var1).start();
  35.       }
  36.    }
  37.  
  38.    public void runNotes() {
  39.       try {
  40.          if (this.getAgent()) {
  41.             this.runAgent();
  42.             return;
  43.          }
  44.  
  45.          System.out.println("AgentRunner=>No AgentContext document found for:");
  46.          System.out.println("   <agent=" + argAgent + ">");
  47.          if (argDatabase != null) {
  48.             System.out.println("   <database=" + argDatabase + ">");
  49.          }
  50.  
  51.          if (argServer != null) {
  52.             System.out.println("   <server=" + argServer + ">");
  53.             return;
  54.          }
  55.       } catch (Exception var2) {
  56.          ((Throwable)var2).printStackTrace();
  57.       }
  58.  
  59.    }
  60.  
  61.    public boolean getAgent() throws NotesException {
  62.       boolean var1 = false;
  63.       Object var2 = null;
  64.       Database var3 = null;
  65.       View var4 = null;
  66.       Document var5 = null;
  67.  
  68.       try {
  69.          Session var8 = Session.newInstance();
  70.          var3 = var8.getDatabase("", dumpAgentContextFile);
  71.          if (!var3.isOpen()) {
  72.             throw new NotesException(0, "AgentRunner=>AgentContext database not found");
  73.          }
  74.  
  75.          var4 = var3.getView("($AgentContexts)");
  76.          if (var4 == null) {
  77.             throw new NotesException(0, "AgentRunner=>$AgentContexts view not found");
  78.          }
  79.  
  80.          for(var5 = var4.getFirstDocument(); var5 != null; var5 = var4.getNextDocument(var5)) {
  81.             this.keyAgent = var5.getItemValueString("CurrentAgent");
  82.             this.keyDatabase = var5.getItemValueString("CurrentDatabase_FilePath");
  83.             String var6 = var5.getItemValueString("CurrentDatabase_Server");
  84.             if (var6 != null && !var6.equals("")) {
  85.                this.keyServer = var6;
  86.             } else {
  87.                this.keyServer = "local";
  88.             }
  89.  
  90.             if (argAgent.equalsIgnoreCase(this.keyAgent) && (argDatabase == null || argDatabase.equalsIgnoreCase(this.keyDatabase)) && (argServer == null || argServer.equalsIgnoreCase(this.keyServer))) {
  91.                this.agentClassName = var5.getItemValueString("ClassName");
  92.                var1 = true;
  93.                break;
  94.             }
  95.          }
  96.       } catch (Exception var7) {
  97.          ((Throwable)var7).printStackTrace();
  98.       }
  99.  
  100.       if (var5 != null) {
  101.          var5.recycle();
  102.       }
  103.  
  104.       if (var4 != null) {
  105.          var4.recycle();
  106.       }
  107.  
  108.       if (var3 != null) {
  109.          var3.recycle();
  110.       }
  111.  
  112.       return var1;
  113.    }
  114.  
  115.    public void runAgent() {
  116.       try {
  117.          Class var1 = Class.forName(this.agentClassName);
  118.          DebugAgentBase var2 = (DebugAgentBase)var1.newInstance();
  119.          var2.initAgentRunner(this.keyServer, this.keyDatabase, this.keyAgent);
  120.          ((AgentBase)var2).NotesMain();
  121.          var2.termAgentRunner();
  122.       } catch (Exception var3) {
  123.          System.out.println("AgentRunner=>Exception! " + this.agentClassName + ".class not found");
  124.       }
  125.    }
  126. }
  127.