kz.arta.synergy.server.api.rest.storage
Class StorageService

java.lang.Object
  extended by kz.arta.synergy.server.api.rest.storage.StorageService

public class StorageService
extends java.lang.Object

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 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 getIdentifierByPath(java.lang.String path)
           
 java.lang.String getPathToElement(java.lang.String elementID, java.lang.String locale)
           
 java.lang.String listFiles(java.lang.String parentID, java.lang.String locale)
          Возвращает список файлов в папке с идентификатором parentID

URL rest/api/storage/list
Method GET

 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

StorageService

public StorageService()
Method Detail

startUploadFile

public java.lang.String startUploadFile(java.lang.String locale)

Метод создает временный файл на стороне сервера


URL rest/api/storage/start_upload
Method GET

Метод создает временный файл, для дальнейшего его использования в процессе загрузки файла на сервер. Метод возвращает путь к созданному файлу, который необходимо использовать далее в методе upload_part

Процесс загрузки файла на сервер должен выглядить следующим образом:

Parameters:
locale - локаль пользователя - по-умолчанию ru
Returns:
json объект с полями
errorCode 0 - результат выполнения (0 - удачно, иначе - ошибка)
errorMessage - сообщение об ошибке (в случае неуспешного завершения)
file - путь к созданному временному файлу

uploadPart

public 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

Parameters:
file - имя временного файла, полученного методом startUploadFile (QueryParam)
locale - локаль пользователя, по-умолчанию ru (QueryParam)
Returns:
See Also:
startUploadFile(String)

getIdentifierByPath

public java.lang.String getIdentifierByPath(java.lang.String path)

listFiles

public java.lang.String listFiles(java.lang.String parentID,
                                  java.lang.String locale)

Возвращает список файлов в папке с идентификатором parentID


URL rest/api/storage/list
Method GET

Parameters:
parentID - - идентификатор папки
locale - - локаль пользователя - по-умолчанию ru
Returns:
json со списком файлов:
     [ {json_for_file1}, {json_for_file_2}, ... , {json_for_file_N} ]
 
Описание json одного файла см в методе StorageWrapper#wrapNode
See Also:
StorageWrapper.wrapNode(arta.remote.client.AiNode)

search

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)

Выполняет поиск в хранилище и возвращает список найденных файлов/папок


URL rest/api/storage/search
Method POST

Parameters:
contains - строка, которая должна содержаться в искомых файлах
notContains - строка, которая не должна содержаться в искомых файлах
categoryID - идентификатор классификатора, которому должны принадлежать искомые файлы. Значение данного параметра может быть передано несколько раз.
aiType - определяет тип искомых файлов. Может быть передано значение одной из констант:
  • AIConstants.AI_FOLDER
  • AIConstants.AI_DOCUMENT
  • AIConstants.AI_IMAGE
  • AIConstants.AI_AUDIO
  • AIConstants.AI_VIDEO
  • AI_APPLICATION

Параметр можно не передавать. В этом случае поиск вернет все файлы.
folderID - идентификатор папки хранилища, в которой необходимо осуществить поиск. Параметр можно не передавать, в этом случае поиск будет произведен по всем файлам, на которые у пользователя есть права
modifiedFrom - начало периода последнего изменения в формате yyyy-MM-dd, параметр не нужно передавать если нет необходимости выполнять поиск по дате изменения
modifiedTo - завершение периода последнего изменения в формате yyyy-MM-dd, параметр не нужно передавать если нет необходимости выполнять поиск по дате изменения
sizeType - определяет размер искомого файла. Значением параметра может быть одно из значений констант:
  • AIConstants.ALL_SIZES
  • AIConstants.LITTLE
  • AIConstants.MIDDLE
  • AIConstants.BIG
Значение по-умолчанию: AIConstants.ALL_SIZES
sortType - параметр определяет тип сортировки файлов. Значением параметра может быть одно из значений констант:
  • ExtendedSearchParams.SORT_RELEVANCE
  • ExtendedSearchParams.SORT_DATE
  • ExtendedSearchParams.SORT_READSCOUNT
Значение по-умолчанию ExtendedSearchParams.SORT_RELEVANCE
includeUnpublished - отображать ли в результатах поиска неопубликованные файлы, значение по-умолчаню - нет
includeExpired - отображать ли в результатах поиска файлы, срок действия которых истек,
includeCompanions - осуществлять ли поиск в папках документов, проектов, значение по-умолчанию - нет
firstResult - номер первой записи для возвращаемых результатов выборки, значение по-умолчанию - 1
maxResult - количество записей, которые должны быть возвращены, значение по-умолчанию - 30
locale - локаль пользователя - по-умолчанию ru
Returns:
json вида
 
{
"list": [] список найденных файлов
"begin": "", номер первой записи
"length": "", количество возвращенных записей
"count": "" общее количество найденных записей
}
Json каждого результата поиска имеет вид
 
{
identifier: идентификатор файла
ai_type: тип файла
name: название файла
path: путь к файлу
modified: стам изменения
parentID: идентификатор родительского элемента
fragments: фрагменты текста файла наиболее удовлетворяющие поиску (поле может отсутствовать)
icon: иконка файла (поле может отсутствовать)
}
See Also:
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

getPathToElement

public java.lang.String getPathToElement(java.lang.String elementID,
                                         java.lang.String locale)

createAttachment

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 хранилища


URL rest/api/storage/document/{docID}/attachment/create
Method POST

Parameters:
docID - UUID документа
path - строка, показывающая в какую подпапку контейнера файлов документа необходимо положить файл. Возможные значения:
  • ase:attachmentContainer (DocFileType.INBOX_FILE)
  • ase:workContainer (DocFileType.WORK_FILE)
fileName - Название загружаемого файла
filePath - Путь к временному файлу, загруженному на сервер
locale - локаль пользователя, по-умолчанию ru
Returns:
json объект с полями - errorCode - код выполнения операции (0 успешно, иначе - ошибка), errorMessage - сообщение об ошибке. В случае успешного выполнения так же возвращается полная информация о работе.
See Also:
startUploadFile(String), uploadPart(org.jboss.resteasy.plugins.providers.multipart.MultipartFormDataInput, String, String)


Copyright © 2000 Dummy Corp. All Rights Reserved.