пускает слюни, господин загружает банку модели POJO

Мне нравится создавать пакет, актив модели POJO с моим кодом Java, используя REST API. Создание пакета с Apache HttpClient в порядке, но у меня проблемы с созданием актива модели, теперь я создаю «другие активы, документацию», помещая следующее

<entry xml:base="http://localhost:9080/repository/packages/package1/assets">
<title>testAsset1</title>
<summary>desc1</summary>
</entry>"

как мне сделать его активом модели? Я попытался добавить тег формата, но не смог.

Спасибо


person Richard    schedule 16.11.2012    source источник


Ответы (2)


Я думаю, вы можете использовать REST API для загрузки контента. Отправьте запрос PUT на URL-адрес, например

http://{server}/guvnor/rest/packages/{package name}/assets/{asset name}/source

Где имя ассета — это название ассетов модели. Не уверен, каким должен быть тип mime, быстрый поиск в Google дал «application/java-archive».

См. Guvnor REST API. документы для получения дополнительной информации.

person kaskelotti    schedule 20.11.2012
comment
Спасибо. Наконец, я смог загрузить файл jar. Но я обнаружил, что актив, который я создаю с помощью rest API, не является моделью, это другие активы, документация. Я добавил что-то вроде ‹entry xml:base=localhost:9080/repository/packages/package1/assets› ‹title›testAsset1‹/title› ‹summary›desc1‹/summary › ‹/entry›, как сделать модель? - person Richard; 22.11.2012
comment
Что говорит часть метаданных этого актива? Я только что проверил одну из своих моделей (загруженную через веб-интерфейс), и она имеет формат jar. Правила имеют формат «brl». Метаданные должны быть доступны с URL-адресом, за исключением «/ source» в конце. Согласно документам, вы должны иметь возможность обновлять метаданные с помощью запроса PUT на тот же URL-адрес. - person kaskelotti; 22.11.2012
comment
да, актив модели имеет метаданные jar, а файл, который я загружаю через java, имеет формат txt. Какую версию вы используете? Я использую 5.3.0, и я не могу получить метаданные с URL-адресом напрямую, я могу получить актив с URL-адресом, например xxx/packages/package1/assets/myAsset, это показывает двоичную ссылку, метаданные, refLink и так далее. Я хотел бы обновить метаданные с помощью запроса на размещение, но я нахожу документы неясными с этим, и я не знаю, что делать. Спасибо - person Richard; 23.11.2012
comment
Документы не очень ясны по этому поводу. Я предполагаю, что это означает, что вы должны использовать multipart/form-data, чтобы ПОМЕЩАТЬ файл в качестве вложения, чтобы установить метаданные. Я заметил, что есть плагины Maven и задачи Ant для массовой загрузки в Guvnor. Возможно, стоит проверить их. Ранее я безуспешно пытался загрузить простой файл drl через REST (он загружается, но недействителен для Гувнора), поэтому пока оставил его. - person kaskelotti; 23.11.2012
comment
Я проверил, что метаданные актива не соответствуют вложению, что означает, что если вы создаете актив документа, загрузка файла jar не меняет метаданные актива на «jar». Возможно, ваш invald drl файл из-за этого. Все еще работаю над этим... -_- - person Richard; 23.11.2012

Вам нужно добавить приведенный ниже код для метода createAssetFromBinary в PackageResource.java.

ContentHandler handler = ContentManager.getHandler( ai.getFormat() );
   if ( handler instanceof ICanHasAttachment ) {
       ((ICanHasAttachment) handler).onAttachmentAdded( ai );
   }

Вы также можете использовать автономный редактор для создания модели и фактов, которые будут храниться непосредственно в репозитории guvnor.

person user1818489    schedule 19.06.2013