View Javadoc

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   * Created with IntelliJ IDEA.
32   * User: ?
33   * Date: 1/4/13
34   * Time: 12:14 PM
35   * To change this template use File | Settings | File Templates.
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 }