Добавить лицензию ckan в загруженный файл из java

Я создал java-клиент, который загружает файлы в установку ckan. Я хотел бы добавить лицензию на файл. Из документов ckan я вижу, что в установке ckan есть файл json со всеми доступными лицензиями, но я не уверен, как я могу использовать его в своем примере клиента, взятом из ckan документы

licenses_group_url = file:///path/to/my/local/json-list-of-licenses.json
licenses_group_url = http://licenses.opendefinition.org/licenses/groups/od.json

часть моей клиентской программы

ContentBody cbFile = new FileBody(file, ContentType.TEXT_HTML);
HttpEntity reqEntity = MultipartEntityBuilder.create()
    .addPart("file", cbFile)
    .addPart("key", new StringBody(uploadFileName+date,ContentType.TEXT_PLAIN))
    .addPart("package_id",new StringBody("test2",ContentType.TEXT_PLAIN))
    .addPart("url",new StringBody(HOST+"/files/"+date+"/test.txt",ContentType.TEXT_PLAIN))
    .addPart("upload",cbFile)
    .addPart("comment",new StringBody("comments",ContentType.TEXT_PLAIN))
    .addPart("notes", new StringBody("notes",ContentType.TEXT_PLAIN))
    .addPart("author",new StringBody("AuthorName",ContentType.TEXT_PLAIN))
    .addPart("author_email",new StringBody("AuthorEmail",ContentType.TEXT_PLAIN))
    .addPart("title",new StringBody("title",ContentType.TEXT_PLAIN))
    .addPart("description",new StringBody("file Desc"+date,ContentType.TEXT_PLAIN))
    .build();

Обновление
После подсказки Odis я понял, что ошибался все время (очевидно).
Оказывается, лицензия файла автоматически устанавливается на лицензию набора данных. Я загружал файл в набор данных без лицензии, поэтому у моего файла не было лицензии. Когда я использовал это .addPart("license_id", new StringBody("CC-BY-4.0",ContentType.TEXT_PLAIN)), у меня все еще не было лицензии на мой файл. Когда я изменил лицензию своего набора данных, независимо от того, использовал ли я эту команду или нет, или даже если бы использовал ее с каким-либо другим идентификатором лицензии, я все равно получал ту же лицензию набора данных.

Это не имеет для меня никакого смысла, если честно. Могу ли я иметь набор данных с какой-либо лицензией, а некоторые из моих файлов используют разные лицензии? Может ли кто-нибудь подтвердить это, пожалуйста?


person Skaros Ilias    schedule 10.07.2015    source источник
comment
В CKAN лицензия является полем набора данных, поэтому у вас не может быть набора данных, в котором ресурсы имеют разные лицензии. В таких случаях вам придется создать отдельный набор данных.   -  person Odi    schedule 13.07.2015
comment
@ Оди хорошо, спасибо за разъяснение. кажется, я искал решение несуществующей проблемы, так как мой код не имел к ней никакого отношения :)   -  person Skaros Ilias    schedule 13.07.2015


Ответы (1)