Uploaded image for project: 'Red Hat CodeReady Studio (devstudio)'
  1. Red Hat CodeReady Studio (devstudio)
  2. JBDS-3371

The method openFileDialog(null, null) is undefined for the type FileOpenService

    XMLWordPrintable

Details

    • Bug
    • Resolution: Won't Do
    • Major
    • None
    • None
    • None
    • None
    • Hide

      Run the above code in JBoss Development studio.

      Show
      Run the above code in JBoss Development studio.
    • NEW

    Description

      Im getting "The method openFileDialog(null, null) is undefined for the type FileOpenService" error wen trying to run the code bellow.:

      package com.hrtrust.ps.scanner;
      
      // add javaws.jar to the classpath during compilation
      
      
      import javax.jnlp.FileOpenService;
      import javax.jnlp.FileSaveService;
      import javax.jnlp.FileContents;
      import javax.jnlp.ServiceManager;
      import javax.jnlp.UnavailableServiceException;
      import java.io.*;
      import javax.jnlp.ExtendedService;
      
      public class FileHandler {
      
          static private FileOpenService fos = null;
          static private FileSaveService fss = null;
          static private FileContents fc = null;
          static private ExtendedService exs = null;
      
          // retrieves a reference to the JNLP services
          private static synchronized void initialize() {
              if (fss != null) {
                  return;
              }
              try {
                  fos = (FileOpenService) ServiceManager.lookup("javax.jnlp.FileOpenService");
                  fss = (FileSaveService) ServiceManager.lookup("javax.jnlp.FileSaveService");
                  exs = (ExtendedService) ServiceManager.lookup("javax.jnlp.ExtendedService");         
                  
              } catch (UnavailableServiceException e) {
                  fos = null;
                  fss = null;
                  exs = null;
              }
          }
      
          public static FileContents getDLL(File dllFile) {
            initialize();
            try {
              fc = exs.openFile(dllFile);
            } catch (IOException ioe) {
                  ioe.printStackTrace(System.out);
                  return null;
              }
      
            return fc;
          }
      
          // displays open file dialog and reads selected file using FileOpenService
          public static String open() {
              initialize();
              try {
                  fc = fos.openFileDialog(null, null);
                  return readFromFile(fc);
              } catch (IOException ioe) {
                  ioe.printStackTrace(System.out);
                  return null;
              }
          }
      
          // displays saveFileDialog and saves file using FileSaveService
          public static void save(String txt) {
              initialize();
              try {
                  // Show save dialog if no name is already given
                  if (fc == null) {
                      fc = fss.saveFileDialog(null, null,
                              new ByteArrayInputStream(txt.getBytes()), null);
                      // file saved, done
                      return;
                  }
                  // use this only when filename is known
                  if (fc != null) {
                      writeToFile(txt, fc);
                  }
              } catch (IOException ioe) {
                  ioe.printStackTrace(System.out);
              }
          }
      
          // displays saveAsFileDialog and saves file using FileSaveService
          public static void saveAs(String txt) {
              initialize();
              try {
                  if (fc == null) {
                      // If not already saved. Save-as is like save
                      save(txt);
                  } else {
                      fc = fss.saveAsFileDialog(null, null, fc);
                      save(txt);
                  }
              } catch (IOException ioe) {
                  ioe.printStackTrace(System.out);
              }
          }
      
          private static void writeToFile(String txt, FileContents fc) throws IOException {
              int sizeNeeded = txt.length() * 2;
              if (sizeNeeded > fc.getMaxLength()) {
                  fc.setMaxLength(sizeNeeded);
              }
              BufferedWriter os = new BufferedWriter(new OutputStreamWriter(fc.getOutputStream(true)));
              os.write(txt);
              os.close();
          }
      
          private static String readFromFile(FileContents fc) throws IOException {
              if (fc == null) {
                  return null;
              }
              BufferedReader br = new BufferedReader(new InputStreamReader(fc.getInputStream()));
              StringBuffer sb = new StringBuffer((int) fc.getLength());
              String line = br.readLine();
              while (line != null) {
                  sb.append(line);
                  sb.append("\n");
                  line = br.readLine();
              }
              br.close();
              return sb.toString();
          }
      }
      

      NB. fc = fos.openFileDialog(null, null); is the line that gives an error. (FileOpenService)....FileSaveService and FileContents works just fine.

      Attachments

        Activity

          People

            Unassigned Unassigned
            sankobe_jira Ludumo Sankobe (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: