001package org.nuxeo.project.sample; 002 003import java.io.IOException; 004import java.util.Date; 005import java.util.Random; 006 007import org.nuxeo.ecm.core.api.Blob; 008import org.nuxeo.ecm.core.api.CoreSession; 009import org.nuxeo.ecm.core.api.DocumentModel; 010import org.nuxeo.ecm.platform.filemanager.service.extension.AbstractFileImporter; 011import org.nuxeo.ecm.platform.filemanager.utils.FileManagerUtils; 012import org.nuxeo.ecm.platform.types.TypeManager; 013import org.nuxeo.runtime.api.Framework; 014 015public class BookFileManagerPlugin extends AbstractFileImporter { 016 017 private static final long serialVersionUID = 1L; 018 019 public DocumentModel create(CoreSession documentManager, Blob content, String path, boolean overwrite, 020 String filename, TypeManager typeService) throws IOException { 021 022 String title = FileManagerUtils.fetchTitle(FileManagerUtils.fetchFileName(filename)); 023 024 BookTitleService service = Framework.getService(BookTitleService.class); 025 026 title = service.correctTitle(title); 027 028 Random random = new Random(new Date().getTime()); 029 String randomName = String.valueOf(random.nextLong()); 030 031 DocumentModel doc = documentManager.createDocumentModel(path, randomName, "Book"); 032 doc.setPropertyValue("dublincore:title", title); 033 doc.setPropertyValue("dublincore:description", filename); 034 doc.setProperty("file", "content", content); 035 doc = documentManager.createDocument(doc); 036 documentManager.save(); 037 038 return doc; 039 } 040 041}