📄 configurationdata.java
字号:
//
if (testPort (mailServer, 110, true))
log.config("OK: POP3 Server contacted");
else
log.info("POP3 Server NOT available");
if (testPort (mailServer, 143, true))
{
log.config("OK: IMAP4 Server contacted");
imapOK = true;
}
else
log.info("IMAP4 Server NOT available");
//
if (!smtpOK)
{
String error = "No active Mail Server";
p_panel.signalOK (p_panel.okMailServer, "ErrorMailServer",
false, false, error);
log.warning(error);
return false;
}
//
try
{
EMail email = new EMail (new Properties(),
mailServer.getHostName (),
adminEMail.toString (), adminEMail.toString(),
"Compiere Server Setup Test",
"Test: " + getProperties());
email.createAuthenticator (mailUser, mailPassword);
if (EMail.SENT_OK.equals (email.send ()))
{
log.info("OK: Send Test Email to " + adminEMail);
}
else
{
log.warning("Could NOT send Email to " + adminEMail);
}
}
catch (Exception ex)
{
log.severe(ex.getLocalizedMessage());
return false;
}
//
if (!imapOK)
return false;
// Test Read Mail Access
Properties props = new Properties();
props.put("mail.store.protocol", "smtp");
props.put("mail.transport.protocol", "smtp");
props.put("mail.host", mailServer.getHostName());
props.put("mail.user", mailUser);
props.put("mail.smtp.auth", "true");
log.config("Connecting to " + mailServer.getHostName());
//
Session session = null;
Store store = null;
try
{
EMailAuthenticator auth = new EMailAuthenticator (mailUser, mailPassword);
session = Session.getDefaultInstance(props, auth);
session.setDebug (CLogMgt.isLevelFinest());
log.config("Session=" + session);
// Connect to Store
store = session.getStore("imap");
log.config("Store=" + store);
}
catch (NoSuchProviderException nsp)
{
log.warning("Mail IMAP Provider - " + nsp.getMessage());
return false;
}
catch (Exception e)
{
log.warning("Mail IMAP - " + e.getMessage());
return false;
}
try
{
store.connect(mailServer.getHostName(), mailUser, mailPassword);
log.config("Store - connected");
Folder folder = store.getDefaultFolder();
Folder inbox = folder.getFolder("INBOX");
log.info("OK: Mail Connect to " + inbox.getFullName() + " #Msg=" + inbox.getMessageCount());
//
store.close();
}
catch (MessagingException mex)
{
log.severe("Mail Connect " + mex.getMessage());
return false;
}
return true;
} // testMailServer
/**************************************************************************
* Test Apps Server Port (client perspective)
* @param protocol protocol (http, ..)
* @param server server name
* @param port port
* @param file file name
* @return true if able to connect
*/
protected boolean testPort (String protocol, String server, int port, String file)
{
URL url = null;
try
{
url = new URL (protocol, server, port, file);
}
catch (MalformedURLException ex)
{
log.severe("No URL for Protocol=" + protocol
+ ", Server=" + server
+ ": " + ex.getMessage());
return false;
}
try
{
URLConnection c = url.openConnection();
Object o = c.getContent();
log.severe("In use=" + url); // error
}
catch (Exception ex)
{
log.fine("Not used=" + url); // ok
return false;
}
return true;
} // testPort
/**
* Test Server Port
* @param port port
* @return true if able to create
*/
protected boolean testServerPort (int port)
{
try
{
ServerSocket ss = new ServerSocket (port);
log.fine(ss.getInetAddress() + ":" + ss.getLocalPort() + " - created");
ss.close();
}
catch (Exception ex)
{
log.severe("Port " + port + ": " + ex.getMessage());
return false;
}
return true;
} // testPort
/**
* Test Port
* @param host host
* @param port port
* @param shouldBeUsed true if it should be used
* @return true if some server answered on port
*/
protected boolean testPort (InetAddress host, int port, boolean shouldBeUsed)
{
Socket pingSocket = null;
try
{
pingSocket = new Socket(host, port);
}
catch (Exception e)
{
if (shouldBeUsed)
log.severe("Open Socket " + host + ":" + port + " - " + e.getMessage());
else
log.fine(host + ":" + port + " - " + e.getMessage());
return false;
}
if (!shouldBeUsed)
log.severe("Open Socket " + host + ":" + port + " - " + pingSocket);
log.fine(host + ":" + port + " - " + pingSocket);
if (pingSocket == null)
return false;
// success
try
{
pingSocket.close();
}
catch (IOException e)
{
log.severe("close socket=" + e.toString());
}
return true;
} // testPort
/**************************************************************************
* Save Settings
* @return true if saved
*/
public boolean save()
{
// Add
p_properties.setProperty("COMPIERE_MAIN_VERSION", Compiere.MAIN_VERSION);
p_properties.setProperty("COMPIERE_DATE_VERSION", Compiere.DATE_VERSION);
p_properties.setProperty("COMPIERE_DB_VERSION", Compiere.DB_VERSION);
log.finest(p_properties.toString());
// Before we save, load Ini
Ini.setClient(false);
String fileName = m_compiereHome.getAbsolutePath() + File.separator + Ini.COMPIERE_PROPERTY_FILE;
Ini.loadProperties(fileName);
// Save Environment
fileName = m_compiereHome.getAbsolutePath() + File.separator + COMPIERE_ENV_FILE;
try
{
FileOutputStream fos = new FileOutputStream(new File(fileName));
p_properties.store(fos, COMPIERE_ENV_FILE);
fos.flush();
fos.close();
}
catch (Exception e)
{
log.severe("Cannot save Properties to " + fileName + " - " + e.toString());
JOptionPane.showConfirmDialog(p_panel,
ConfigurationPanel.res.getString("ErrorSave"),
ConfigurationPanel.res.getString("CompiereServerSetup"),
JOptionPane.DEFAULT_OPTION, JOptionPane.ERROR_MESSAGE);
return false;
}
catch (Throwable t)
{
log.severe("Cannot save Properties to " + fileName + " - " + t.toString());
JOptionPane.showConfirmDialog(p_panel,
ConfigurationPanel.res.getString("ErrorSave"),
ConfigurationPanel.res.getString("CompiereServerSetup"),
JOptionPane.DEFAULT_OPTION, JOptionPane.ERROR_MESSAGE);
return false;
}
log.info(fileName);
return saveIni();
} // save
/**
* Synchronize and save Connection Info in Ini
*/
private boolean saveIni()
{
Ini.setCompiereHome(m_compiereHome.getAbsolutePath());
// Create Connection
String ccType = Database.DB_ORACLE;
if (getDatabaseType().equals(DBTYPE_MS))
ccType = Database.DB_MSSQLServer;
else if (getDatabaseType().equals(DBTYPE_DB2))
ccType = Database.DB_DB2;
else if (getDatabaseType().equals(DBTYPE_DERBY))
ccType = Database.DB_DERBY;
CConnection cc = null;
try
{
cc = CConnection.get (ccType,
getDatabaseServer(), getDatabasePort(), getDatabaseName(),
getDatabaseUser(), getDatabasePassword());
cc.setAppsHost(p_panel.fAppsServer.getText());
cc.setConnectionProfile(CConnection.PROFILE_LAN);
}
catch(Exception e)
{
log.log(Level.SEVERE, "connection", e);
return false;
}
if (cc == null)
{
log.severe("No Connection");
return false;
}
Ini.setProperty(Ini.P_CONNECTION, cc.toStringLong());
Ini.saveProperties(false);
return true;
} // saveIni
/**
* Get Properties
* @return properties
*/
Properties getProperties ()
{
return p_properties;
} // getProperties
/**
* Get Compiere Home
* @return compiere home
*/
public String getCompiereHome()
{
return p_panel.fCompiereHome.getText();
} // getCompiereHome
public void setCompiereHome (String compiereHome)
{
p_panel.fCompiereHome.setText(compiereHome);
}
public String getKeyStore ()
{
char[] pw = p_panel.fKeyStore.getPassword();
if (pw != null)
return new String(pw);
return "";
}
public void setKeyStore (String password)
{
p_panel.fKeyStore.setText(password);
}
/**************************************************************************
* Java Settings
*************************************************************************/
/** SUN VM (default) */
private static String JAVATYPE_SUN = "sun";
/** Apple VM */
private static String JAVATYPE_MAC = "mac";
/** IBM VM */
private static String JAVATYPE_IBM = "<ibm>";
/** Java VM Types */
static String[] JAVATYPE = new String[]
{JAVATYPE_SUN, JAVATYPE_MAC, JAVATYPE_IBM};
/** Database Configs */
private Config[] m_javaConfig = new Config[]
{new ConfigVMSun(this), new ConfigVMMac(this), null};
/**
* Init Database
*/
public void initJava()
{
int index = p_panel.fJavaType.getSelectedIndex();
if (index < 0 || index >= JAVATYPE.length)
log.warning("JavaType Index invalid: " + index);
else if (m_javaConfig[index] == null)
{
log.warning("JavaType Config missing: " + JAVATYPE[index]);
p_panel.fJavaType.setSelectedIndex(0);
}
else
m_javaConfig[index].init();
} // initDatabase
/**
* Test Java
* @return error message or null of OK
*/
public String testJava()
{
int index = p_panel.fJavaType.getSelectedIndex();
if (index < 0 || index >= JAVATYPE.length)
return "JavaType Index invalid: " + index;
else if (m_javaConfig[index] == null)
return "JavaType Config class missing: " + index;
return m_javaConfig[index].test();
} // testJava
/**
* Set Java Type
* @param javaType The javaType to set.
*/
public void setJavaType (String javaType)
{
int index = -1;
for (int i = 0; i < JAVATYPE.length; i++)
{
if (JAVATYPE[i].equals(javaType))
{
index = i;
break;
}
}
if (index == -1)
{
index = 0;
log.warning("Invalid JavaType=" + javaType);
}
p_panel.fJavaType.setSelectedIndex(index);
} // setJavaType
/**
* @return Returns the javaType.
*/
public String getJavaType ()
{
return (String)p_panel.fJavaType.getSelectedItem();
}
/**
* @return Returns the javaHome.
*/
public String getJavaHome ()
{
return p_panel.fJavaHome.getText();
}
/**
* @param javaHome The javaHome to set.
*/
public void setJavaHome (String javaHome)
{
p_panel.fJavaHome.setText(javaHome);
}
/**************************************************************************
* Apps Server Settings
*************************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -