Java tutorial
/* * Copyright 2007 Pentaho Corporation. All rights reserved. * * This software was developed by Pentaho Corporation and is provided under the terms * of the Mozilla Public License, Version 1.1, or any later version. You may not use * this file except in compliance with the license. If you need a copy of the license, * please go to http://www.mozilla.org/MPL/MPL-1.1.txt. The Original Code is the Pentaho * BI Platform. The Initial Developer is Pentaho Corporation. * * Software distributed under the Mozilla Public License is distributed on an "AS IS" * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. Please refer to * the license for the specific language governing your rights and limitations. * * Created * @author * */ package org.pentaho.support.standalone; import java.awt.Color; import java.awt.Font; import java.awt.SystemColor; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.ItemEvent; import java.awt.event.ItemListener; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.util.ArrayList; import java.util.Properties; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import javax.swing.ButtonGroup; import javax.swing.DefaultListModel; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JCheckBox; import javax.swing.JFileChooser; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JList; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JProgressBar; import javax.swing.JRadioButton; import javax.swing.JScrollPane; import javax.swing.JTextField; import javax.swing.SwingConstants; import javax.swing.UIManager; import javax.swing.border.EmptyBorder; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import org.pentaho.support.standalone.constant.SDConstant; import org.pentaho.supportutility.config.factory.CofingRetrieverFactory; import org.pentaho.supportutility.config.retriever.BrowserInfoRetriever; import org.pentaho.supportutility.config.retriever.ConfigRetreiver; import org.pentaho.supportutility.config.retriever.FileRetriever; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import org.w3c.dom.Document; import org.w3c.dom.Node; import org.w3c.dom.NodeList; public class SDSupportUtility extends JFrame { private static final long serialVersionUID = 1L; ArrayList<String> ArgList = new ArrayList<String>(); private CofingRetrieverFactory factory; public String currentWorkingDirectory = System.getProperty(SDConstant.USER_DIR); public static StringBuilder supProp = null; public static StringBuilder WEB_XML = null; public static String installType = "Installer"; public static String serverName = null; static String PENTAHO_SOLU_PATH = null; private JPanel contentPane; private JTextField textFieldBrowser; String ServerDirectory; String TomcatDirectory; String EnterpriseConsoleDirectory; String ArtifactsDirectory; String browserpath; JCheckBox chckbxSelectAll; JCheckBox chckbxNewCheckBoxEnvironment; JCheckBox chckbxNewCheckBoxStructure; JCheckBox chckbxLogs; JCheckBox chckbxGetSecureFiles; JCheckBox chckbxMd5; JCheckBox chckbxDbdetails; JCheckBox chckbxLicense; JCheckBox chckbxProcesslist; JCheckBox chckbxTomcatxml; JCheckBox chckbxServerXml; JCheckBox chckbxGetBatfiles; JCheckBox chckbxServerproperties; JList list; public static JButton btnNewButton; public static JProgressBar progressBar; static Boolean serverXml = false; static Boolean serverProrperties = false; static Boolean serverBatFile = false; static Boolean tomcatXml = false; private JPanel panel; private JScrollPane listScrollPane; private JList rowList; public static DefaultListModel model = new DefaultListModel(); public static String close = " X"; public static JLabel lblDelete; public static File dir; File[] fileToSave; Properties prop; Object element; public JRadioButton rdbtnArchive; public JRadioButton rdbtnManual; public JRadioButton rdbtnInstaller; public String PEN_SOL; private SDSupportUtility support; public String getPEN_SOL() { return PEN_SOL; } public void setPEN_SOL(String pEN_SOL) { PEN_SOL = pEN_SOL; } /** * main method to call UI * * @param args */ public static void main(String args[]) { try { SDSupportUtility frame = new SDSupportUtility(); frame.setSupport(frame); frame.setVisible(true); } catch (Exception e) { e.printStackTrace(); } } /** * initializing UI * * @throws Exception */ public SDSupportUtility() throws Exception { prop = loadProperty(); setResizable(false); setTitle(SDConstant.PENT_SUP_WIZARD); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setBounds(100, 100, 665, 516); contentPane = new JPanel(); contentPane.setBackground(UIManager.getColor("Button.background")); contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); setContentPane(contentPane); contentPane.setLayout(null); JLabel lblLastAttached = new JLabel("Last Attached"); lblLastAttached.setOpaque(false); lblLastAttached.setHorizontalAlignment(SwingConstants.LEFT); lblLastAttached.setBounds(322, 335, 127, 23); contentPane.add(lblLastAttached); JLabel lblPentahoCustomerSupport = new JLabel("Pentaho Customer Support Wizard"); lblPentahoCustomerSupport.setForeground(new Color(51, 51, 51)); lblPentahoCustomerSupport.setVerticalAlignment(SwingConstants.TOP); lblPentahoCustomerSupport.setHorizontalAlignment(SwingConstants.RIGHT); lblPentahoCustomerSupport.setFont(new Font("Tahoma", Font.BOLD, 23)); lblPentahoCustomerSupport.setBounds(130, 109, 506, 37); contentPane.add(lblPentahoCustomerSupport); JLabel lbllogo = new JLabel(); lbllogo.setIcon(new ImageIcon( SDSupportUtility.class.getResource("/org/pentaho/support/standalone/puc-login-logo.png"))); lbllogo.setBounds(10, 11, 409, 93); contentPane.add(lbllogo); chckbxNewCheckBoxEnvironment = new JCheckBox("Environment"); chckbxNewCheckBoxEnvironment.addItemListener(new ItemListener() { public void itemStateChanged(ItemEvent e) { if (e.getStateChange() == ItemEvent.SELECTED) { ArgList.add(SDConstant.ENVIRONMENT); } else { ArgList.remove(SDConstant.ENVIRONMENT); } } }); chckbxNewCheckBoxEnvironment.setBounds(109, 268, 243, 23); contentPane.add(chckbxNewCheckBoxEnvironment); chckbxNewCheckBoxEnvironment.setOpaque(false); chckbxNewCheckBoxStructure = new JCheckBox("Structure Details"); chckbxNewCheckBoxStructure.addItemListener(new ItemListener() { public void itemStateChanged(ItemEvent e) { if (e.getStateChange() == ItemEvent.SELECTED) { ArgList.add(SDConstant.STRUCT); } else { ArgList.remove(SDConstant.STRUCT); } } }); chckbxNewCheckBoxStructure.setBounds(377, 190, 248, 23); contentPane.add(chckbxNewCheckBoxStructure); chckbxNewCheckBoxStructure.setOpaque(false); chckbxLogs = new JCheckBox("Logs"); chckbxLogs.addItemListener(new ItemListener() { public void itemStateChanged(ItemEvent e) { if (e.getStateChange() == ItemEvent.SELECTED) { ArgList.add(SDConstant.LOGS); } else { ArgList.remove(SDConstant.LOGS); } } }); chckbxLogs.setBounds(377, 164, 248, 23); contentPane.add(chckbxLogs); chckbxLogs.setOpaque(false); chckbxGetSecureFiles = new JCheckBox("Secure Files"); chckbxGetSecureFiles.addItemListener(new ItemListener() { public void itemStateChanged(ItemEvent e) { if (e.getStateChange() == ItemEvent.SELECTED) { ArgList.add(SDConstant.SECURITY); } else { ArgList.remove(SDConstant.SECURITY); } } }); chckbxGetSecureFiles.setBounds(109, 190, 243, 23); contentPane.add(chckbxGetSecureFiles); chckbxGetSecureFiles.setOpaque(false); chckbxMd5 = new JCheckBox("MD5 Hash Value"); chckbxMd5.addItemListener(new ItemListener() { public void itemStateChanged(ItemEvent e) { if (e.getStateChange() == ItemEvent.SELECTED) { ArgList.add(SDConstant.MD5); } else { ArgList.remove(SDConstant.MD5); } } }); chckbxMd5.setBounds(109, 216, 243, 23); contentPane.add(chckbxMd5); chckbxMd5.setOpaque(false); chckbxDbdetails = new JCheckBox("Datasource Details"); chckbxDbdetails.addItemListener(new ItemListener() { public void itemStateChanged(ItemEvent e) { if (e.getStateChange() == ItemEvent.SELECTED) { ArgList.add(SDConstant.DATASOURCE); } else { ArgList.remove(SDConstant.DATASOURCE); } } }); chckbxDbdetails.setBounds(109, 294, 243, 23); contentPane.add(chckbxDbdetails); chckbxDbdetails.setOpaque(false); chckbxLicense = new JCheckBox("License File"); chckbxLicense.addItemListener(new ItemListener() { public void itemStateChanged(ItemEvent e) { if (e.getStateChange() == ItemEvent.SELECTED) { ArgList.add(SDConstant.LICENSE); } else { ArgList.remove(SDConstant.LICENSE); } } }); chckbxLicense.setBounds(109, 164, 243, 23); contentPane.add(chckbxLicense); chckbxLicense.setOpaque(false); chckbxProcesslist = new JCheckBox("Running Process"); chckbxProcesslist.addItemListener(new ItemListener() { public void itemStateChanged(ItemEvent e) { if (e.getStateChange() == ItemEvent.SELECTED) { ArgList.add(SDConstant.RUNNING_TASK); } else { ArgList.remove(SDConstant.RUNNING_TASK); } } }); chckbxProcesslist.setBounds(109, 242, 243, 23); contentPane.add(chckbxProcesslist); chckbxProcesslist.setOpaque(false); chckbxTomcatxml = new JCheckBox("XML files from Tomcat"); chckbxTomcatxml.addItemListener(new ItemListener() { public void itemStateChanged(ItemEvent e) { if (e.getStateChange() == ItemEvent.SELECTED) { ArgList.add(SDConstant.FILE); tomcatXml = true; } else { ArgList.remove(SDConstant.FILE); tomcatXml = false; } } }); chckbxTomcatxml.setBounds(377, 242, 248, 23); contentPane.add(chckbxTomcatxml); chckbxTomcatxml.setOpaque(false); chckbxServerXml = new JCheckBox("XML files from Server"); chckbxServerXml.addItemListener(new ItemListener() { public void itemStateChanged(ItemEvent e) { if (e.getStateChange() == ItemEvent.SELECTED) { ArgList.add(SDConstant.FILE); serverXml = true; } else { ArgList.remove(SDConstant.FILE); serverXml = false; } } }); chckbxServerXml.setBounds(377, 216, 248, 23); contentPane.add(chckbxServerXml); chckbxServerXml.setOpaque(false); chckbxGetBatfiles = new JCheckBox("Start up files from server"); chckbxGetBatfiles.addItemListener(new ItemListener() { public void itemStateChanged(ItemEvent e) { if (e.getStateChange() == ItemEvent.SELECTED) { ArgList.add(SDConstant.FILE); serverBatFile = true; } else { ArgList.remove(SDConstant.FILE); serverBatFile = false; } } }); chckbxGetBatfiles.setBounds(377, 268, 248, 23); contentPane.add(chckbxGetBatfiles); chckbxGetBatfiles.setOpaque(false); chckbxServerproperties = new JCheckBox("Properites files from server"); chckbxServerproperties.addItemListener(new ItemListener() { public void itemStateChanged(ItemEvent e) { if (e.getStateChange() == ItemEvent.SELECTED) { ArgList.add(SDConstant.FILE); serverProrperties = true; } else { ArgList.remove(SDConstant.FILE); serverProrperties = false; } } }); chckbxServerproperties.setBounds(377, 294, 248, 23); contentPane.add(chckbxServerproperties); chckbxServerproperties.setOpaque(false); btnNewButton = new JButton("Package"); btnNewButton.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent arg0) { try { if (installType.equalsIgnoreCase("Manual")) { if (prop.getProperty(SDConstant.BI_TOM_PATH) == null) { JOptionPane.showMessageDialog(contentPane, SDConstant.ERROR_12, "Inane error", JOptionPane.ERROR_MESSAGE); } else { WEB_XML = new StringBuilder(); WEB_XML.append(prop.getProperty(SDConstant.BI_TOM_PATH)).append(File.separator) .append(SDConstant.WEB_APP).append(File.separator).append(SDConstant.PENTAHO) .append(File.separator).append(SDConstant.WEB_INF).append(File.separator) .append(SDConstant.WEB_XML); PENTAHO_SOLU_PATH = getSolutionPath("biserver", WEB_XML.toString()); prop.put(SDConstant.PENTAHO_SOLU_PATH, PENTAHO_SOLU_PATH); prop.put(SDConstant.BI_PATH, PENTAHO_SOLU_PATH); } } if (prop.getProperty(SDConstant.BI_PATH) == null) { JOptionPane.showMessageDialog(contentPane, SDConstant.ERROR_1, "Inane error", JOptionPane.ERROR_MESSAGE); } if (prop.getProperty(SDConstant.BI_TOM_PATH) == null) { JOptionPane.showMessageDialog(contentPane, SDConstant.ERROR_12, "Inane error", JOptionPane.ERROR_MESSAGE); } disableAll(); setBIServerPath(prop); final String data = textFieldBrowser.getText(); if (!data.equalsIgnoreCase(null)) { ArgList.add(SDConstant.BROWSER); } String[] array = new String[ArgList.size()]; int count = 0; for (int i = 0; i < ArgList.size(); i++) { String retName = ArgList.get(i); if (retName.equals("file")) { if (count == 0) { array[i] = retName; count++; } } else { array[i] = retName; } } ApplicationContext context = new ClassPathXmlApplicationContext(SDConstant.SPRNG_FILE_NAME); factory = (CofingRetrieverFactory) context.getBean("cofingRetrieverFactory"); ConfigRetreiver[] config = factory.getConfigRetrevier(array); ExecutorService service = Executors.newFixedThreadPool(10); for (final ConfigRetreiver configobj : config) { if (null != configobj) { configobj.setBISeverPath(prop); configobj.setServerName("biserver"); if (installType.equalsIgnoreCase("Installer")) { configobj.setInstallType("Installer"); } else if (installType.equalsIgnoreCase("Archive")) { configobj.setInstallType("Archive"); } else if (installType.equalsIgnoreCase("Manual")) { configobj.setInstallType("Manual"); } if (configobj instanceof FileRetriever) { configobj.setBidiXml(serverXml); configobj.setBidiBatFile(serverBatFile); configobj.setBidiProrperties(serverProrperties); configobj.setTomcatXml(tomcatXml); } if (configobj instanceof BrowserInfoRetriever) { configobj.setBrowserInfo(data); } service.execute(new Runnable() { public void run() { if (null != configobj) configobj.readAndSaveConfiguration(prop); } }); } } btnNewButton.setVisible(false); progressBar.setVisible(true); ProgressThread thread = new ProgressThread(); thread.setSupport(getSupport()); thread.setProp(prop); new Thread(thread).start(); service.shutdown(); } catch (Exception e1) { e1.printStackTrace(); } } }); chckbxSelectAll = new JCheckBox("Select/ De-select"); chckbxSelectAll.addItemListener(new ItemListener() { @Override public void itemStateChanged(ItemEvent e) { if (e.getStateChange() == ItemEvent.SELECTED) { selectAll(); } else { deSelectAll(); } } }); chckbxSelectAll.setBounds(46, 138, 201, 23); chckbxSelectAll.setOpaque(false); contentPane.add(chckbxSelectAll); btnNewButton.setForeground(SystemColor.infoText); btnNewButton.setBounds(10, 430, 639, 37); contentPane.add(btnNewButton); chckbxServerproperties.setOpaque(false); JLabel lblAttach = new JLabel("Attach Artifact"); lblAttach.setHorizontalAlignment(SwingConstants.LEFT); lblAttach.setBounds(32, 335, 177, 23); contentPane.add(lblAttach); lblAttach.setOpaque(false); JButton btnNewButtonBrowse = new JButton("Browse"); btnNewButtonBrowse.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent arg0) { saveSelectedFile(prop); JFrame parentFrame = new JFrame(); JFileChooser fileChooser = new JFileChooser(); fileChooser.setDialogTitle("Specify a file to save"); fileChooser.setMultiSelectionEnabled(true); int userSelection = fileChooser.showSaveDialog(parentFrame); if (userSelection == JFileChooser.APPROVE_OPTION) { fileToSave = fileChooser.getSelectedFiles(); for (int i = 0; i < fileToSave.length; i++) { File file = fileToSave[i]; String artifactpath = file.getAbsolutePath(); File f = new File(artifactpath); String absolutefilename = f.getName(); String filename = ArtifactsDirectory.concat(absolutefilename); CopyFile artifactcopy = new CopyFile(artifactpath, filename); try { artifactcopy.copy(); } catch (Exception e1) { e1.printStackTrace(); } } uploadedFiles(); rowList = new JList(model); listScrollPane.setViewportView(rowList); panel.add(listScrollPane); } rowList.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent e) { lblDelete.setVisible(true); } }); } }); btnNewButtonBrowse.setBounds(208, 335, 104, 23); contentPane.add(btnNewButtonBrowse); btnNewButtonBrowse.setOpaque(false); textFieldBrowser = new JTextField(); textFieldBrowser.setBounds(208, 364, 441, 23); contentPane.add(textFieldBrowser); textFieldBrowser.setColumns(10); progressBar = new JProgressBar(0, 100); progressBar.setBounds(8, 437, 639, 24); progressBar.setVisible(false); progressBar.setStringPainted(true); contentPane.add(progressBar); JLabel lblBrowserInformation = new JLabel("Browser Information"); lblBrowserInformation.setHorizontalAlignment(SwingConstants.LEFT); lblBrowserInformation.setLabelFor(textFieldBrowser); lblBrowserInformation.setBounds(32, 368, 174, 14); contentPane.add(lblBrowserInformation); panel = new JPanel(); panel.setBounds(423, 325, 127, 33); contentPane.add(panel); panel.setLayout(null); listScrollPane = new JScrollPane(); listScrollPane.setBounds(0, 0, 127, 33); panel.add(listScrollPane); lblDelete = new JLabel(""); lblDelete.setBounds(552, 325, 22, 23); lblDelete.setVisible(false); lblDelete.setIcon( new ImageIcon(SDSupportUtility.class.getResource("/org/pentaho/support/standalone/remove.png"))); contentPane.add(lblDelete); lblDelete.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent e) { int option = JOptionPane.showConfirmDialog(null, "Are you sure you want to delete this file ?"); if (option == JOptionPane.YES_OPTION) { String sel = rowList.getSelectedValue().toString(); String selected = dir + "/" + sel; File fileExists = new File(selected); fileExists.delete(); model.remove(sel.indexOf(sel)); lblDelete.setVisible(false); } } }); JLabel instalType = new JLabel("Installation Type : "); instalType.setBounds(32, 395, 177, 23); instalType.setVisible(true); contentPane.add(instalType); ButtonGroup btnGrp = new ButtonGroup(); rdbtnInstaller = new JRadioButton("Installer"); rdbtnInstaller.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent arg0) { installType = "Installer"; } }); rdbtnInstaller.setBounds(208, 395, 104, 23); rdbtnInstaller.setSelected(true); contentPane.add(rdbtnInstaller); btnGrp.add(rdbtnInstaller); rdbtnArchive = new JRadioButton("Archive"); rdbtnArchive.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent arg0) { installType = "Archive"; } }); rdbtnArchive.setBounds(333, 395, 104, 23); contentPane.add(rdbtnArchive); btnGrp.add(rdbtnArchive); rdbtnManual = new JRadioButton("Manual"); rdbtnManual.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent arg0) { installType = "Manual"; } }); rdbtnManual.setBounds(460, 395, 127, 27); contentPane.add(rdbtnManual); btnGrp.add(rdbtnManual); JLabel lblBackground = new JLabel(); lblBackground.setIcon(new ImageIcon( SDSupportUtility.class.getResource("/org/pentaho/support/standalone/login-crystal-bg.jpg"))); lblBackground.setBackground(SystemColor.controlHighlight); lblBackground.setHorizontalAlignment(SwingConstants.CENTER); lblBackground.setBounds(0, 0, 659, 488); contentPane.add(lblBackground); } /** * upload browsed files */ private void uploadedFiles() { String fileUploading = prop.getProperty(SDConstant.SUPP_INFO_DEST_PATH) + File.separator + prop.getProperty(SDConstant.SUPP_INF_DIR) + File.separator + "Artifacts"; dir = new File(fileUploading); File[] fList = dir.listFiles(); for (File filesArtifact : fList) { model.addElement(filesArtifact.getName()); } } /** * save selected files * * @param prop */ public void saveSelectedFile(Properties prop) { ArtifactsDirectory = prop.getProperty(SDConstant.SUPP_INFO_DEST_PATH) + File.separator + prop.getProperty(SDConstant.SUPP_INF_DIR) + File.separator + "Artifacts" + File.separator; File InformationDirectory = new File(ArtifactsDirectory); InformationDirectory.mkdir(); } /** * select all fields */ private void selectAll() { chckbxNewCheckBoxEnvironment.setSelected(true); chckbxNewCheckBoxStructure.setSelected(true); chckbxLogs.setSelected(true); chckbxGetSecureFiles.setSelected(true); chckbxMd5.setSelected(true); chckbxDbdetails.setSelected(true); chckbxLicense.setSelected(true); chckbxProcesslist.setSelected(true); chckbxTomcatxml.setSelected(true); chckbxServerXml.setSelected(true); chckbxGetBatfiles.setSelected(true); chckbxServerproperties.setSelected(true); } /** * de-select all fields */ private void deSelectAll() { chckbxNewCheckBoxEnvironment.setSelected(false); chckbxNewCheckBoxStructure.setSelected(false); chckbxLogs.setSelected(false); chckbxGetSecureFiles.setSelected(false); chckbxMd5.setSelected(false); chckbxDbdetails.setSelected(false); chckbxLicense.setSelected(false); chckbxProcesslist.setSelected(false); chckbxTomcatxml.setSelected(false); chckbxServerXml.setSelected(false); chckbxGetBatfiles.setSelected(false); chckbxServerproperties.setSelected(false); } /** * sets bi server path * * @param prop */ private static void setBIServerPath(Properties prop) { prop.put(SDConstant.TOM_PATH, prop.getProperty(SDConstant.BI_TOM_PATH)); WEB_XML = new StringBuilder(); WEB_XML.append(prop.getProperty(SDConstant.BI_TOM_PATH)).append(File.separator).append(SDConstant.WEB_APP) .append(File.separator).append(SDConstant.PENTAHO).append(File.separator).append(SDConstant.WEB_INF) .append(File.separator).append(SDConstant.WEB_XML); prop.put(SDConstant.WEB_XML_PATH, WEB_XML.toString()); if (!installType.equalsIgnoreCase("Manual")) { prop.put(SDConstant.PENTAHO_SOLU_PATH, prop.getProperty(SDConstant.BI_PATH) + File.separator + SDConstant.PENTAHO_SOL_DIR); } if (installType.equalsIgnoreCase("Installer")) { prop.put(SDConstant.LOG_FILE_PATH, prop.getProperty(SDConstant.BI_TOM_PATH) + File.separator + SDConstant.WEB_APP + File.separator + SDConstant.PENTAHO + File.separator + SDConstant.WEB_INF + File.separator + SDConstant.CLASSES + File.separator + SDConstant.LOG4J_XML); } else { prop.put(SDConstant.LOG_FILE_PATH, prop.getProperty(SDConstant.BI_TOM_PATH) + File.separator + SDConstant.TOM_LOG + File.separator + SDConstant.LOG_FILE); } } /** * disable all fields while processing request */ public void disableAll() { chckbxSelectAll.setEnabled(false); chckbxNewCheckBoxEnvironment.setEnabled(false); chckbxNewCheckBoxStructure.setEnabled(false); chckbxLogs.setEnabled(false); chckbxGetSecureFiles.setEnabled(false); chckbxMd5.setEnabled(false); chckbxDbdetails.setEnabled(false); chckbxLicense.setEnabled(false); chckbxProcesslist.setEnabled(false); chckbxTomcatxml.setEnabled(false); chckbxServerXml.setEnabled(false); chckbxGetBatfiles.setEnabled(false); chckbxServerproperties.setEnabled(false); rdbtnInstaller.setEnabled(false); rdbtnArchive.setEnabled(false); rdbtnManual.setEnabled(false); textFieldBrowser.setEnabled(false); } /** * enables all fields once process completed */ public void enableAll() { chckbxSelectAll.setEnabled(true); chckbxNewCheckBoxEnvironment.setEnabled(true); chckbxNewCheckBoxStructure.setEnabled(true); chckbxLogs.setEnabled(true); chckbxGetSecureFiles.setEnabled(true); chckbxMd5.setEnabled(true); chckbxDbdetails.setEnabled(true); chckbxLicense.setEnabled(true); chckbxProcesslist.setEnabled(true); chckbxTomcatxml.setEnabled(true); chckbxServerXml.setEnabled(true); chckbxGetBatfiles.setEnabled(true); chckbxServerproperties.setEnabled(true); rdbtnInstaller.setEnabled(true); rdbtnArchive.setEnabled(true); rdbtnManual.setEnabled(true); textFieldBrowser.setEnabled(true); } /** * parse web.xml file if installation is manual and sets pentaho-solution * path * * @param server * @param webxml * @return */ private String getSolutionPath(String server, String webxml) { String pentahoSol = null; String os = System.getProperty(SDConstant.USER_DIR).toLowerCase().substring(0, 3); DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance(); File xmlFile = new File(webxml); try { DocumentBuilder dBuilder = dbFactory.newDocumentBuilder(); Document doc = dBuilder.parse(xmlFile); NodeList paramValueList = doc.getElementsByTagName(SDConstant.XML_PARAM_VALUE); for (int i = 0; i < paramValueList.getLength(); i++) { Node paramNode = paramValueList.item(i); if (paramNode.getTextContent().contains(SDConstant.PENTAHO_SOL_DIR)) { if (os.equals("win")) { pentahoSol = paramNode.getTextContent().replace("/", "\\"); } else { pentahoSol = paramNode.getTextContent(); } } } } catch (Exception e) { e.printStackTrace(); } return pentahoSol; } /** * loads support.properties * * @return */ private Properties loadProperty() { supProp = new StringBuilder(); supProp.append(currentWorkingDirectory).append(File.separator).append(SDConstant.RESOURCE); Properties prop = new Properties(); try { prop.load(new FileInputStream(supProp.toString() + File.separator + SDConstant.SUP_PROP_FILE)); prop.put(SDConstant.ENV_FILE_PATH, supProp.toString() + File.separator + SDConstant.ENV_FILE_NAME); prop.put(SDConstant.MD5_PATH, supProp.toString()); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return prop; } public SDSupportUtility getSupport() { return support; } public void setSupport(SDSupportUtility support) { this.support = support; } }