1 31 32 package org.opencms.workplace.commons; 33 34 import org.opencms.file.CmsResource; 35 import org.opencms.file.CmsResourceFilter; 36 import org.opencms.jsp.CmsJspActionElement; 37 import org.opencms.main.CmsException; 38 import org.opencms.main.CmsLog; 39 import org.opencms.workplace.CmsDialog; 40 import org.opencms.workplace.CmsWorkplaceSettings; 41 42 import java.util.Iterator ; 43 import java.util.List ; 44 45 import javax.servlet.http.HttpServletRequest ; 46 import javax.servlet.http.HttpServletResponse ; 47 import javax.servlet.jsp.JspException ; 48 import javax.servlet.jsp.PageContext ; 49 50 import org.apache.commons.logging.Log; 51 52 67 public class CmsCopyToProject extends CmsDialog { 68 69 70 public static final int ACTION_COPYTOPROJECT = 100; 71 72 73 public static final String DIALOG_TYPE = "copytoproject"; 74 75 76 private static final Log LOG = CmsLog.getLog(CmsCopyToProject.class); 77 78 83 public CmsCopyToProject(CmsJspActionElement jsp) { 84 85 super(jsp); 86 } 87 88 95 public CmsCopyToProject(PageContext context, HttpServletRequest req, HttpServletResponse res) { 96 97 this(new CmsJspActionElement(context, req, res)); 98 } 99 100 105 public void actionCopyToProject() throws JspException { 106 107 getJsp().getRequest().setAttribute(SESSION_WORKPLACE_CLASS, this); 109 try { 110 getCms().copyResourceToProject(getParamResource()); 112 actionCloseDialog(); 114 } catch (Throwable e) { 115 includeErrorpage(this, e); 117 } 118 } 119 120 125 public String buildProjectInformation() { 126 127 StringBuffer result = new StringBuffer (32); 128 129 try { 130 String [] localizedObject = new String [] {getCms().getRequestContext().currentProject().getName()}; 131 List resources = getCms().readProjectResources(getCms().getRequestContext().currentProject()); 132 Iterator i = resources.iterator(); 133 result.append(dialogBlockStart(key(Messages.GUI_COPYTOPROJECT_RESOURCES_0))); 134 if (resources.size() > 0) { 135 result.append(key(Messages.GUI_COPYTOPROJECT_PART_1, localizedObject)); 137 result.append("<ul style=\"margin-top: 3px; margin-bottom: 3px;\">\n"); 138 String siteRoot = getCms().getRequestContext().getSiteRoot(); 139 while (i.hasNext()) { 140 String resName = (String )i.next(); 142 if (resName.startsWith(siteRoot)) { 143 resName = resName.substring(siteRoot.length()); 145 } 146 result.append("\t<li>"); 147 result.append(resName); 148 result.append("</li>\n"); 149 } 150 result.append("</ul>\n"); 151 } else { 152 result.append(key(Messages.GUI_COPYTOPROJECT_NOPART_1, localizedObject)); 154 } 155 result.append(dialogBlockEnd()); 156 result.append(dialogSpacer()); 157 } catch (CmsException e) { 158 if (LOG.isInfoEnabled()) { 160 LOG.info(e.getLocalizedMessage()); 161 } 162 } 163 164 String resName = getParamResource(); 166 try { 167 CmsResource res = getCms().readResource(getParamResource(), CmsResourceFilter.ALL); 168 if (res.isFolder() && !resName.endsWith("/")) { 169 resName += "/"; 170 } 171 } catch (CmsException e) { 172 if (LOG.isInfoEnabled()) { 174 LOG.info(e.getLocalizedMessage()); 175 } 176 } 177 String [] localizedObject = new String [] {resName, getCms().getRequestContext().currentProject().getName()}; 179 result.append(key(Messages.GUI_COPYTOPROJECT_PROJECT_CONFIRMATION_2, localizedObject)); 180 return result.toString(); 181 } 182 183 186 protected void initWorkplaceRequestValues(CmsWorkplaceSettings settings, HttpServletRequest request) { 187 188 fillParamValues(request); 190 setParamDialogtype(DIALOG_TYPE); 192 if (DIALOG_TYPE.equals(getParamAction())) { 194 setAction(ACTION_COPYTOPROJECT); 195 } else if (DIALOG_CANCEL.equals(getParamAction())) { 196 setAction(ACTION_CANCEL); 197 } else { 198 setAction(ACTION_DEFAULT); 199 setParamTitle(key(Messages.GUI_COPYTOPROJECT_TITLE_0)); 201 } 202 } 203 204 } | Popular Tags |