public class StorageService
extends java.lang.Object
Constructor and Description |
---|
StorageService() |
Modifier and Type | Method and Description |
---|---|
java.lang.String |
add(java.lang.String folderID,
java.lang.String path,
java.lang.String name,
java.lang.String locale)
Метод используется для добавления файла в хранилище
Тип: POST
URL: rest/api/storage/add
|
Response |
addFile(java.lang.String dataUUID,
java.lang.String filePath,
java.lang.String fileName)
добавляет загруженный на сервер файл в файл по форме
Path rest/api/storage/asffile/addFile
|
Response |
asfFile(MultipartFormDataInput input,
java.lang.String nodeID,
java.lang.String dataUUID)
загрузка файла в файл по форме (для реквестов более 2-х мегабайт работать не будет)
Path rest/api/storage/asffile/upload
|
Response |
canEditAsfData(java.lang.String documentId) |
Response |
copy(java.util.Map<java.lang.String,java.lang.String> params)
копировать файл из хранилища в файл по форме
Path rest/api/storage/asffile/copy
|
java.lang.String |
copy(java.lang.String fileID,
java.lang.String documentID,
java.lang.String container,
java.lang.String locale)
Метод используется для копирования файла из хранилища в документ
Тип: POST
URL: rest/api/storage/copy
|
java.lang.String |
create(java.lang.String folderID,
java.lang.String folderName,
java.lang.String locale)
Метод используется для создания папки в хранилище
Тип: POST
URL: rest/api/storage/create
|
java.lang.String |
createAttachment(java.lang.String docID,
java.lang.String path,
java.lang.String fileName,
java.lang.String filePath,
java.lang.String locale)
Метод добавляет вложение к документу из временного файла, загруженного на сервер с помощью API хранилища
URL rest/api/storage/document/{docID}/attachment/create Method POST |
Response |
createHtd(java.util.Map<java.lang.String,java.lang.String> params) |
Response |
getDescription(java.lang.String nodeId)
Возвращает список версий
|
java.lang.String |
getDescription(java.lang.String elementID,
boolean mobile,
java.lang.String locale)
Возвращает детальную информацию папки/файла
URL: rest/api/storage/description
Тип: GET
|
java.lang.String |
getIdentifierByPath(java.lang.String path)
Получение идентификатора файла либо папки по пути
URL: rest/api/storage/get_identifier_by_path Тип: GET |
java.lang.String |
getPathToElement(java.lang.String elementID,
java.lang.String locale) |
java.lang.String |
getUserID() |
java.lang.String |
listFavoriteFolders()
Метод возвращает избранные папки в хранилище
Метод не принимает никакие параметры.
|
java.lang.String |
listFiles(java.lang.String parentID,
boolean getOnlyFolders,
java.lang.String locale)
Метод возвращает список файлов в папке с идентификатором parentID
URL rest/api/storage/list Method GET |
java.lang.String |
move(java.lang.String elementID,
java.lang.String folderID,
java.lang.String locale)
Метод используется для перемещения файла или папки в хранилище
Тип: POST
URL: rest/api/storage/move
|
java.lang.String |
remove(java.lang.String elementID,
java.lang.String locale)
Метод используется для удаления файла или папки в хранилище
Тип: POST
URL: rest/api/storage/remove
|
java.lang.String |
rename(java.lang.String elementID,
java.lang.String elementName,
java.lang.String locale)
Метод используется для переименования файла/папки в хранилище
Тип: POST
URL: rest/api/storage/rename
|
java.lang.String |
search(java.lang.String contains,
java.lang.String notContains,
java.util.List<java.lang.Integer> categoryID,
java.lang.String aiType,
java.lang.String folderID,
java.lang.String modifiedFrom,
java.lang.String modifiedTo,
int sizeType,
int sortType,
boolean includeUnpublished,
boolean includeExpired,
boolean includeCompanions,
int firstResult,
int maxResult,
java.lang.String searchArea,
java.lang.String locale)
Выполняет поиск в хранилище и возвращает список найденных файлов/папок
URL rest/api/storage/search Method POST |
java.lang.String |
startUploadFile(java.lang.String locale)
Метод создает временный файл на стороне сервера
URL rest/api/storage/start_upload Method GET Метод создает временный файл, для дальнейшего его использования в процессе загрузки файла на сервер. |
java.lang.String |
uploadPart(MultipartFormDataInput input,
java.lang.String file,
java.lang.String locale)
Дописывает байты во временный файл
URL rest/api/storage/upload_part Method POST Enctype multipart/form-data название поля формы для части файла должно называться - body |
public java.lang.String startUploadFile(java.lang.String locale)
Метод создает временный файл на стороне сервера
Метод создает временный файл, для дальнейшего его использования в процессе загрузки файла на сервер. Метод возвращает путь к созданному файлу, который необходимо использовать далее в методе upload_part
Процесс загрузки файла на сервер должен выглядить следующим образом:
locale
- локаль пользователяpublic java.lang.String uploadPart(MultipartFormDataInput input, java.lang.String file, java.lang.String locale)
Дописывает байты во временный файл
file
- имя временного файла, полученного методом startUploadFile (QueryParam)locale
- локаль пользователя (QueryParam)startUploadFile(String)
public java.lang.String getIdentifierByPath(java.lang.String path)
path
- путь до файла или папки хранилища{ "identifier": "6cacb59f-a1d6-447b-9f85-06829e942309", "is_folder": true, "size": "0", "path": "/company_root/01_", "name": "01_", "modified": "2013-05-24 16:15:03", "userName": "Admin1 Admin1 A.", "userID": "1", "right": 0, "notEmpty": true } Пример возвращаемого json для файла http://host:port/Synergy/rest/api/storage/get_identifier_by_path?path=Хранилище/01_/1.doc{ "identifier": "d2a75a06-618a-4058-a6ae-99f8440d8973", "is_folder": false, "size": "2218", "path": "/company_root/01_/1.doc", "name": "1.doc", "modified": "2014-01-28 11:05:39", "userName": "Petrov Petrov ", "userID": "a8b370ee-138a-40a6-bd32-7f6435a1b4af", "right": 0, "mime": "text/html", "ai_type": "ai_text", "icon": "rest/api/storage/icons/get?aiType=ai_text&fileName=1.doc", "notEmpty": false }
public java.lang.String listFiles(java.lang.String parentID, boolean getOnlyFolders, java.lang.String locale)
Метод возвращает список файлов в папке с идентификатором parentID
parentID
- - идентификатор папки, если не передан, то возвращаются все корневые папки,
на которые пользователь имеет право, в том числе личная папка пользователяgetOnlyFolders
- - (true/false) - отображать ли только папки (не обяз., по умолчанию значение false);locale
- - локаль пользователя[ { "identifier": "5719212b-97b9-4558-9e67-baa04d0adc62", "is_folder": true, "size": "0", "path": "/aiservice/home/ee71a4c6-888a-4f04-86de-44ab394f5749", "name": "Мои документы", "modified": "0007-05-04 10:12:00", "userName": "Слепаков Иван И.", "userID": "ee71a4c6-888a-4f04-86de-44ab394f5749", "right": 7, }, { "identifier": "91d1816a-b30e-47ea-988c-bd8864daa253", "is_folder": true, "size": "0", "path": "/company_root", "name": "company_root", "modified": "2011-10-10 09:13:39", "userName": " ", "userID": "0000-0000-0000-0002", "right": 7, } ]Пример возвращаемого массива для файлов
[ { "identifier":"f5003070-3740-4920-a4c5-01f8bf440774", "is_folder":false, "size":"19644", "path":"/company_root/Проект/Файл1.odt", "name":"Файл1.odt", "modified":"2013-03-13 16:35:45", "userName":"Слепаков Иван И.", "userID":"ee71a4c6-888a-4f04-86de-44ab394f5749", "right":7, "mime ":"application/vnd.oasis.opendocument.text", "icon":"rest/api/storage/icons/get?aiType=ai_text&fileName=Файл1.odt" }, { "identifier":"a8bb8fba-b418-4fcb-9b86-519c261c446f", "is_folder":false, "size":"850", "path":"/company_root/Проект/Файл2.htd", "name":"Файл2.htd", "modified":"0016-05-03 03:15:00", "userName":"Слепаков Иван И.", "userID":"ee71a4c6-888a-4f04-86de-44ab394f5749", "right":7, "mime ":"text/htd", "icon":"rest/api/storage/icons/get?aiType=ai_htd&fileName=Файл2.htd" } ]
public java.lang.String listFavoriteFolders()
Метод возвращает избранные папки в хранилище
Метод не принимает никакие параметры.
В случае успешного выполнения возвращаемый json содержит, в свою очередь, список json, каждый из которых имеет следующее поле:
[ { "identifier": "5719212b-97b9-4558-9e67-baa04d0adc62" "name": "Общие документы" }, { "identifier": "91d1816a-b30e-47ea-988c-bd8864daa253" "name": "Регламенты" } ]
public java.lang.String search(java.lang.String contains, java.lang.String notContains, java.util.List<java.lang.Integer> categoryID, java.lang.String aiType, java.lang.String folderID, java.lang.String modifiedFrom, java.lang.String modifiedTo, int sizeType, int sortType, boolean includeUnpublished, boolean includeExpired, boolean includeCompanions, int firstResult, int maxResult, java.lang.String searchArea, java.lang.String locale)
Выполняет поиск в хранилище и возвращает список найденных файлов/папок
contains
- строка, которая должна содержаться в искомых файлахnotContains
- строка, которая не должна содержаться в искомых файлахcategoryID
- идентификатор классификатора, которому должны принадлежать искомые файлы. Значение данного параметра может
быть передано несколько раз.aiType
- определяет тип искомых файлов. Может быть передано значение одной из констант:
folderID
- идентификатор папки хранилища, в которой необходимо осуществить поиск. Параметр можно не передавать, в этом случае
поиск будет произведен по всем файлам, на которые у пользователя есть праваmodifiedFrom
- начало периода последнего изменения в формате yyyy-MM-dd, параметр не нужно передавать если нет необходимости выполнять поиск по дате измененияmodifiedTo
- завершение периода последнего изменения в формате yyyy-MM-dd, параметр не нужно передавать если нет необходимости выполнять поиск по дате измененияsizeType
- определяет размер искомого файла. Значением параметра может быть одно из значений констант:
sortType
- параметр определяет тип сортировки файлов. Значением параметра может быть одно из значений констант:
includeUnpublished
- отображать ли в результатах поиска неопубликованные файлы, значение по-умолчаню - нетincludeExpired
- отображать ли в результатах поиска файлы, срок действия которых истек,includeCompanions
- осуществлять ли поиск в папках документов, проектов, значение по-умолчанию - нетfirstResult
- номер первой записи для возвращаемых результатов выборки, значение по-умолчанию - 1maxResult
- количество записей, которые должны быть возвращены, значение по-умолчанию - 30locale
- локаль пользователяsearchArea
- определяет область действия поиска. Значением параметра может быть одно из значений констант:
Json каждого результата поиска имеет вид
{
"list": [] список найденных файлов
"begin": "", номер первой записи
"length": "", количество возвращенных записей
"count": "" общее количество найденных записей
}
{
identifier: идентификатор файла
ai_type: тип файла
name: название файла
path: путь к файлу
modified: стам изменения
parentID: идентификатор родительского элемента
fragments: фрагменты текста файла наиболее удовлетворяющие поиску (поле может отсутствовать)
icon_url: ссылка до иконки файла (поле может отсутствовать)
right: сумма чисел, определяющая набор прав на папку или файл
}
arta.remote.client.AIConstants#AI_FOLDER
,
arta.remote.client.AIConstants#AI_DOCUMENT
,
arta.remote.client.AIConstants#AI_IMAGE
,
arta.remote.client.AIConstants#AI_AUDIO
,
arta.remote.client.AIConstants#AI_VIDEO
,
arta.remote.client.AIConstants#AI_APPLICATION
,
arta.remote.client.AIConstants#ALL_SIZES
,
arta.remote.client.AIConstants#LITTLE
,
arta.remote.client.AIConstants#MIDDLE
,
arta.remote.client.AIConstants#BIG
,
ExtendedSearchParams#SORT_RELEVANCE
,
ExtendedSearchParams#SORT_DATE
,
ExtendedSearchParams#SORT_READSCOUNT
public java.lang.String getPathToElement(java.lang.String elementID, java.lang.String locale)
public java.lang.String getUserID()
public java.lang.String createAttachment(java.lang.String docID, java.lang.String path, java.lang.String fileName, java.lang.String filePath, java.lang.String locale)
Метод добавляет вложение к документу из временного файла, загруженного на сервер с помощью API хранилища
docID
- UUID документаpath
- строка, показывающая в какую подпапку контейнера файлов документа необходимо положить файл.
Возможные значения:
fileName
- Название загружаемого файлаfilePath
- Путь к временному файлу, загруженному на серверlocale
- локаль пользователяstartUploadFile(String)
,
StorageService#uploadPart(org.jboss.resteasy.plugins.providers.multipart.MultipartFormDataInput, String, String)
public java.lang.String remove(java.lang.String elementID, java.lang.String locale)
elementID
- идентификатор файла либо папки (обязательный параметр)locale
- локальpublic java.lang.String move(java.lang.String elementID, java.lang.String folderID, java.lang.String locale)
elementID
- идентификатор файла либо папки (что перемещаем, обязательный параметр)folderID
- идентификатор папки (куда перемещаем, обязательный параметр)locale
- локальpublic java.lang.String rename(java.lang.String elementID, java.lang.String elementName, java.lang.String locale)
elementID
- идентификатор файла либо папки (обязательный параметр)elementName
- новое имя файла либо папки (обязательный параметр)locale
- локальpublic java.lang.String create(java.lang.String folderID, java.lang.String folderName, java.lang.String locale)
folderID
- идентификатор папки, внутри которой происходит создание (обязательный параметр)folderName
- имя новой папкиlocale
- локальpublic java.lang.String copy(java.lang.String fileID, java.lang.String documentID, java.lang.String container, java.lang.String locale)
fileID
- идентификатор файла (обязательный параметр)documentID
- идентификатор документа, куда будет копироваться файл (обязательный параметр)container
- контейнер (приложения либо прочие, по умолчанию - ase:attachmentContainer)locale
- локальarta.synergy.web.common.client.data.bp.docflow.constants.DocFileType#INBOX_FILE
,
arta.synergy.web.common.client.data.bp.docflow.constants.DocFileType#WORK_FILE
public java.lang.String add(java.lang.String folderID, java.lang.String path, java.lang.String name, java.lang.String locale)
folderID
- идентификатор папки куда будет добавляться файл (обязательное поле)path
- абсолютный путь до файла (обязательное поле)name
- имя файла (обязательное поле)locale
- локальpublic java.lang.String getDescription(java.lang.String elementID, boolean mobile, java.lang.String locale)
elementID
- идентификатор папки или файла (обяз.)locale
- локаль пользователяНабор прав на папку или файл, права в системе:
READ = 1 (право на просмотр элемента) ADD = 2 (право на добавление нового элемента) DELETE = 4 (право на удаление элемента) EDIT_FOLDER_VIEW = 8 (право на редактирование index страницы папки) EDIT_DOCUMENT = 16 (право на редактирование документа) ADD_COMMENT = 32 (право на добавление комментариев) EDIT_COMMENT = 64 (право на редактирование комментариев) DELETE_COMMENT = 128 (право на удаление комментариев) READ_COMMENT = 256 (право на просмотр комментариев) READ_VERSIONS = 512 (право на просмотр версий документа) EDIT_VERSIONS = 1024 (право на восстановление версий документа) EDIT_METADATA = 2048 (право на редактирование свойств документа) READ_METADATA = 4096 (право на просмотр свойств документа) EDIT_CATEGORIES = 8192 (право на редактирование классификатора документа) READ_CATEGORIES = 16384 (право на просмотр классификатора документа) ADD_DOCUMENT_REFERENCES = 32768 (право на добавление документа в список ссылок документа) EDIT_DOCUMENT_REFERENCES = 65536 (право на редактирование списка ссылок документа) DELETE_DOCUMENT_REFERENCES = 131072 (право на удаление ссылок документа) READ_DOCUMENT_REFERENCES = 262144 (право на просмотр списка ссылок документа) LOAD_DOCUMENT = 524288 (право на загрузку файла документа) MOVE = 2097152 (право на перемещение / переименовывание элемента) CHANGE_PERMISSION = 4194304 (право на назначение прав) FULL_ACCESS = 2147483647
В случае неуспешного выполнения вовзращается json с полями:
Пример возвращаемого массива
{ "identifier": "f5003070-3740-4920-a4c5-01f8bf440774", "is_folder": false, "size": "19644", "path": "/company_root/Проект/Файл1.odt", "name": "Файл1.odt", "modified": "2013-03-13 16:35:45", "userName": "Слепаков Иван И.", "userID": "ee71a4c6-888a-4f04-86de-44ab394f5749", "right": 7, "mime ": "application/vnd.oasis.opendocument.text", "icon": "rest/api/storage/icons/get?aiType=ai_text&fileName=Файл1.odt", "parents": ["d1f91787-ac5d-4650-a7c0-1cdfbdd12165", "5860da7f-0615-4f46-8264-d8605d97ef9e"], " ai_type": "ai_document" }
public Response createHtd(java.util.Map<java.lang.String,java.lang.String> params)
public Response copy(java.util.Map<java.lang.String,java.lang.String> params)
params
- {objectId : , targetId : , dataId : }
где
objectId - идентификатор объекта
targetId - идентификатор ноды данных по форме
dataId - идентификатор данных по формеpublic Response asfFile(MultipartFormDataInput input, java.lang.String nodeID, java.lang.String dataUUID) throws java.io.IOException, javax.naming.NamingException, RepositoryException
input
- данные файлаnodeID
- идентификатор нодыdataUUID
- идентификатор данныхjava.io.IOException
javax.naming.NamingException
RepositoryException
public Response addFile(java.lang.String dataUUID, java.lang.String filePath, java.lang.String fileName) throws java.io.IOException, javax.naming.NamingException, RepositoryException
dataUUID
- идентификатор данных по формеfilePath
- путь до загруженного файлаfileName
- имя файлаjava.io.IOException
javax.naming.NamingException
RepositoryException
public Response canEditAsfData(java.lang.String documentId)
public Response getDescription(java.lang.String nodeId)
nodeId
- идентификатор узла (документа, файла и тд)