modules/fxpackager/src/main/native/library/common/LinuxPlatform.cpp
Print this page
*** 106,156 ****
TString LinuxPlatform::GetAppDataDirectory() {
TString result;
TString home = GetEnv(_T("HOME"));
if (home.empty() == false) {
! result += FilePath::IncludeTrailingSlash(home) + _T(".local");
}
return result;
}
! PropertyContainer* LinuxPlatform::GetConfigFile(TString FileName) {
! return new PropertyFile(FileName);
}
TString LinuxPlatform::GetBundledJVMLibraryFileName(TString RuntimePath) {
! TString result = FilePath::IncludeTrailingSlash(RuntimePath) +
"jre/lib/"JAVAARCH"/client/libjvm.so";
if (FilePath::FileExists(result) == false) {
! result = FilePath::IncludeTrailingSlash(RuntimePath) +
"jre/lib/"JAVAARCH"/server/libjvm.so";
}
if (FilePath::FileExists(result) == false) {
! result = FilePath::IncludeTrailingSlash(RuntimePath) +
"lib/"JAVAARCH"/server/libjvm.so";
}
if (FilePath::FileExists(result) == false) {
! result = FilePath::IncludeTrailingSlash(RuntimePath) +
"lib/"JAVAARCH"/server/libjvm.so";
}
return result;
}
TString LinuxPlatform::GetSystemJRE() {
TString result;
TString jreHome = GetEnv("JRE_HOME");
if (jreHome.empty() == false) {
! result = FilePath::IncludeTrailingSlash(jreHome);
if (FilePath::FileExists(result + _T("lib/rt.jar")) == false) {
! result = FilePath::IncludeTrailingSlash(jreHome) + _T("jre");
if (FilePath::FileExists(result + _T("/lib/rt.jar")) == false) {
//check redhat location
if (FilePath::FileExists(_T("/usr/java/latest/jre/lib/rt.jar")) == true) {
result = _T("/usr/java/latest/jre");
--- 106,168 ----
TString LinuxPlatform::GetAppDataDirectory() {
TString result;
TString home = GetEnv(_T("HOME"));
if (home.empty() == false) {
! result += FilePath::IncludeTrailingSeparater(home) + _T(".local");
}
return result;
}
! ISectionalPropertyContainer* LinuxPlatform::GetConfigFile(TString FileName) {
! IniFile *result = new IniFile();
!
! if (result->LoadFromFile(FileName) == false) {
! // New property file format was not found, attempt to load old property file format.
! Helpers::LoadOldConfigFile(FileName, result);
! }
!
! return result;
}
TString LinuxPlatform::GetBundledJVMLibraryFileName(TString RuntimePath) {
! TString result = FilePath::IncludeTrailingSeparater(RuntimePath) +
"jre/lib/"JAVAARCH"/client/libjvm.so";
if (FilePath::FileExists(result) == false) {
! result = FilePath::IncludeTrailingSeparater(RuntimePath) +
"jre/lib/"JAVAARCH"/server/libjvm.so";
}
if (FilePath::FileExists(result) == false) {
! result = FilePath::IncludeTrailingSeparater(RuntimePath) +
"lib/"JAVAARCH"/server/libjvm.so";
}
if (FilePath::FileExists(result) == false) {
! result = FilePath::IncludeTrailingSeparater(RuntimePath) +
"lib/"JAVAARCH"/server/libjvm.so";
}
return result;
}
TString LinuxPlatform::GetSystemJRE() {
+ if (GetAppCDSState() == cdsOn || GetAppCDSState() == cdsGenCache) {
+ //TODO throw exception
+ return _T("");
+ }
+
TString result;
TString jreHome = GetEnv("JRE_HOME");
if (jreHome.empty() == false) {
! result = FilePath::IncludeTrailingSeparater(jreHome);
if (FilePath::FileExists(result + _T("lib/rt.jar")) == false) {
! result = FilePath::IncludeTrailingSeparater(jreHome) + _T("jre");
if (FilePath::FileExists(result + _T("/lib/rt.jar")) == false) {
//check redhat location
if (FilePath::FileExists(_T("/usr/java/latest/jre/lib/rt.jar")) == true) {
result = _T("/usr/java/latest/jre");
*** 171,185 ****
TString LinuxPlatform::GetSystemJVMLibraryFileName() {
TString result;
TString jreHome = GetSystemJRE();
if (jreHome.empty() == false && FilePath::DirectoryExists(jreHome) == true) {
! result = FilePath::IncludeTrailingSlash(jreHome) +
_T("/lib/"JAVAARCH"/client/libjvm.so");
if (FilePath::FileExists(result) == false) {
! result = FilePath::IncludeTrailingSlash(jreHome) +
_T("/lib/"JAVAARCH"/server/libjvm.so");
}
}
return result;
--- 183,197 ----
TString LinuxPlatform::GetSystemJVMLibraryFileName() {
TString result;
TString jreHome = GetSystemJRE();
if (jreHome.empty() == false && FilePath::DirectoryExists(jreHome) == true) {
! result = FilePath::IncludeTrailingSeparater(jreHome) +
_T("/lib/"JAVAARCH"/client/libjvm.so");
if (FilePath::FileExists(result) == false) {
! result = FilePath::IncludeTrailingSeparater(jreHome) +
_T("/lib/"JAVAARCH"/server/libjvm.so");
}
}
return result;
*** 1023,1068 ****
TString LinuxJavaUserPreferences::GetUserPrefFileName(TString Appid) {
TString result;
struct passwd *pw = getpwuid(getuid());
TString homedir = pw->pw_dir;
! TString userOverrideFileName = FilePath::IncludeTrailingSlash(homedir) +
! FilePath::IncludeTrailingSlash(_T(".java/.userPrefs")) +
! FilePath::IncludeTrailingSlash(Appid) +
_T("JVMUserOptions/prefs.xml");
if (FilePath::FileExists(userOverrideFileName) == true) {
result = userOverrideFileName;
}
return result;
}
! TOrderedMap ReadNode(XMLNode* node) {
! TOrderedMap result;
XMLNode* keyNode = FindXMLChild(node->_sub, _T("entry"));
- int index = 1;
while (keyNode != NULL) {
TString key = FindXMLAttribute(keyNode->_attributes, _T("key"));
TString value = FindXMLAttribute(keyNode->_attributes, _T("value"));
keyNode = keyNode->_next;
if (key.empty() == false) {
! TValueIndex item;
! item.value = value;
! item.index = index;
! result.insert(TOrderedMap::value_type(key, item));
! index++;
}
}
return result;
}
! TOrderedMap GetJvmUserArgs(TString filename) {
! TOrderedMap result;
if (FilePath::FileExists(filename) == true) {
//scan file for the key
FILE* fp = fopen(PlatformString(filename).toPlatformString(), "r");
--- 1035,1075 ----
TString LinuxJavaUserPreferences::GetUserPrefFileName(TString Appid) {
TString result;
struct passwd *pw = getpwuid(getuid());
TString homedir = pw->pw_dir;
! TString userOverrideFileName = FilePath::IncludeTrailingSeparater(homedir) +
! FilePath::IncludeTrailingSeparater(_T(".java/.userPrefs")) +
! FilePath::IncludeTrailingSeparater(Appid) +
_T("JVMUserOptions/prefs.xml");
if (FilePath::FileExists(userOverrideFileName) == true) {
result = userOverrideFileName;
}
return result;
}
! OrderedMap<TString, TString> ReadNode(XMLNode* node) {
! OrderedMap<TString, TString> result;
XMLNode* keyNode = FindXMLChild(node->_sub, _T("entry"));
while (keyNode != NULL) {
TString key = FindXMLAttribute(keyNode->_attributes, _T("key"));
TString value = FindXMLAttribute(keyNode->_attributes, _T("value"));
keyNode = keyNode->_next;
if (key.empty() == false) {
! result.Append(key, value);
}
}
return result;
}
! OrderedMap<TString, TString> GetJvmUserArgs(TString filename) {
! OrderedMap<TString, TString> result;
if (FilePath::FileExists(filename) == true) {
//scan file for the key
FILE* fp = fopen(PlatformString(filename).toPlatformString(), "r");