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

  1. package netscape.security;
  2.  
  3. import java.awt.Component;
  4. import java.awt.Event;
  5. import java.awt.Font;
  6. import java.awt.Frame;
  7. import java.awt.Rectangle;
  8. import sun.awt.ObjectPeer;
  9.  
  10. class UserAwtDialog implements DialogInterface {
  11.    UserTarget itsTarget;
  12.    Target itsCurrentTarget;
  13.    Principal itsPrin;
  14.    Principal itsCurrentPrin;
  15.    Privilege itsPrivilege;
  16.    Object itsData;
  17.    static Privilege theBlankPrivilege;
  18.    static FrmSec theFrmSecDialog = null;
  19.    static FrmCert theFrmCertDialog = null;
  20.    static FrmDetail theFrmDetailDialog = null;
  21.    static Rectangle theFrmSecRect = UserDialogHelper.MainSecurityDialogSize();
  22.    static Rectangle theFrmCertRect = UserDialogHelper.CertificateDialogSize();
  23.    static Rectangle theFrmDetailRect = UserDialogHelper.DetailsDialogSize();
  24.    static Rectangle theFrmHelpRect = UserDialogHelper.HelpDialogSize();
  25.    static Object lock = new Object();
  26.    static Object theCurrentDialog = null;
  27.  
  28.    UserAwtDialog() {
  29.       UserDialogHelper.userDialogOkay();
  30.       String var1 = UserDialogHelper.userDialogGrant();
  31.       String var2 = UserDialogHelper.userDialogDeny();
  32.       String var3 = UserDialogHelper.userDialogHelp();
  33.       String var4 = UserDialogHelper.userDialogClose();
  34.       String var5 = "<img> " + UserDialogHelper.dangerImage();
  35.       String var6 = UserDialogHelper.accessDetailsLabel();
  36.       String var7 = UserDialogHelper.viewCertificateLabel();
  37.       String var8 = UserDialogHelper.certHead1();
  38.       String var9 = UserDialogHelper.certCompanyNameCaption();
  39.       String var10 = UserDialogHelper.certIssuedByCaption();
  40.       String var11 = "<img> <trows=1> " + UserDialogHelper.topImage();
  41.       String var12 = "<img> <trows=1> " + UserDialogHelper.bottomImage();
  42.       String var13 = "<img> <tcols=1> " + UserDialogHelper.leftImage();
  43.       String var14 = "<img> <tcols=1> " + UserDialogHelper.rightImage();
  44.       String var15 = "<img> " + UserDialogHelper.topleftImage();
  45.       String var16 = "<img> " + UserDialogHelper.toprightImage();
  46.       String var17 = "<img> " + UserDialogHelper.bottomleftImage();
  47.       String var18 = "<img> " + UserDialogHelper.bottomrightImage();
  48.       String var19 = UserDialogHelper.targetDetailDialogTitle();
  49.       String var20 = UserDialogHelper.targetDialogCaption1();
  50.       String var21 = UserDialogHelper.targetDetailDialogDescription();
  51.       SecurityManager.enablePrivilege("UniversalFileAccess");
  52.       SecurityManager.enablePrivilege("UniversalTopLevelWindow");
  53.       GlobalCtxt.applet_g = new AwtPseudoApplet();
  54.       GlobalCtxt.minFnSz_g = UserDialogHelper.userDialogMinFontSize();
  55.       GlobalCtxt.maxFnSz_g = UserDialogHelper.userDialogMaxFontSize();
  56.       GlobalCtxt.initFnNm_g = UserDialogHelper.userDialogInitialFontName();
  57.       GlobalCtxt.initFn_g = new Font(GlobalCtxt.initFnNm_g, 0, UserDialogHelper.userDialogInitialFontSize());
  58.       if (theFrmSecDialog == null) {
  59.          theFrmSecDialog = new FrmSec(this);
  60.          ObjectPeer.setAppletToNull(theFrmSecDialog);
  61.          theFrmSecDialog.setTitle(UserDialogHelper.userDialogTitle());
  62.          theFrmSecDialog.lbSecWarn.setText(var5);
  63.          theFrmSecDialog.btnSecDetail.setLabel(var6);
  64.          theFrmSecDialog.btnSecGrant.setLabel(var1);
  65.          theFrmSecDialog.btnSecDeny.setLabel(var2);
  66.          theFrmSecDialog.btnSecHelp.setLabel(var3);
  67.          theFrmSecDialog.btnSecView.setLabel(var7);
  68.          theFrmSecDialog.reshape(theFrmSecRect.x, theFrmSecRect.y, theFrmSecRect.width, theFrmSecRect.height);
  69.       }
  70.  
  71.       if (theFrmCertDialog == null) {
  72.          theFrmCertDialog = new FrmCert(this);
  73.          ObjectPeer.setAppletToNull(theFrmCertDialog);
  74.          theFrmCertDialog.lbCertHead.setText(var8);
  75.          theFrmCertDialog.lbCertImgBottom.setText(var12);
  76.          theFrmCertDialog.lbCertImgTop.setText(var11);
  77.          theFrmCertDialog.lbCertImgLeft.setText(var13);
  78.          theFrmCertDialog.lbCertImgRight.setText(var14);
  79.          theFrmCertDialog.lbCertImgBotLeft.setText(var17);
  80.          theFrmCertDialog.lbCertImgTopLeft.setText(var15);
  81.          theFrmCertDialog.lbCertImgBotRight.setText(var18);
  82.          theFrmCertDialog.lbCertImgTopRight.setText(var16);
  83.          theFrmCertDialog.lbCertNATitle.setText(var9);
  84.          theFrmCertDialog.lbCertIBTitle.setText(var10);
  85.          theFrmCertDialog.btnCertClose.setLabel(var4);
  86.          theFrmCertDialog.btnCertHelp.setLabel(var3);
  87.          theFrmCertDialog.reshape(theFrmCertRect.x, theFrmCertRect.y, theFrmCertRect.width, theFrmCertRect.height);
  88.       }
  89.  
  90.       if (theFrmDetailDialog == null) {
  91.          theFrmDetailDialog = new FrmDetail(this);
  92.          ObjectPeer.setAppletToNull(theFrmDetailDialog);
  93.          theFrmDetailDialog.setTitle(var19);
  94.          theFrmDetailDialog.lbDetDesc.setText(var21);
  95.          theFrmDetailDialog.lbDetConsist.setText(var20);
  96.          theFrmDetailDialog.btnDetClose.setLabel(var4);
  97.          theFrmDetailDialog.btnDetHelp.setLabel(var3);
  98.          theFrmDetailDialog.reshape(theFrmDetailRect.x, theFrmDetailRect.y, theFrmDetailRect.width, theFrmDetailRect.height);
  99.       }
  100.  
  101.       theBlankPrivilege = Privilege.findPrivilege(2, 1);
  102.    }
  103.  
  104.    Privilege show(UserTarget var1, Principal var2, Object var3) {
  105.       if (var1 == null) {
  106.          throw new ForbiddenTargetException("no target");
  107.       } else {
  108.          Object var5 = lock;
  109.          synchronized(var5) {
  110.             try {
  111.                while(theCurrentDialog != null) {
  112.                   try {
  113.                      lock.wait();
  114.                   } catch (InterruptedException var26) {
  115.                      System.out.println("interrupted before dialog!");
  116.                      ((Throwable)var26).printStackTrace(System.out);
  117.                      Privilege var4 = theBlankPrivilege;
  118.                      return var4;
  119.                   }
  120.                }
  121.  
  122.                theCurrentDialog = theFrmSecDialog;
  123.                this.itsTarget = var1;
  124.                this.itsPrin = var2;
  125.                this.itsData = var3;
  126.                this.setFrmSecDialogStrings();
  127.                this.itsPrivilege = theBlankPrivilege;
  128.                FrmSec var9 = theFrmSecDialog;
  129.                synchronized(var9){}
  130.  
  131.                try {
  132.                   theFrmSecDialog.show();
  133.                   theFrmSecDialog.toFront();
  134.  
  135.                   try {
  136.                      theFrmSecDialog.wait();
  137.                   } catch (Throwable var24) {
  138.                      System.out.println("interrupted during dialog!");
  139.                      var24.printStackTrace(System.out);
  140.                   }
  141.  
  142.                   return this.itsPrivilege;
  143.                } catch (Throwable var25) {
  144.                   throw var25;
  145.                }
  146.             } catch (Throwable var27) {
  147.                System.out.println("interrupted during dialog!");
  148.                var27.printStackTrace(System.out);
  149.                return this.itsPrivilege;
  150.             } finally {
  151.                theFrmSecDialog.hide();
  152.                theFrmCertDialog.hide();
  153.                theFrmDetailDialog.hide();
  154.                theCurrentDialog = null;
  155.                lock.notifyAll();
  156.             }
  157.          }
  158.       }
  159.    }
  160.  
  161.    private void setFrmSecDialogStrings() {
  162.       String var1 = this.itsTarget.getRisk();
  163.       String var2 = this.itsTarget.getDetailedInfo(this.itsData);
  164.       String var3 = this.itsTarget.getDescription() + (var2.equals("") ? "" : " (" + var2 + ")");
  165.       String var4 = this.itsPrin.getVendor();
  166.       String var5 = UserDialogHelper.riskLabel(var1);
  167.       String var6 = UserDialogHelper.rememberPrivilege();
  168.       String var7;
  169.       if (this.itsPrin.isCodebase()) {
  170.          var7 = UserDialogHelper.dialogHeadingCodebase(var4);
  171.          theFrmSecDialog.lbIdentity.setText(" ");
  172.          theFrmSecDialog.lbIdentity.disable();
  173.          theFrmSecDialog.btnSecView.hide();
  174.       } else {
  175.          String var8 = this.itsPrin.getSecAuth();
  176.          var7 = UserDialogHelper.dialogHeadingCert(var4);
  177.          theFrmSecDialog.lbIdentity.setText(UserDialogHelper.certIdentity(var8));
  178.          theFrmSecDialog.lbIdentity.enable();
  179.          theFrmSecDialog.btnSecView.show();
  180.       }
  181.  
  182.       theFrmSecDialog.lbSecDesc.setText(var3 + " <BW>");
  183.       theFrmSecDialog.lbSecHeading.setText(var7);
  184.       theFrmSecDialog.lbSecRiskLabel.setText(var5);
  185.       theFrmSecDialog.lbSecRem.setText(var6);
  186.       theFrmSecDialog.cbSecRem.setState(false);
  187.       GlobalCtxt.setTxtDirty(theFrmSecDialog, theFrmSecDialog.lbSecDesc);
  188.       GlobalCtxt.setTxtDirty(theFrmSecDialog, theFrmSecDialog.lbIdentity);
  189.       GlobalCtxt.setTxtDirty(theFrmSecDialog, theFrmSecDialog.lbSecHeading);
  190.       GlobalCtxt.setTxtDirty(theFrmSecDialog, theFrmSecDialog.lbSecRiskLabel);
  191.       GlobalCtxt.setTxtDirty(theFrmSecDialog, theFrmSecDialog.lbSecRem);
  192.    }
  193.  
  194.    private void setFrmCertDialogStrings() {
  195.       if (!this.itsPrin.equals(this.itsCurrentPrin)) {
  196.          String var1 = this.itsPrin.getVendor();
  197.          String var2 = UserDialogHelper.certSerialNo(this.itsPrin.getSerialNo());
  198.          String var3 = UserDialogHelper.certExpiresCaption(this.itsPrin.getExpDate());
  199.          String var4 = UserDialogHelper.certFingerprint(this.itsPrin.getFingerPrint());
  200.          theFrmCertDialog.setTitle(UserDialogHelper.principalDetailTitle(var1));
  201.          theFrmCertDialog.lbCertNAddr.setText(this.itsPrin.getCompanyName() + " <BW>");
  202.          theFrmCertDialog.lbCertSerNum.setText(var2);
  203.          theFrmCertDialog.lbCertFPrint.setText(var4);
  204.          theFrmCertDialog.lbCertExpire.setText(var3);
  205.          theFrmCertDialog.lbCertIssuer.setText(this.itsPrin.getSecAuth() + " <BW>");
  206.          GlobalCtxt.setTxtDirty(theFrmCertDialog, theFrmCertDialog.lbCertNAddr);
  207.          GlobalCtxt.setTxtDirty(theFrmCertDialog, theFrmCertDialog.lbCertSerNum);
  208.          GlobalCtxt.setTxtDirty(theFrmCertDialog, theFrmCertDialog.lbCertFPrint);
  209.          GlobalCtxt.setTxtDirty(theFrmCertDialog, theFrmCertDialog.lbCertExpire);
  210.          GlobalCtxt.setTxtDirty(theFrmCertDialog, theFrmCertDialog.lbCertIssuer);
  211.          this.itsCurrentPrin = this.itsPrin;
  212.       }
  213.    }
  214.  
  215.    private void setFrmDetailDialogStrings(Target var1) {
  216.       if (!var1.equals(this.itsCurrentTarget)) {
  217.          String var2 = var1.getRisk();
  218.          String var3 = var1.getDescription().replace('\n', ' ');
  219.          String var4 = UserDialogHelper.targetDialogHeading(var3, var2);
  220.          String var5 = var1.getDetailDescription().replace('\n', ' ');
  221.          Target[] var6 = var1.getFlattenedTargetAry();
  222.          theFrmDetailDialog.lbDetDescCon.setText(var5 + " <BW>");
  223.          theFrmDetailDialog.lbDetHead.setText(var4);
  224.          theFrmDetailDialog.lstDetTarg.clear();
  225.          int var7 = var6.length;
  226.  
  227.          while(var7-- > 0) {
  228.             theFrmDetailDialog.lstDetTarg.addItem(var6[var7].getDescription().replace('\n', ' ') + " (" + var6[var7].getRisk() + ")");
  229.          }
  230.  
  231.          GlobalCtxt.setTxtDirty(theFrmDetailDialog, theFrmDetailDialog.lbDetHead);
  232.          GlobalCtxt.setTxtDirty(theFrmDetailDialog, theFrmDetailDialog.lbDetDescCon);
  233.          this.itsCurrentTarget = var1;
  234.       }
  235.    }
  236.  
  237.    public boolean handleEvent(Frame var1, Event var2) {
  238.       if (var2.id != 201 && var2.id != 1001) {
  239.          return false;
  240.       } else {
  241.          if (var1 == theFrmSecDialog) {
  242.             FrmSec var3 = (FrmSec)var1;
  243.             if (var2.id != 201 && var2.target != var3.btnSecGrant && var2.target != var3.btnSecDeny) {
  244.                if (var2.target == var3.btnSecView) {
  245.                   this.setFrmCertDialogStrings();
  246.                   theFrmCertDialog.show();
  247.                } else {
  248.                   if (var2.target != var3.btnSecDetail) {
  249.                      if (var2.target == var3.btnSecHelp) {
  250.                         return this.displayHelpDialogs();
  251.                      }
  252.  
  253.                      return false;
  254.                   }
  255.  
  256.                   this.setFrmDetailDialogStrings(this.itsTarget);
  257.                   theFrmDetailDialog.show();
  258.                }
  259.             } else {
  260.                if (var2.target == var3.btnSecGrant || var2.target == var3.btnSecDeny) {
  261.                   boolean var4 = var2.target == var3.btnSecGrant;
  262.                   boolean var5 = var3.cbSecRem.getState();
  263.                   this.itsPrivilege = this.getPrivilege(var4, var5);
  264.                   ((Component)var3).hide();
  265.                }
  266.  
  267.                FrmSec var10 = theFrmSecDialog;
  268.                synchronized(var10){}
  269.  
  270.                try {
  271.                   theFrmSecDialog.notify();
  272.                } catch (Throwable var7) {
  273.                   throw var7;
  274.                }
  275.             }
  276.          } else if (var1 == theFrmCertDialog) {
  277.             FrmCert var8 = (FrmCert)var1;
  278.             if (var2.target == var8.btnCertHelp) {
  279.                return this.displayHelpDialogs();
  280.             }
  281.  
  282.             if (var2.target != var8.btnCertClose) {
  283.                return false;
  284.             }
  285.  
  286.             theFrmCertDialog.hide();
  287.          } else {
  288.             if (var1 != theFrmDetailDialog) {
  289.                return false;
  290.             }
  291.  
  292.             FrmDetail var9 = (FrmDetail)var1;
  293.             if (var2.target == var9.btnDetHelp) {
  294.                return this.displayHelpDialogs();
  295.             }
  296.  
  297.             if (var2.target != var9.btnDetClose) {
  298.                return false;
  299.             }
  300.  
  301.             theFrmDetailDialog.hide();
  302.          }
  303.  
  304.          return true;
  305.       }
  306.    }
  307.  
  308.    private boolean displayHelpDialogs() {
  309.       return this.showHelp(UserDialogHelper.userDialogHelpUrl()) ? true : true;
  310.    }
  311.  
  312.    private Privilege getPrivilege(boolean var1, boolean var2) {
  313.       byte var4;
  314.       byte var5;
  315.       if (var1) {
  316.          var4 = 1;
  317.          if (var2) {
  318.             var5 = 2;
  319.          } else {
  320.             var5 = 1;
  321.          }
  322.       } else if (var2) {
  323.          var4 = 0;
  324.          var5 = 2;
  325.       } else {
  326.          var4 = 2;
  327.          var5 = 1;
  328.       }
  329.  
  330.       Privilege var3 = Privilege.findPrivilege(var4, var5);
  331.       return var3;
  332.    }
  333.  
  334.    boolean showHelp(String var1) {
  335.       PrivilegeManager var2 = PrivilegeManager.getPrivilegeManager();
  336.       return var2 == null ? false : var2.showDocument(var1, "_self");
  337.    }
  338. }
  339.