Advertisement
Guest User

Untitled

a guest
Aug 5th, 2015
221
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.54 KB | None | 0 0
  1. package com.document.upload;
  2.  
  3. import java.io.File;
  4. import java.io.FileInputStream;
  5. import java.io.IOException;
  6. import java.io.InputStream;
  7. import java.util.HashMap;
  8. import java.util.List;
  9. import java.util.Map;
  10.  
  11. import javax.portlet.ActionRequest;
  12. import javax.portlet.ActionResponse;
  13. import javax.portlet.PortletException;
  14.  
  15. import com.liferay.portal.kernel.exception.PortalException;
  16. import com.liferay.portal.kernel.exception.SystemException;
  17. import com.liferay.portal.kernel.repository.model.FileEntry;
  18. import com.liferay.portal.kernel.repository.model.Folder;
  19. import com.liferay.portal.kernel.upload.UploadPortletRequest;
  20. import com.liferay.portal.kernel.util.WebKeys;
  21. import com.liferay.portal.service.ServiceContext;
  22. import com.liferay.portal.service.ServiceContextFactory;
  23. import com.liferay.portal.theme.ThemeDisplay;
  24. import com.liferay.portal.util.PortalUtil;
  25. import com.liferay.portlet.documentlibrary.model.DLFileEntry;
  26. import com.liferay.portlet.documentlibrary.model.DLFolder;
  27. import com.liferay.portlet.documentlibrary.model.DLFolderConstants;
  28. import com.liferay.portlet.documentlibrary.service.DLAppServiceUtil;
  29. import com.liferay.util.bridges.mvc.MVCPortlet;
  30. import com.liferay.util.portlet.PortletProps;
  31.  
  32. /**
  33. * Portlet implementation class DocumentUpload
  34. */
  35. public class DocumentUpload extends MVCPortlet {
  36. private static String ROOT_FOLDER_NAME = PortletProps.get("fileupload.folder.name");
  37. private static String ROOT_FOLDER_DESCRIPTION = PortletProps.get("fileupload.folder.description");
  38. private static long PARENT_FOLDER_ID = DLFolderConstants.DEFAULT_PARENT_FOLDER_ID;
  39.  
  40. public void uploadDocument(ActionRequest actionRequest,ActionResponse actionResponse) throws IOException,PortletException, PortalException, SystemException
  41. {
  42. ThemeDisplay themeDisplay = (ThemeDisplay) actionRequest.getAttribute(WebKeys.THEME_DISPLAY);
  43. createFolder(actionRequest, themeDisplay);
  44. fileUpload(themeDisplay, actionRequest);
  45.  
  46. }
  47.  
  48. public void downloadFiles(ActionRequest actionRequest,ActionResponse actionResponse) throws IOException,PortletException, PortalException, SystemException
  49. {
  50. ThemeDisplay themeDisplay = (ThemeDisplay) actionRequest.getAttribute(WebKeys.THEME_DISPLAY);
  51.  
  52. Map<String,String> urlMap = getAllFileLink(themeDisplay);
  53. actionRequest.setAttribute("urlMap", urlMap);
  54. actionResponse.setRenderParameter("jspPage","/html/documentupload/download.jsp");
  55. }
  56. public Folder createFolder(ActionRequest actionRequest,ThemeDisplay themeDisplay)
  57. {
  58. boolean folderExist = isFolderExist(themeDisplay);
  59. Folder folder = null;
  60. if (!folderExist) {
  61. long repositoryId = themeDisplay.getScopeGroupId();
  62. try {
  63. ServiceContext serviceContext = ServiceContextFactory.getInstance(DLFolder.class.getName(), actionRequest);
  64. folder = DLAppServiceUtil.addFolder(repositoryId,PARENT_FOLDER_ID, ROOT_FOLDER_NAME,ROOT_FOLDER_DESCRIPTION, serviceContext);
  65. } catch (PortalException e1) {
  66. e1.printStackTrace();
  67. } catch (SystemException e1) {
  68. e1.printStackTrace();
  69. }
  70. }
  71. return folder;
  72. }
  73.  
  74.  
  75. public boolean isFolderExist(ThemeDisplay themeDisplay){
  76. boolean folderExist = false;
  77. try {
  78. DLAppServiceUtil.getFolder(themeDisplay.getScopeGroupId(), PARENT_FOLDER_ID, ROOT_FOLDER_NAME);
  79. folderExist = true;
  80. System.out.println("Folder is already Exist");
  81. } catch (Exception e) {
  82. System.out.println(e.getMessage());
  83. }
  84. return folderExist;
  85. }
  86.  
  87. public Folder getFolder(ThemeDisplay themeDisplay){
  88. Folder folder = null;
  89. try {
  90. folder =DLAppServiceUtil.getFolder(themeDisplay.getScopeGroupId(), PARENT_FOLDER_ID, ROOT_FOLDER_NAME);
  91. } catch (Exception e) {
  92. System.out.println(e.getMessage());
  93. }
  94. return folder;
  95. }
  96.  
  97.  
  98. public void fileUpload(ThemeDisplay themeDisplay,ActionRequest actionRequest)
  99. {
  100. UploadPortletRequest uploadPortletRequest = PortalUtil.getUploadPortletRequest(actionRequest);
  101.  
  102. String fileName=uploadPortletRequest.getFileName("uploadedFile");
  103. File file = uploadPortletRequest.getFile("uploadedFile");
  104. String mimeType = uploadPortletRequest.getContentType("uploadedFile");
  105. String title = fileName;
  106. String description = "This file is added via programatically";
  107. long repositoryId = themeDisplay.getScopeGroupId();
  108. System.out.println("Title=>"+title);
  109. try
  110. {
  111. Folder folder = getFolder(themeDisplay);
  112. ServiceContext serviceContext = ServiceContextFactory.getInstance(DLFileEntry.class.getName(), actionRequest);
  113. InputStream is = new FileInputStream( file );
  114. DLAppServiceUtil.addFileEntry(repositoryId, folder.getFolderId(), fileName, mimeType,
  115. title, description, "", is, file.getTotalSpace(), serviceContext);
  116.  
  117. } catch (Exception e)
  118. {
  119. System.out.println(e.getMessage());
  120. e.printStackTrace();
  121. }
  122.  
  123. }
  124.  
  125. public Map<String, String> getAllFileLink(ThemeDisplay themeDisplay){
  126. Map<String, String> urlMap = new HashMap<String, String>();//key = file name ,value = url
  127. long repositoryId = themeDisplay.getScopeGroupId();
  128. try {
  129. Folder folder =getFolder(themeDisplay);
  130. List<FileEntry> fileEntries = DLAppServiceUtil.getFileEntries(repositoryId, folder.getFolderId());
  131. for (FileEntry file : fileEntries) {
  132. String url = themeDisplay.getPortalURL() + themeDisplay.getPathContext() + "/documents/" + themeDisplay.getScopeGroupId() + "/" +
  133. file.getFolderId() + "/" +file.getTitle() ;
  134. urlMap.put(file.getTitle().split("\\.")[0], url);// remove jpg or pdf
  135.  
  136. }
  137. } catch (Exception e) {
  138. e.printStackTrace();
  139. }
  140. return urlMap;
  141.  
  142. }
  143. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement