1 31 32 package org.opencms.workplace.editors; 33 34 import org.opencms.file.CmsResource; 35 import org.opencms.file.CmsResourceFilter; 36 import org.opencms.file.types.CmsResourceTypePlain; 37 import org.opencms.jsp.CmsJspActionElement; 38 import org.opencms.main.CmsException; 39 import org.opencms.main.CmsLog; 40 import org.opencms.main.OpenCms; 41 import org.opencms.util.CmsRequestUtil; 42 43 import org.apache.commons.logging.Log; 44 45 65 public class CmsEditorHandler implements I_CmsEditorHandler { 66 67 68 private static final Log LOG = CmsLog.getLog(CmsEditorHandler.class); 69 70 73 public String getEditorUri(String resource, CmsJspActionElement jsp) throws CmsException { 74 75 boolean editAsText = Boolean.valueOf(jsp.getRequest().getParameter(CmsEditor.PARAM_EDITASTEXT)).booleanValue(); 77 boolean loadDefault = Boolean.valueOf(jsp.getRequest().getParameter(CmsEditor.PARAM_LOADDEFAULT)).booleanValue(); 78 int resTypeId = -1; 80 String resourceType = ""; 81 if (editAsText) { 82 resTypeId = CmsResourceTypePlain.getStaticTypeId(); 84 } else { 85 CmsResource res = jsp.getCmsObject().readResource(resource, CmsResourceFilter.ALL); 87 resTypeId = res.getTypeId(); 88 } 89 90 resourceType = OpenCms.getResourceManager().getResourceType(resTypeId).getTypeName(); 92 93 String editorUri = null; 95 96 String userAgent = jsp.getRequest().getHeader(CmsRequestUtil.HEADER_USER_AGENT); 98 99 if (loadDefault) { 100 editorUri = OpenCms.getWorkplaceManager().getWorkplaceEditorManager().getDefaultEditorUri( 102 jsp.getRequestContext(), 103 resourceType, 104 userAgent); 105 } else { 106 editorUri = OpenCms.getWorkplaceManager().getWorkplaceEditorManager().getEditorUri( 108 jsp.getRequestContext(), 109 resourceType, 110 userAgent); 111 } 112 113 try { 114 jsp.getCmsObject().readResource(editorUri); 116 } catch (Throwable t) { 117 if (LOG.isInfoEnabled()) { 119 LOG.info(t); 120 } 121 editorUri = OpenCms.getWorkplaceManager().getWorkplaceEditorManager().getDefaultEditorUri( 122 jsp.getRequestContext(), 123 resourceType, 124 userAgent); 125 } 126 127 return editorUri; 128 } 129 130 } 131 | Popular Tags |