|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object kz.arta.synergy.server.api.rest.storage.StorageService
public class StorageService
Created by IntelliJ IDEA. User: topa Date: 04.09.13 Time: 10:33 To change this template use File | Settings | File Templates.
Constructor Summary | |
---|---|
StorageService()
|
Method Summary | |
---|---|
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 |
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 |
java.lang.String |
getDescription(java.lang.String elementID,
java.lang.String locale)
Возвращает детальную информацию папки/файла URL: rest/api/storage/description Тип: GET |
java.lang.String |
getIdentifierByPath(java.lang.String path)
|
java.lang.String |
getPathToElement(java.lang.String elementID,
java.lang.String locale)
|
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 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(org.jboss.resteasy.plugins.providers.multipart.MultipartFormDataInput input,
java.lang.String file,
java.lang.String locale)
Дописывает байты во временный файл URL rest/api/storage/upload_part Method POST Enctype multipart/form-data название поля формы для части файла должно называться - body |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public StorageService()
Method Detail |
---|
public java.lang.String startUploadFile(java.lang.String locale)
Метод создает временный файл на стороне сервера
Метод создает временный файл, для дальнейшего его использования в процессе загрузки файла на сервер. Метод возвращает путь к созданному файлу, который необходимо использовать далее в методе upload_part
Процесс загрузки файла на сервер должен выглядить следующим образом:
locale
- локаль пользователя - по-умолчанию ru
public java.lang.String uploadPart(org.jboss.resteasy.plugins.providers.multipart.MultipartFormDataInput input, java.lang.String file, java.lang.String locale)
Дописывает байты во временный файл
file
- имя временного файла, полученного методом startUploadFile (QueryParam)locale
- локаль пользователя, по-умолчанию ru (QueryParam)
startUploadFile(String)
public java.lang.String getIdentifierByPath(java.lang.String path)
public java.lang.String listFiles(java.lang.String parentID, boolean getOnlyFolders, java.lang.String locale)
Метод возвращает список файлов в папке с идентификатором parentID
parentID
- - идентификатор папкиlocale
- - локаль пользователя - по-умолчанию ru
[{json_for_file1}, {json_for_file_2}, ... , {json_for_file_N}]Описание конвертацию одного файла см в методе StorageWrapper#convertNodeToElement
StorageWrapper.convertNodeToElement(AiNode)
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 locale)
Выполняет поиск в хранилище и возвращает список найденных файлов/папок
contains
- строка, которая должна содержаться в искомых файлахnotContains
- строка, которая не должна содержаться в искомых файлахcategoryID
- идентификатор классификатора, которому должны принадлежать искомые файлы. Значение данного параметра может
быть передано несколько раз.aiType
- определяет тип искомых файлов. Может быть передано значение одной из констант:
folderID
- идентификатор папки хранилища, в которой необходимо осуществить поиск. Параметр можно не передавать, в этом случае
поиск будет произведен по всем файлам, на которые у пользователя есть праваmodifiedFrom
- начало периода последнего изменения в формате yyyy-MM-dd, параметр не нужно передавать если нет необходимости выполнять поиск по дате измененияmodifiedTo
- завершение периода последнего изменения в формате yyyy-MM-dd, параметр не нужно передавать если нет необходимости выполнять поиск по дате измененияsizeType
- определяет размер искомого файла. Значением параметра может быть одно из значений констант:
sortType
- параметр определяет тип сортировки файлов. Значением параметра может быть одно из значений констант:
includeUnpublished
- отображать ли в результатах поиска неопубликованные файлы, значение по-умолчаню - нетincludeExpired
- отображать ли в результатах поиска файлы, срок действия которых истек,includeCompanions
- осуществлять ли поиск в папках документов, проектов, значение по-умолчанию - нетfirstResult
- номер первой записи для возвращаемых результатов выборки, значение по-умолчанию - 1maxResult
- количество записей, которые должны быть возвращены, значение по-умолчанию - 30locale
- локаль пользователя - по-умолчанию ru
Json каждого результата поиска имеет вид
{
"list": [] список найденных файлов
"begin": "", номер первой записи
"length": "", количество возвращенных записей
"count": "" общее количество найденных записей
}
{
identifier: идентификатор файла
ai_type: тип файла
name: название файла
path: путь к файлу
modified: стам изменения
parentID: идентификатор родительского элемента
fragments: фрагменты текста файла наиболее удовлетворяющие поиску (поле может отсутствовать)
icon_url: ссылка до иконки файла (поле может отсутствовать)
right: сумма чисел, определяющая набор прав на папку или файл
}
AIConstants.AI_FOLDER
,
AIConstants.AI_DOCUMENT
,
AIConstants.AI_IMAGE
,
AIConstants.AI_AUDIO
,
AIConstants.AI_VIDEO
,
AIConstants.AI_APPLICATION
,
AIConstants.ALL_SIZES
,
AIConstants.LITTLE
,
AIConstants.MIDDLE
,
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 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
- локаль пользователя, по-умолчанию ru
startUploadFile(String)
,
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
- локаль (ru/en/kz, по умолчанию - ru)
public java.lang.String move(java.lang.String elementID, java.lang.String folderID, java.lang.String locale)
elementID
- идентификатор файла либо папки (что перемещаем, обязательный параметр)folderID
- идентификатор папки (куда перемещаем, обязательный параметр)locale
- локаль (ru/en/kz, по умолчанию - ru)
public java.lang.String rename(java.lang.String elementID, java.lang.String elementName, java.lang.String locale)
elementID
- идентификатор файла либо папки (обязательный параметр)elementName
- новое имя файла либо папки (обязательный параметр)locale
- локаль (ru/en/kz, по умолчанию - ru)
public java.lang.String create(java.lang.String folderID, java.lang.String folderName, java.lang.String locale)
folderID
- идентификатор папки, внутри которой происходит создание (обязательный параметр)folderName
- имя новой папкиlocale
- локаль (ru/en/kz, по умолчанию - ru)
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
- локаль (ru/en/kz, по умолчанию - ru)
DocFileType.INBOX_FILE
,
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
- локаль (ru/en/kz, ru - по умолчанию)
public java.lang.String getDescription(java.lang.String elementID, java.lang.String locale)
elementID
- идентификатор папки или файла (обяз.)locale
- локаль пользователя, ru/en/kz (не обяз., по умолчанию ru)
Набор прав на папку или файл, права в системе:
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" }
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |