Package org.wiztools.restclient.ui.reqssl

Source Code of org.wiztools.restclient.ui.reqssl.ReqSSLPanelImpl

package org.wiztools.restclient.ui.reqssl;

import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import javax.annotation.PostConstruct;
import javax.inject.Inject;
import javax.swing.*;
import org.wiztools.restclient.bean.SSLHostnameVerifier;
import org.wiztools.restclient.bean.SSLKeyStore;
import org.wiztools.restclient.bean.SSLReq;
import org.wiztools.restclient.bean.SSLReqBean;
import org.wiztools.restclient.ui.*;

/**
*
* @author subwiz
*/
public class ReqSSLPanelImpl extends JPanel implements ReqSSLPanel {
    @Inject RESTView view;
    @Inject RESTUserInterface rest_ui;
   
    // SSL - general
    private final JComboBox<SSLHostnameVerifier> jcb_ssl_hostname_verifier = new JComboBox<>(SSLHostnameVerifier.getAll());
    private final JCheckBox jcb_ssl_trust_self_signed_cert = new JCheckBox("Trust self-signed certificate? ");
   
    // SSL - trust store
    @Inject private KeyStorePanel jp_truststore;
   
    // SSL - key store
    @Inject private KeyStorePanel jp_keystore;

    @Override
    public SSLReq getSslReq() {
        SSLReqBean out = new SSLReqBean();
       
        out.setHostNameVerifier((SSLHostnameVerifier) jcb_ssl_hostname_verifier.getSelectedItem());
        out.setTrustSelfSignedCert(jcb_ssl_trust_self_signed_cert.isSelected());
       
        SSLKeyStore trustStore = jp_truststore.getKeyStore();   
        out.setTrustStore(trustStore);
       
        SSLKeyStore keyStore = jp_keystore.getKeyStore();
        out.setKeyStore(keyStore);

        return out;
    }

    @Override
    public void setSslReq(SSLReq sslReq) {
        // general tab:
        jcb_ssl_hostname_verifier.setSelectedItem(sslReq.getHostNameVerifier());
        jcb_ssl_trust_self_signed_cert.setSelected(sslReq.isTrustSelfSignedCert());
       
        // truststore / keystore tab:
        jp_truststore.setKeyStore(sslReq.getTrustStore());
        jp_keystore.setKeyStore(sslReq.getKeyStore());
    }
   
    @Override
    public void clear() {
        jcb_ssl_hostname_verifier.setSelectedItem(SSLHostnameVerifier.STRICT);
        jcb_ssl_trust_self_signed_cert.setSelected(false);
       
        jp_truststore.clear();
        jp_keystore.clear();
    }
   
    @PostConstruct
    protected void init() {
        setLayout(new BorderLayout(RESTView.BORDER_WIDTH, 2));
       
        JTabbedPane jtp_ssl = new JTabbedPane();

        { // SSL General:
            JPanel jpGrid = new JPanel(new GridLayout(2, 1));
            { // Trust self-signed cert:
                JPanel jp = new JPanel();
                jp.setLayout(new FlowLayout(FlowLayout.LEFT));
                jcb_ssl_trust_self_signed_cert.setHorizontalTextPosition(SwingConstants.LEFT);
                jp.add(jcb_ssl_trust_self_signed_cert);
                jpGrid.add(jp);
            }
            { // Hostname verifier:
                JPanel jp = new JPanel();
                jp.setLayout(new FlowLayout(FlowLayout.LEFT));
                jp.add(new JLabel(" Hostname verifier:"));
                jp.add(jcb_ssl_hostname_verifier);
                jpGrid.add(jp);
            }

            jtp_ssl.addTab("General", UIUtil.getFlowLayoutPanelLeftAligned(jpGrid));
        }

        { // Trust / Key store:
            jp_truststore.setLabel("Truststore:");
            jp_truststore.setTitle("Enter Truststore Details");
           
            jp_keystore.setLabel("Keystore:");
            jp_keystore.setTitle("Enter Keystore Details");
           
            JPanel jp_grid = new JPanel(new GridLayout(2, 1));
            jp_grid.add(jp_truststore);
            jp_grid.add(jp_keystore);
           
            jtp_ssl.addTab("Truststore / Keystore",
                    UIUtil.getFlowLayoutPanelLeftAligned(jp_grid));
        }

        add(jtp_ssl);
    }

    @Override
    public Component getComponent() {
        return this;
    }
}
TOP

Related Classes of org.wiztools.restclient.ui.reqssl.ReqSSLPanelImpl

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.