package de.juwimm.cms.beans;
import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Isolation;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import de.juwimm.cms.authorization.model.UserHbmDao;
import de.juwimm.cms.beans.foreign.TizzitPropertiesBeanSpring;
import de.juwimm.cms.common.Constants.LiveserverDeployStatus;
import de.juwimm.cms.model.EditionHbm;
import de.juwimm.cms.model.EditionHbmDao;
import de.juwimm.cms.remote.ContentServiceSpring;
import de.juwimm.cms.remote.EditionServiceSpring;
public class EditionCronService {
private static Logger log = Logger.getLogger(EditionCronService.class);
private EditionHbmDao editionHbmDao;
private EditionServiceSpring editionServiceSpring;
private ContentServiceSpring contentServiceSpring;
private UserHbmDao userHbmDao;
@Autowired
TizzitPropertiesBeanSpring tizzitProperties;
@Transactional(propagation = Propagation.REQUIRES_NEW, isolation = Isolation.READ_UNCOMMITTED)
public void logEditionStatusException(Integer editionId, String errorMessage) {
EditionHbm edition = getEditionHbmDao().load(editionId);
edition.setExceptionMessage(errorMessage);
edition.setEndActionTimestamp(System.currentTimeMillis());
getEditionHbmDao().update(edition);
}
// possible values for status
// EditionCreated,
// CreateDeployFileForExport, TransmitDeployFile,
// FileDeployedOnLiveServer, ImportStarted,
// ImportCleanDatabase, ImportUnits, ImportResources,
// ImportDatabaseComponents, ImportViewComponents,
// ImportHosts, ImportSuccessful, Exception;
@Transactional(propagation = Propagation.REQUIRES_NEW, isolation = Isolation.READ_UNCOMMITTED)
public void logEditionStatusInfo(LiveserverDeployStatus status, Integer editionId) {
String statusValue = status.name();
EditionHbm edition = getEditionHbmDao().load(editionId);
edition.setDeployStatus(statusValue.getBytes());
edition.setStartActionTimestamp(System.currentTimeMillis());
edition.setEndActionTimestamp(null);
getEditionHbmDao().update(edition);
}
public void setEditionHbmDao(EditionHbmDao editionHbmDao) {
this.editionHbmDao = editionHbmDao;
}
public EditionHbmDao getEditionHbmDao() {
return editionHbmDao;
}
public void setEditionServiceSpring(EditionServiceSpring editionServiceSpring) {
this.editionServiceSpring = editionServiceSpring;
}
public EditionServiceSpring getEditionServiceSpring() {
return editionServiceSpring;
}
public void setContentServiceSpring(ContentServiceSpring contentServiceSpring) {
this.contentServiceSpring = contentServiceSpring;
}
public ContentServiceSpring getContentServiceSpring() {
return contentServiceSpring;
}
public UserHbmDao getUserHbmDao() {
return userHbmDao;
}
public void setUserHbmDao(UserHbmDao userHbmDao) {
this.userHbmDao = userHbmDao;
}
}