1 package info.magnolia.module.admininterface.pages; 2 3 import info.magnolia.cms.beans.config.ContentRepository; 4 import info.magnolia.cms.beans.runtime.Document; 5 import info.magnolia.cms.core.ie.DataTransporter; 6 import info.magnolia.cms.security.AccessDeniedException; 7 import info.magnolia.cms.security.Permission; 8 9 import java.text.MessageFormat ; 10 11 import javax.servlet.ServletException ; 12 import javax.servlet.http.HttpServletRequest ; 13 import javax.servlet.http.HttpServletResponse ; 14 15 import org.apache.commons.lang.StringUtils; 16 import org.slf4j.Logger; 17 import org.slf4j.LoggerFactory; 18 19 20 24 public class ImportPage extends ExportPage { 25 26 29 private static final long serialVersionUID = 222L; 30 31 34 private static Logger log = LoggerFactory.getLogger(ImportPage.class); 35 36 private Document mgnlFileImport; 37 38 private String mgnlRedirect; 39 40 private int mgnlUuidBehavior; 41 42 47 public ImportPage(String name, HttpServletRequest request, HttpServletResponse response) { 48 super(name, request, response); 49 } 50 51 54 public String getCommand() { 55 if ("POST".equals(getRequest().getMethod())) { 56 return "importxml"; } 58 return super.getCommand(); 59 } 60 61 65 public Document getMgnlFileImport() { 66 return this.mgnlFileImport; 67 } 68 69 73 public void setMgnlFileImport(Document mgnlFileImport) { 74 this.mgnlFileImport = mgnlFileImport; 75 } 76 77 81 public String getMgnlRedirect() { 82 return this.mgnlRedirect; 83 } 84 85 89 public void setMgnlRedirect(String mgnlRedirect) { 90 this.mgnlRedirect = mgnlRedirect; 91 } 92 93 97 public int getMgnlUuidBehavior() { 98 return this.mgnlUuidBehavior; 99 } 100 101 105 public void setMgnlUuidBehavior(int mgnlUuidBehavior) { 106 this.mgnlUuidBehavior = mgnlUuidBehavior; 107 } 108 109 112 public String importxml() throws Exception { 113 114 if (log.isDebugEnabled()) { 115 log.debug("Import request received."); } 117 118 if (StringUtils.isEmpty(mgnlRepository)) { 119 mgnlRepository = ContentRepository.WEBSITE; 120 } 121 if (StringUtils.isEmpty(mgnlPath)) { 122 mgnlPath = "/"; } 124 125 if (!checkPermissions(request, mgnlRepository, mgnlPath, Permission.WRITE)) { 126 throw new ServletException (new AccessDeniedException( 127 "Write permission needed for import. User not allowed to WRITE path [" + mgnlPath 129 + "]")); } 131 132 DataTransporter.importDocument( 133 mgnlFileImport, 134 mgnlRepository, 135 mgnlPath, 136 mgnlKeepVersions, 137 mgnlUuidBehavior, 138 true, 139 true); 140 141 log.info("Import done"); 143 if (StringUtils.isNotBlank(mgnlRedirect)) { 144 if (log.isInfoEnabled()) { 145 log.info(MessageFormat.format("Redirecting to [{0}]", new Object []{mgnlRedirect})); 147 } 148 response.sendRedirect(mgnlRedirect); 149 return null; 150 } 151 return this.show(); 152 } 153 154 } | Popular Tags |