ClassCastException при передаче HashMap в функцию Java - PullRequest
2 голосов
/ 18 ноября 2011

Я хочу вызвать функцию Java (предоставляемую SVNKit) со следующей подписью:

public abstract long getFile(String path,
                             long revision,
                             Map properties,
                             OutputStream contents)
                      throws SVNException

Параметры и содержимое параметров являются необязательными.В Clojure я вызываю эту функцию с помощью:

(defn read-file
  ""
  [repository path]
  (let [properties (java.util.HashMap.)
        baos (java.io.ByteArrayOutputStream.)]
    (.getFile repository path -1 properties baos)
    (.size baos)))

Я получаю исключение ClassCastException по параметру свойств.Когда я оставляю это (используйте nil вместо свойств), это работает отлично.ClassCastException не дает никакой информации о том, какого класса он ожидает.

Есть идеи?

1 Ответ

2 голосов
/ 19 ноября 2011

Согласно SVNKit Javadoc на http://svnkit.com/javadoc/index-all.html

нет метода с подписью, которую вы указали. Наиболее близким кажется:

public abstract long getFile(String path,
                             long revision,
                             SVNProperties properties,
                             OutputStream contents)
                      throws SVNException

из http://svnkit.com/javadoc/org/tmatesoft/svn/core/io/SVNRepository.html

...