Subversion Repositories SmartDukaan

Rev

Rev 6519 | Blame | Compare with Previous | Last modification | View Log | RSS feed

package in.shop2020.creation.controllers;

import java.util.List;
import in.shop2020.model.v1.catalog.CatalogService.Client;
import in.shop2020.thrift.clients.CatalogClient;
import in.shop2020.creation.controllers.BaseController;

import org.apache.commons.lang.xwork.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;
import org.apache.thrift.TException;
import org.apache.thrift.transport.TTransportException;


@InterceptorRefs({ @InterceptorRef("myDefault"), @InterceptorRef("login") })
@Results({
        @Result(name = "success", type = "redirectAction", params = {
                "actionName", "tag-page" }),
        @Result(name = "redirect", location = "${url}", type = "redirect") })
public class TagPageController extends BaseController {
    private static final long serialVersionUID = 1L;
    private static Log        log              = LogFactory.getLog(TagPageController.class);

    private String            displayName;
    private String            pageType;
    private String            pageTitle;
    private String            entityId;
    private String             addType;
    private String url;
    
    
    

    // Index page
    public String index() {
        return "index";
    }

    // Display page for a single specialPage
    public String show() {
        return "show";
    }

    /**
     * Handles creation of a new special page
     */
    public String create() throws Exception {
        long CatalogId = Long.parseLong(entityId);
        Client CatalogClient = new CatalogClient().getClient();
        CatalogClient.addTag(displayName, CatalogId);
        setUrl("tag-page/" + displayName +"/edit");
        return "redirect";
    }
    

    public String edit() {
        return "edit";
    }

    public String editNew() {
        return "editNew";
    }

    
    public void setId(String id) {
        this.displayName = id;
    }

    public String getDisplayName() {
        return displayName;
    }

    public void setDisplayName(String displayName) {
        this.displayName = displayName;
    }
    
    public String getPageType() {
        return pageType;
    }

    public void setPageType(String pageType) {
        this.pageType = pageType;
    }
    
    public String getEntityId() {
        return entityId;
    }
    
    public void setEntityId(String entityId) {
        this.entityId = entityId;
    }

    public String getPageTitle() {
        return pageTitle;
    }

    public void setPageTitle(String pageTitle) {
        this.pageTitle = pageTitle;
    }
    
    
    public List<String> getAllTags() throws TException{
        Client CatalogClient = null;
                try {
                        CatalogClient = new CatalogClient().getClient();
                } catch (TTransportException e) {
                        e.printStackTrace();
                }
        return CatalogClient.getAllTags();      
    }
    
    public String destroy() throws TException {
        Client CatalogClient = new CatalogClient().getClient();
        if (StringUtils.isNotEmpty(entityId))
        {
                long CatalogId = Long.parseLong(entityId);
                CatalogClient.deleteEntityTag(displayName,CatalogId);
                setUrl("tag-page/" + displayName +"/edit");
            return "redirect";
        }
        else
        {
                CatalogClient.deleteTag(displayName);
                setUrl("tag-page/index");
            return "redirect";
        }
        
    }
    
    public List<Long> getAllEntitiesByTagName() throws TException {
        Client CatalogClient = new CatalogClient().getClient();
        return CatalogClient.getAllEntitiesByTagName(displayName);
    }
    
    public void setAddType(String addType){
        this.addType = addType;
    }

        public void setUrl(String url) {
                this.url = url;
        }

        public String getUrl() {
                return url;
        }
   
}