📄 compiere.java
字号:
/**
* Get Logo Image.
* Removing/modifying the Compiere logo is a violation of the license
* @return Image Logo
*/
public static Image getImageLogo()
{
if (s_imageLogo == null)
{
Toolkit tk = Toolkit.getDefaultToolkit();
URL url = org.compiere.Compiere.class.getResource(s_file100x30);
// System.out.println(url);
if (url == null)
return null;
s_imageLogo = tk.getImage(url);
}
return s_imageLogo;
} // getImageLogo
/**
* Get 32x32 ImageIcon.
* Removing/modifying the Compiere logo is a violation of the license
* @return Image Icon
*/
public static ImageIcon getImageIcon32()
{
if (s_imageIcon32 == null)
{
URL url = org.compiere.Compiere.class.getResource(s_file32x32);
// System.out.println(url);
if (url == null)
return null;
s_imageIcon32 = new ImageIcon(url);
}
return s_imageIcon32;
} // getImageIcon32
/**
* Get 100x30 ImageIcon.
* Removing/modifying the Compiere logo is a violation of the license
* @return Image Icon
*/
public static ImageIcon getImageIconLogo()
{
if (s_imageIconLogo == null)
{
URL url = org.compiere.Compiere.class.getResource(s_file100x30);
// System.out.println(url);
if (url == null)
return null;
s_imageIconLogo = new ImageIcon(url);
}
return s_imageIconLogo;
} // getImageIconLogo
/**
* Get default (Home) directory
* @return Home directory
*/
public static String getCompiereHome()
{
// Try Environment
String retValue = Ini.getCompiereHome();
// Look in current Directory
if (retValue == null && System.getProperty("user.dir").indexOf("Compiere2") != -1)
{
retValue = System.getProperty("user.dir");
int pos = retValue.indexOf("Compiere2");
retValue = retValue.substring(pos+9);
}
if (retValue == null)
retValue = File.separator + "Compiere2";
return retValue;
} // getHome
/**
* Get Support Email
* @return Support mail address
*/
public static String getSupportEMail()
{
return s_supportEmail;
} // getSupportEMail
/**
* Set Support Email
* @param email Support mail address
*/
public static void setSupportEMail(String email)
{
s_supportEmail = email;
} // setSupportEMail
/**
* Get JNLP CodeBase
* @return code base or null
*/
public static URL getCodeBase()
{
try
{
BasicService bs = (BasicService)ServiceManager.lookup("javax.jnlp.BasicService");
URL url = bs.getCodeBase();
return url;
}
catch(UnavailableServiceException ue)
{
return null;
}
} // getCodeBase
/**
* Get JNLP CodeBase Host
* @return code base or null
*/
public static String getCodeBaseHost()
{
URL url = getCodeBase();
if (url == null)
return null;
return url.getHost();
} // getCodeBase
/*************************************************************************
* Startup Client/Server.
* - Print greeting,
* - Check Java version and
* - load ini parameters
* If it is a client, load/set PLAF and exit if error.
* If Client, you need to call startupEnvironment explicitly!
* For testing call method startupEnvironment
* @param isClient true for client
* @return successful startup
*/
public static synchronized boolean startup (boolean isClient)
{
// Already started
if (log != null)
return true;
// Check Version
if (!Login.isJavaOK(isClient) && isClient)
System.exit(1);
CLogMgt.initialize(isClient);
Ini.setClient (isClient); // Ini requires Logging
// Init Log
log = CLogger.getCLogger(Compiere.class);
// Greeting
log.info(getSummaryAscii());
log.info(getCompiereHome() + " - " + getJavaInfo() + " - " + getOSInfo());
// Load System environment
// EnvLoader.load(Ini.ENV_PREFIX);
// System properties
Ini.loadProperties (false);
// Set up Log
CLogMgt.setLevel(Ini.getProperty(Ini.P_TRACELEVEL));
if (isClient && Ini.isPropertyBool(Ini.P_TRACEFILE)
&& CLogFile.get(false, null, isClient) == null)
CLogMgt.addHandler(CLogFile.get (true, Ini.findCompiereHome(), isClient));
// Set UI
if (isClient)
{
CompiereTheme.load();
CompierePLAF.setPLAF (null);
}
// Set Default Database Connection from Ini
DB.setDBTarget(CConnection.get(getCodeBaseHost()));
if (isClient) // don't test connection
return false; // need to call
return startupEnvironment(isClient);
} // startup
/**
* Startup Compiere Environment.
* Automatically called for Server connections
* For testing call this method.
* @param isClient true if client connection
* @return successful startup
*/
public static boolean startupEnvironment (boolean isClient)
{
startup(isClient); // returns if already initiated
if (!DB.isConnected())
{
log.severe ("No Database");
System.exit(1);
}
// Initialize main cached Singletons
ModelValidationEngine.get();
try
{
MSystem system = MSystem.get(Env.getCtx()); // Initializes Base Context too
String className = system.getEncryptionKey();
if (className == null || className.length() == 0)
{
className = System.getProperty(SecureInterface.COMPIERE_SECURE);
if (className != null && className.length() > 0
&& !className.equals(SecureInterface.COMPIERE_SECURE_DEFAULT))
{
SecureEngine.init(className); // test it
system.setEncryptionKey(className);
system.save();
}
}
SecureEngine.init(className);
//
if (isClient)
MClient.get(Env.getCtx(),0); // Login Client loaded later
else
MClient.getAll(Env.getCtx());
Document.setKey(system.getSummary());
}
catch (Exception e)
{
log.warning("Environment problems: " + e.toString());
}
// Start Workflow Document Manager (in other package) for PO
String className = null;
try
{
className = "org.compiere.wf.DocWorkflowManager";
Class.forName(className);
// Initialize Archive Engine
className = "org.compiere.print.ArchiveEngine";
Class.forName(className);
}
catch (Exception e)
{
log.warning("Not started: " + className + " - " + e.getMessage());
}
if (!isClient)
DB.updateMail();
return true;
} // startupEnvironment
/**
* Main Method
*
* @param args optional start class
*/
public static void main (String[] args)
{
Splash.getSplash();
startup(true); // error exit and initUI
// Start with class as argument - or if nothing provided with Client
String className = "org.compiere.apps.AMenu";
for (int i = 0; i < args.length; i++)
{
if (!args[i].equals("-debug")) // ignore -debug
{
className = args[i];
break;
}
}
//
try
{
Class startClass = Class.forName(className);
startClass.newInstance();
}
catch (Exception e)
{
System.err.println("Compiere starting: " + className + " - " + e.toString());
e.printStackTrace();
}
} // main
} // Compiere
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -