view src/main/java/org/mpi/openmind/scripts/IsmiXmlExport.java @ 90:4b6c0b368f46

new UpdateMpiwgDigitalizations script.
author Robert Casties <casties@mpiwg-berlin.mpg.de>
date Tue, 29 May 2018 21:15:06 +0200
parents 5786aa6caeb3
children
line wrap: on
line source

package org.mpi.openmind.scripts;

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

import org.apache.log4j.ConsoleAppender;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import org.apache.log4j.PatternLayout;
import org.mpi.openmind.cache.WrapperService;
import org.mpi.openmind.configuration.ConfigurationService;
import org.mpi.openmind.repository.services.PersistenceService;
import org.mpi.openmind.repository.services.ServiceRegistry;
import org.mpi.openmind.repository.utils.OM4StreamWriter;


public class IsmiXmlExport {
	
    
    
	private static Logger logger;
    private static ConfigurationService configurationService;
    private static PersistenceService persistenceService;


    static {
        
        ConsoleAppender console = new ConsoleAppender(); // create appender
        // configure the appender
        String PATTERN = "%d [%p|%c|%C{1}] %m%n";
        console.setLayout(new PatternLayout(PATTERN));
        console.setThreshold(Level.INFO);
        console.activateOptions();
        // add appender to any Logger (here is root)
        //Logger.getRootLogger().addAppender(console);
        
        logger = Logger.getLogger(OM4StreamWriter.class);
        logger.setLevel(Level.DEBUG);
    }

	public static void execute(){
		ServiceRegistry services = new ServiceRegistry();
        configurationService = services.getConfigurationService();
        persistenceService = services.getPS();
		exportXml(services.getWrapper());
	}
	
	private static void exportXml(WrapperService omService){
	    // 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 static void main(String[] args){
		execute();
		System.exit(0);
	}
}