Uploaded image for project: 'Directory Client API'
  1. Directory Client API
  2. DIRAPI-82

Loading class file as stream under Windows bugged

    XMLWordPrintableJSON

Details

    Description

      The method
      org.apache.directory.shared.ldap.sp.JavaStoredProcUtils.getClassFileAsStream(clazz: Class<?>): byte[]
      returns zero bytes under Windows if the path to the class contains at least one space character. This affects the possibility to load stored procedures. No exception is thrown.

      For example:
      Reading the file "C:\a a\foo.class" would return zero bytes, because
      clazz.getResource( classFileName ).getFile()
      returns the String "/C:/a%20a/foo.class". So in the following
      URL url = clazz.getResource( classFileName );
      File file = new File( url.getFile() );
      the file can not be found, because it searches for the "C:/a%20a" directory which doesn't exist.

      Solution:
      Instead of url.getFile() use url.toURI()

      Attachments

        Activity

          People

            elecharny Emmanuel Lécharny
            vitali Vitali Baumtrok
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: