/* * Copyright 2011 Research In Motion Limited. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package eclserver.panels; /** * * @author rbalsewich */ import java.io.*; import javax.swing.*; import javax.swing.JOptionPane; import javax.swing.event.EventListenerList; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class recipientsPickerPanel extends javax.swing.JPanel { protected String strFileLocation; /** Creates new form recipientsPickerPanel */ public recipientsPickerPanel() { listeners = new EventListenerList(); initComponents(); } /** This method is called from within the constructor to * initialize the form. * WARNING: Do NOT modify this code. The content of this method is * always regenerated by the Form Editor. */ @SuppressWarnings("unchecked") // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents private void initComponents() { lrp_bgRB = new javax.swing.ButtonGroup(); lrp_loadCSV = new javax.swing.JRadioButton(); lrp_loadAD = new javax.swing.JRadioButton(); lrp_fileLocation = new javax.swing.JTextField(); lrp_openPicker = new javax.swing.JButton(); jTextField1 = new javax.swing.JTextField(); imageSpinner = new javax.swing.JLabel(); setBorder(javax.swing.BorderFactory.createTitledBorder("Load Recipients")); lrp_bgRB.add(lrp_loadCSV); lrp_loadCSV.setText("CSV File"); lrp_loadCSV.setToolTipText("Load recipients from CSV file..."); lrp_loadCSV.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { lrp_loadCSVActionPerformed(evt); } }); lrp_bgRB.add(lrp_loadAD); lrp_loadAD.setText("Active Directory"); lrp_loadAD.setToolTipText("Load recipients from Active Directory (Not Implemented)"); lrp_loadAD.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { lrp_loadADActionPerformed(evt); } }); lrp_fileLocation.setToolTipText("Enter file location for recipients csv file..."); lrp_fileLocation.setEnabled(false); lrp_openPicker.setIcon(new javax.swing.ImageIcon(getClass().getResource("/eclserver/images/folder_customer_48.png"))); // NOI18N lrp_openPicker.setToolTipText("Open File Chooser"); lrp_openPicker.setBorderPainted(false); lrp_openPicker.setContentAreaFilled(false); lrp_openPicker.setEnabled(false); lrp_openPicker.setSelected(true); lrp_openPicker.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { lrp_openPickerActionPerformed(evt); } }); jTextField1.setToolTipText("Enter Active Directory Details"); jTextField1.setEnabled(false); imageSpinner.setIcon(new javax.swing.ImageIcon(getClass().getResource("/eclserver/images/spinner.gif"))); // NOI18N imageSpinner.setDisabledIcon(new javax.swing.ImageIcon(getClass().getResource("/eclserver/images/nospinner.gif"))); // NOI18N imageSpinner.setEnabled(false); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); this.setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addContainerGap() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(lrp_loadAD) .addComponent(lrp_loadCSV)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(lrp_fileLocation, javax.swing.GroupLayout.PREFERRED_SIZE, 188, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 187, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(18, 18, 18) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addGap(10, 10, 10) .addComponent(imageSpinner)) .addComponent(lrp_openPicker, javax.swing.GroupLayout.PREFERRED_SIZE, 67, javax.swing.GroupLayout.PREFERRED_SIZE)) .addContainerGap()) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addComponent(lrp_openPicker, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addGap(5, 5, 5) .addComponent(imageSpinner)) .addGroup(layout.createSequentialGroup() .addContainerGap() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addComponent(lrp_loadCSV) .addComponent(lrp_fileLocation, javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(5, 5, 5) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(lrp_loadAD) .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE)) .addContainerGap(22, Short.MAX_VALUE)) ); }// </editor-fold>//GEN-END:initComponents private void lrp_loadCSVActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_lrp_loadCSVActionPerformed // TODO add your handling code here: lrp_fileLocation.setEnabled(true); lrp_openPicker.setEnabled(true); }//GEN-LAST:event_lrp_loadCSVActionPerformed private void lrp_openPickerActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_lrp_openPickerActionPerformed // TODO add your handling code here: JFileChooser fc = new JFileChooser(); int returnVal = fc.showOpenDialog(fc); if(returnVal == JFileChooser.APPROVE_OPTION){ File file = fc.getSelectedFile(); //this is where the real application would open the file. // log.append("Opening: " + file.getAbsolutePath() + file.getName() + "." + newline); if (file.getAbsolutePath().endsWith("csv")){ System.out.println("Selected CSV file of recipients."); lrp_fileLocation.setText(file.getAbsolutePath()); strFileLocation = file.getAbsolutePath(); int result = JOptionPane.showOptionDialog(this, "Do you want to load this CSV file?", "Load CSV File", JOptionPane.YES_NO_OPTION,JOptionPane.INFORMATION_MESSAGE, null,null,null); // System.out.println("User selected " + result); if (result == 0){ //fireActionEvent(evt); ActionEvent callLoad = new ActionEvent(new Object[] { "Call Load" }, 1, "LOAD_RECIPIENTS" ); lrp_fileLocation.setEnabled(false); lrp_openPicker.setEnabled(false); fireActionEvent(callLoad); } else { System.out.println("User canceled request."); } } else { JOptionPane.showMessageDialog(this, "Please choose CSV file. "); } } else { JOptionPane.showMessageDialog(this, "Please choose CSV file. "); } }//GEN-LAST:event_lrp_openPickerActionPerformed private void lrp_loadADActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_lrp_loadADActionPerformed // TODO add your handling code here: lrp_fileLocation.setText(""); lrp_fileLocation.setEnabled(false); lrp_openPicker.setEnabled(false); }//GEN-LAST:event_lrp_loadADActionPerformed public String getFileLocation(){ if (this.strFileLocation != null){ return this.strFileLocation; } else { return "Please set File Location"; } } public void showImageSpinner(){ imageSpinner.setEnabled(true); } public void hideImageSpinner(){ imageSpinner.setEnabled(false); } public void showFields(){ lrp_fileLocation.setText(""); lrp_fileLocation.setEnabled(true); lrp_openPicker.setEnabled(true); } private void fireActionEvent(ActionEvent evt) { ActionListener[] listenerList = listeners.getListeners(ActionListener.class); for (int i = listenerList.length-1; i>=0; --i) { listenerList[i].actionPerformed(evt); } } public void addActionListener(ActionListener listener) { listeners.add(ActionListener.class, listener); } public void removeActionListener(ActionListener listener) { if (listeners != null) { listeners.remove(ActionListener.class, listener); } } EventListenerList listeners; // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JLabel imageSpinner; private javax.swing.JTextField jTextField1; private javax.swing.ButtonGroup lrp_bgRB; private javax.swing.JTextField lrp_fileLocation; private javax.swing.JRadioButton lrp_loadAD; private javax.swing.JRadioButton lrp_loadCSV; private javax.swing.JButton lrp_openPicker; // End of variables declaration//GEN-END:variables }