view src/main/java/org/mpi/openmind/scheduling/utils/Scheduling.java @ 30:2f19cdf8e60b

nicer filenames for automatic XML export.
author casties
date Tue, 23 Aug 2016 17:43:09 +0200
parents 688fd0330bad
children
line wrap: on
line source

package org.mpi.openmind.scheduling.utils;

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;

import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger;
import org.mpi.openmind.configuration.ConfigurationService;
import org.mpi.openmind.repository.services.PersistenceService;
import org.mpi.openmind.repository.utils.OM4StreamWriter;


public class Scheduling {
	
	private static Logger logger = Logger.getLogger(Scheduling.class);
	
	private PersistenceService persistenceService;
	private ConfigurationService configurationService;

	public synchronized void dailyKickOff(){
		if(configurationService.isSchedulingEnable() && StringUtils.isNotEmpty(configurationService.getSchedulingPath())){
	        // get path from configuration service
	        String schedulingPath = configurationService.getSchedulingPath();
	        if(schedulingPath.charAt(schedulingPath.length() - 1) != '/'){
	            schedulingPath += "/";
	        }
	        // add date
	        Date now = new Date();
	        DateFormat formatter = new SimpleDateFormat("yyMMdd-HHmm");
	        String defFn = "openmind-defs-" + formatter.format(now) + ".xml";
	        String entFn = "openmind-data-" + formatter.format(now) + ".xml";
	        // export XML
	        logger.info("Backup Definitions as: " + defFn);
	        OM4StreamWriter.backupDefinitions(schedulingPath + defFn, persistenceService);
	        logger.info("Backup Entities as: " + entFn);
	        OM4StreamWriter.backupEntities(schedulingPath + entFn, persistenceService);
		}
	}
	

	public ConfigurationService getConfigurationService() {
		return configurationService;
	}
	public void setConfigurationService(ConfigurationService configurationService) {
		this.configurationService = configurationService;
	}

	public PersistenceService getPersistenceService() {
		return persistenceService;
	}


	public void setPersistenceService(PersistenceService persistenceService) {
		this.persistenceService = persistenceService;
	}


}