Changeset 20709 for other-projects/trunk
- Timestamp:
- 2009-09-25T13:30:06+12:00 (15 years ago)
- Location:
- other-projects/trunk/search4j
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
other-projects/trunk/search4j/libsearch4j.cpp
r18237 r20709 139 139 //Jvm class methods 140 140 141 Jvm::Jvm() { 142 healthy = false; 143 } 141 Jvm::Jvm() 142 : era_(1), major_(0), minor_(0), update_(0), 143 javaHome_(), 144 isJdk_(false), healthy_(false) 145 {} 146 147 Jvm::~Jvm() 148 { 149 // javaHome automatically destructed 150 } 151 144 152 145 153 void Jvm::setJavaHome( string jh ) { 146 healthy = true;147 javaHome = jh;154 healthy_ = true; 155 javaHome_ = jh; 148 156 setVersionFromExeOuput(); 149 157 setIsJdkFromJavacPresence(); … … 151 159 152 160 string Jvm::getJavaHome() { 153 return javaHome ;161 return javaHome_; 154 162 } 155 163 156 164 string Jvm::getExecutable() { 157 165 string exec = ""; 158 exec.append( javaHome );166 exec.append( javaHome_ ); 159 167 160 168 #ifdef WINDOWS … … 172 180 string Jvm::getWinExecutable() { 173 181 string exec = ""; 174 exec.append( javaHome );182 exec.append( javaHome_ ); 175 183 exec.append( "\\bin\\javaw.exe" ); 176 184 return exec; … … 181 189 string Jvm::getVersion() { 182 190 stringstream ss; 183 ss << era << "." << major << "." << minor << "_" << update;191 ss << era_ << "." << major_ << "." << minor_ << "_" << update_; 184 192 return ss.str(); 185 193 } 186 194 187 195 bool Jvm::check() { 188 return healthy ;196 return healthy_; 189 197 } 190 198 191 199 bool Jvm::setVersionFromString( string version ) { 192 era = atoi( version.substr(0,1).c_str() );193 major = atoi( version.substr(2,1).c_str() );194 minor = atoi( version.substr(4,1).c_str() );195 update = atoi( version.substr(6,2).c_str() );200 era_ = atoi( version.substr(0,1).c_str() ); 201 major_ = atoi( version.substr(2,1).c_str() ); 202 minor_ = atoi( version.substr(4,1).c_str() ); 203 update_ = atoi( version.substr(6,2).c_str() ); 196 204 return true; 197 205 } … … 199 207 int Jvm::compare( Jvm otherJvm ) { 200 208 //era 201 if ( era > otherJvm.getEra() )209 if ( era_ > otherJvm.getEra() ) 202 210 return 1; 203 else if ( era < otherJvm.getEra() )211 else if ( era_ < otherJvm.getEra() ) 204 212 return -1; 205 213 206 214 //major 207 if ( major > otherJvm.getMajor() )215 if ( major_ > otherJvm.getMajor() ) 208 216 return 1; 209 else if ( major < otherJvm.getMajor() )217 else if ( major_ < otherJvm.getMajor() ) 210 218 return -1; 211 219 212 220 //minor 213 if ( minor > otherJvm.getMinor() )221 if ( minor_ > otherJvm.getMinor() ) 214 222 return 1; 215 else if ( minor < otherJvm.getMinor() )223 else if ( minor_ < otherJvm.getMinor() ) 216 224 return -1; 217 225 218 226 //update 219 if ( update > otherJvm.getUpdate() )227 if ( update_ > otherJvm.getUpdate() ) 220 228 return 1; 221 else if ( update < otherJvm.getUpdate() )229 else if ( update_ < otherJvm.getUpdate() ) 222 230 return -1; 223 231 … … 227 235 } 228 236 229 int Jvm::getEra() { return era ; }230 int Jvm::getMajor() { return major ; }231 int Jvm::getMinor() { return minor ; }232 int Jvm::getUpdate() { return update ; }233 234 bool Jvm::getIsJdk() { return isJdk ; }235 bool Jvm::getIsJre() { return !isJdk ; }237 int Jvm::getEra() { return era_; } 238 int Jvm::getMajor() { return major_; } 239 int Jvm::getMinor() { return minor_; } 240 int Jvm::getUpdate() { return update_; } 241 242 bool Jvm::getIsJdk() { return isJdk_; } 243 bool Jvm::getIsJre() { return !isJdk_; } 236 244 237 245 void Jvm::setVersionFromExeOuput() { … … 248 256 if ( result == 0 ) { 249 257 if ( strcmp( output.substr( 0, 12 ).c_str() , "java version" ) == 0 || true ) { 250 era = atoi( output.substr(14,1).c_str() );251 major = atoi( output.substr(16,1).c_str() );252 minor = atoi( output.substr(18,1).c_str() );253 update = atoi( output.substr(20,2).c_str() );258 era_ = atoi( output.substr(14,1).c_str() ); 259 major_ = atoi( output.substr(16,1).c_str() ); 260 minor_ = atoi( output.substr(18,1).c_str() ); 261 update_ = atoi( output.substr(20,2).c_str() ); 254 262 } else { 255 healthy =false;263 healthy_=false; 256 264 } 257 265 } else { 258 healthy = false;266 healthy_ = false; 259 267 } 260 268 } 261 269 void Jvm::setIsJdkFromJavacPresence() { 262 270 string javacFile = ""; 263 javacFile.append( javaHome );271 javacFile.append( javaHome_ ); 264 272 265 273 #ifdef WINDOWS … … 270 278 #endif 271 279 struct stat stFileInfo; 272 isJdk = ( stat(javacFile.c_str(),&stFileInfo) == 0 );280 isJdk_ = ( stat(javacFile.c_str(),&stFileInfo) == 0 ); 273 281 } 274 282 … … 309 317 * return a Jvm object which represents the jvm on disk 310 318 */ 311 bool find( Jvm &jvm, bool use_minimum, Jvmminimum, bool jreOnly, bool jdkOnly, string phint, string hint, bool verbose ) {319 bool find( Jvm &jvm, bool use_minimum, const Jvm& minimum, bool jreOnly, bool jdkOnly, string phint, string hint, bool verbose ) { 312 320 313 321 if ( verbose ) cout << "Searching for a JVM" << endl; 314 322 315 char *javaHome = "";323 char *javaHomeEnv = ""; 316 324 bool jvmFound = false; 317 325 … … 344 352 //try JAVA_HOME 345 353 if ( verbose ) cout << " - trying JAVA_HOME: "; 346 javaHome = getenv( "JAVA_HOME" );347 if ( javaHome != NULL ) {348 if ( verbose ) cout << "(" << javaHome << ") ";349 jvm.setJavaHome( javaHome );354 javaHomeEnv = getenv( "JAVA_HOME" ); 355 if ( javaHomeEnv != NULL ) { 356 if ( verbose ) cout << "(" << javaHomeEnv << ") "; 357 jvm.setJavaHome( javaHomeEnv ); 350 358 if ( jvm.check() ) { 351 359 if ( use_minimum ) { … … 369 377 //try JRE_HOME 370 378 if ( verbose ) cout << " - trying JRE_HOME: "; 371 javaHome = getenv( "JRE_HOME" );372 if ( javaHome != NULL ) {373 if ( verbose ) cout << "(" << javaHome << ") ";374 jvm.setJavaHome( javaHome );379 javaHomeEnv = getenv( "JRE_HOME" ); 380 if ( javaHomeEnv != NULL ) { 381 if ( verbose ) cout << "(" << javaHomeEnv << ") "; 382 jvm.setJavaHome( javaHomeEnv ); 375 383 if ( jvm.check() ) { 376 384 if ( use_minimum ) { -
other-projects/trunk/search4j/libsearch4j.h
r18596 r20709 23 23 24 24 // version string. era.major.minor_update. eg: 1.4.2_02 25 int era ;26 int major ;27 int minor ;28 int update ;25 int era_; 26 int major_; 27 int minor_; 28 int update_; 29 29 30 string javaHome ;31 bool isJdk ;32 bool healthy ;30 string javaHome_; 31 bool isJdk_; 32 bool healthy_; 33 33 34 34 public: 35 35 Jvm(); 36 ~Jvm(); 37 36 38 void setJavaHome( string jh ); 37 39 string getJavaHome(); … … 60 62 61 63 62 bool find( Jvm &jvm, bool use_minimum, Jvmminimum, bool jreOnly, bool jdeOnly, string phint, string hint, bool verbose );64 bool find( Jvm &jvm, bool use_minimum, const Jvm& minimum, bool jreOnly, bool jdeOnly, string phint, string hint, bool verbose );
Note:
See TracChangeset
for help on using the changeset viewer.