CMIS. Создание папок/файлов.
Сегодня хотел бы рассказать про добавления папок/файлов из сторонних приложений.
Мы будем использовать технологию CMIS.
CMIS - предлагаемый ведущими производителями пакет стандартов, состоящий из набора веб-сервисов для совместного использования информации, хранимой в несвязанных между собой хранилищах контента.(wiki)
Рассмотрим пример на языке Java.
1) Создадим Maven проект.
2) Добавляем в pom.xml библиотеки:
Мы будем использовать технологию CMIS.
CMIS - предлагаемый ведущими производителями пакет стандартов, состоящий из набора веб-сервисов для совместного использования информации, хранимой в несвязанных между собой хранилищах контента.(wiki)
Рассмотрим пример на языке Java.
1) Создадим Maven проект.
2) Добавляем в pom.xml библиотеки:
<dependencies> ... <dependency> <groupId>org.apache.chemistry.opencmis</groupId> <artifactId>chemistry-opencmis-commons-api</artifactId> <version>0.12.0</version> </dependency> <dependency> <groupId>org.apache.chemistry.opencmis</groupId> <artifactId>chemistry-opencmis-client-impl</artifactId> <version>0.12.0</version> </dependency> </dependencies>3) Создаем класс CMISTest, с кодом:
public class Main { public void test(){ //Создаем фабрику и параметры SessionFactory factory = SessionFactoryImpl.newInstance(); Map<String, String> parameter = new HashMap<String, String>(); //Пользовательские настройки (логин и пароль) parameter.put(SessionParameter.USER, "admin"); parameter.put(SessionParameter.PASSWORD, "admin"); //Тип и метод подключения parameter.put(SessionParameter.ATOMPUB_URL, "http://localhost:8080/alfresco/api/-default-/cmis/versions/1.1/atom"); parameter.put(SessionParameter.BINDING_TYPE, BindingType.ATOMPUB.value()); parameter.put(SessionParameter.REPOSITORY_ID, "-default-"); //Создание сессии Session session = factory.createSession(parameter); //Переходим в папку, с указанным путь (путь должен быть относительно репозитория) String path = "/Сайты/orders"; CmisObject object = session.getObjectByPath(path); Folder rootFolder = (Folder)object; //Создание папки внутри сайта Map<String, Object> properties = new HashMap<String, Object>(); properties.put(PropertyIds.OBJECT_TYPE_ID, "cmis:folder"); properties.put(PropertyIds.NAME, "Наша новая папка"); Folder parent = rootFolder.createFolder(properties); // Создание файла Map<String, Object> propertiesd = new HashMap<String, Object>(); propertiesd.put(PropertyIds.OBJECT_TYPE_ID, "cmis:document"); propertiesd.put(PropertyIds.NAME, "Наше название файла"); // контент файла byte[] content = "Это контент".getBytes(); InputStream stream = new ByteArrayInputStream(content); ContentStream contentStream = new ContentStreamImpl("Наше название файла", BigInteger.valueOf(content.length), "application/pdf", stream); Document newDoc = parent.createDocument(propertiesd, contentStream, VersioningState.MAJOR); public static void main(String[] args) throws Exception { Main main = new Main(); main.test(); } } Ну вот собственно и все, больше информации можно просомтреть на официальном сайте CMIS:chemistry.apache.org/java/opencmis.html