home *** CD-ROM | disk | FTP | other *** search
/ Popular Software (Premium Edition) / mycd.iso / INTERNET / NETSCAP4.06 / CP32E406.EXE / nav40.z / java40.jar / netscape / security / UserHtmlDialog.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-08-13  |  2.7 KB  |  95 lines

  1. package netscape.security;
  2.  
  3. class UserHtmlDialog {
  4.    UserTarget itsTarget;
  5.    Principal itsPrin;
  6.    Privilege itsPrivelege;
  7.    Object itsData;
  8.    static Object lock = new Object();
  9.    static UserHtmlDialog theCurrentDialog = null;
  10.    private static final int PERMISSION_NOT_SET = 0;
  11.    private static final int ALLOWED_FOREVER = 1;
  12.    private static final int ALLOWED_SESSION = 2;
  13.    private static final int FORBIDDEN_FOREVER = 3;
  14.    private static final int BLANK_SESSION = 4;
  15.  
  16.    public UserHtmlDialog(Target var1, Principal var2, Object var3) {
  17.       if (var1 == null) {
  18.          throw new ForbiddenTargetException("no target");
  19.       } else if (!(var1 instanceof UserTarget)) {
  20.          throw new ForbiddenTargetException("target not a user target");
  21.       } else {
  22.          this.itsTarget = (UserTarget)var1;
  23.          this.itsPrin = var2;
  24.          this.itsData = var3;
  25.       }
  26.    }
  27.  
  28.    public synchronized Privilege show() {
  29.       Privilege var1 = Privilege.findPrivilege(2, 1);
  30.       PrivilegeManager var2 = PrivilegeManager.getPrivilegeManager();
  31.       if (var2 == null) {
  32.          return var1;
  33.       } else {
  34.          Object var4 = lock;
  35.          synchronized(var4){}
  36.  
  37.          try {
  38.             try {
  39.                while(theCurrentDialog != null) {
  40.                   try {
  41.                      lock.wait();
  42.                   } catch (InterruptedException var17) {
  43.                      System.out.println("interrupted before dialog!");
  44.                      ((Throwable)var17).printStackTrace(System.out);
  45.                      Privilege var3 = var1;
  46.                      return var3;
  47.                   }
  48.                }
  49.  
  50.                theCurrentDialog = this;
  51.                var1 = this.displayHtmlDialog();
  52.                return var1;
  53.             } catch (Throwable var18) {
  54.                System.out.println("interrupted during dialog!");
  55.                var18.printStackTrace(System.out);
  56.                return var1;
  57.             } finally {
  58.                theCurrentDialog = null;
  59.                lock.notifyAll();
  60.             }
  61.          } catch (Throwable var20) {
  62.             throw var20;
  63.          }
  64.       }
  65.    }
  66.  
  67.    private Privilege displayHtmlDialog() {
  68.       Privilege var1 = Privilege.findPrivilege(2, 1);
  69.       PrivilegeManager var5 = PrivilegeManager.getPrivilegeManager();
  70.       String var6 = "<option>" + this.itsTarget.getDescription();
  71.       String var7 = this.itsTarget.getRisk();
  72.       String var8 = this.itsPrin.toString();
  73.       boolean var9 = !this.itsPrin.isCodebase();
  74.       int var2 = var5.getPrivilegeFromUser(var8, var6, var7, var9);
  75.       byte var3;
  76.       byte var4;
  77.       if (var2 == 1) {
  78.          var3 = 1;
  79.          var4 = 2;
  80.       } else if (var2 == 2) {
  81.          var3 = 1;
  82.          var4 = 1;
  83.       } else if (var2 == 3) {
  84.          var3 = 0;
  85.          var4 = 2;
  86.       } else {
  87.          var3 = 2;
  88.          var4 = 1;
  89.       }
  90.  
  91.       var1 = Privilege.findPrivilege(var3, var4);
  92.       return var1;
  93.    }
  94. }
  95.