javaextensions/midprms_db/tsrc/rmsbenchmark/javasrc/Printer.java
branchRCL_3
changeset 19 04becd199f91
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/javaextensions/midprms_db/tsrc/rmsbenchmark/javasrc/Printer.java	Tue Apr 27 16:30:29 2010 +0300
@@ -0,0 +1,113 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+import java.io.*;
+import java.util.Enumeration;
+import javax.microedition.io.Connector;
+import javax.microedition.io.file.FileConnection;
+import javax.microedition.io.file.FileSystemRegistry;
+import javax.microedition.lcdui.*;
+import javax.microedition.midlet.*;
+
+public class Printer
+{
+    private static final String FILENAME = "rmsbenchmark.csv";
+
+    public Printer()
+    {
+    }
+
+    public void print()
+    {
+        System.out.println("Printer.print() called");
+        boolean mmcFound = false;
+        boolean s60environment = false;
+        Enumeration enumeration = FileSystemRegistry.listRoots();
+        String root = "";
+        String temp = "";
+        while (enumeration.hasMoreElements())
+        {
+            root = (String) enumeration.nextElement();
+            if (root.equals("root1/"))
+            {
+                temp = root; // WTK
+            }
+            else if (root.equals("E:/"))
+            {
+                mmcFound = true;
+                s60environment = true;
+            }
+            else if (root.equals("C:/"))
+            {
+                s60environment = true;
+            }
+        }
+        if (s60environment &&  mmcFound)
+        {
+            root = "E:/";
+        }
+        else if (s60environment)
+        {
+            root = "C:/Data/Others/";
+        }
+        else
+        {
+            root = temp;
+        }
+
+        try
+        {
+            String url = "file:///" + root + FILENAME;
+            System.out.println("Printer.print() file system url: " + url);
+            FileConnection fileconnection = (FileConnection) Connector.open(url, Connector.READ_WRITE);
+            OutputStream outputstream;
+            boolean fileExistsAlready = true;
+            if (!fileconnection.exists())
+            {
+                fileconnection.create();
+                fileExistsAlready = false;
+                outputstream = fileconnection.openOutputStream(); // write in a newly created file
+            }
+            else
+            {
+                outputstream = fileconnection.openOutputStream(fileconnection.fileSize());   // append
+            }
+
+            OutputStreamWriter writer = new OutputStreamWriter(outputstream);
+            if (!fileExistsAlready)
+            {
+                writer.write(BenchmarkRunner.TESTNAMES, 0, BenchmarkRunner.TESTNAMES.length());
+                writer.write(BenchmarkRunner.TESTS, 0, BenchmarkRunner.TESTS.length());
+            }
+            writer.write(BenchmarkRunner.SCORES.toString(), 0, BenchmarkRunner.SCORES.length());
+            writer.flush();
+            System.out.println("SCORES: " + BenchmarkRunner.SCORES.toString());
+            if (writer != null) writer.close();
+            if (outputstream != null) outputstream.close();
+            if (fileconnection != null) fileconnection.close();
+        }
+        catch (IOException ioexception)
+        {
+            System.out.println(ioexception.toString() + ": " + ioexception.getMessage());
+        }
+        catch (Exception exception)
+        {
+            System.out.println(exception.toString() + ": " + exception.getMessage());
+        }
+        System.out.println("Printer.print() returns");
+    }
+}