/**
* Copyright (c)2010-2011 Enterprise Website Content Management System(EWCMS), All rights reserved.
* EWCMS PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
* http://www.ewcms.com
*/
package com.ewcms.core.site;
import java.util.List;
import java.util.Set;
import org.apache.tools.zip.ZipOutputStream;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.security.acls.model.Acl;
import org.springframework.security.acls.model.Permission;
import org.springframework.stereotype.Service;
import com.ewcms.core.site.model.Channel;
import com.ewcms.core.site.model.Organ;
import com.ewcms.core.site.model.Site;
import com.ewcms.core.site.model.Template;
import com.ewcms.core.site.model.TemplateSource;
import com.ewcms.core.site.service.ChannelServiceable;
import com.ewcms.core.site.service.OrganServiceable;
import com.ewcms.core.site.service.SiteServiceable;
import com.ewcms.core.site.service.TemplateServiceable;
import com.ewcms.core.site.service.TemplateSourceServiceable;
import com.ewcms.publication.PublishException;
import com.ewcms.web.vo.TreeNode;
import freemarker.template.Configuration;
/**
*
* @author 周冬初
*/
@Service
public class SiteFac implements SiteFacable{
@Autowired
private SiteServiceable siteService;
@Autowired
private TemplateServiceable templateService;
@Autowired
private ChannelServiceable channelService;
@Autowired
private OrganServiceable organService;
@Autowired
private TemplateSourceServiceable templateSourceService;
@Autowired
private Configuration cfg;
@PreAuthorize("isAuthenticated()")
@Override
public Acl findAclOfChannel(final Channel channel){
return channelService.findAclOfChannel(channel);
}
@PreAuthorize("hasRole('ROLE_ADMIN') or hasPermission(#id,'com.ewcms.core.site.model.Channel','ADMIN')")
@Override
public void addOrUpdatePermission(Integer id,String name, Integer mask){
channelService.addOrUpdatePermission(id, name, mask);
}
@PreAuthorize("hasRole('ROLE_ADMIN') or hasPermission(#id,'com.ewcms.core.site.model.Channel','ADMIN')")
@Override
public void removePermission(Integer id,String name){
channelService.removePermission(id, name);
}
@PreAuthorize("hasRole('ROLE_ADMIN') or hasPermission(#id,'com.ewcms.core.site.model.Channel','ADMIN')")
@Override
public void updateInheriting(Integer id,boolean inheriting){
channelService.updateInheriting(id, inheriting);
}
@Override
public List<Site> getSiteListByOrgans(Integer[] organs, Boolean publicenable) {
return siteService.getSiteListByOrgans(organs, publicenable);
}
@Override
public Set<Permission> getPermissionsById(int id) {
return channelService.getPermissionsById(id);
}
@Override
public List<TreeNode> getOrganSiteTreeList(Integer organId) {
return siteService.getOrganSiteTreeList(organId);
}
@Override
public List<TreeNode> getOrganSiteTreeList(Integer parentId, Integer organId) {
return siteService.getOrganSiteTreeList(parentId, organId);
}
@Override
public List<TreeNode> getCustomerSiteTreeList() {
return siteService.getCustomerSiteTreeList();
}
@Override
public List<TreeNode> getCustomerSiteTreeList(Integer parentId) {
return siteService.getCustomerSiteTreeList(parentId);
}
@Override
public Integer addSite(Integer parentId, String siteName,Integer organId){
return siteService.addSite(parentId,siteName,organId);
}
@Override
public void delSiteBatch(List<Integer> idList) {
siteService.delSiteBatch(idList);
}
@Override
public Integer updSite(Site vo) {
return siteService.updSite(vo);
}
@Override
public void delSite(Integer id) {
siteService.delSite(id);
}
@Override
public Integer saveSiteServer(Site vo){
return siteService.saveSiteServer(vo);
}
@Override
public Site getSite(Integer id) {
return siteService.getSite(id);
}
@Override
public Template getTemplate(Integer id) {
return templateService.getTemplate(id);
}
@Override
public Integer addTemplate(Template vo) {
return templateService.addTemplate(vo);
}
@Override
public Integer updTemplate(Template vo) {
Integer id = templateService.updTemplate(vo);
cfg.clearTemplateCache();
return id;
}
@Override
public void delTemplateBatch(List<Integer> idList) {
templateService.delTemplateBatch(idList);
cfg.clearTemplateCache();
}
@Override
public void delTemplate(Integer id) {
templateService.delTemplate(id);
}
@Override
public List<Template> getTemplateList() {
return templateService.getTemplateList();
}
@PreAuthorize("isAuthenticated()")
@Override
public List<ChannelNode> getChannelChildren(Integer parentId,
Boolean publicenable) {
return channelService.getChannelChildren(parentId, publicenable);
}
@PreAuthorize("hasRole('ROLE_ADMIN') "
+"or hasPermission(#parentId,'com.ewcms.core.site.model.Channel',new String[]{'ADMIN','CREATE'})")
@Override
public Integer addChannel(Integer parentId, String name) {
return channelService.addChannel(parentId, name);
}
@PreAuthorize("hasRole('ROLE_ADMIN') "
+"or hasPermission(#id,'com.ewcms.core.site.model.Channel',new String[]{'ADMIN','UPDATE'})")
@Override
public void renameChannel(Integer id, String name) {
channelService.renameChannel(id, name);
}
@PreAuthorize("hasRole('ROLE_ADMIN') "
+"or hasPermission(#channel,new String[]{'ADMIN','UPDATE'})")
@Override
public Integer updChannel(Channel vo) {
return channelService.updChannel(vo);
}
@PreAuthorize("hasRole('ROLE_ADMIN') "
+"or hasPermission(#id,'com.ewcms.core.site.model.Channel',new String[]{'ADMIN','DELETE'})")
@Override
public void delChannel(Integer id) {
channelService.delChannel(id);
}
@Override
public Channel getChannel(Integer id) {
return channelService.getChannel(id);
}
@PreAuthorize("isAuthenticated()")
@Override
public Channel getChannelRoot() {
return channelService.getChannelRoot();
}
@Override
public ChannelNode channelNodeRoot() {
return channelService.channelNodeRoot();
}
@Override
public List<Template> getTemplaeTreeList(Boolean channelEnable) {
return templateService.getTemplaeTreeList(channelEnable);
}
@Override
public List<Template> getTemplaeTreeList(Integer parentId,
Boolean channelEnable) {
return templateService.getTemplaeTreeList(parentId, channelEnable);
}
@Override
public List<Template> getTemplaeTreeList(Integer parentId,
String channelName) {
return templateService.getTemplaeTreeList(parentId, channelName);
}
@Override
public void updSiteParent(Integer organId,Integer parentId, Integer newParentId) {
siteService.updSiteParent(organId,parentId, newParentId);
}
@Override
public Integer addOrgan(Integer parentId, String organName) {
return organService.addOrgan(parentId, organName);
}
@Override
public Integer updOrgan(Organ vo){
return organService.updOrgan(vo);
}
@Override
public void delOrgan(Integer id){
organService.delOrgan(id);
}
@Override
public Organ getOrgan(Integer id){
return organService.getOrgan(id);
}
@Override
public Integer saveOrganInfo(Organ vo){
return organService.saveOrganInfo(vo);
}
@Override
public List<TreeNode> getOrganTreeList() {
return organService.getOrganTreeList();
}
@Override
public List<TreeNode> getOrganTreeList(Integer parentId) {
return organService.getOrganTreeList(parentId);
}
@Override
public TemplateSource getTemplateSource(Integer id) {
return templateSourceService.getTemplateSource(id);
}
@Override
public Integer addTemplateSource(TemplateSource vo) {
return templateSourceService.addTemplateSource(vo);
}
@Override
public Integer updTemplateSource(TemplateSource vo) {
return templateSourceService.updTemplateSource(vo);
}
@Override
public void delTemplateSource(Integer id) {
templateSourceService.delTemplateSource(id);
}
@Override
public List<TemplateSource> getTemplaeSourceTreeList(Boolean channelEnable) {
return templateSourceService.getTemplaeSourceTreeList(channelEnable);
}
@Override
public List<TemplateSource> getTemplaeSourceTreeList(Integer parentId,
Boolean channelEnable) {
return templateSourceService.getTemplaeSourceTreeList(parentId, channelEnable);
}
@Override
public Template channelTemplate(String tplName) {
return templateService.channelTemplate(tplName);
}
@Override
public Template channelTPLRoot() {
return templateService.channelTPLRoot();
}
@Override
public TemplateSource channelTemplateSource(String srcName) {
return templateSourceService.channelTemplateSource(srcName);
}
@Override
public TemplateSource channelSRCRoot() {
return templateSourceService.channelSRCRoot();
}
@Override
public void saveAppChild(Integer channelId, List<Integer> templateIds, Boolean cover){
templateService.saveAppChild(channelId, templateIds, cover);
}
@PreAuthorize("hasRole('ROLE_ADMIN') or hasPermission(#id,'com.ewcms.core.site.model.Channel','ADMIN')")
@Override
public void forceRelease(Integer channelId, Boolean children) throws PublishException{
channelService.forceRelease(channelId, children);
}
@PreAuthorize("hasRole('ROLE_ADMIN') or hasPermission(#id,'com.ewcms.core.site.model.Channel','ADMIN')")
@Override
public void downChannel(Integer channelId, Integer parentId) {
channelService.downChannel(channelId, parentId);
}
@PreAuthorize("hasRole('ROLE_ADMIN') or hasPermission(#id,'com.ewcms.core.site.model.Channel','ADMIN')")
@Override
public void upChannel(Integer channelId, Integer parentId) {
channelService.upChannel(channelId, parentId);
}
@PreAuthorize("hasRole('ROLE_ADMIN') or hasPermission(#id,'com.ewcms.core.site.model.Channel','ADMIN')")
@Override
public void moveToChannel(Integer channel, Integer parentId) {
channelService.moveToChannel(channel, parentId);
}
@PreAuthorize("hasRole('ROLE_ADMIN') or hasPermission(#id,'com.ewcms.core.site.model.Channel','ADMIN')")
@Override
public void moveSortChannel(Integer channelId, Integer parentId, Long sort){
channelService.moveSortChannel(channelId, parentId, sort);
}
@Override
public List<Channel> getChannelChildren(Integer parentId) {
return channelService.getChannelChildren(parentId);
}
public void exportChannelZip(Integer channelId, ZipOutputStream zos, String channelPath){
channelService.exportChannelZip(channelId, zos, channelPath);
}
@Override
public void exportTemplateZip(Integer templateId, ZipOutputStream zos, String templatePath) {
templateService.exportTemplateZip(templateId, zos, templatePath);
}
@Override
public void exportTemplateSourceZip(Integer templateSourceId, ZipOutputStream zos, String templateSourcePath) {
templateSourceService.exportTemplateSourceZip(templateSourceId, zos, templateSourcePath);
}
@Override
public Boolean restoreTemplate(Integer templateId, Long historyId) {
return templateService.restoreTemplate(templateId, historyId);
}
@Override
public void connectChannel(Integer channelId) {
templateService.connectChannel(channelId);
}
@Override
public void disConnectChannel(Integer channelId) {
templateService.disConnectChannel(channelId);
}
@Override
public Boolean verify(Integer templateId) {
return templateService.verify(templateId);
}
@Override
public List<Integer> findAssociatedChannel(Integer channelId) {
return channelService.findAppChannel(channelId);
}
@Override
public void delAppChannel(Integer channelId, Integer appChannelId) {
channelService.delAppChannel(channelId, appChannelId);
}
}