package org.openedit.entermedia.publishing;
import java.util.Date;
import org.dom4j.Element;
import org.openedit.data.SearcherManager;
import org.openedit.util.DateStorageUtil;
import org.openedit.xml.XmlArchive;
import org.openedit.xml.XmlFile;
import com.openedit.page.manage.PageManager;
public class PublishManager {
protected SearcherManager fieldSearcherManager;
protected PageManager fieldPageManager;
protected String fieldCatalogId;
protected XmlArchive fieldXmlArchive;
protected Date fieldLastChecked;
public Date getLastCheckedDate() {
XmlFile settings = getXmlArchive().getXml(
"/" + getCatalogId() + "/configuration/publishing.xml");
if(!settings.isExist()){
return null;
}
Element config = settings.getRoot();
if(config == null){
return null;
}
Element lastelem = config.element("lastchecked");
if(lastelem == null){
return null;
}
String lastchecked = lastelem.getText();
return DateStorageUtil.getStorageUtil().parseFromStorage(lastchecked);
}
public void saveLastCheckedDate(Date inDate) {
XmlFile settings = getXmlArchive().getXml(
"/" + getCatalogId() + "/configuration/publishing.xml");
Element config = settings.getRoot();
Element lastchecked = config.element("lastchecked");
if(inDate != null){
if(lastchecked == null){
lastchecked = config.addElement("lastchecked");
}
lastchecked.setText(DateStorageUtil.getStorageUtil().formatForStorage(inDate));
}
else{
if(lastchecked != null){
config.remove(lastchecked);
}
}
getXmlArchive().saveXml(settings, null);
}
public void saveLastCheckedDate() {
saveLastCheckedDate(new Date());
}
public SearcherManager getSearcherManager() {
return fieldSearcherManager;
}
public void setSearcherManager(SearcherManager inSearcherManager) {
fieldSearcherManager = inSearcherManager;
}
public PageManager getPageManager() {
return fieldPageManager;
}
public void setPageManager(PageManager inPageManager) {
fieldPageManager = inPageManager;
}
public String getCatalogId() {
return fieldCatalogId;
}
public void setCatalogId(String inCatalogId) {
fieldCatalogId = inCatalogId;
}
public XmlArchive getXmlArchive() {
return fieldXmlArchive;
}
public void setXmlArchive(XmlArchive inXmlArchive) {
fieldXmlArchive = inXmlArchive;
}
public void clearLastRun() {
saveLastCheckedDate(null);
}
}