1 31 32 package org.opencms.workplace.explorer; 33 34 import org.opencms.file.CmsResource; 35 import org.opencms.file.types.CmsResourceTypeFolder; 36 import org.opencms.file.types.CmsResourceTypeXmlPage; 37 import org.opencms.jsp.CmsJspActionElement; 38 import org.opencms.main.OpenCms; 39 import org.opencms.util.CmsRequestUtil; 40 import org.opencms.util.CmsUriSplitter; 41 import org.opencms.workplace.CmsWorkplaceSettings; 42 import org.opencms.workplace.commons.CmsPropertyAdvanced; 43 44 import java.io.IOException ; 45 import java.util.ArrayList ; 46 import java.util.HashMap ; 47 import java.util.List ; 48 import java.util.Map ; 49 50 import javax.servlet.ServletException ; 51 import javax.servlet.http.HttpServletRequest ; 52 import javax.servlet.http.HttpServletResponse ; 53 import javax.servlet.jsp.JspException ; 54 import javax.servlet.jsp.PageContext ; 55 56 71 public class CmsNewResourceFolder extends CmsNewResource { 72 73 74 public static final String PARAM_CREATEINDEX = "createindex"; 75 76 private String m_paramCreateIndex; 77 78 83 public CmsNewResourceFolder(CmsJspActionElement jsp) { 84 85 super(jsp); 86 } 87 88 95 public CmsNewResourceFolder(PageContext context, HttpServletRequest req, HttpServletResponse res) { 96 97 this(new CmsJspActionElement(context, req, res)); 98 } 99 100 105 public void actionCreateResource() throws JspException { 106 107 try { 108 String title = computeNewTitleProperty(); 110 String fullResourceName = computeFullResourceName(); 112 List properties = createResourceProperties( 114 fullResourceName, 115 CmsResourceTypeFolder.getStaticTypeName(), 116 title); 117 getCms().createResource(fullResourceName, CmsResourceTypeFolder.getStaticTypeId(), null, properties); 119 setParamResource(fullResourceName); 120 setResourceCreated(true); 121 } catch (Throwable e) { 122 setParamMessage(Messages.get().getBundle(getLocale()).key(Messages.ERR_CREATE_FOLDER_0)); 124 includeErrorpage(this, e); 125 } 126 127 } 128 129 138 public void actionEditProperties() throws IOException , JspException , ServletException { 139 140 boolean editProps = Boolean.valueOf(getParamNewResourceEditProps()).booleanValue(); 141 boolean createIndex = Boolean.valueOf(getParamCreateIndex()).booleanValue(); 142 if (editProps) { 143 Map params = new HashMap (); 145 params.put(PARAM_RESOURCE, getParamResource()); 146 if (createIndex) { 147 params.put(CmsPropertyAdvanced.PARAM_DIALOGMODE, CmsPropertyAdvanced.MODE_WIZARD_CREATEINDEX); 149 } else { 150 params.put(CmsPropertyAdvanced.PARAM_DIALOGMODE, CmsPropertyAdvanced.MODE_WIZARD); 152 } 153 sendForward(CmsPropertyAdvanced.URI_PROPERTY_DIALOG_HANDLER, params); 154 } else if (createIndex) { 155 String newFolder = getParamResource(); 157 if (!newFolder.endsWith("/")) { 158 newFolder += "/"; 159 } 160 getSettings().setExplorerResource(newFolder); 162 String newUri = PATH_DIALOGS 163 + OpenCms.getWorkplaceManager().getExplorerTypeSetting(CmsResourceTypeXmlPage.getStaticTypeName()).getNewResourceUri(); 164 CmsUriSplitter splitter = new CmsUriSplitter(newUri); 165 Map params = CmsRequestUtil.createParameterMap(splitter.getQuery()); 166 params.put(CmsPropertyAdvanced.PARAM_DIALOGMODE, CmsPropertyAdvanced.MODE_WIZARD_CREATEINDEX); 167 sendForward(splitter.getPrefix(), params); 168 } else { 169 List folderList = new ArrayList (1); 171 folderList.add(CmsResource.getParentFolder(getParamResource())); 172 getJsp().getRequest().setAttribute(REQUEST_ATTRIBUTE_RELOADTREE, folderList); 173 actionCloseDialog(); 174 } 175 } 176 177 182 public String getParamCreateIndex() { 183 184 return m_paramCreateIndex; 185 } 186 187 192 public void setParamCreateIndex(String createIndex) { 193 194 m_paramCreateIndex = createIndex; 195 } 196 197 200 protected void initWorkplaceRequestValues(CmsWorkplaceSettings settings, HttpServletRequest request) { 201 202 fillParamValues(request); 204 setParamDialogtype(DIALOG_TYPE); 206 if (DIALOG_OK.equals(getParamAction())) { 208 setAction(ACTION_OK); 209 } else if (DIALOG_CANCEL.equals(getParamAction())) { 210 setAction(ACTION_CANCEL); 211 } else { 212 setAction(ACTION_DEFAULT); 213 setParamTitle(key(Messages.GUI_NEWRESOURCE_FOLDER_0)); 215 } 216 } 217 218 } 219 | Popular Tags |