~ubuntu-branches/debian/squeeze/pygments/squeeze

« back to all changes in this revision

Viewing changes to tests/examplefiles/test.java

  • Committer: Bazaar Package Importer
  • Author(s): Piotr Ozarowski
  • Date: 2006-10-30 17:19:10 UTC
  • Revision ID: james.westby@ubuntu.com-20061030171910-6he2zzcl5j4ome70
Tags: upstream-0.5.1
ImportĀ upstreamĀ versionĀ 0.5.1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * Created on 13-Mar-2004
 
3
 * Created by James Yeh
 
4
 * Copyright (C) 2004, 2005, 2006 Aelitis, All Rights Reserved.
 
5
 *
 
6
 * This program is free software; you can redistribute it and/or
 
7
 * modify it under the terms of the GNU General Public License
 
8
 * as published by the Free Software Foundation; either version 2
 
9
 * of the License, or (at your option) any later version.
 
10
 * This program is distributed in the hope that it will be useful,
 
11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 
12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
13
 * GNU General Public License for more details.
 
14
 * You should have received a copy of the GNU General Public License
 
15
 * along with this program; if not, write to the Free Software
 
16
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 
17
 * 
 
18
 * AELITIS, SAS au capital de 46,603.30 euros
 
19
 * 8 Allee Lenotre, La Grille Royale, 78600 Le Mesnil le Roi, France.
 
20
 *
 
21
 */
 
22
 
 
23
package org.gudy.azureus2.platform.macosx;
 
24
 
 
25
import org.gudy.azureus2.core3.logging.*;
 
26
import org.gudy.azureus2.core3.util.AEMonitor;
 
27
import org.gudy.azureus2.core3.util.Debug;
 
28
import org.gudy.azureus2.core3.util.SystemProperties;
 
29
import org.gudy.azureus2.platform.PlatformManager;
 
30
import org.gudy.azureus2.platform.PlatformManagerCapabilities;
 
31
import org.gudy.azureus2.platform.PlatformManagerListener;
 
32
import org.gudy.azureus2.platform.macosx.access.jnilib.OSXAccess;
 
33
 
 
34
import org.gudy.azureus2.plugins.platform.PlatformManagerException;
 
35
 
 
36
import java.io.BufferedReader;
 
37
import java.io.File;
 
38
import java.io.IOException;
 
39
import java.io.InputStreamReader;
 
40
import java.text.MessageFormat;
 
41
import java.util.HashSet;
 
42
 
 
43
 
 
44
/**
 
45
 * Performs platform-specific operations with Mac OS X
 
46
 *
 
47
 * @author James Yeh
 
48
 * @version 1.0 Initial Version
 
49
 * @see PlatformManager
 
50
 */
 
51
public class PlatformManagerImpl implements PlatformManager
 
52
{
 
53
    private static final LogIDs LOGID = LogIDs.CORE;
 
54
 
 
55
    protected static PlatformManagerImpl singleton;
 
56
    protected static AEMonitor class_mon = new AEMonitor("PlatformManager");
 
57
 
 
58
    private static final String USERDATA_PATH = new File(System.getProperty("user.home") + "/Library/Application Support/").getPath();
 
59
 
 
60
    //T: PlatformManagerCapabilities
 
61
    private final HashSet capabilitySet = new HashSet();
 
62
 
 
63
    /**
 
64
     * Gets the platform manager singleton, which was already initialized
 
65
     */
 
66
    public static PlatformManagerImpl getSingleton()
 
67
    {
 
68
        return singleton;
 
69
    }
 
70
 
 
71
    /**
 
72
     * Tries to enable cocoa-java access and instantiates the singleton
 
73
     */
 
74
    static
 
75
    {
 
76
        initializeSingleton();
 
77
    }
 
78
 
 
79
    /**
 
80
     * Instantiates the singleton
 
81
     */
 
82
    private static void initializeSingleton()
 
83
    {
 
84
        try
 
85
        {
 
86
            class_mon.enter();
 
87
            singleton = new PlatformManagerImpl();
 
88
        }
 
89
        catch (Throwable e)
 
90
        {
 
91
                Logger.log(new LogEvent(LOGID, "Failed to initialize platform manager"
 
92
                                        + " for Mac OS X", e));
 
93
        }
 
94
        finally
 
95
        {
 
96
            class_mon.exit();
 
97
        }
 
98
    }
 
99
 
 
100
    /**
 
101
     * Creates a new PlatformManager and initializes its capabilities
 
102
     */
 
103
    public PlatformManagerImpl()
 
104
    {
 
105
        capabilitySet.add(PlatformManagerCapabilities.RecoverableFileDelete);
 
106
        capabilitySet.add(PlatformManagerCapabilities.ShowFileInBrowser);
 
107
        capabilitySet.add(PlatformManagerCapabilities.ShowPathInCommandLine);
 
108
        capabilitySet.add(PlatformManagerCapabilities.CreateCommandLineProcess);
 
109
        capabilitySet.add(PlatformManagerCapabilities.GetUserDataDirectory);
 
110
        capabilitySet.add(PlatformManagerCapabilities.UseNativeScripting);
 
111
        capabilitySet.add(PlatformManagerCapabilities.PlaySystemAlert);
 
112
        
 
113
        if (OSXAccess.isLoaded()) {
 
114
                capabilitySet.add(PlatformManagerCapabilities.GetVersion);
 
115
        }
 
116
    }
 
117
 
 
118
    /**
 
119
     * {@inheritDoc}
 
120
     */
 
121
    public int getPlatformType()
 
122
    {
 
123
        return PT_MACOSX;
 
124
    }
 
125
 
 
126
    /**
 
127
     * {@inheritDoc}
 
128
     */
 
129
    public String getVersion() throws PlatformManagerException
 
130
    {
 
131
        if (!OSXAccess.isLoaded()) {
 
132
        throw new PlatformManagerException("Unsupported capability called on platform manager");
 
133
        }
 
134
        
 
135
        return OSXAccess.getVersion();
 
136
    }
 
137
 
 
138
    /**
 
139
     * {@inheritDoc}
 
140
     * @see org.gudy.azureus2.core3.util.SystemProperties#getUserPath()
 
141
     */
 
142
    public String getUserDataDirectory() throws PlatformManagerException
 
143
    {
 
144
        return USERDATA_PATH;
 
145
    }
 
146
 
 
147
        public File
 
148
        getLocation(
 
149
                long    location_id )
 
150
        
 
151
                throws PlatformManagerException
 
152
        {
 
153
                if ( location_id == LOC_USER_DATA ){
 
154
                        
 
155
                        return( new File( USERDATA_PATH ));
 
156
                }
 
157
                
 
158
                return( null );
 
159
        }
 
160
    /**
 
161
     * Not implemented; returns True
 
162
     */
 
163
    public boolean isApplicationRegistered() throws PlatformManagerException
 
164
    {
 
165
        return true;
 
166
    }
 
167
 
 
168
    
 
169
        public String
 
170
        getApplicationCommandLine()
 
171
                throws PlatformManagerException
 
172
        {
 
173
                try{        
 
174
                        String  bundle_path = System.getProperty("user.dir") +SystemProperties.SEP+ SystemProperties.getApplicationName() + ".app";
 
175
 
 
176
                        File osx_app_bundle = new File( bundle_path ).getAbsoluteFile();
 
177
                        
 
178
                        if( !osx_app_bundle.exists() ) {
 
179
                                String msg = "OSX app bundle not found: [" +osx_app_bundle.toString()+ "]";
 
180
                                System.out.println( msg );
 
181
                                if (Logger.isEnabled())
 
182
                                        Logger.log(new LogEvent(LOGID, msg));           
 
183
                                throw new PlatformManagerException( msg );
 
184
                        }
 
185
                        
 
186
                        return "open -a \"" +osx_app_bundle.toString()+ "\"";
 
187
                        //return osx_app_bundle.toString() +"/Contents/MacOS/JavaApplicationStub";
 
188
                        
 
189
                }
 
190
                catch( Throwable t ){   
 
191
                        t.printStackTrace();
 
192
                        return null;
 
193
                }
 
194
        }
 
195
        
 
196
        
 
197
        public boolean
 
198
        isAdditionalFileTypeRegistered(
 
199
                String          name,                           // e.g. "BitTorrent"
 
200
                String          type )                          // e.g. ".torrent"
 
201
        
 
202
                throws PlatformManagerException
 
203
        {
 
204
            throw new PlatformManagerException("Unsupported capability called on platform manager");
 
205
        }
 
206
        
 
207
        public void
 
208
        unregisterAdditionalFileType(
 
209
                String          name,                           // e.g. "BitTorrent"
 
210
                String          type )                          // e.g. ".torrent"
 
211
                
 
212
                throws PlatformManagerException
 
213
        {
 
214
                throw new PlatformManagerException("Unsupported capability called on platform manager");
 
215
        }
 
216
        
 
217
        public void
 
218
        registerAdditionalFileType(
 
219
                String          name,                           // e.g. "BitTorrent"
 
220
                String          description,            // e.g. "BitTorrent File"
 
221
                String          type,                           // e.g. ".torrent"
 
222
                String          content_type )          // e.g. "application/x-bittorrent"
 
223
        
 
224
                throws PlatformManagerException
 
225
        {
 
226
           throw new PlatformManagerException("Unsupported capability called on platform manager");
 
227
        }
 
228
        
 
229
    /**
 
230
     * Not implemented; does nothing
 
231
     */
 
232
    public void registerApplication() throws PlatformManagerException
 
233
    {
 
234
        // handled by LaunchServices and/0r user interaction
 
235
    }
 
236
 
 
237
    /**
 
238
     * {@inheritDoc}
 
239
     */
 
240
    public void createProcess(String cmd, boolean inheritsHandles) throws PlatformManagerException
 
241
    {
 
242
        try
 
243
        {
 
244
            performRuntimeExec(cmd.split(" "));
 
245
        }
 
246
        catch (Throwable e)
 
247
        {
 
248
            throw new PlatformManagerException("Failed to create process", e);
 
249
        }
 
250
    }
 
251
 
 
252
    /**
 
253
     * {@inheritDoc}
 
254
     */
 
255
    public void performRecoverableFileDelete(String path) throws PlatformManagerException
 
256
    {
 
257
        File file = new File(path);
 
258
        if(!file.exists())
 
259
        {
 
260
                        if (Logger.isEnabled())
 
261
                                                        Logger.log(new LogEvent(LOGID, LogEvent.LT_WARNING, "Cannot find "
 
262
                                                                        + file.getName()));
 
263
            return;
 
264
        }
 
265
 
 
266
        boolean useOSA = !NativeInvocationBridge.sharedInstance().isEnabled() || !NativeInvocationBridge.sharedInstance().performRecoverableFileDelete(file);
 
267
 
 
268
        if(useOSA)
 
269
        {
 
270
            try
 
271
            {
 
272
                StringBuffer sb = new StringBuffer();
 
273
                sb.append("tell application \"");
 
274
                sb.append("Finder");
 
275
                sb.append("\" to move (posix file \"");
 
276
                sb.append(path);
 
277
                sb.append("\" as alias) to the trash");
 
278
 
 
279
                performOSAScript(sb);
 
280
            }
 
281
            catch (Throwable e)
 
282
            {
 
283
                throw new PlatformManagerException("Failed to move file", e);
 
284
            }
 
285
        }
 
286
    }
 
287
 
 
288
    /**
 
289
     * {@inheritDoc}
 
290
     */
 
291
    public boolean hasCapability(PlatformManagerCapabilities capability)
 
292
    {
 
293
        return capabilitySet.contains(capability);
 
294
    }
 
295
 
 
296
    /**
 
297
     * {@inheritDoc}
 
298
     */
 
299
    public void dispose()
 
300
    {
 
301
        NativeInvocationBridge.sharedInstance().dispose();
 
302
    }
 
303
 
 
304
    /**
 
305
     * {@inheritDoc}
 
306
     */
 
307
    public void setTCPTOSEnabled(boolean enabled) throws PlatformManagerException
 
308
    {
 
309
        throw new PlatformManagerException("Unsupported capability called on platform manager");
 
310
    }
 
311
 
 
312
        public void
 
313
    copyFilePermissions(
 
314
                String  from_file_name,
 
315
                String  to_file_name )
 
316
        
 
317
                throws PlatformManagerException
 
318
        {
 
319
            throw new PlatformManagerException("Unsupported capability called on platform manager");            
 
320
        }
 
321
        
 
322
    /**
 
323
     * {@inheritDoc}
 
324
     */
 
325
    public void showFile(String path) throws PlatformManagerException
 
326
    {
 
327
        File file = new File(path);
 
328
        if(!file.exists())
 
329
        {
 
330
                if (Logger.isEnabled())
 
331
                        Logger.log(new LogEvent(LOGID, LogEvent.LT_WARNING, "Cannot find "
 
332
                                        + file.getName()));
 
333
            throw new PlatformManagerException("File not found");
 
334
        }
 
335
 
 
336
        showInFinder(file);
 
337
    }
 
338
 
 
339
    // Public utility methods not shared across the interface
 
340
 
 
341
    /**
 
342
     * Plays the system alert (the jingle is specified by the user in System Preferences)
 
343
     */
 
344
    public void playSystemAlert()
 
345
    {
 
346
        try
 
347
        {
 
348
            performRuntimeExec(new String[]{"beep"});
 
349
        }
 
350
        catch (IOException e)
 
351
        {
 
352
                if (Logger.isEnabled())
 
353
                        Logger.log(new LogEvent(LOGID, LogEvent.LT_WARNING,
 
354
                                                "Cannot play system alert"));
 
355
                Logger.log(new LogEvent(LOGID, "", e));
 
356
        }
 
357
    }
 
358
 
 
359
    /**
 
360
     * <p>Shows the given file or directory in Finder</p>
 
361
     * @param path Absolute path to the file or directory
 
362
     */
 
363
    public void showInFinder(File path)
 
364
    {
 
365
        boolean useOSA = !NativeInvocationBridge.sharedInstance().isEnabled() || !NativeInvocationBridge.sharedInstance().showInFinder(path);
 
366
 
 
367
        if(useOSA)
 
368
        {
 
369
            StringBuffer sb = new StringBuffer();
 
370
            sb.append("tell application \"");
 
371
            sb.append(getFileBrowserName());
 
372
            sb.append("\" to reveal (posix file \"");
 
373
            sb.append(path);
 
374
            sb.append("\" as alias)");
 
375
 
 
376
            try
 
377
            {
 
378
                performOSAScript(sb);
 
379
            }
 
380
            catch (IOException e)
 
381
            {
 
382
                Logger.log(new LogAlert(LogAlert.UNREPEATABLE, LogAlert.AT_ERROR, e
 
383
                                                .getMessage()));
 
384
            }
 
385
        }
 
386
    }
 
387
 
 
388
    /**
 
389
     * <p>Shows the given file or directory in Terminal by executing cd /absolute/path/to</p>
 
390
     * @param path Absolute path to the file or directory
 
391
     */
 
392
    public void showInTerminal(String path)
 
393
    {
 
394
        showInTerminal(new File(path));
 
395
    }
 
396
 
 
397
    /**
 
398
     * <p>Shows the given file or directory in Terminal by executing cd /absolute/path/to</p>
 
399
     * @param path Absolute path to the file or directory
 
400
     */
 
401
    public void showInTerminal(File path)
 
402
    {
 
403
        if (path.isFile())
 
404
        {
 
405
            path = path.getParentFile();
 
406
        }
 
407
 
 
408
        if (path != null && path.isDirectory())
 
409
        {
 
410
            StringBuffer sb = new StringBuffer();
 
411
            sb.append("tell application \"");
 
412
            sb.append("Terminal");
 
413
            sb.append("\" to do script \"cd ");
 
414
            sb.append(path.getAbsolutePath().replaceAll(" ", "\\ "));
 
415
            sb.append("\"");
 
416
 
 
417
            try
 
418
            {
 
419
                performOSAScript(sb);
 
420
            }
 
421
            catch (IOException e)
 
422
            {
 
423
                Logger.log(new LogAlert(LogAlert.UNREPEATABLE, LogAlert.AT_ERROR, e
 
424
                                                .getMessage()));
 
425
            }
 
426
        }
 
427
        else
 
428
        {
 
429
                if (Logger.isEnabled())
 
430
                        Logger.log(new LogEvent(LOGID, LogEvent.LT_WARNING, "Cannot find "
 
431
                                        + path.getName()));
 
432
        }
 
433
    }
 
434
 
 
435
    // Internal utility methods
 
436
 
 
437
    /**
 
438
     * Compiles a new AppleScript instance and runs it
 
439
     * @param cmd AppleScript command to execute; do not surround command with extra quotation marks
 
440
     * @return Output of the script
 
441
     * @throws IOException If the script failed to execute
 
442
     */
 
443
    protected static String performOSAScript(CharSequence cmd) throws IOException
 
444
    {
 
445
        return performOSAScript(new CharSequence[]{cmd});
 
446
    }
 
447
 
 
448
    /**
 
449
     * Compiles a new AppleScript instance and runs it
 
450
     * @param cmds AppleScript Sequence of commands to execute; do not surround command with extra quotation marks
 
451
     * @return Output of the script
 
452
     * @throws IOException If the script failed to execute
 
453
     */
 
454
    protected static String performOSAScript(CharSequence[] cmds) throws IOException
 
455
    {
 
456
        long start = System.currentTimeMillis();
 
457
        Debug.outNoStack("Executing OSAScript: ");
 
458
        for (int i = 0; i < cmds.length; i++)
 
459
        {
 
460
            Debug.outNoStack("\t" + cmds[i]);
 
461
        }
 
462
 
 
463
        String[] cmdargs = new String[2 * cmds.length + 1];
 
464
        cmdargs[0] = "osascript";
 
465
        for (int i = 0; i < cmds.length; i++)
 
466
        {
 
467
            cmdargs[i * 2 + 1] = "-e";
 
468
            cmdargs[i * 2 + 2] = String.valueOf(cmds[i]);
 
469
        }
 
470
 
 
471
        Process osaProcess = performRuntimeExec(cmdargs);
 
472
        BufferedReader reader = new BufferedReader(new InputStreamReader(osaProcess.getInputStream()));
 
473
        String line = reader.readLine();
 
474
        reader.close();
 
475
        Debug.outNoStack("OSAScript Output: " + line);
 
476
 
 
477
        reader = new BufferedReader(new InputStreamReader(osaProcess.getErrorStream()));
 
478
        String errorMsg = reader.readLine();
 
479
        reader.close();
 
480
 
 
481
        Debug.outNoStack("OSAScript Error (if any): " + errorMsg);
 
482
 
 
483
        Debug.outNoStack(MessageFormat.format("OSAScript execution ended ({0}ms)", new Object[]{String.valueOf(System.currentTimeMillis() - start)}));
 
484
 
 
485
        if (errorMsg != null)
 
486
        {
 
487
            throw new IOException(errorMsg);
 
488
        }
 
489
 
 
490
        return line;
 
491
    }
 
492
 
 
493
    /**
 
494
     * Compiles a new AppleScript instance and runs it
 
495
     * @param script AppleScript file (.scpt) to execute
 
496
     * @return Output of the script
 
497
     * @throws IOException If the script failed to execute
 
498
     */
 
499
    protected static String performOSAScript(File script) throws IOException
 
500
    {
 
501
        long start = System.currentTimeMillis();
 
502
        Debug.outNoStack("Executing OSAScript from file: " + script.getPath());
 
503
 
 
504
        Process osaProcess = performRuntimeExec(new String[]{"osascript", script.getPath()});
 
505
        BufferedReader reader = new BufferedReader(new InputStreamReader(osaProcess.getInputStream()));
 
506
        String line = reader.readLine();
 
507
        reader.close();
 
508
        Debug.outNoStack("OSAScript Output: " + line);
 
509
 
 
510
        reader = new BufferedReader(new InputStreamReader(osaProcess.getErrorStream()));
 
511
        String errorMsg = reader.readLine();
 
512
        reader.close();
 
513
 
 
514
        Debug.outNoStack("OSAScript Error (if any): " + errorMsg);
 
515
 
 
516
        Debug.outNoStack(MessageFormat.format("OSAScript execution ended ({0}ms)", new Object[]{String.valueOf(System.currentTimeMillis() - start)}));
 
517
 
 
518
        if (errorMsg != null)
 
519
        {
 
520
            throw new IOException(errorMsg);
 
521
        }
 
522
 
 
523
        return line;
 
524
    }
 
525
 
 
526
    /**
 
527
     * Compiles a new AppleScript instance to the specified location
 
528
     * @param cmd         Command to compile; do not surround command with extra quotation marks
 
529
     * @param destination Destination location of the AppleScript file
 
530
     * @return True if compiled successfully
 
531
     */
 
532
    protected static boolean compileOSAScript(CharSequence cmd, File destination)
 
533
    {
 
534
        return compileOSAScript(new CharSequence[]{cmd}, destination);
 
535
    }
 
536
 
 
537
    /**
 
538
     * Compiles a new AppleScript instance to the specified location
 
539
     * @param cmds Sequence of commands to compile; do not surround command with extra quotation marks
 
540
     * @param destination Destination location of the AppleScript file
 
541
     * @return True if compiled successfully
 
542
     */
 
543
    protected static boolean compileOSAScript(CharSequence[] cmds, File destination)
 
544
    {
 
545
        long start = System.currentTimeMillis();
 
546
        Debug.outNoStack("Compiling OSAScript: " + destination.getPath());
 
547
        for (int i = 0; i < cmds.length; i++)
 
548
        {
 
549
            Debug.outNoStack("\t" + cmds[i]);
 
550
        }
 
551
 
 
552
        String[] cmdargs = new String[2 * cmds.length + 3];
 
553
        cmdargs[0] = "osacompile";
 
554
        for (int i = 0; i < cmds.length; i++)
 
555
        {
 
556
            cmdargs[i * 2 + 1] = "-e";
 
557
            cmdargs[i * 2 + 2] = String.valueOf(cmds[i]);
 
558
        }
 
559
 
 
560
        cmdargs[cmdargs.length - 2] = "-o";
 
561
        cmdargs[cmdargs.length - 1] = destination.getPath();
 
562
 
 
563
        String errorMsg;
 
564
        try
 
565
        {
 
566
            Process osaProcess = performRuntimeExec(cmdargs);
 
567
 
 
568
            BufferedReader reader = new BufferedReader(new InputStreamReader(osaProcess.getErrorStream()));
 
569
            errorMsg = reader.readLine();
 
570
            reader.close();
 
571
        }
 
572
        catch (IOException e)
 
573
        {
 
574
            Debug.outNoStack("OSACompile Execution Failed: " + e.getMessage());
 
575
            Debug.printStackTrace(e);
 
576
            return false;
 
577
        }
 
578
 
 
579
        Debug.outNoStack("OSACompile Error (if any): " + errorMsg);
 
580
 
 
581
        Debug.outNoStack(MessageFormat.format("OSACompile execution ended ({0}ms)", new Object[]{String.valueOf(System.currentTimeMillis() - start)}));
 
582
 
 
583
        return (errorMsg == null);
 
584
    }
 
585
 
 
586
    /**
 
587
     * @see Runtime#exec(String[])
 
588
     */
 
589
    protected static Process performRuntimeExec(String[] cmdargs) throws IOException
 
590
    {
 
591
        try
 
592
        {
 
593
            return Runtime.getRuntime().exec(cmdargs);
 
594
        }
 
595
        catch (IOException e)
 
596
        {
 
597
            Logger.log(new LogAlert(LogAlert.UNREPEATABLE, e.getMessage(), e));
 
598
            throw e;
 
599
        }
 
600
    }
 
601
 
 
602
    /**
 
603
     * <p>Gets the preferred file browser name</p>
 
604
     * <p>Currently supported browsers are Path Finder and Finder. If Path Finder is currently running
 
605
     * (not just installed), then "Path Finder is returned; else, "Finder" is returned.</p>
 
606
     * @return "Path Finder" if it is currently running; else "Finder"
 
607
     */
 
608
    private static String getFileBrowserName()
 
609
    {
 
610
        try
 
611
        {
 
612
            // slowwwwwwww
 
613
            if ("true".equalsIgnoreCase(performOSAScript("tell application \"System Events\" to exists process \"Path Finder\"")))
 
614
            {
 
615
                Debug.outNoStack("Path Finder is running");
 
616
 
 
617
                return "Path Finder";
 
618
            }
 
619
            else
 
620
            {
 
621
                return "Finder";
 
622
            }
 
623
        }
 
624
        catch (IOException e)
 
625
        {
 
626
            Debug.printStackTrace(e);
 
627
            Logger.log(new LogEvent(LOGID, e.getMessage(), e));
 
628
 
 
629
            return "Finder";
 
630
        }
 
631
    }
 
632
    
 
633
        public boolean
 
634
        testNativeAvailability(
 
635
                String  name )
 
636
        
 
637
                throws PlatformManagerException
 
638
        {
 
639
            throw new PlatformManagerException("Unsupported capability called on platform manager");            
 
640
        }
 
641
    
 
642
    public void
 
643
    addListener(
 
644
        PlatformManagerListener         listener )
 
645
    {
 
646
    }
 
647
    
 
648
    public void
 
649
    removeListener(
 
650
        PlatformManagerListener         listener )
 
651
    {
 
652
    }
 
653
}