summaryrefslogtreecommitdiffstats
path: root/pki/base/console/src/com/netscape/admin/certsrv/config/WBaseValidityPage.java
diff options
context:
space:
mode:
Diffstat (limited to 'pki/base/console/src/com/netscape/admin/certsrv/config/WBaseValidityPage.java')
-rw-r--r--pki/base/console/src/com/netscape/admin/certsrv/config/WBaseValidityPage.java258
1 files changed, 258 insertions, 0 deletions
diff --git a/pki/base/console/src/com/netscape/admin/certsrv/config/WBaseValidityPage.java b/pki/base/console/src/com/netscape/admin/certsrv/config/WBaseValidityPage.java
new file mode 100644
index 000000000..c09d6efa7
--- /dev/null
+++ b/pki/base/console/src/com/netscape/admin/certsrv/config/WBaseValidityPage.java
@@ -0,0 +1,258 @@
+// --- BEGIN COPYRIGHT BLOCK ---
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; version 2 of the License.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+//
+// (C) 2007 Red Hat, Inc.
+// All rights reserved.
+// --- END COPYRIGHT BLOCK ---
+package com.netscape.admin.certsrv.config;
+
+import java.awt.*;
+import java.text.*;
+import java.util.*;
+import javax.swing.*;
+import javax.swing.event.*;
+import com.netscape.admin.certsrv.*;
+import com.netscape.admin.certsrv.connection.*;
+import com.netscape.admin.certsrv.wizard.*;
+import com.netscape.certsrv.common.*;
+
+/**
+ * CA signing cert for installation wizard.
+ *
+ * @author Christine Ho
+ * @version $Revision$, $Date$
+ * @see com.netscape.admin.certsrv.config.install
+ */
+public class WBaseValidityPage extends WizardBasePanel {
+ protected String mPanelName = "";
+ protected JTextField mBYear, mBMonth, mBDay, mBHour, mBMin, mBSec;
+ protected JTextField mEYear, mEMonth, mEDay, mEHour, mEMin, mESec;
+ protected final static String DATE_PATTERN = "dd/MM/yyyy:HH:mm:ss";
+ protected Date mBeforeDate, mAfterDate;
+ protected boolean mWarningDisplayed = false;
+
+ public WBaseValidityPage(String panelName) {
+ super(panelName);
+ mPanelName = panelName;
+ }
+
+ public boolean validatePanel() {
+ String beginYear = mBYear.getText().trim();
+ String afterYear = mEYear.getText().trim();
+ String beginMonth = mBMonth.getText().trim();
+ String afterMonth = mEMonth.getText().trim();
+ String beginDay = mBDay.getText().trim();
+ String afterDay = mEDay.getText().trim();
+ String beginHour = mBHour.getText().trim();
+ String afterHour = mEHour.getText().trim();
+ String beginMin = mBMin.getText().trim();
+ String afterMin = mEMin.getText().trim();
+ String beginSec = mBSec.getText().trim();
+ String afterSec = mESec.getText().trim();
+
+ int bYear = Integer.parseInt(beginYear);
+ int aYear = Integer.parseInt(afterYear);
+
+/*
+POSIX timestamps used in most UNIX systems are 32-bit signed integers,
+which gives you 2^31 seconds or about 68 years of useful time. The
+epoch is 1970-01-01 00:00:00, so the counter will overflow sometime in
+January 2038.
+*/
+ // if (bYear > 2032 || aYear > 2032) {
+ if (bYear > 2037 || aYear > 2037) {
+ String errorMsg = mResource.getString(mPanelName+
+ "_LABEL_MAXYEAR_LABEL");
+ JOptionPane.showMessageDialog(mParent, errorMsg, "Warning",
+ JOptionPane.WARNING_MESSAGE,
+ CMSAdminUtil.getImage(CMSAdminResources.IMAGE_WARN_ICON));
+ return false;
+ }
+
+ String beginDateStr = beginDay+"/"+beginMonth+"/"+beginYear+":"
+ +beginHour+":"+beginMin+":"+beginSec;
+ String endDateStr = afterDay+"/"+afterMonth+"/"+afterYear+":"
+ +afterHour+":"+afterMin+":"+afterSec;
+
+ SimpleDateFormat format = new SimpleDateFormat(DATE_PATTERN);
+ format.setLenient(false);
+ mBeforeDate = null;
+ mAfterDate = null;
+
+ try {
+ mBeforeDate = format.parse(beginDateStr);
+ } catch (ParseException e) {
+ setErrorMessage("INVALIDBEGINDATE");
+ return false;
+ }
+
+ try {
+ mAfterDate = format.parse(endDateStr);
+ } catch (ParseException e) {
+ setErrorMessage("INVALIDENDDATE");
+ return false;
+ }
+
+ if (mAfterDate.before(mBeforeDate)) {
+ setErrorMessage("SMALLAFTERDATE");
+ return false;
+ }
+
+ return true;
+ }
+
+ public boolean concludePanel(WizardInfo info) {
+ return true;
+ }
+
+ protected void init() {
+ GridBagLayout gb = new GridBagLayout();
+ GridBagConstraints gbc = new GridBagConstraints();
+ setLayout(gb);
+
+ JTextArea heading = createTextArea(mResource.getString(
+ mPanelName+"_LABEL_VALIDITY_LABEL"));
+ CMSAdminUtil.resetGBC(gbc);
+ gbc.anchor = gbc.NORTHWEST;
+ gbc.weightx = 1.0;
+ gbc.gridwidth = gbc.REMAINDER;
+ gbc.insets = new Insets(COMPONENT_SPACE, COMPONENT_SPACE,
+ COMPONENT_SPACE, COMPONENT_SPACE);
+ add(heading, gbc);
+
+ JLabel blank = new JLabel(" ");
+ CMSAdminUtil.resetGBC(gbc);
+ gbc.anchor = gbc.EAST;
+ gbc.fill = gbc.NONE;
+ gbc.insets = new Insets(COMPONENT_SPACE, COMPONENT_SPACE, 0,
+ COMPONENT_SPACE);
+ add(blank, gbc);
+
+ JLabel yearLbl = makeJLabel("YEAR");
+ CMSAdminUtil.resetGBC(gbc);
+ gbc.anchor = gbc.WEST;
+ gbc.fill = gbc.NONE;
+ gbc.insets = new Insets(COMPONENT_SPACE, COMPONENT_SPACE, 0,
+ COMPONENT_SPACE);
+ add(yearLbl, gbc);
+
+ JLabel monthLbl = makeJLabel("MONTH");
+ add(monthLbl, gbc);
+
+ JLabel dayLbl = makeJLabel("DAY");
+ add(dayLbl, gbc);
+
+ JLabel hourLbl = makeJLabel("HOUR");
+ add(hourLbl, gbc);
+
+ JLabel minLbl = makeJLabel("MIN");
+ add(minLbl, gbc);
+
+ JLabel secLbl = makeJLabel("SEC");
+ gbc.gridwidth = gbc.REMAINDER;
+ add(secLbl, gbc);
+
+ JLabel beginLbl = makeJLabel("BEGIN");
+ CMSAdminUtil.resetGBC(gbc);
+ gbc.anchor = gbc.EAST;
+ gbc.fill = gbc.NONE;
+ gbc.insets = new Insets(COMPONENT_SPACE, COMPONENT_SPACE,
+ COMPONENT_SPACE, COMPONENT_SPACE);
+ add(beginLbl, gbc);
+
+ //DateFormat dateFormat = DataFormat.getDateTimeInstance(
+ // DateFormat.FULL,DateFormat.MEDIUM);
+
+ Date nowDate = new Date();
+
+ Date afterDate = new Date(nowDate.getYear()+5, nowDate.getMonth(),
+ nowDate.getDate());
+
+ mBYear = new JTextField(""+(nowDate.getYear()+1900));
+ mBYear.setColumns(4);
+ CMSAdminUtil.resetGBC(gbc);
+ gbc.anchor = gbc.WEST;
+ gbc.fill = gbc.NONE;
+ gbc.insets = new Insets(COMPONENT_SPACE, COMPONENT_SPACE, 0,
+ COMPONENT_SPACE);
+ add(mBYear, gbc);
+
+ mBMonth = new JTextField(""+(nowDate.getMonth()+1));
+ mBMonth.setColumns(3);
+ add(mBMonth, gbc);
+
+ mBDay = new JTextField(""+nowDate.getDate());
+ mBDay.setColumns(3);
+ add(mBDay, gbc);
+
+ mBHour = new JTextField("00");
+ mBHour.setColumns(3);
+ add(mBHour, gbc);
+
+ mBMin = new JTextField("00");
+ mBMin.setColumns(3);
+ add(mBMin, gbc);
+
+ mBSec = new JTextField("00");
+ mBSec.setColumns(3);
+ gbc.gridwidth = gbc.REMAINDER;
+ add(mBSec, gbc);
+
+ JLabel expireLbl = makeJLabel("EXPIRE");
+ CMSAdminUtil.resetGBC(gbc);
+ gbc.anchor = gbc.WEST;
+ gbc.fill = gbc.NONE;
+ gbc.insets = new Insets(COMPONENT_SPACE, COMPONENT_SPACE,
+ COMPONENT_SPACE, COMPONENT_SPACE);
+ add(expireLbl, gbc);
+
+ mEYear = new JTextField(""+(afterDate.getYear()+1900));
+ mEYear.setColumns(4);
+ CMSAdminUtil.resetGBC(gbc);
+ gbc.anchor = gbc.WEST;
+ gbc.fill = gbc.NONE;
+ gbc.insets = new Insets(COMPONENT_SPACE, COMPONENT_SPACE, 0,
+ COMPONENT_SPACE);
+ add(mEYear, gbc);
+
+ mEMonth = new JTextField(""+(afterDate.getMonth()+1));
+ mEMonth.setColumns(3);
+ add(mEMonth, gbc);
+
+ mEDay = new JTextField(""+afterDate.getDate());
+ mEDay.setColumns(3);
+ add(mEDay, gbc);
+
+ mEHour = new JTextField("00");
+ mEHour.setColumns(3);
+ add(mEHour, gbc);
+
+ mEMin = new JTextField("00");
+ mEMin.setColumns(3);
+ add(mEMin, gbc);
+
+ mESec = new JTextField("00");
+ mESec.setColumns(3);
+ gbc.gridwidth = gbc.REMAINDER;
+ add(mESec, gbc);
+
+ JLabel dummy = new JLabel(" ");
+ CMSAdminUtil.resetGBC(gbc);
+ gbc.anchor = gbc.WEST;
+ gbc.weighty = 1.0;
+ gbc.gridheight = gbc.REMAINDER;
+ gbc.gridwidth = gbc.REMAINDER;
+ add(dummy, gbc);
+ }
+}