bloritsch    01/10/26 06:07:54

  Modified:    src/org/apache/jmeter/util SSLManager.java
  Log:
  Remove direct dependancy on other classes.
  
  Revision  Changes    Path
  1.5       +24 -18    jakarta-jmeter/src/org/apache/jmeter/util/SSLManager.java
  
  Index: SSLManager.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/org/apache/jmeter/util/SSLManager.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- SSLManager.java   2001/10/24 15:46:55     1.4
  +++ SSLManager.java   2001/10/26 13:07:54     1.5
  @@ -57,9 +57,8 @@
   import java.io.File;
   import java.io.FileInputStream;
   
  -import java.security.cert.Certificate;
  -import java.security.cert.X509Certificate;
  -import java.security.*;
  +import java.security.Provider;
  +import java.security.Security;
   
   import java.util.ArrayList;
   import java.util.Enumeration;
  @@ -70,10 +69,9 @@
   
   import javax.swing.JOptionPane;
   
  -import com.sun.net.ssl.*;
  -
   import org.apache.jmeter.gui.GuiPackage;
  -import iaik.protocol.https.HttpsURLStreamHandlerFactory;
  +
  +import java.lang.reflect.Constructor;
   
   /**
    * The SSLManager handles the KeyStore information for JMeter.  Basically, it
  @@ -83,7 +81,7 @@
    * make a decision, it will pop open a dialog asking you for more information.
    *
    * @author <a href="[EMAIL PROTECTED]">Berin Loritsch</a>
  - * @version CVS $Revision: 1.4 $ $Date: 2001/10/24 15:46:55 $
  + * @version CVS $Revision: 1.5 $ $Date: 2001/10/26 13:07:54 $
    */
   public abstract class SSLManager {
       /** Singleton instance of the manager */
  @@ -114,11 +112,22 @@
       public static final SSLManager getInstance() {
           if (null == SSLManager.manager) {
               if (SSLManager.isSSLSupported) {
  +                String classname = null;
                   if (SSLManager.isIAIKProvider) {
  -                    SSLManager.manager = new IaikSSLManager(SSLManager.sslProvider);
  +                    classname = "org.apache.jmeter.util.IaikSSLManager";
                   } else {
  -                    SSLManager.manager = new JsseSSLManager(SSLManager.sslProvider);
  +                    classname = "org.apache.jmeter.util.JsseSSLManager";
                   }
  +
  +                try {
  +                    Class clazz = 
SSLManager.class.getClassLoader().loadClass(classname);
  +                    Constructor constructor = clazz.getConstructor(new Class[] 
{SSLManager.sslProvider.getClass()});
  +                    SSLManager.manager = (SSLManager) constructor.newInstance(new 
Object[] {SSLManager.sslProvider});
  +                } catch (Exception e) {
  +                    e.printStackTrace(System.err);
  +                    SSLManager.isSSLSupported = false;
  +                    return null;
  +                }
               }
           }
   
  @@ -127,16 +136,16 @@
   
       /**
        * Test wether SSL is supported or not.
  -     */ 
  +     */
       public static final boolean isSSLSupported() {
           return SSLManager.isSSLSupported;
       }
   
       // moved from SSLStaticProvider so all SSL specific management is done in one 
place.
       static
  -     {
  +    {
           try {
  -            SSLManager.sslProvider = 
(Provider)Class.forName(JMeterUtils.getPropDefault("ssl.provider",null)).newInstance();
 
  +            SSLManager.sslProvider = 
(Provider)Class.forName(JMeterUtils.getPropDefault("ssl.provider",null)).newInstance();
           } catch (Exception ssl) {
               try {
                   Class iaikProvider = 
SSLManager.class.getClassLoader().loadClass("iaik.security.jsse.provider.IAIKJSSEProvider");
  @@ -165,17 +174,14 @@
   
           // register https protocol handler.  JSSE needs a provider--but iSaSiLk 
does not.
           if (null != protocol) {
  +            System.setProperty("java.protocol.handler.pkgs", protocol);
               if ("iaik.protocol".equals(protocol)) {
  -                System.setProperty("java.protocol.handler.pkgs", "iaik.protocol");
                   SSLManager.isIAIKProvider = true;
  -            } else {
  -                System.setProperty("java.protocol.handler.pkgs", protocol);
  -                URL.setURLStreamHandlerFactory(new HttpsURLStreamHandlerFactory());
               }
  -            
  +
               SSLManager.isSSLSupported = true;
           } else {
               SSLManager.isSSLSupported = false;
           }
  -     }
  +    }
   }
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to