Skip to content
Snippets Groups Projects
Forked from DM / dm-docs
261 commits behind, 694 commits ahead of the upstream repository.
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
DaqServiceConnection.java 1.58 KiB
package gov.anl.dm.esafsync.serviceconn;

import java.io.File;
import java.util.HashMap;
import java.util.Map;

import javax.swing.JOptionPane;

public class DaqServiceConnection extends ServiceConnection{

	class Keyword {
		static final String DAQ_EXPERIMENT_NAME = "experimentName";
		static final String DAQ_DATA_DIRECTORY = "dataDirectory";
	}
	
	class StorageServUrl {
		static final String START_DAQ = "/experiments/startDaq";
		static final String STOP_DAQ = "/experiments/stopDaq";
	}

	private String url;
	private String dataDir;

	public DaqServiceConnection(String url, String dataDir) {
		this.url = url;
		this.dataDir = dataDir;
	}
	
    public final int init() {
		return super.init(url);
	}

    public void startDaq(String experimentName, String startDateDir) {
    	String directory;
    	String dateDirectory;
    	if (dataDir.endsWith("/")) {
    		dateDirectory = dataDir + startDateDir;
    		directory = dataDir + startDateDir + "/" + experimentName;
    	} else {
    		dateDirectory = dataDir + "/" + startDateDir;
    		directory = dataDir + "/" + startDateDir + "/" + experimentName;
    	}

    	Map<String, String> data = new HashMap<>();
    	data.put(Keyword.DAQ_EXPERIMENT_NAME, encode(experimentName));
    	data.put(Keyword.DAQ_DATA_DIRECTORY, encode(directory));

    	invokeSessionPostRequest(StorageServUrl.START_DAQ, data);    					
    }

	public void stopDaq(String experimentName) {
    	Map<String, String> data = new HashMap<>();
    	data.put(Keyword.DAQ_EXPERIMENT_NAME, encode(experimentName));
		invokeSessionPostRequest(StorageServUrl.STOP_DAQ, data); 
    }
    
}