From a4682ceae6774956461edd03b2485bbacea445f4 Mon Sep 17 00:00:00 2001 From: mharmsen Date: Tue, 4 Oct 2011 01:17:41 +0000 Subject: Bugzilla Bug #688225 - (dogtagIPAv2.1) TRACKER: of the Dogtag fixes for freeIPA 2.1 git-svn-id: svn+ssh://svn.fedorahosted.org/svn/pki/tags/IPA_v2_RHEL_6_2_20111003@2252 c9f7a03b-bd48-0410-a16d-cbbf54688b0b --- .../admin/certsrv/config/JobsSettingPanel.java | 243 +++++++++++++++++++++ 1 file changed, 243 insertions(+) create mode 100644 pki/base/console/src/com/netscape/admin/certsrv/config/JobsSettingPanel.java (limited to 'pki/base/console/src/com/netscape/admin/certsrv/config/JobsSettingPanel.java') diff --git a/pki/base/console/src/com/netscape/admin/certsrv/config/JobsSettingPanel.java b/pki/base/console/src/com/netscape/admin/certsrv/config/JobsSettingPanel.java new file mode 100644 index 000000000..b33613014 --- /dev/null +++ b/pki/base/console/src/com/netscape/admin/certsrv/config/JobsSettingPanel.java @@ -0,0 +1,243 @@ +// --- 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 com.netscape.admin.certsrv.*; +import com.netscape.certsrv.common.*; +import com.netscape.management.client.util.*; +import com.netscape.admin.certsrv.connection.*; +import com.netscape.admin.certsrv.config.*; +import javax.swing.*; +import java.awt.*; +import java.util.*; +import java.awt.event.*; + +/** + * Jobs Scheduler setting tab + * + * @author cfu + * @version $Revision$, $Date$ + */ +public class JobsSettingPanel extends CMSBaseTab implements ItemListener { + private static final String HELPINDEX = + "jobsscheduler-certsrv-setting-jobrule-help"; + private JTextField mFrequencyText; + private JCheckBox mEnable; + private Color mActiveColor; + private JLabel mFrequencyLabel; + protected AdminConnection mAdmin; + protected CMSBaseResourceModel mModel; + private String mServletName; + private CMSTabPanel mParent; + private String mPanelName; + + public JobsSettingPanel(String panelName, CMSTabPanel parent) { + this(panelName, parent, true); + mPanelName = panelName; + } + + public JobsSettingPanel(String panelName, CMSTabPanel parent, boolean flag) { + super(panelName, parent); + mServletName = DestDef.DEST_JOBS_ADMIN; + mHelpToken = HELPINDEX; + mModel = parent.getResourceModel(); + mParent = parent; + } + + public void init() { + mAdmin = mModel.getServerInfo().getAdmin(); + JPanel serverInfo = new JPanel(); + GridBagLayout gb = new GridBagLayout(); + GridBagConstraints gbc = new GridBagConstraints(); + mCenterPanel.setLayout(gb); + + //add the enable checkbox + mEnable = makeJCheckBox("ENABLE"); + mEnable.setSelected(true); + CMSAdminUtil.resetGBC(gbc); + gbc.anchor = gbc.NORTHWEST; + gbc.fill = gbc.NONE; + gbc.gridwidth = gbc.REMAINDER; + gbc.weightx = 1.0; + gbc.insets = new Insets(DIFFERENT_COMPONENT_SPACE, + DIFFERENT_COMPONENT_SPACE, + 0, + DIFFERENT_COMPONENT_SPACE); + gb.setConstraints(mEnable, gbc); + mCenterPanel.add(mEnable); + + //add the frequency panel + CMSAdminUtil.resetGBC(gbc); + gbc.anchor = gbc.NORTH; + gbc.gridwidth = gbc.REMAINDER; + gbc.gridheight = gbc.REMAINDER; + gbc.weightx = 1.0; + gbc.weighty = 1.0; + gb.setConstraints(serverInfo, gbc); + mCenterPanel.add(serverInfo); + + GridBagLayout gb1 = new GridBagLayout(); + serverInfo.setLayout(gb1); + serverInfo.setBorder(makeTitledBorder("FREQUENCY")); + + // add frequency label and text field + CMSAdminUtil.resetGBC(gbc); + mFrequencyLabel = makeJLabel("FREQUENCY"); + mFrequencyText = makeJTextField(30); + mActiveColor = mFrequencyText.getBackground(); + JLabel dateLabel = makeJLabel("MINUTES"); + CMSAdminUtil.addEntryField(serverInfo, + mFrequencyLabel, mFrequencyText, dateLabel, gbc); + + refresh(); + } + + public void refresh() { + mModel.progressStart(); + NameValuePairs nvps = new NameValuePairs(); + nvps.add(Constants.PR_ENABLE,""); + nvps.add(Constants.PR_JOBS_FREQUENCY, ""); + + try { + NameValuePairs val = mAdmin.read(mServletName, + ScopeDef.SC_JOBS, Constants.RS_ID_CONFIG, nvps); + + populate(val); + } catch (EAdminException e) { + showErrorDialog(e.toString()); + mModel.progressStop(); + } + mModel.progressStop(); + clearDirtyFlag(); + mParent.setOKCancel(); + } + + protected void populate(NameValuePairs nvps) { + String clientCert = ""; + + String version = ""; + for (int i=0; i