Rev 6520 | Blame | Compare with Previous | Last modification | View Log | RSS feed
package in.shop2020.creation.controllers;import in.shop2020.metamodel.core.SpecialPage;import in.shop2020.metamodel.util.CreationUtils;import java.util.List;import java.util.Map;import org.apache.commons.lang.StringUtils;import org.apache.juli.logging.Log;import org.apache.juli.logging.LogFactory;import org.apache.struts2.convention.annotation.InterceptorRef;import org.apache.struts2.convention.annotation.InterceptorRefs;import org.apache.struts2.convention.annotation.Result;import org.apache.struts2.convention.annotation.Results;/*** Action class for special page in CMS. Delete operation is not supported.** @author mandeep*/@InterceptorRefs({ @InterceptorRef("myDefault"), @InterceptorRef("login") })@Results({@Result(name = "success", type = "redirectAction", params = {"actionName", "special-page" }),@Result(name = "redirect", location = "${url}", type = "redirect") })public class SpecialPageController extends BaseController {private static final long serialVersionUID = 1L;private static Log log = LogFactory.getLog(SpecialPageController.class);// Special page attributes set by Struts2private String id;private String displayName;private String description;private String primeURL;private Long pageType;//Solr Search 0, Tag Search 1private String saholicURL;private String searchQuery;private String pageTitle;private String metaKeywords;private String metaDescription;// Index pagepublic String index() {return "index";}// Display page for a single specialPagepublic String show() {return "show";}/*** Handles creation of a new special page*/public String create() throws Exception {long id = CreationUtils.getNewSpecialPageId();if (displayName == null) {addActionError("Display Name cannot be empty");return "index";}SpecialPage specialPage = new SpecialPage(id, displayName);specialPage.setDescription(description);specialPage.setPrimeURL(primeURL);specialPage.setSaholicURL(saholicURL);specialPage.setPageTitle(pageTitle);specialPage.setMetaDescription(metaDescription);specialPage.setMetaKeywords(metaKeywords);specialPage.setSearchQuery(searchQuery);specialPage.setPageType(pageType);log.info(specialPage);CreationUtils.storeSpecialPage(specialPage);return "index";}/*** Used in index view to display all special pages*/public Map<Long, SpecialPage> getSpecialPages() throws Exception {return CreationUtils.getSpecialPages();}/*** Used in UI to display other attributes given special page Id*/public SpecialPage getSpecialPage() throws Exception {return CreationUtils.getSpecialPage(Long.parseLong(id));}public String edit() {return "edit";}public String editNew() {return "editNew";}/*** Handles deletion of a special page*/public String destroy() {long spacialPageID = Long.parseLong(this.getId());CreationUtils.deleteSpecialPage(spacialPageID);return "index";}/*** Handles updates done on special page through UI*/public String update() throws Exception {SpecialPage specialPage = CreationUtils.getSpecialPage(Long.parseLong(id));specialPage.setDisplayName(displayName);specialPage.setPageType(pageType);specialPage.setDescription(description);specialPage.setPrimeURL(primeURL);specialPage.setSaholicURL(saholicURL);specialPage.setPageTitle(pageTitle);specialPage.setMetaDescription(metaDescription);specialPage.setMetaKeywords(metaKeywords);specialPage.setSearchQuery(searchQuery);CreationUtils.storeSpecialPage(specialPage);return "index";}public String getSearchQuery(List<String> searchQuery) {return StringUtils.join(searchQuery, ",");}public String getId() {return id;}public void setId(String id) {this.id = id;}public String getDisplayName() {return displayName;}public void setDisplayName(String displayName) {this.displayName = displayName;}public String getPrimeURL() {return primeURL;}public void setPrimeURL(String primeURL) {this.primeURL = primeURL;}public String getSaholicURL() {return saholicURL;}public void setSaholicURL(String saholicURL) {this.saholicURL = saholicURL;}public String getSearchQuery() {return searchQuery;}public void setSearchQuery(String searchQuery) {this.searchQuery = searchQuery;}public String getDescription() {return description;}public void setDescription(String description) {this.description = description;}public String getPageTitle() {return pageTitle;}public void setPageTitle(String pageTitle) {this.pageTitle = pageTitle;}public String getMetaKeywords() {return metaKeywords;}public void setMetaKeywords(String metaKeywords) {this.metaKeywords = metaKeywords;}public String getMetaDescription() {return metaDescription;}public void setMetaDescription(String metaDescription) {this.metaDescription = metaDescription;}public void setPageType(Long pageType) {this.pageType = pageType;}public Long getPageType() {return pageType;}}