Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
Copyright (c) 2003, 2010 IBM Corporation and others. All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html Contributors: IBM Corporation - initial API and implementation /
 
 package org.eclipse.core.runtime.internal.adaptor;
 
 import java.util.*;
Internal class.
 
 public class EclipseEnvironmentInfo implements EnvironmentInfo {
 	private static EclipseEnvironmentInfo singleton;
 	private static String nl;
 	private static String os;
 	private static String ws;
 	private static String arch;
 	private volatile static String[] allArgs;
 	private volatile static String[] frameworkArgs;
 	private volatile static String[] appArgs;
 
 	// While we recognize the SunOS operating system, we change
 	// this internally to be Solaris.
 	private static final String INTERNAL_OS_SUNOS = "SunOS"//$NON-NLS-1$
 	private static final String INTERNAL_OS_LINUX = "Linux"//$NON-NLS-1$
 	private static final String INTERNAL_OS_MACOSX = "Mac OS"//$NON-NLS-1$
 	private static final String INTERNAL_OS_AIX = "AIX"//$NON-NLS-1$
 	private static final String INTERNAL_OS_HPUX = "HP-UX"//$NON-NLS-1$
 	private static final String INTERNAL_OS_QNX = "QNX"//$NON-NLS-1$
 	private static final String INTERNAL_OS_OS400 = "OS/400"//$NON-NLS-1$
 	private static final String INTERNAL_OS_OS390 = "OS/390"//$NON-NLS-1$
 	private static final String INTERNAL_OS_ZOS = "z/OS"//$NON-NLS-1$
 
 	// While we recognize the i386 architecture, we change
 	// this internally to be x86.
 	private static final String INTERNAL_ARCH_I386 = "i386"//$NON-NLS-1$
 	// While we recognize the amd64 architecture, we change
 	// this internally to be x86_64.
 	private static final String INTERNAL_AMD64 = "amd64"//$NON-NLS-1$
 
 	private EclipseEnvironmentInfo() {
 		super();
 	}
 
 	public static EclipseEnvironmentInfo getDefault() {
 		if ( == null)
 		return ;
 	}
 
 	public boolean inDevelopmentMode() {
 		return FrameworkProperties.getProperty("osgi.dev") != null//$NON-NLS-1$
 	}
 
 	public boolean inDebugMode() {
 		return FrameworkProperties.getProperty("osgi.debug") != null//$NON-NLS-1$
 	}
 
 	public String[] getCommandLineArgs() {
 		return ;
 	}
 
 	public String[] getFrameworkArgs() {
 		return ;
 	}
 
 	public String[] getNonFrameworkArgs() {
 		return ;
 	}
 
 	public String getOSArch() {
 		return ;
 	}
 
 	public String getNL() {
 		return ;
 	}
 
 	public String getOS() {
 		return ;
 	}
 
 	public String getWS() {
 		return ;
 	}

Initializes the execution context for this run of the platform. The context includes information about the locale, operating system and window system. NOTE: The OS, WS, and ARCH values should never be null. The executable should be setting these values and therefore this code path is obsolete for Eclipse when run from the executable.
	private static void setupSystemContext() {
		// if the user didn't set the locale with a command line argument then use the default.
		 = FrameworkProperties.getProperty("osgi.nl"); //$NON-NLS-1$
		if ( != null) {
			StringTokenizer tokenizer = new StringTokenizer("_"); //$NON-NLS-1$
			int segments = tokenizer.countTokens();
			try {
				Locale userLocale = null;
				switch (segments) {
					case 1 :
						// use the 2 arg constructor to maintain compatibility with 1.3.1
						userLocale = new Locale(tokenizer.nextToken(), ""); //$NON-NLS-1$
						break;
					case 2 :
						userLocale = new Locale(tokenizer.nextToken(), tokenizer.nextToken());
						break;
					case 3 :
						userLocale = new Locale(tokenizer.nextToken(), tokenizer.nextToken(), tokenizer.nextToken());
						break;
					default :
						// if the user passed us in a bogus value then log a message and use the default
						userLocale = Locale.getDefault();
						break;
				}
				Locale.setDefault(userLocale);
				// TODO what the heck is this for?? why not just use osgi.nl
				FrameworkProperties.setProperty("osgi.nl.user"); //$NON-NLS-1$
catch (NoSuchElementException e) {
				// fall through and use the default
			}
		}
		 = Locale.getDefault().toString();
		FrameworkProperties.setProperty("osgi.nl"); //$NON-NLS-1$
		// if the user didn't set the operating system with a command line 
		// argument then use the default.
		 = FrameworkProperties.getProperty("osgi.os"); //$NON-NLS-1$
		if ( == null) {
			 = guessOS(FrameworkProperties.getProperty("os.name"));//$NON-NLS-1$);
			FrameworkProperties.setProperty("osgi.os"); //$NON-NLS-1$
		}
		// if the user didn't set the window system with a command line 
		// argument then use the default.
		 = FrameworkProperties.getProperty("osgi.ws"); //$NON-NLS-1$
		if ( == null) {
			FrameworkProperties.setProperty("osgi.ws"); //$NON-NLS-1$
		}
		// if the user didn't set the system architecture with a command line 
		// argument then use the default.
		 = FrameworkProperties.getProperty("osgi.arch"); //$NON-NLS-1$
		if ( == null) {
			String name = FrameworkProperties.getProperty("os.arch");//$NON-NLS-1$
			// Map i386 architecture to x86
			// Map amd64 architecture to x86_64
			else
				 = name;
			FrameworkProperties.setProperty("osgi.arch"); //$NON-NLS-1$			
		}
	}
	public static void setAllArgs(String[] allArgs) {
		// do not check if this is set already to allow arguments to change when multiple applications are launched
	}
	public static void setAppArgs(String[] appArgs) {
		// do not check if this is set already to allow arguments to change when multiple applications are launched
	}
	public static void setFrameworkArgs(String[] frameworkArgs) {
		// do not check if this is set already to allow arguments to change when multiple applications are launched
	}
	public static String guessWS(String os) {
		// setup default values for known OSes if nothing was specified
	}
	public static String guessOS(String osName) {
		// check to see if the OS name is "Windows 98" or some other
		// flavour which should be converted to win32.
		if (osName.regionMatches(true, 0, ., 0, 3))
		// EXCEPTION: All mappings of SunOS convert to Solaris
		// os.name on Mac OS can be either Mac OS or Mac OS X
	}
	public String getProperty(String key) {
		return FrameworkProperties.getProperty(key);
	}
	public String setProperty(String keyString value) {
		return FrameworkProperties.setProperty(keyvalue);
	}
New to GrepCode? Check out our FAQ X