public Job getEditingJob() { Job job = new Job(); job.setId(id); job.setName(jobNameTextField.getText()); job.setEnabled(enabledCheckBox.isSelected()); if (scheduledRadioButton.isSelected()) { job.setIntervalUnit(Job.getUnits()[intervalUnitComboBox.getSelectedIndex()]); job.setIntervalPeriod(parseInt(intervalFormattedTextField.getText())); } return job; }
public void setJob(Job job) { jobNameTextField.setEnabled(false); enabledCheckBox.setEnabled(true); saveButton.setEnabled(true); id = job.getId(); jobNameTextField.setText(job.getName()); enabledCheckBox.setSelected(job.isEnabled()); if (job.getIntervalUnit() == null) { onDemandRadioButton.setSelected(true); } else { scheduledRadioButton.setSelected(true); intervalFormattedTextField.setText(String.valueOf(job.getIntervalPeriod())); int index = 0; String[] units = Job.getUnits(); for (int i = 0; i < units.length; i++) if (job.getIntervalUnit().equals(units[i])) index = i; intervalUnitComboBox.setSelectedIndex(index); } }
public JobForm() { final JobForm form = this; this.setContentPane(mainPanel); this.setModal(true); saveButton.setEnabled(false); ButtonGroup group = new ButtonGroup(); group.add(onDemandRadioButton); group.add(scheduledRadioButton); jobNameTextField.addKeyListener( new KeyAdapter() { @Override public void keyTyped(KeyEvent keyEvent) { super.keyTyped(keyEvent); saveButton.setEnabled(!jobNameTextField.getText().isEmpty()); } }); ActionListener radioActionListener = new ActionListener() { @Override public void actionPerformed(ActionEvent actionEvent) { setEnabledOptions(); } }; scheduledRadioButton.addActionListener(radioActionListener); onDemandRadioButton.addActionListener(radioActionListener); intervalUnitComboBox.setModel(new DefaultComboBoxModel(Job.getUnits())); scheduledRadioButton.setSelected(true); intervalFormattedTextField.setText("15"); setEnabledOptions(); intervalFormattedTextField.setInputVerifier( new InputVerifier() { @Override public boolean verify(JComponent jComponent) { if (jComponent instanceof JFormattedTextField) { JFormattedTextField field = (JFormattedTextField) jComponent; try { parseInt(field.getText()); } catch (NumberFormatException e) { return false; } return true; } return false; } }); saveButton.addActionListener( new ActionListener() { @Override public void actionPerformed(ActionEvent actionEvent) { try { form.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR)); String jobName = jobNameTextField.getText().trim(); int interval = onDemandRadioButton.isSelected() ? 0 : parseInt(intervalFormattedTextField.getText()); String unit = onDemandRadioButton.isSelected() ? "none" : Job.getUnits()[intervalUnitComboBox.getSelectedIndex()]; SimpleDateFormat ISO8601DATEFORMAT = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", Locale.ENGLISH); String now = ISO8601DATEFORMAT.format(new Date()); if (!jobName.matches("^[A-Za-z][A-Za-z0-9_]+")) { form.setCursor(Cursor.getDefaultCursor()); JOptionPane.showMessageDialog( form, "Invalid service name. Job name must start with a letter, \n" + "contain only letters, numbers, and undercores.", "Error creating the job", JOptionPane.ERROR_MESSAGE); return; } if (existingJobNames == null) { existingJobNames = new ArrayList<String>(); for (Job job : AzureRestAPIManager.getManager().listJobs(subscriptionId, serviceName)) { existingJobNames.add(job.getName().toLowerCase()); } } if (existingJobNames.contains(jobName.toLowerCase())) { form.setCursor(Cursor.getDefaultCursor()); JOptionPane.showMessageDialog( form, "Invalid job name. A job with that name already exists in this service.", "Error creating the job", JOptionPane.ERROR_MESSAGE); return; } if (id == null) AzureRestAPIManager.getManager() .createJob(subscriptionId, serviceName, jobName, interval, unit, now); else { AzureRestAPIManager.getManager() .updateJob( subscriptionId, serviceName, jobName, interval, unit, now, enabledCheckBox.isSelected()); } if (afterSave != null) afterSave.run(); form.setCursor(Cursor.getDefaultCursor()); form.setVisible(false); form.dispose(); } catch (Throwable ex) { form.setCursor(Cursor.getDefaultCursor()); UIHelper.showException("Error trying to save job", ex); } } }); cancelButton.addActionListener( new ActionListener() { @Override public void actionPerformed(ActionEvent actionEvent) { form.setVisible(false); form.dispose(); } }); }