1 18 package org.alfresco.web.bean.wizard; 19 20 import javax.faces.context.FacesContext; 21 import javax.faces.event.ActionEvent; 22 23 import org.alfresco.model.ContentModel; 24 import org.alfresco.model.ForumModel; 25 import org.alfresco.service.cmr.repository.ContentReader; 26 import org.alfresco.service.cmr.repository.ContentWriter; 27 import org.alfresco.web.app.AlfrescoNavigationHandler; 28 import org.alfresco.web.bean.ForumsBean; 29 import org.alfresco.web.bean.repository.Node; 30 import org.alfresco.web.bean.repository.Repository; 31 import org.alfresco.web.ui.common.Utils; 32 import org.springframework.util.StringUtils; 33 34 39 public class NewPostWizard extends CreateContentWizard 40 { 41 44 @Override  45 public void init() 46 { 47 super.init(); 48 49 this.objectType = ForumModel.TYPE_POST.toString(); 51 } 52 53 56 @Override  57 public void startWizardForEdit(ActionEvent event) 58 { 59 63 this.browseBean.setupContentAction(event); 65 66 super.startWizardForEdit(event); 67 } 68 69 72 @Override  73 public void populate() 74 { 75 super.populate(); 76 77 Node currentDocument = this.browseBean.getDocument(); 80 ContentReader reader = this.contentService.getReader(currentDocument.getNodeRef(), 81 ContentModel.PROP_CONTENT); 82 83 if (reader != null) 84 { 85 String htmlContent = reader.getContentString(); 86 if (htmlContent != null) 87 { 88 this.content = StringUtils.replace(htmlContent, "<br/>", "\r\n"); 89 } 90 } 91 } 92 93 96 @Override  97 public String finish() 98 { 99 if (this.editMode) 100 { 101 this.content = Utils.replaceLineBreaks(this.content); 103 } 104 else 105 { 106 this.fileName = ForumsBean.createPostFileName(); 108 this.contentType = Repository.getMimeTypeForFileName( 109 FacesContext.getCurrentInstance(), this.fileName); 110 111 this.content = Utils.replaceLineBreaks(this.content); 113 } 114 115 String outcome = super.finish(); 116 117 if (outcome != null); 119 { 120 outcome = AlfrescoNavigationHandler.CLOSE_DIALOG_OUTCOME; 121 } 122 123 return outcome; 124 } 125 126 129 @Override  130 protected void performCustomProcessing() 131 { 132 if (this.editMode) 133 { 134 Node currentDocument = this.browseBean.getDocument(); 136 137 ContentWriter writer = this.contentService.getWriter(currentDocument.getNodeRef(), 138 ContentModel.PROP_CONTENT, true); 139 if (writer != null) 140 { 141 writer.putContent(this.content); 142 } 143 } 144 } 145 146 149 @Override  150 public String cancel() 151 { 152 super.cancel(); 153 154 return AlfrescoNavigationHandler.CLOSE_DIALOG_OUTCOME; 155 } 156 } 157 | Popular Tags |