⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 configurationpanel.java

📁 Java写的ERP系统
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
				javaHome = javaHome.substring(0, javaHome.length()-4);
			fJavaHome.setText(javaHome);
			//	AppsServer
			fAppsServer.setText(InetAddress.getLocalHost().getHostName());
			//	Database Server
			fDatabaseServer.setText(InetAddress.getLocalHost().getHostName());
			//	Mail Server
			fMailServer.setText(InetAddress.getLocalHost().getHostName());
			//  Get TNS Names
			fillTNSName("");
		}	//	!envLoaded

		//	Default FTP stuff
		if (!m_properties.containsKey(COMPIERE_FTP_SERVER))
		{
			m_properties.setProperty(COMPIERE_FTP_SERVER, "localhost");
			m_properties.setProperty(COMPIERE_FTP_USER, "anonymous");
			m_properties.setProperty(COMPIERE_FTP_PASSWORD, "user@host.com");
			m_properties.setProperty(COMPIERE_FTP_PREFIX, "my");
		}
		//	Default Java Options
		if (!m_properties.containsKey(COMPIERE_JAVA_OPTIONS))
			m_properties.setProperty(COMPIERE_JAVA_OPTIONS, "-Xms32m -Xmx128m");

		//	(String)m_properties.get(COMPIERE_DB_URL)	//	derived
	}	//	dynInit

	/**
	 * 	Fill TNS Name
	 * 	@param defaultValue defaultValue
	 */
	private void fillTNSName (String defaultValue)
	{
		//	default value to lowercase or null
		String def = defaultValue;
		if (def != null && def.trim().length() == 0)
			def = null;
		if (def != null)
		{
			def = def.toLowerCase();
			fTNSName.addItem(def);
		}

		//	Search for Oracle Info
		String path = System.getProperty("java.library.path");
		String[] entries = path.split(File.pathSeparator);
		for (int e = 0; e < entries.length; e++)
		{
			String entry = entries[e].toLowerCase();
			if (entry.indexOf("ora") != -1 && entry.endsWith("bin"))
			{
				StringBuffer sb = getTNS_File (entries[e].substring(0, entries[e].length()-4));
				String[] tnsnames = getTNS_Names (sb);
				if (tnsnames != null)
				{
					for (int i = 0; i < tnsnames.length; i++)
					{
						String tns = tnsnames[i];
						if (!tns.equals(def))
							fTNSName.addItem(tns);
					}
					break;
				}
			}
		}	//	for all path entries

		//	Set first entry
		fTNSName.addActionListener(this);
		if (fTNSName.getItemCount() > 0)
			fTNSName.setSelectedIndex(0);
	}	//	fillTNSName

	/**
	 * 	Get File tnmsnames.ora in StringBuffer
	 * 	@param oraHome ORACLE_HOME
	 * 	@return tnsnames.ora or null
	 */
	private StringBuffer getTNS_File (String oraHome)
	{
		String tnsnames = oraHome + File.separator
			+ "network" + File.separator
			+ "admin" + File.separator
			+ "tnsnames.ora";
		File tnsfile = new File (tnsnames);
		if (!tnsfile.exists())
			return null;

		System.out.println("Searching " + tnsnames);
		StringBuffer sb = new StringBuffer();
		try
		{
			FileReader fr = new FileReader (tnsfile);
			int c;
			while ((c = fr.read()) != -1)
				sb.append((char)c);
		}
		catch (IOException ex)
		{
			System.err.println("Error Reading " + tnsnames);
			ex.printStackTrace();
			return null;
		}
		if (sb.length() == 0)
			return null;
		return sb;
	}	//	getTNS_File

	/**
	 * 	Get TNS Names entries.
	 * 	Assumes standard tnsmanes.ora formatting of NetMgr
	 * 	@param tnsnames content of tnsnames.ora
	 * 	@return tns names or null
	 */
	private String[] getTNS_Names (StringBuffer tnsnames)
	{
		if (tnsnames == null)
			return null;

		ArrayList list = new ArrayList();
		Pattern pattern = Pattern.compile("$", Pattern.MULTILINE);
		String[] lines = pattern.split(tnsnames);
		for (int i = 0; i < lines.length; i++)
		{
			String line = lines[i].trim();
			if (line.length() > 0
				&& Character.isLetter(line.charAt(0))	//	no # (
				&& line.indexOf("=") != -1
				&& line.indexOf("EXTPROC_") == -1
				&& line.indexOf("_HTTP") == -1)
			{
				String entry = line.substring(0, line.indexOf('=')).trim().toLowerCase();
				System.out.println("- " + entry);
				list.add(entry);
			}
		}
		//	Convert to Array
		if (list.size() == 0)
			return null;
		String[] retValue = new String[list.size()];
		list.toArray(retValue);
		return retValue;
	}	//	getTNS_Names

	/*************************************************************************/

	/**
	 * 	ActionListener
	 *  @param e event
	 */
	public void actionPerformed(ActionEvent e)
	{
		if (m_testing)
			return;
		//	TNS Name Changed
		if (e.getSource() == fTNSName)
		{
			String tns = (String)fTNSName.getSelectedItem();
			if (tns != null)
			{
				int pos = tns.indexOf('.');
				if (pos != -1)
					tns = tns.substring(0, pos);
				fDatabaseName.setText(tns);
			}
		}

		else if (e.getSource() == bJavaHome)
			setPath (fJavaHome);
		else if (e.getSource() == bCompiereHome)
			setPath (fCompiereHome);
		else if (e.getSource() == bHelp)
			new Setup_Help((Frame)SwingUtilities.getWindowAncestor(this));
		else if (e.getSource() == bTest)
			startTest();
		else if (e.getSource() == bSave)
			save();
	}	//	actionPerformed

	/**
	 * 	Set Path in Field
	 * 	@param field field to set Path
	 */
	private void setPath (JTextField field)
	{
		JFileChooser fc = new JFileChooser(field.getText());
		fc.setDialogType(JFileChooser.OPEN_DIALOG);
		fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
		fc.setMultiSelectionEnabled(false);
		if (fc.showOpenDialog(this) == JFileChooser.APPROVE_OPTION)
			field.setText(fc.getSelectedFile().getAbsolutePath());
	}	//	setPath

	/*************************************************************************/

	/**
	 * 	Start Test Async.
	 *  @return SwingWorker
	 */
	private SwingWorker startTest()
	{
		SwingWorker worker = new SwingWorker()
		{
			//	Start it
			public Object construct()
			{
				m_testing = true;
				setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
				bTest.setEnabled(false);
				m_success = false;
				m_errorString = null;
				try
				{
					test();
				}
				catch (Exception ex)
				{
					m_errorString = ex.getMessage();
				}
				//
				setCursor(Cursor.getDefaultCursor());
				if (m_errorString == null)
					m_success = true;
				bTest.setEnabled(true);
				m_testing = false;
				return new Boolean(m_success);
			}
			//	Finish it
			public void finished()
			{
				if (m_errorString != null)
				{
					System.err.println(m_errorString);
					JOptionPane.showConfirmDialog (null, m_errorString, res.getString("ServerError"),
						JOptionPane.DEFAULT_OPTION, JOptionPane.ERROR_MESSAGE);
				}
			}
		};
		worker.start();
		return worker;
	}	//	startIt

	/**
	 *	Test it
	 * 	@throws Exception
	 */
	private void test() throws Exception
	{
		System.out.println();
		System.out.println("** Test **");
		bSave.setEnabled(false);


		//	Java Home
		m_errorString = res.getString("ErrorJavaHome");
		m_javaHome = new File (fJavaHome.getText());
		if (!m_javaHome.exists())
			return;
		File tools = new File (fJavaHome.getText() + File.separator + "lib" + File.separator + "tools.jar");
		if (!tools.exists())
		{
			System.err.println("Not Found Java SDK = " + tools);
			return;
		}
		System.out.println("OK: JavaHome=" + m_javaHome.getAbsolutePath());
		m_properties.setProperty(JAVA_HOME, m_javaHome.getAbsolutePath());

		//	Java Version
		final String VERSION = "1.4.1";
		boolean versionOK = false;
		String jh = m_javaHome.getAbsolutePath();
		if (jh.indexOf(VERSION) != -1)	//	file name has version = assuming OK
			versionOK = true;
		String thisJH = System.getProperty("java.home");
		if (thisJH.indexOf(jh) != -1)	//	wre are running the version currently
		{
			String thisJV = System.getProperty("java.version");
			versionOK = thisJV.indexOf(VERSION) != -1;
			if (versionOK)
			  System.out.println("  Java Version OK = " + thisJV);
		}
		if (!versionOK)
		  System.out.println("** Please check Java Version - should be " + VERSION + "*");

		//	Compiere Home
		m_errorString = res.getString("ErrorCompiereHome");
		m_compiereHome = new File (fCompiereHome.getText());
		if (!m_compiereHome.exists())
		{
			System.err.println("Not found CompiereHome = " + m_compiereHome);
			return;
		}
		System.out.println("OK: CompiereHome = " + m_compiereHome);
		m_properties.setProperty(COMPIERE_HOME, m_compiereHome.getAbsolutePath());


		//	AppsServer
		m_errorString = res.getString("ErrorAppsServer");
		String server = fAppsServer.getText();
		if (server == null || server.length() == 0 || server.toLowerCase().indexOf("localhost") != -1)
		{
			System.err.println("Not correct AppsServer = " + m_appsServer);
			return;
		}
		m_appsServer = InetAddress.getByName(server);
		System.out.println("OK: AppsServer = " + m_appsServer);
		m_properties.setProperty(COMPIERE_APPS_SERVER, m_appsServer.getHostName());
                m_RMIoverHTTP=cbRMIoverHTTP.isSelected();                
                m_properties.setProperty(COMPIERE_RMI_OVER_HTTP, Boolean.toString(m_RMIoverHTTP));
                if(m_RMIoverHTTP){
                  m_properties.setProperty("COMPIERE_RMI_OVER_HTTP_START","<!--RMI over HTTP enabled -->");
                  m_properties.setProperty("COMPIERE_RMI_OVER_HTTP_STOP","<!--RMI over HTTP enabled (end of block) -->");
                  m_properties.setProperty("COMPIERE_WITHOUT_RMI_OVER_HTTP_START","<!--RMI over HTTP is enabled ");
                  m_properties.setProperty("COMPIERE_WITHOUT_RMI_OVER_HTTP_STOP"," RMI over HTTP is enabled (end of block) -->");
                }else{
                  m_properties.setProperty("COMPIERE_RMI_OVER_HTTP_START","<!--RMI over HTTP is disabled ");
                  m_properties.setProperty("COMPIERE_RMI_OVER_HTTP_STOP","RMI over HTTP is disabled (end of block) -->");
                  m_properties.setProperty("COMPIERE_WITHOUT_RMI_OVER_HTTP_START","<!--RMI over HTTP is disabled using this --> ");
                  m_properties.setProperty("COMPIERE_WITHOUT_RMI_OVER_HTTP_STOP"," <!--RMI over HTTP is disabled (end of block) -->");                  
                }


		//	Web Port
		m_errorString = res.getString("ErrorWebPort");
		m_statusBar.setText(lWebPort.getText());
		m_WebPort = Integer.parseInt(fWebPort.getText());
		//	HTML Port Use
		if (testPort ("http", m_appsServer.getHostName(), m_WebPort, "/") || !testServerPort(m_WebPort))
		{
			System.err.println("Not correct WebPort = " + m_WebPort);
			return;
		}
		System.out.println("OK: WebPort = " + m_WebPort);
		m_properties.setProperty(COMPIERE_WEB_PORT, String.valueOf(m_WebPort));
		//	Derive SSL Port
		int sslPort = m_WebPort == 80 ? 443 : 8443;
		System.out.println("SSL WebPort = " + sslPort);
		m_properties.setProperty(COMPIERE_SSL_PORT, String.valueOf(sslPort));


		//	JNP Port
		m_errorString = res.getString("ErrorJNPPort");
		m_statusBar.setText(lJNPPort.getText());
		m_JNPPort = Integer.parseInt(fJNPPort.getText());
		//	HTML Port Use
		if (testPort (m_appsServer, m_JNPPort, false) || !testServerPort(m_JNPPort))
		{
			System.err.println("Not correct JNPPort = " + m_JNPPort);
			return;
		}
		System.out.println("OK: JNPPort = " + m_JNPPort);
		m_properties.setProperty(COMPIERE_JNP_PORT, String.valueOf(m_JNPPort));


		//	Database Server
		m_errorString = res.getString("ErrorDatabaseServer");
		m_statusBar.setText(lDatabaseServer.getText());
		server = fDatabaseServer.getText();
		if (server == null || server.length() == 0 || server.toLowerCase().indexOf("localhost") != -1)
		{
			System.err.println("Not correct Database Server = " + server);
			return;
		}
		m_databaseServer = InetAddress.getByName(server);
		System.out.println("OK: Database Server = " + m_databaseServer);
		m_properties.setProperty(COMPIERE_DB_SERVER, m_databaseServer.getHostName());


		//	Database Port
		m_errorString = res.getString("ErrorDatabasePort");
		m_databasePort = Integer.parseInt(fDatabasePort.getText());
		//	Database Port Use
		if (!testPort (m_databaseServer, m_databasePort, true))
		{
			System.err.println("Error Database Port = " + m_databasePort);
			return;
		}
		System.out.println("OK: Database Port = " + m_databasePort);
		m_properties.setProperty(COMPIERE_DB_PORT, String.valueOf(m_databasePort));


		//	JDBC Database Info
		m_errorString = res.getString("ErrorJDBC");
		m_statusBar.setText(lDatabaseName.getText());
		m_databaseName = fDatabaseName.getText();	//	SID
		m_systemPassword = new String(fSystemPassword.getPassword());
		if (!testJDBC("system", m_systemPassword))
		{
			System.err.println("Error Database Name = " + m_databaseName);
			System.err.println("Error Database SystemID = system/" + m_systemPassword);
			return;
		}
		System.out.println("OK: Database Name = " + m_databaseName);
		m_properties.setProperty(COMPIERE_DB_NAME, m_databaseName);
		System.out.println("OK: Database SystemID = system/" + m_systemPassword);
		m_properties.setProperty(COMPIERE_DB_SYSTEM, m_systemPassword);
		//	URL (derived)	jdbc:oracle:thin:@prod1:1521:prod1
		StringBuffer url = new StringBuffer("jdbc:oracle:thin:@")
			.append(m_databaseServer).append(":")
			.append(m_databasePort).append(":").append(m_databaseName);
		System.out.println("OK: Database URL = " + url.toString());
		m_properties.setProperty(COMPIERE_DB_URL, url.toString());


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -