public abstract class PublishObject
extends java.lang.Object
implements java.io.Serializable
Title: PublishObject
Description:
Copyright: Copyright (c) 2006
Company: 三一集团
| Modifier and Type | Field and Description |
|---|---|
static int |
ACTIONTYPE_DESIGN |
static int |
ACTIONTYPE_PUBLISH
发布执行的动作
|
static int |
ACTIONTYPE_VIEW |
static int |
CLEAR_PUBLISH_RESOURCECACHE
发布过程中清除缓存资源,操作员可以在系统界面上进行设置
|
protected boolean |
clearFileCache
发布时是否清除系统发布文件缓存
|
protected Context |
context |
protected int |
currentPublishDepth |
static boolean[] |
DEFAULT_PUBLISH_LOCAL |
static boolean |
DISABLE_PUBLISH_CONTENT_RECURSIVE
发布文档时是否联动发布文档相关的网站首页、频道首页、文档页面、普通页面等等
|
protected int[] |
distributeManners |
static boolean |
ENABLE_PUBLISH_CONTENT_RECURSIVE
发布文档时是否联动发布文档相关的网站首页、频道首页、文档页面、普通页面等等
|
protected boolean |
enableRecursive
控制是否允许递归发布
|
protected boolean |
isRecursive
标识当前发布对象是否是联动(递归)发布对象
true:表示当前正在执行联动(递归)发布操作
false:表示当前正在执行直接发布操作,缺省值
|
protected boolean |
isRoot
标识发布对象是否是当前发布任务的起始发布对象
|
protected boolean[] |
local2ndRemote |
protected int |
maxPublishDepth |
protected PublishMonitor |
monitor |
static int |
OBJECT_CHANNEL |
static int |
OBJECT_DOCUMENT |
static int |
OBJECT_PAGE |
static int |
OBJECT_SITE
发布对象类型定义
|
protected java.lang.String[] |
params |
protected Context |
parentContext |
static int |
PUBLISH_CHANNEL_CONTENT
频道内容
|
static int |
PUBLISH_CHANNEL_CONTENT_PUBLISHED
重发频道中已经发布过的文档,并且频道的文档模板必须和频道的模板保持一致
added by biaoping.yin on 2007-06-26
|
static int |
PUBLISH_CHANNEL_INDEX
频道首页
|
static int |
PUBLISH_CHANNEL_RECCONTENT
发布频道、子频道下的内容
|
static int |
PUBLISH_CHANNEL_RECINDEX
发布频道首页及子频道首页
|
static int |
PUBLISH_DOCUMENT
发布文档
|
static boolean |
PUBLISH_LOCAL |
static int |
PUBLISH_PAGE
发布单个页面
|
static boolean |
PUBLISH_REMOTE |
static int |
PUBLISH_SITE_INDEX
站点首页
|
protected java.lang.String[] |
publisher
记录发布人员信息
|
protected PublishMode |
publishMode
当前发布模式,缺省为动态与静态结合的模式
|
protected int[] |
publishScope
发布范围,缺省为发布站点首页
|
protected CMSRequestContext |
requestContext |
protected java.lang.String |
scopeToUIID |
protected Scriptlet |
script
发布的脚本
|
protected java.util.Map |
scriptlets
模版脚本的缓冲器
|
protected boolean |
synchronize |
static int |
USE_PUBLISH_RESOURCECACHE
发布过程中使用缓存资源,操作员可以在系统界面上进行设置
|
| Constructor and Description |
|---|
PublishObject() |
PublishObject(CMSRequestContext requestContext,
Context parentContext) |
PublishObject(CMSRequestContext requestContext,
int[] publishScope,
boolean[] local2ndRemote,
int[] distributeManners,
boolean isRoot,
java.lang.String[] publisher) |
PublishObject(CMSRequestContext requestContext,
int[] publishScope,
java.lang.String[] params,
boolean[] local2ndRemote,
int[] distributeManners,
boolean isRoot,
java.lang.String[] publisher)
构造函数 对于站点发布/频道发布
modify by ge.tao
date 2007-07-23
|
PublishObject(CMSRequestContext requestContext,
java.lang.String[] params,
Context parentContext) |
| Modifier and Type | Method and Description |
|---|---|
protected void |
addMetaData()
当发布任务执行完成后,检测发布的页面是否已经设置共全文检索进行检索的meta标记,如果没有设置
则需要对内容进行重新分析和处理并设置相关的meta数据
|
abstract Context |
buildContext() |
protected java.lang.String |
changeScopeToUIID()
将发布范围转换为字符串标识,以逗号分隔
|
void |
checkContext() |
protected abstract void |
delteRefObjects()
删除与发布对象相关的所有相关元素
|
void |
destroy() |
protected void |
disttribute()
分发文件
|
protected void |
doBatchPublish() |
abstract void |
doPublish() |
boolean |
enableRecursive()
是否允许递归发布
|
void |
forceStatusPublished(boolean forceStatusPublished)
设置强制执行已发布文档的递归发布标识
为true时将执行已经发布文档的递归发布操作
为false时不执行,缺省为false
|
int |
getActionType() |
Context |
getContext() |
int |
getCurrentPublishDepth()
获取发布的深度
-1,0标识不受限制
其他情况每发布一个层次,depth 自动加1,
达到最深允许的深度时,如果还存在下级子任务,不执行直接返回
|
int[] |
getDistributeManners() |
protected abstract java.lang.String |
getId()
当前发布任务的监控器索引,以发布任务的唯一id为索引
发布站点任务:siteid
发布频道任务:channelid + ":" + siteid
发布文档任务:docuemntid + ":" + siteid
当发布任务完成后,将当前任务的监控器删除,
任务开始时创建任务的监控器,并且缓冲到索引器中
如果需要发布的任务在监控器中存在,那么将提示用户发布任务重复,新的发布任务不允许启动
|
PublishMonitor |
getInnerPublishMonitor() |
boolean[] |
getLocal2ndRemote() |
int |
getMaxPublishDepth()
获取发布的最大允许深度
-1,0标识不受限制
其他情况每发布一个层次,depth 自动加1,
达到最深允许的深度时,如果还存在下级子任务,不执行直接返回
|
java.lang.String[] |
getPublisher() |
PublishMonitor |
getPublishMonitor() |
java.lang.String |
getPublishObjectID()
获取发布对象的标识
|
java.lang.String |
getPublishPageUrl()
返回发布生成的主页面地址
|
int[] |
getPublishScope() |
java.lang.String |
getPublishViewPageUrl()
返回生成的预览页面地址
|
abstract java.util.Set |
getRecursivePubObject()
抽象方法,具体的发布对象子类去实现
添加与当前任务相关的发布对象到上下文中
|
CMSRequestContext |
getRequestContext() |
protected void |
init() |
abstract void |
initScriptlet() |
boolean |
isBatchPublish()
判断发布的文档是否时批处理发布
|
boolean |
isClearFileCache() |
boolean |
isForceStatusPublished() |
boolean |
isIncreament() |
boolean |
isRecursive() |
boolean |
isRoot() |
boolean |
isSynchronized() |
boolean |
needPublish(PublishCallBack callBack)
判断当前的发布任务是否可发布
|
java.lang.String |
parser(java.lang.StringBuffer content)
解析生成的html脚本的过程
|
void |
publish()
执行发布过程
|
protected void |
publishPages()
发布模版中包含的普通页面和动态页面
发布模版中特定标签中包含的普通页面和动态页面
|
protected boolean |
reachMaxdeth()
判断当前发布的任务是否已经到达最大深度
|
protected void |
recordRecursivePublihsObject(java.lang.String pubobj,
int pubtype,
java.lang.String pubsite,
java.lang.String refobj,
int reftype,
java.lang.String refsite)
记录发布对象和引用元素之间的关系
|
abstract void |
recordRecursivePubObj(java.lang.String refobj,
int reftype,
java.lang.String site)
抽象方法,具体的发布对象子类去实现
记录当前发布对象与相关发布对象中包含的元素之间的引用关系,当相关的元素发生变化时
本方法在发布的过程中由页面的相关元素进行回调
|
void |
recursivePublish()
执行所有与本次任务中所有子任务相关对象的发布
2007.
|
protected void |
runPage()
运行发布过程当中产生的临时jsp页面
并且生成最终发布页面
|
protected java.lang.String[] |
saveHtml()
返回生成的临时文件的路径
|
void |
setActionType(int actionType) |
void |
setClearFileCache(boolean clearFileCache) |
void |
setCurrentPublishDepth(int currentdepth)
设置发布的深度
-1,0标识不受限制
其他情况每发布一个层次,depth 自动加1,
达到最深允许的深度时,如果还存在下级子任务,不执行直接返回
|
void |
setDistributeManners(int[] distributeManners) |
void |
setEnableRecursive(boolean enableRecursive) |
void |
setIncreament(boolean isIncreament) |
void |
setMaxPublishDepth(int maxPublishDepth)
设置发布的最大深度
|
void |
setMonitor(PublishMonitor monitor)
从外部注入PublishMonitor monitor
|
void |
setRecursive(boolean isRecursive) |
void |
setSynchronized(boolean synchronize) |
protected void |
setVariable(CMSServletRequestImpl request) |
protected void |
storeRefObjects()
存储最新的引用元素
|
protected boolean synchronize
public static final boolean PUBLISH_LOCAL
public static final boolean PUBLISH_REMOTE
public static final boolean[] DEFAULT_PUBLISH_LOCAL
public static final int OBJECT_SITE
public static final int OBJECT_CHANNEL
public static final int OBJECT_DOCUMENT
public static final int OBJECT_PAGE
protected boolean isRoot
protected boolean isRecursive
public static final int ACTIONTYPE_PUBLISH
public static final int ACTIONTYPE_VIEW
public static final int ACTIONTYPE_DESIGN
public static final int PUBLISH_SITE_INDEX
public static final int PUBLISH_CHANNEL_INDEX
public static final int PUBLISH_CHANNEL_CONTENT
public static final int PUBLISH_DOCUMENT
public static final int PUBLISH_CHANNEL_RECCONTENT
public static final int PUBLISH_PAGE
public static final int PUBLISH_CHANNEL_RECINDEX
public static final int PUBLISH_CHANNEL_CONTENT_PUBLISHED
public static final boolean ENABLE_PUBLISH_CONTENT_RECURSIVE
public static final boolean DISABLE_PUBLISH_CONTENT_RECURSIVE
public static final int CLEAR_PUBLISH_RESOURCECACHE
public static final int USE_PUBLISH_RESOURCECACHE
protected java.lang.String[] publisher
protected Context parentContext
protected PublishMode publishMode
protected int[] publishScope
protected Scriptlet script
protected CMSRequestContext requestContext
protected Context context
protected boolean[] local2ndRemote
protected int[] distributeManners
protected PublishMonitor monitor
protected int currentPublishDepth
protected int maxPublishDepth
protected java.util.Map scriptlets
protected java.lang.String[] params
protected boolean enableRecursive
protected boolean clearFileCache
protected java.lang.String scopeToUIID
public PublishObject()
public PublishObject(CMSRequestContext requestContext, int[] publishScope, java.lang.String[] params, boolean[] local2ndRemote, int[] distributeManners, boolean isRoot, java.lang.String[] publisher)
public PublishObject(CMSRequestContext requestContext, int[] publishScope, boolean[] local2ndRemote, int[] distributeManners, boolean isRoot, java.lang.String[] publisher)
public PublishObject(CMSRequestContext requestContext, java.lang.String[] params, Context parentContext)
public PublishObject(CMSRequestContext requestContext, Context parentContext)
public Context getContext()
public boolean needPublish(PublishCallBack callBack)
protected void setVariable(CMSServletRequestImpl request) throws java.lang.Exception
java.lang.Exceptionprotected void runPage()
PublishExceptionprotected java.lang.String[] saveHtml()
throws java.lang.Exception
java.lang.Exceptionprotected void publishPages()
protected void disttribute()
jspFile - public java.lang.String parser(java.lang.StringBuffer content)
public abstract void doPublish()
throws PublishException
PublishExceptionprotected void doBatchPublish()
throws PublishException
PublishExceptionprotected void init()
throws PublishException
PublishExceptionpublic abstract java.util.Set getRecursivePubObject()
public abstract void recordRecursivePubObj(java.lang.String refobj,
int reftype,
java.lang.String site)
public void publish()
throws PublishException
PublishExceptionprotected void storeRefObjects()
protected abstract void delteRefObjects()
public void recursivePublish()
protected boolean reachMaxdeth()
public void checkContext()
public abstract Context buildContext() throws PublishException
PublishExceptionpublic abstract void initScriptlet()
throws PublishException
PublishExceptionprotected abstract java.lang.String getId()
public java.lang.String getPublishObjectID()
public PublishMonitor getPublishMonitor()
public PublishMonitor getInnerPublishMonitor()
public boolean isRoot()
public int[] getDistributeManners()
public void setDistributeManners(int[] distributeManners)
public boolean[] getLocal2ndRemote()
public boolean isBatchPublish()
public CMSRequestContext getRequestContext()
public java.lang.String[] getPublisher()
public boolean isSynchronized()
public void setSynchronized(boolean synchronize)
public java.lang.String getPublishPageUrl()
public java.lang.String getPublishViewPageUrl()
public int getActionType()
public void setActionType(int actionType)
public boolean isIncreament()
public void setIncreament(boolean isIncreament)
public int[] getPublishScope()
public int getCurrentPublishDepth()
public void setCurrentPublishDepth(int currentdepth)
public int getMaxPublishDepth()
public void setMaxPublishDepth(int maxPublishDepth)
maxPublishDepth - public boolean enableRecursive()
public void setEnableRecursive(boolean enableRecursive)
protected void recordRecursivePublihsObject(java.lang.String pubobj,
int pubtype,
java.lang.String pubsite,
java.lang.String refobj,
int reftype,
java.lang.String refsite)
pagePath - string - site - refobj - reftype - site2 - protected java.lang.String changeScopeToUIID()
public void forceStatusPublished(boolean forceStatusPublished)
forceStatusPublished - public boolean isForceStatusPublished()
public void setMonitor(PublishMonitor monitor)
monitor - PublishObject.javaprotected void addMetaData()
public boolean isRecursive()
public void setRecursive(boolean isRecursive)
public void destroy()
public void setClearFileCache(boolean clearFileCache)
public boolean isClearFileCache()