1 package org.kuali.ole.docstore.document;
2
3 import org.apache.commons.io.FileUtils;
4 import org.apache.solr.common.SolrInputDocument;
5 import org.junit.Test;
6 import org.kuali.ole.BaseTestCase;
7 import org.kuali.ole.RepositoryManager;
8 import org.kuali.ole.docstore.OleDocStoreException;
9 import org.kuali.ole.docstore.model.enums.DocFormat;
10 import org.kuali.ole.docstore.model.xmlpojo.ingest.*;
11 import org.kuali.ole.docstore.model.xstream.ingest.RequestHandler;
12 import org.kuali.ole.docstore.process.ProcessParameters;
13 import org.kuali.ole.docstore.process.batch.BulkProcessRequest;
14 import org.kuali.ole.docstore.service.BeanLocator;
15 import org.kuali.ole.docstore.service.DocumentServiceImpl;
16 import org.kuali.ole.pojo.OleException;
17 import org.kuali.ole.solr.DummyIndexerServiceImpl;
18
19 import javax.jcr.Node;
20 import javax.jcr.RepositoryException;
21 import javax.jcr.Session;
22 import java.io.File;
23 import java.io.IOException;
24 import java.net.URISyntaxException;
25 import java.util.ArrayList;
26 import java.util.Calendar;
27 import java.util.List;
28
29
30
31
32
33
34
35
36
37
38 public class DocumentManagerFactory_UT extends BaseTestCase {
39
40
41 @Test
42 public void testWorkLicenseDocumentManager() throws OleDocStoreException, RepositoryException, IOException, URISyntaxException, OleException {
43 ResponseDocument responseDocument = new ResponseDocument();
44
45 WorkLicenseDocumentManager workLicenseDocumentManager = WorkLicenseDocumentManager.getInstance();
46 RepositoryManager repositoryManager = RepositoryManager.getRepositoryManager();
47 Session session = repositoryManager.getSession();
48 File file = new File(getClass().getResource("/org/kuali/ole/repository/request.xml").toURI());
49 String input = FileUtils.readFileToString(file);
50 RequestHandler rh = new RequestHandler();
51 Request request = rh.toObject(input);
52 List<RequestDocument> requestDocuments = request.getRequestDocuments();
53 RequestDocument requestDocument = requestDocuments.get(0);
54 workLicenseDocumentManager.convertContentToBytes(requestDocument);
55 workLicenseDocumentManager.isVersioningEnabled();
56 AdditionalAttributes additionalAttributes = new AdditionalAttributes();
57 requestDocument.setAdditionalAttributes(additionalAttributes);
58 additionalAttributes = requestDocument.getAdditionalAttributes();
59 additionalAttributes.setAttribute("dateEntered", Calendar.getInstance().toString());
60 requestDocument.setDocumentName("documentName");
61 Node nodeByUUID = session.getNodeByIdentifier(requestDocument.getUuid());
62 workLicenseDocumentManager.modifyAdditionalAttributes(requestDocument, nodeByUUID);
63 AbstractDocumentManager abstractDocumentManager = WorkLicenseDocumentManager.getInstance();
64 Node node = abstractDocumentManager.storeDocument(requestDocument,session, responseDocument);
65 workLicenseDocumentManager.checkOutContent(node,"all","checkOut");
66 workLicenseDocumentManager.checkOutContent(node, DocFormat.PDF.getCode(),"checkOut");
67 }
68
69 @Test
70 public void testAbstractDocumentManager() throws OleException, RepositoryException, OleDocStoreException, URISyntaxException, IOException {
71 AbstractDocumentManager abstractDocumentManager = WorkLicenseDocumentManager.getInstance();
72 ResponseDocument responseDocument = new ResponseDocument();
73 Session session = RepositoryManager.getRepositoryManager().getSession("CheckinManager", "checkIn");
74 File file = new File(getClass().getResource("/org/kuali/ole/repository/request-new.xml").toURI());
75 String input = FileUtils.readFileToString(file);
76 RequestHandler rh = new RequestHandler();
77 Request request = rh.toObject(input);
78 request.setOperation("ingest");
79 DocumentServiceImpl d = BeanLocator.getDocumentServiceImpl();
80 Response response1 = d.process(request);
81 String existingUUIDToCheckIn = response1.getDocuments().get(0).getUuid();
82 List<RequestDocument> requestDocuments = request.getRequestDocuments();
83 RequestDocument requestDocument = requestDocuments.get(0);
84 requestDocument.setId(existingUUIDToCheckIn);
85 BulkProcessRequest bulkProcessRequest = new BulkProcessRequest();
86 AdditionalAttributes additionalAttributes = new AdditionalAttributes();
87 requestDocument.setAdditionalAttributes(additionalAttributes);
88 bulkProcessRequest.setUser(ProcessParameters.BULK_DEFAULT_USER);
89 bulkProcessRequest.setOperation(BulkProcessRequest.BulkProcessOperation.INGEST);
90 abstractDocumentManager.bulkIngest(bulkProcessRequest, requestDocuments);
91 abstractDocumentManager.getVersionManager(session);
92 abstractDocumentManager.updateIndex(requestDocument);
93 List<String> valuesList = new ArrayList<String>();
94 abstractDocumentManager.validateInput(requestDocument, session, valuesList);
95 abstractDocumentManager.convertContentToBytes(requestDocument);
96 abstractDocumentManager.buildResponseDocument(requestDocument);
97 requestDocument.setDocumentName(file.getName());
98 requestDocument.setUser(ProcessParameters.BULK_DEFAULT_USER);
99 requestDocument.setUuid(existingUUIDToCheckIn);
100 requestDocument.setOperation(Request.Operation.deleteWithLinkedDocs.name());
101 requestDocument.setUuid(requestDocument.getId());
102 ResponseDocument respDoc = new ResponseDocument();
103 abstractDocumentManager.ingest(requestDocument, session, respDoc);
104 List list = new ArrayList<RequestDocument>();
105 list.add(requestDocument);
106 abstractDocumentManager.ingest(list,session);
107 abstractDocumentManager.checkout(requestDocument,session);
108 abstractDocumentManager.batchIngest(bulkProcessRequest,list,session);
109 abstractDocumentManager.delete(list,session);
110 abstractDocumentManager.index(list,true);
111 Node node = abstractDocumentManager.storeDocument(requestDocument,session, responseDocument);
112 System.out.println(" ");
113 abstractDocumentManager.checkOutContent(node,DocFormat.DOC.getCode(),"checkOut");
114 abstractDocumentManager.updateVersion(session,node);
115 abstractDocumentManager.buildResponseDocument(requestDocument,session,responseDocument);
116 }
117
118 @Test
119 public void testDummyIndexerServiceImpl() {
120 DummyIndexerServiceImpl dummyIndexerService = DummyIndexerServiceImpl.getInstance();
121 dummyIndexerService.deleteDocument(new String("12"),new String("123"));
122 dummyIndexerService.indexDocumentsFromDirBySolrDoc("1","2","3","4");
123 List list = new ArrayList<File>();
124 dummyIndexerService.indexDocumentsFromFiles("1","2","3",list);
125 list = new ArrayList<String>();
126 dummyIndexerService.deleteDocuments("1", list);
127 dummyIndexerService.indexDocumentsFromFileBySolrDoc("1", "2", "3", "4");
128 dummyIndexerService.getSolrDocumentBySolrId("1");
129 dummyIndexerService.getSolrDocument("1", "2");
130 list = new ArrayList<SolrInputDocument>();
131 dummyIndexerService.indexSolrDocuments(list);
132 }
133
134 @Test
135 public void testDocumentManagerFactory() {
136 DocumentManagerFactory documentManagerFactory = DocumentManagerFactory.getInstance();
137 documentManagerFactory.getDocumentManager("docCategory","docType","docFormat");
138 }
139 }