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