Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
View | Details | Raw Unified | Return to bug 162415 | Differences between
and this patch

Collapse All | Expand All

(-)console/src/org/eclipse/osgi/framework/internal/core/FrameworkConsole.java (-11 / +100 lines)
Lines 15-21 Link Here
15
import java.net.*;
15
import java.net.*;
16
import org.eclipse.osgi.framework.console.CommandInterpreter;
16
import org.eclipse.osgi.framework.console.CommandInterpreter;
17
import org.eclipse.osgi.framework.console.CommandProvider;
17
import org.eclipse.osgi.framework.console.CommandProvider;
18
import org.eclipse.osgi.framework.log.FrameworkLog;
19
import org.eclipse.osgi.framework.log.FrameworkLogEntry;
18
import org.eclipse.osgi.util.NLS;
20
import org.eclipse.osgi.util.NLS;
21
import org.osgi.framework.BundleContext;
19
import org.osgi.framework.ServiceReference;
22
import org.osgi.framework.ServiceReference;
20
import org.osgi.util.tracker.ServiceTracker;
23
import org.osgi.util.tracker.ServiceTracker;
21
24
Lines 53-58 Link Here
53
	protected ServerSocket ss = null;
56
	protected ServerSocket ss = null;
54
	protected ConsoleSocketGetter scsg = null;
57
	protected ConsoleSocketGetter scsg = null;
55
	protected Socket s;
58
	protected Socket s;
59
	protected FrameworkLog log;
56
60
57
	/**
61
	/**
58
	 Constructor for FrameworkConsole.
62
	 Constructor for FrameworkConsole.
Lines 71-77 Link Here
71
	/**
75
	/**
72
	 Constructor for FrameworkConsole.
76
	 Constructor for FrameworkConsole.
73
	 It creates a service tracker to track CommandProvider registrations.
77
	 It creates a service tracker to track CommandProvider registrations.
74
	 The console InputStream is set to System.in and the console PrintStream is set to System.out.
78
	 The console InputStream is set to System.in and the console PrintStream is set to System.out, by deafult
75
	 @param osgi - an instance of an osgi framework
79
	 @param osgi - an instance of an osgi framework
76
	 @param args - any arguments passed on the command line when Launcher is started.
80
	 @param args - any arguments passed on the command line when Launcher is started.
77
	 */
81
	 */
Lines 85-95 Link Here
85
	}
89
	}
86
90
87
	/**
91
	/**
92
	 Constructor for FrameworkConsole.
93
	 It creates a service tracker to track CommandProvider registrations.
94
	 The console InputStream is set to System.in and the console PrintStream is set to System.out, by default
95
	 @param context - BundleContext of the bundle creating this framework console
96
	 @param args - any arguments passed on the command line when Launcher is started.
97
	 */
98
	public FrameworkConsole(BundleContext context, String[] args) {
99
		this.args = args;
100
		this.osgi = null;
101
		this.context = context;
102
103
		initialize();
104
	}
105
106
	/**
88
	 *  Open streams for system.in and system.out
107
	 *  Open streams for system.in and system.out
89
	 */
108
	 */
90
	private void getDefaultStreams() {
109
	private void getDefaultStreams() {
91
		in = createBufferedReader(System.in);
110
		if (in == null)
92
		out = createPrintWriter(System.out);
111
			in = createBufferedReader(System.in);
112
		if (out == null)
113
			out = createPrintWriter(System.out);
114
	}
115
116
	/**
117
	 * Change the Input stream for the console. If
118
	 * The default is System.in
119
	 * @arg InputStream in - if null, the method does nothing
120
	 */
121
	public void setIn(InputStream in) {
122
		if (in != null)
123
			this.in = createBufferedReader(in);
124
	}
125
126
	/**
127
	 * Change the output stream for the console. If
128
	 * The default is System.out
129
	 * @arg OutputStream out - if null, the method does nothing
130
	 */
131
	public void setOut(OutputStream out) {
132
		if (out != null)
133
			this.out = createPrintWriter(out);
93
	}
134
	}
94
135
95
	/**
136
	/**
Lines 110-118 Link Here
110
			in = createBufferedReader(s.getInputStream());
151
			in = createBufferedReader(s.getInputStream());
111
			out = createPrintWriter(s.getOutputStream());
152
			out = createPrintWriter(s.getOutputStream());
112
		} catch (UnknownHostException uhe) {
153
		} catch (UnknownHostException uhe) {
113
			uhe.printStackTrace();
154
			log(ConsoleMsg.SOCKET_STREAM_UNKOWNHOST, uhe);
114
		} catch (Exception e) {
155
		} catch (Exception e) {
115
			e.printStackTrace();
156
			log(ConsoleMsg.SOCKET_STREAM_EXCEPTION, e);
116
		}
157
		}
117
	}
158
	}
118
159
Lines 183-196 Link Here
183
	private void initialize() {
224
	private void initialize() {
184
		getDefaultStreams();
225
		getDefaultStreams();
185
226
186
		context = osgi.getBundleContext();
227
		if (osgi != null) {
228
			context = osgi.getBundleContext();
229
		}
187
230
188
		// set up a service tracker to track CommandProvider registrations
231
		// set up a service tracker to track CommandProvider registrations
189
		cptracker = new ServiceTracker(context, CommandProvider.class.getName(), null);
232
		cptracker = new ServiceTracker(context, CommandProvider.class.getName(), null);
190
		cptracker.open();
233
		cptracker.open();
191
234
192
		// register the OSGi command provider
235
		// register the OSGi command provider
193
		osgicp = new FrameworkCommandProvider(osgi);
236
		if (osgi != null) {
237
			osgicp = new FrameworkCommandProvider(osgi);
238
		} else {
239
			osgicp = new FrameworkCommandProvider(context);
240
		}
194
241
195
	}
242
	}
196
243
Lines 210-216 Link Here
210
				console();
257
				console();
211
			}
258
			}
212
		} catch (IOException e) {
259
		} catch (IOException e) {
213
			e.printStackTrace(out);
260
			log(ConsoleMsg.CONSOLE_RUN, e);
214
		}
261
		}
215
	}
262
	}
216
263
Lines 297-303 Link Here
297
	 * will cause the console to close from a telnet session.
344
	 * will cause the console to close from a telnet session.
298
	 */
345
	 */
299
346
300
	void disconnect() throws IOException {
347
	public void disconnect() throws IOException {
301
		disconnect = true;
348
		disconnect = true;
302
		out.close();
349
		out.close();
303
		in.close();
350
		in.close();
Lines 342-347 Link Here
342
	}
389
	}
343
390
344
	/**
391
	/**
392
	 * Lazily initializes a FrameworkLog for private use
393
	 */
394
	protected FrameworkLog getLog() {
395
		if (log == null)
396
			log = (FrameworkLog) context.getService(context.getServiceReference(FrameworkLog.class.getName()));
397
		return log;
398
	}
399
400
	/**
401
	 * Adds to log with given entry and message
402
	 */
403
	protected void log(String entry, String message) {
404
		log(entry, message, null);
405
	}
406
407
	/**
408
	 * Adds to log with given entry and message, and throwable
409
	 */
410
	protected void log(String entry, String message, Throwable exception) {
411
		FrameworkLog localLog = getLog();
412
		if (localLog == null) {
413
			System.err.println(ConsoleMsg.LOG_ENTRY + entry);
414
			System.err.println(ConsoleMsg.LOG_MESSAGE + message);
415
			if (exception != null)
416
				exception.printStackTrace();
417
		} else {
418
			localLog.log(new FrameworkLogEntry(entry, message, 0, exception, null));
419
		}
420
	}
421
422
	/**
423
	 * Adds to log with given entry, and throwable
424
	 * Entry is a string describing the context of the throwable.
425
	 * If the throwable has no message, message is the Throwable's class name
426
	 */
427
	protected void log(String entry, Throwable exception) {
428
		String message = exception.getMessage();
429
		if (message == null)
430
			message = exception.getClass().getName();
431
		log(entry, message, exception);
432
	}
433
434
	/**
345
	 * ConsoleSocketGetter - provides a Thread that listens on the port
435
	 * ConsoleSocketGetter - provides a Thread that listens on the port
346
	 * for FrameworkConsole.  If acceptConnections is set to true then
436
	 * for FrameworkConsole.  If acceptConnections is set to true then
347
	 * the thread will notify the getSocket method to return the socket.
437
	 * the thread will notify the getSocket method to return the socket.
Lines 389-395 Link Here
389
						}
479
						}
390
					}
480
					}
391
				} catch (Exception e) {
481
				} catch (Exception e) {
392
					e.printStackTrace();
482
					log(ConsoleMsg.SOCKET_RUN, e);
393
				}
483
				}
394
484
395
			}
485
			}
Lines 418-422 Link Here
418
			this.acceptConnections = acceptConnections;
508
			this.acceptConnections = acceptConnections;
419
		}
509
		}
420
	}
510
	}
421
422
}
511
}
(-)console/src/org/eclipse/osgi/framework/internal/core/ConsoleMessages.properties (+6 lines)
Lines 13-18 Link Here
13
CONSOLE_PROMPT=osgi> 
13
CONSOLE_PROMPT=osgi> 
14
CONSOLE_ID=id
14
CONSOLE_ID=id
15
CONSOLE_MORE=-- More...Press Enter to Continue...
15
CONSOLE_MORE=-- More...Press Enter to Continue...
16
CONSOLE_RUN=Exception Startring the console thread.
16
CONSOLE_HELP_CONTROLLING_CONSOLE_HEADING=---Controlling the Console---
17
CONSOLE_HELP_CONTROLLING_CONSOLE_HEADING=---Controlling the Console---
17
CONSOLE_HELP_MORE=More prompt for console output
18
CONSOLE_HELP_MORE=More prompt for console output
18
CONSOLE_HELP_DISCONNECT=Disconnects from telnet session
19
CONSOLE_HELP_DISCONNECT=Disconnects from telnet session
Lines 152-154 Link Here
152
CONSOLE_REQUIRES_MESSAGE=[requires]
153
CONSOLE_REQUIRES_MESSAGE=[requires]
153
CONSOLE_HELP_PROFILE_HEADING=---Controlling the Profiling---
154
CONSOLE_HELP_PROFILE_HEADING=---Controlling the Profiling---
154
CONSOLE_HELP_PROFILELOG_DESCRIPTION=Display & flush the profile log messages
155
CONSOLE_HELP_PROFILELOG_DESCRIPTION=Display & flush the profile log messages
156
SOCKET_RUN=Exception listening for connections.
157
SOCKET_STREAM_UNKOWNHOST=UnknownHostException attempting to open a socket.
158
SOCKET_STREAM_EXCEPTION=Exception attempting to open a socket.
159
LOG_ENTRY=\!ENTRY 
160
LOG_MESSAGE=\!MESSAGE 
(-)console/src/org/eclipse/osgi/framework/internal/core/FrameworkCommandProvider.java (-15 / +62 lines)
Lines 28-33 Link Here
28
import org.osgi.service.packageadmin.PackageAdmin;
28
import org.osgi.service.packageadmin.PackageAdmin;
29
import org.osgi.service.packageadmin.RequiredBundle;
29
import org.osgi.service.packageadmin.RequiredBundle;
30
import org.osgi.service.permissionadmin.PermissionAdmin;
30
import org.osgi.service.permissionadmin.PermissionAdmin;
31
import org.osgi.service.startlevel.StartLevel;
31
32
32
/**
33
/**
33
 * This class provides methods to execute commands from the command line.  It registers
34
 * This class provides methods to execute commands from the command line.  It registers
Lines 83-89 Link Here
83
	/** The system bundle context */
84
	/** The system bundle context */
84
	private org.osgi.framework.BundleContext context;
85
	private org.osgi.framework.BundleContext context;
85
	/** The start level implementation */
86
	/** The start level implementation */
86
	private StartLevelManager slImpl;
87
	private StartLevel slImpl;
87
	private ConditionalPermissionAdmin condPermAdmin;
88
	private ConditionalPermissionAdmin condPermAdmin;
88
	private PermissionAdmin permAdmin;
89
	private PermissionAdmin permAdmin;
89
90
Lines 101-107 Link Here
101
	public FrameworkCommandProvider(OSGi osgi) {
102
	public FrameworkCommandProvider(OSGi osgi) {
102
		this.osgi = osgi;
103
		this.osgi = osgi;
103
		context = osgi.getBundleContext();
104
		context = osgi.getBundleContext();
104
		slImpl = osgi.framework.startLevelManager;
105
		if (context == null) {
106
			System.err.println("Could not find OSGi's bundle context");
107
		}
108
		slImpl = (StartLevel) context.getService(context.getServiceReference(StartLevel.class.getName()));
105
		condPermAdmin = osgi.framework.condPermAdmin;
109
		condPermAdmin = osgi.framework.condPermAdmin;
106
		permAdmin = osgi.framework.permissionAdmin;
110
		permAdmin = osgi.framework.permissionAdmin;
107
		Dictionary props = new Hashtable();
111
		Dictionary props = new Hashtable();
Lines 110-115 Link Here
110
	}
114
	}
111
115
112
	/**
116
	/**
117
	 *  Constructor.
118
	 *
119
	 *  It registers itself as a CommandProvider with the highest ranking possible. Takes BundleContext object
120
	 *  instead of OSGi object. This means that some commands will be disabled, specifically, _launch and _shutdown
121
	 *
122
	 * @param context The BundleContext of the plugin attempting to create this FrameworkCommandProvider, or that of the plugin that created the FrameworkConsole that is creating this.
123
	 */
124
	public FrameworkCommandProvider(BundleContext context) {
125
		this.osgi = null;
126
		this.context = context;
127
		slImpl = (StartLevel) context.getService(context.getServiceReference(StartLevel.class.getName()));
128
		ServiceReference ref = context.getServiceReference(ConditionalPermissionAdmin.class.getName());
129
		if (ref != null)
130
			condPermAdmin = (ConditionalPermissionAdmin) context.getService(ref);
131
		else
132
			condPermAdmin = null;
133
		ref = context.getServiceReference(PermissionAdmin.class.getName());
134
		if (ref != null)
135
			permAdmin = (PermissionAdmin) context.getService(ref);
136
		else
137
			permAdmin = null;
138
		Dictionary props = new Hashtable();
139
		props.put(Constants.SERVICE_RANKING, new Integer(Integer.MAX_VALUE));
140
		this.context.registerService(CommandProvider.class.getName(), this, props);
141
	}
142
143
	/**
113
	 Answer a string (may be as many lines as you like) with help
144
	 Answer a string (may be as many lines as you like) with help
114
	 texts that explain the command.  This getHelp() method uses the 
145
	 texts that explain the command.  This getHelp() method uses the 
115
	 ConsoleMsg class to obtain the correct NLS data to display to the user.
146
	 ConsoleMsg class to obtain the correct NLS data to display to the user.
Lines 122-129 Link Here
122
		help.append(ConsoleMsg.CONSOLE_HELP_VALID_COMMANDS_HEADER);
153
		help.append(ConsoleMsg.CONSOLE_HELP_VALID_COMMANDS_HEADER);
123
		help.append(newline);
154
		help.append(newline);
124
		addHeader(ConsoleMsg.CONSOLE_HELP_CONTROLLING_FRAMEWORK_HEADER, help);
155
		addHeader(ConsoleMsg.CONSOLE_HELP_CONTROLLING_FRAMEWORK_HEADER, help);
125
		addCommand("launch", ConsoleMsg.CONSOLE_HELP_LAUNCH_COMMAND_DESCRIPTION, help); //$NON-NLS-1$ 
156
		if (osgi != null) {
126
		addCommand("shutdown", ConsoleMsg.CONSOLE_HELP_SHUTDOWN_COMMAND_DESCRIPTION, help); //$NON-NLS-1$ 
157
			addCommand("launch", ConsoleMsg.CONSOLE_HELP_LAUNCH_COMMAND_DESCRIPTION, help); //$NON-NLS-1$ 
158
			addCommand("shutdown", ConsoleMsg.CONSOLE_HELP_SHUTDOWN_COMMAND_DESCRIPTION, help); //$NON-NLS-1$ 
159
		}
127
		addCommand("close", ConsoleMsg.CONSOLE_HELP_CLOSE_COMMAND_DESCRIPTION, help); //$NON-NLS-1$ 
160
		addCommand("close", ConsoleMsg.CONSOLE_HELP_CLOSE_COMMAND_DESCRIPTION, help); //$NON-NLS-1$ 
128
		addCommand("exit", ConsoleMsg.CONSOLE_HELP_EXIT_COMMAND_DESCRIPTION, help); //$NON-NLS-1$ 
161
		addCommand("exit", ConsoleMsg.CONSOLE_HELP_EXIT_COMMAND_DESCRIPTION, help); //$NON-NLS-1$ 
129
		addCommand("gc", ConsoleMsg.CONSOLE_HELP_GC_COMMAND_DESCRIPTION, help); //$NON-NLS-1$ 
162
		addCommand("gc", ConsoleMsg.CONSOLE_HELP_GC_COMMAND_DESCRIPTION, help); //$NON-NLS-1$ 
Lines 202-208 Link Here
202
	 *  @param intp A CommandInterpreter object containing the command and it's arguments.
235
	 *  @param intp A CommandInterpreter object containing the command and it's arguments.
203
	 */
236
	 */
204
	public void _launch(CommandInterpreter intp) throws Exception {
237
	public void _launch(CommandInterpreter intp) throws Exception {
205
		osgi.launch();
238
		if (osgi != null)
239
			osgi.launch();
240
206
	}
241
	}
207
242
208
	/**
243
	/**
Lines 211-217 Link Here
211
	 *  @param intp A CommandInterpreter object containing the command and it's arguments.
246
	 *  @param intp A CommandInterpreter object containing the command and it's arguments.
212
	 */
247
	 */
213
	public void _shutdown(CommandInterpreter intp) throws Exception {
248
	public void _shutdown(CommandInterpreter intp) throws Exception {
214
		osgi.shutdown();
249
		if (osgi != null)
250
			osgi.shutdown();
251
215
	}
252
	}
216
253
217
	/**
254
	/**
Lines 408-414 Link Here
408
	 *  @param intp A CommandInterpreter object containing the command and it's arguments.
445
	 *  @param intp A CommandInterpreter object containing the command and it's arguments.
409
	 */
446
	 */
410
	public void _status(CommandInterpreter intp) throws Exception {
447
	public void _status(CommandInterpreter intp) throws Exception {
411
		if (osgi.isActive()) {
448
		if (osgi != null && osgi.isActive() || osgi == null && context.getBundle(0).getState() == Bundle.ACTIVE) {
412
			intp.println(ConsoleMsg.CONSOLE_FRAMEWORK_IS_LAUNCHED_MESSAGE);
449
			intp.println(ConsoleMsg.CONSOLE_FRAMEWORK_IS_LAUNCHED_MESSAGE);
413
		} else {
450
		} else {
414
			intp.println(ConsoleMsg.CONSOLE_FRAMEWORK_IS_SHUTDOWN_MESSAGE);
451
			intp.println(ConsoleMsg.CONSOLE_FRAMEWORK_IS_SHUTDOWN_MESSAGE);
Lines 605-611 Link Here
605
			intp.print(", "); //$NON-NLS-1$
642
			intp.print(", "); //$NON-NLS-1$
606
			intp.print(NLS.bind(ConsoleMsg.CONSOLE_STATUS_MESSAGE, getStateName(bundle.getState())));
643
			intp.print(NLS.bind(ConsoleMsg.CONSOLE_STATUS_MESSAGE, getStateName(bundle.getState())));
607
			if (id != 0) {
644
			if (id != 0) {
608
				File dataRoot = osgi.framework.getDataFile(bundle, ""); //$NON-NLS-1$
645
				File dataRoot = Framework.getDataFile(bundle, ""); //$NON-NLS-1$
609
646
610
				String root = (dataRoot == null) ? null : dataRoot.getAbsolutePath();
647
				String root = (dataRoot == null) ? null : dataRoot.getAbsolutePath();
611
648
Lines 671-677 Link Here
671
				intp.print(", "); //$NON-NLS-1$
708
				intp.print(", "); //$NON-NLS-1$
672
				intp.print(NLS.bind(ConsoleMsg.CONSOLE_STATUS_MESSAGE, getStateName(bundle.getState())));
709
				intp.print(NLS.bind(ConsoleMsg.CONSOLE_STATUS_MESSAGE, getStateName(bundle.getState())));
673
				if (id != 0) {
710
				if (id != 0) {
674
					File dataRoot = osgi.framework.getDataFile(bundle, ""); //$NON-NLS-1$
711
					File dataRoot = Framework.getDataFile(bundle, ""); //$NON-NLS-1$
675
712
676
					String root = (dataRoot == null) ? null : dataRoot.getAbsolutePath();
713
					String root = (dataRoot == null) ? null : dataRoot.getAbsolutePath();
677
714
Lines 1044-1053 Link Here
1044
	 *  @param intp A CommandInterpreter object containing the command and it's arguments.
1081
	 *  @param intp A CommandInterpreter object containing the command and it's arguments.
1045
	 */
1082
	 */
1046
	public void _init(CommandInterpreter intp) throws Exception {
1083
	public void _init(CommandInterpreter intp) throws Exception {
1047
		if (osgi.isActive()) {
1084
		if (osgi == null) {
1048
			intp.print(newline);
1085
			if (context.getBundle(0).getState() == Bundle.ACTIVE) {
1049
			intp.println(ConsoleMsg.CONSOLE_FRAMEWORK_LAUNCHED_PLEASE_SHUTDOWN_MESSAGE);
1086
				intp.print(newline);
1050
			return;
1087
				intp.println(ConsoleMsg.CONSOLE_FRAMEWORK_LAUNCHED_PLEASE_SHUTDOWN_MESSAGE);
1088
				return;
1089
			}
1090
		} else {
1091
			if (osgi.isActive()) {
1092
				intp.print(newline);
1093
				intp.println(ConsoleMsg.CONSOLE_FRAMEWORK_LAUNCHED_PLEASE_SHUTDOWN_MESSAGE);
1094
				return;
1095
			}
1051
		}
1096
		}
1052
1097
1053
		AbstractBundle[] bundles = (AbstractBundle[]) context.getBundles();
1098
		AbstractBundle[] bundles = (AbstractBundle[]) context.getBundles();
Lines 1090-1096 Link Here
1090
	 */
1135
	 */
1091
	public void _close(CommandInterpreter intp) throws Exception {
1136
	public void _close(CommandInterpreter intp) throws Exception {
1092
		intp.println();
1137
		intp.println();
1093
		osgi.close();
1138
		if (osgi != null) {
1139
			osgi.close();
1140
		}
1094
		System.exit(0);
1141
		System.exit(0);
1095
	}
1142
	}
1096
1143
Lines 1286-1292 Link Here
1286
	 * @param intp A CommandInterpreter object containing the command and it's arguments.
1333
	 * @param intp A CommandInterpreter object containing the command and it's arguments.
1287
	 */
1334
	 */
1288
	public void _ss(CommandInterpreter intp) throws Exception {
1335
	public void _ss(CommandInterpreter intp) throws Exception {
1289
		if (osgi.isActive()) {
1336
		if (osgi != null && osgi.isActive() || osgi == null && context.getBundle(0).getState() == Bundle.ACTIVE) {
1290
			intp.println();
1337
			intp.println();
1291
			intp.println(ConsoleMsg.CONSOLE_FRAMEWORK_IS_LAUNCHED_MESSAGE);
1338
			intp.println(ConsoleMsg.CONSOLE_FRAMEWORK_IS_LAUNCHED_MESSAGE);
1292
		} else {
1339
		} else {
(-)console/src/org/eclipse/osgi/framework/internal/core/ConsoleMsg.java (+8 lines)
Lines 27-32 Link Here
27
	public static String CONSOLE_CONFIRM_DISCONNECT;
27
	public static String CONSOLE_CONFIRM_DISCONNECT;
28
	public static String CONSOLE_CONFIRM;
28
	public static String CONSOLE_CONFIRM;
29
	public static String CONSOLE_CONFIRM_VALUES;
29
	public static String CONSOLE_CONFIRM_VALUES;
30
31
	public static String CONSOLE_RUN;
30
	public static String CONSOLE_Y;
32
	public static String CONSOLE_Y;
31
	public static String CONSOLE_N;
33
	public static String CONSOLE_N;
32
	public static String CONSOLE_PROMPT_DEFAULT;
34
	public static String CONSOLE_PROMPT_DEFAULT;
Lines 80-85 Link Here
80
	public static String CONSOLE_HELP_COMMAND_ARGUMENT_DESCRIPTION;
82
	public static String CONSOLE_HELP_COMMAND_ARGUMENT_DESCRIPTION;
81
	public static String CONSOLE_HELP_EXEC_COMMAND_DESCRIPTION;
83
	public static String CONSOLE_HELP_EXEC_COMMAND_DESCRIPTION;
82
	public static String CONSOLE_HELP_FORK_COMMAND_DESCRIPTION;
84
	public static String CONSOLE_HELP_FORK_COMMAND_DESCRIPTION;
85
86
	public static String LOG_ENTRY;
87
	public static String LOG_MESSAGE;
88
	public static String SOCKET_RUN;
89
	public static String SOCKET_STREAM_EXCEPTION;
90
	public static String SOCKET_STREAM_UNKOWNHOST;
83
	public static String STARTLEVEL_HELP_HEADING;
91
	public static String STARTLEVEL_HELP_HEADING;
84
	public static String CONSOLE_HELP_OPTIONAL_IDLOCATION_ARGUMENT_DESCRIPTION;
92
	public static String CONSOLE_HELP_OPTIONAL_IDLOCATION_ARGUMENT_DESCRIPTION;
85
	public static String STARTLEVEL_HELP_SL;
93
	public static String STARTLEVEL_HELP_SL;
(-)core/framework/org/eclipse/osgi/framework/internal/core/Framework.java (-1 / +1 lines)
Lines 1327-1333 Link Here
1327
	 * obtained by calling this method with the empty string ("") as the
1327
	 * obtained by calling this method with the empty string ("") as the
1328
	 * parameter.
1328
	 * parameter.
1329
	 */
1329
	 */
1330
	protected File getDataFile(final AbstractBundle bundle, final String filename) {
1330
	public static File getDataFile(final AbstractBundle bundle, final String filename) {
1331
		return (File) AccessController.doPrivileged(new GetDataFileAction(bundle, filename));
1331
		return (File) AccessController.doPrivileged(new GetDataFileAction(bundle, filename));
1332
	}
1332
	}
1333
1333

Return to bug 162415