1 31 32 package org.opencms.workplace.editors; 33 34 import org.opencms.i18n.CmsEncoder; 35 import org.opencms.jsp.CmsJspActionElement; 36 import org.opencms.main.CmsException; 37 import org.opencms.main.CmsLog; 38 import org.opencms.main.OpenCms; 39 import org.opencms.workplace.CmsDialog; 40 import org.opencms.workplace.CmsWorkplace; 41 import org.opencms.workplace.CmsWorkplaceException; 42 43 import javax.servlet.jsp.JspException ; 44 45 import org.apache.commons.logging.Log; 46 47 65 public class CmsEditorSelector { 66 67 68 private static final Log LOG = CmsLog.getLog(CmsEditorSelector.class); 69 70 71 private CmsJspActionElement m_jsp; 72 73 74 private String m_paramResource; 75 76 81 public CmsEditorSelector(CmsJspActionElement jsp) { 82 83 setJsp(jsp); 84 setParamResource(jsp.getRequest().getParameter(CmsDialog.PARAM_RESOURCE)); 85 } 86 87 93 private static void showErrorDialog(CmsJspActionElement jsp, Throwable t) { 94 95 CmsDialog wp = new CmsDialog(jsp); 96 wp.setParamMessage(Messages.get().getBundle(wp.getLocale()).key(Messages.ERR_NO_EDITOR_FOUND_0)); 97 wp.fillParamValues(jsp.getRequest()); 98 try { 99 wp.includeErrorpage(wp, t); 100 } catch (JspException e) { 101 LOG.debug(org.opencms.workplace.commons.Messages.get().getBundle().key( 102 org.opencms.workplace.commons.Messages.LOG_ERROR_INCLUDE_FAILED_1, 103 CmsWorkplace.FILE_DIALOG_SCREEN_ERRORPAGE), e); 104 } 105 } 106 107 112 public String getSelectedEditorUri() { 113 114 I_CmsEditorHandler editorClass = OpenCms.getWorkplaceManager().getEditorHandler(); 116 117 String resource = getParamResource(); 119 resource = CmsEncoder.unescape(resource, CmsEncoder.ENCODING_UTF_8); 120 if (editorClass == null) { 121 return CmsWorkplace.FILE_EXPLORER_FILELIST; 123 } 124 String editorUri = null; 126 try { 127 editorUri = editorClass.getEditorUri(resource, getJsp()); 128 if (editorUri == null) { 129 throw new CmsWorkplaceException(Messages.get().container(Messages.ERR_NO_EDITOR_FOUND_0)); 131 } 132 } catch (CmsException e) { 133 showErrorDialog(getJsp(), e); 134 } 135 return editorUri; 136 } 137 138 143 private CmsJspActionElement getJsp() { 144 145 return m_jsp; 146 } 147 148 153 private String getParamResource() { 154 155 return m_paramResource; 156 } 157 158 163 private void setJsp(CmsJspActionElement jsp) { 164 165 m_jsp = jsp; 166 } 167 168 173 private void setParamResource(String resource) { 174 175 m_paramResource = resource; 176 } 177 178 } 179 | Popular Tags |