All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.inin.analytics.elasticsearch.transport.SnapshotTransportStrategy Maven / Gradle / Ivy

There is a newer version: 1.2.1
Show newest version
package com.inin.analytics.elasticsearch.transport;

public class SnapshotTransportStrategy {
	
	public enum STORAGE_SYSTEMS {
		s3,
		hdfs
	}

	/**
	 * Given a source & destination, return an appropriate transport implementation
	 * 
	 * @param snapshotWorkingLocation
	 * @param snapshotFinalDestination
	 * @return BaseTransport
	 */
	public static BaseTransport get(String snapshotWorkingLocation, String snapshotFinalDestination) {
		BaseTransport trasport = null;
		if(snapshotFinalDestination.startsWith(STORAGE_SYSTEMS.s3.name())) {
			trasport = new S3SnapshotTransport(snapshotWorkingLocation, snapshotFinalDestination);
		} else if(snapshotFinalDestination.startsWith(STORAGE_SYSTEMS.hdfs.name())) {
				trasport = new HDFSSnapshotTransport(snapshotWorkingLocation, snapshotFinalDestination);
		} else {
			trasport = new LocalFSSnapshotTransport(snapshotWorkingLocation, snapshotFinalDestination);
		}
		return trasport;
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy