Skip to content
Snippets Groups Projects
Commit 5310fb5e authored by Barbara B. Frosik's avatar Barbara B. Frosik
Browse files

updated experiment sync tools

parent faa9242b
No related branches found
No related tags found
No related merge requests found
Showing
with 72 additions and 56 deletions
###
### Oracle database settings
###
oracle.database.connection = jdbc:oracle:thin:@ra.aps.anl.gov:1527:aps1
#oracle.database.username =
#oracle.database.password =
oracle.database.table = DCC.FL$03_BL_APV_VIEW_V2
#dm.storageServ.connection = http://xstor-devel.xray.aps.anl.gov:22236/dm
dm.storageServ.connection = http://localhost:22236/dm
dm.storageServ.connection = https://xstor-devel.xray.aps.anl.gov:22236/dm
dm.daqServ.connection = http://localhost:33336/dm
dm.truststore = /etc/pki/ca-trust/extracted/java/cacerts
......@@ -2,7 +2,6 @@ package gov.anl.dm.esafsync;
import gov.anl.dm.esafsync.serviceconn.DaqServiceConnection;
import gov.anl.dm.esafsync.serviceconn.ServiceConnection;
import gov.anl.dm.esafsync.serviceconn.ServiceConnection.ServiceConnectionStatus;
import gov.anl.dm.esafsync.serviceconn.StorageServiceConnection;
import java.awt.BorderLayout;
......@@ -184,6 +183,7 @@ class ExperimentList extends JFrame
}
}
public static final String EXPERIMENT_PREFIX = "esaf";
StorageServiceConnection sconnection;
private JTable table = null;
private ExperimentTableModel tableModel = null;
......@@ -274,7 +274,7 @@ class ExperimentList extends JFrame
{
int[] selection = table.getSelectedRows();
for (int i = 0; i < selection.length; i++) {
String experimentName = (String)table.getModel().getValueAt(selection[i], Column.NAME.ordinal());
String experimentName = EXPERIMENT_PREFIX+(String)table.getModel().getValueAt(selection[i], Column.NAME.ordinal());
String description = (String)table.getModel().getValueAt(selection[i], Column.DESCRIPTION.ordinal());
if (sconnection.addExperiment(experimentName, description) != ServiceConnection.ServiceConnectionStatus.SUCCESS) {
continue;
......@@ -291,9 +291,9 @@ class ExperimentList extends JFrame
public void actionPerformed(ActionEvent e)
{
int[] selection = table.getSelectedRows();
if ((selection.length > 0) && (dconnection.init() == ServiceConnectionStatus.SUCCESS) && (dconnection.login() == ServiceConnectionStatus.SUCCESS)) {
// if ((selection.length > 0) && (dconnection.init() == ServiceConnectionStatus.SUCCESS) && (dconnection.login() == ServiceConnectionStatus.SUCCESS)) {
for (int i = 0; i < selection.length; i++) {
String experimentName = (String)table.getModel().getValueAt(selection[i], Column.NAME.ordinal());
String experimentName = EXPERIMENT_PREFIX+(String)table.getModel().getValueAt(selection[i], Column.NAME.ordinal());
String description = (String)table.getModel().getValueAt(selection[i], Column.DESCRIPTION.ordinal());
if (sconnection.addExperiment(experimentName, description) != ServiceConnection.ServiceConnectionStatus.SUCCESS) {
continue;
......@@ -302,10 +302,12 @@ class ExperimentList extends JFrame
// addRole((String)table.getModel().getValueAt(selection[i], Column.PI.ordinal()), experimentName, Role.PI);
addRole((String)table.getModel().getValueAt(selection[i], Column.USER.ordinal()), experimentName, Role.USER);
if (sconnection.startExperiment(experimentName) == ServiceConnection.ServiceConnectionStatus.SUCCESS) {
dconnection.startDaq(experimentName, experimentName);
// dconnection.startDaq(experimentName, experimentName);
} else {
System.out.println("didn't start");
}
}
}
// }
table.clearSelection();
}
});
......@@ -322,3 +324,4 @@ class ExperimentList extends JFrame
}
}
......@@ -33,7 +33,9 @@ class Gui
}
private Gui(Properties configProperties) {
OracleConnection oconnection = new OracleConnection();
System.setProperty("javax.net.ssl.trustStore", configProperties.getProperty("dm.truststore"));
OracleConnection oconnection = new OracleConnection();
try {
oconnection.connect(configProperties);
} catch (SQLException e1) {
......@@ -89,4 +91,4 @@ class Gui
System.exit(-1);
}
}
}
\ No newline at end of file
}
......@@ -99,4 +99,4 @@ public final class LoginWindow extends JFrame {
}
});
}
}
\ No newline at end of file
}
......@@ -15,9 +15,7 @@ public class OracleConnection {
void connect(Properties config) throws SQLException {
DriverManager.registerDriver(new oracle.jdbc.OracleDriver());
connection = DriverManager.getConnection(
config.getProperty("oracle.database.connection"),
// config.getProperty("oracle.database.username"),
// config.getProperty("oracle.database.password"));
"jdbc:oracle:thin:@ra.aps.anl.gov:1527:aps1",
"glob_conn",
"ur2ytkownicy2u");
}
......@@ -50,3 +48,4 @@ public class OracleConnection {
}
}
}
......@@ -10,6 +10,10 @@ public class DaqServiceConnection extends ServiceConnection{
static final String DAQ_DATA_DIRECTORY = "dataDirectory";
}
class StorageServUrl {
static final String START_DAQ = "/experiments/startDaq";
}
private final String url;
public DaqServiceConnection(String url) {
......@@ -24,7 +28,8 @@ public class DaqServiceConnection extends ServiceConnection{
Map<String, String> data = new HashMap<>();
data.put(Keyword.DAQ_EXPERIMENT_NAME, experimentName);
data.put(Keyword.DAQ_DATA_DIRECTORY, directory);
invokeSessionPostRequest(StorageServUrl.EXPERIMENT, data);
invokeSessionPostRequest(StorageServUrl.START_DAQ, data);
}
}
......@@ -6,7 +6,6 @@ import java.io.IOException;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.net.ConnectException;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.ProtocolException;
import java.net.URL;
......@@ -15,6 +14,7 @@ import java.util.Base64;
import java.util.HashMap;
import java.util.Map;
import javax.net.ssl.HttpsURLConnection;
import javax.swing.JOptionPane;
public class ServiceConnection {
......@@ -35,10 +35,6 @@ public class ServiceConnection {
class StorageServUrl {
static final String LOGIN_REQUEST = "/login";
static final String EXPERIMENT = "/experiments";
static final String EXPERIMENT_USER = "/usersByExperiment";
static final String START_EXPERIMENT = "/experiments/start";
static final String START_DAQ = "/experiments/startDaq";
}
class DmStatus {
......@@ -119,14 +115,17 @@ public class ServiceConnection {
JOptionPane.showMessageDialog(null,"Unsupported service protocol specified in " + serviceUrl, "Error",JOptionPane.ERROR_MESSAGE);
return ServiceConnectionStatus.ERROR;
}
return ServiceConnectionStatus.SUCCESS;
// System.setProperty("javax.net.ssl.trustStore", "/etc/pki/ca-trust/extracted/java/cacerts");
return ServiceConnectionStatus.SUCCESS;
}
private URL getServiceUrl() {
return serviceUrl;
}
private int checkHttpResponse(HttpURLConnection connection) {
private int checkHttpResponse(HttpsURLConnection connection) {
int code = 0;
String exceptionType = connection.getHeaderField(DmHttpHeaders.DM_EXCEPTION_TYPE_HTTP_HEADER);
if (exceptionType != null) {
......@@ -174,7 +173,7 @@ public class ServiceConnection {
}
}
private void updateSessionCookie(HttpURLConnection connection) {
private void updateSessionCookie(HttpsURLConnection connection) {
String cookie = connection.getHeaderField(DmHttpHeaders.DM_SET_COOKIE_HEADER);
if (cookie != null) {
session.setCookie(cookie);
......@@ -185,20 +184,21 @@ public class ServiceConnection {
}
}
private static int sendPostData(Map<String, String> data, HttpURLConnection connection) {
private static int sendPostData(Map<String, String> data, HttpsURLConnection connection) {
String postData = preparePostData(data);
try (DataOutputStream dos = new DataOutputStream(connection.getOutputStream())) {
dos.writeBytes(postData);
dos.flush();
return ServiceConnectionStatus.SUCCESS;
} catch (IOException ex) {
ex.printStackTrace();
JOptionPane.showMessageDialog(null, ex.getMessage());
JOptionPane.showMessageDialog(null, "misconfigured service or closed ", "Error",JOptionPane.ERROR_MESSAGE);
return ServiceConnectionStatus.CONNECTION_ERROR;
}
}
private static String readHttpResponse(HttpURLConnection connection) {
private static String readHttpResponse(HttpsURLConnection connection) {
try {
BufferedReader br = new BufferedReader(new InputStreamReader(
(connection.getInputStream())));
......@@ -215,13 +215,13 @@ public class ServiceConnection {
}
}
private static void setCookieRequestHeader(HttpURLConnection connection, String sessionCookie) {
private static void setCookieRequestHeader(HttpsURLConnection connection, String sessionCookie) {
if (sessionCookie != null) {
connection.setRequestProperty("Cookie", sessionCookie);
}
}
private static int setPostRequestHeaders(HttpURLConnection connection, String sessionCookie) {
private static int setPostRequestHeaders(HttpsURLConnection connection, String sessionCookie) {
int resp = setPostRequestHeaders(connection);
if (resp != ServiceConnectionStatus.SUCCESS) {
return resp;
......@@ -230,7 +230,7 @@ public class ServiceConnection {
return resp;
}
private static int setPostRequestHeaders(HttpURLConnection connection) {
private static int setPostRequestHeaders(HttpsURLConnection connection) {
try {
connection.setDoOutput(true);
connection.setRequestMethod("POST");
......@@ -244,11 +244,11 @@ public class ServiceConnection {
protected int invokeSessionPostRequest(String requestUrl, Map<String, String> data) {
String urlString = getFullRequestUrl(requestUrl);
HttpURLConnection connection = null;
HttpsURLConnection connection = null;
try {
String sessionCookie = session.verifyCookie();
URL url = new URL(urlString);
connection = (HttpURLConnection) url.openConnection();
connection = (HttpsURLConnection) url.openConnection();
int resp = setPostRequestHeaders(connection, sessionCookie);
if ( resp != ServiceConnectionStatus.SUCCESS) {
......@@ -274,7 +274,7 @@ public class ServiceConnection {
}
}
private static int setPutRequestHeaders(HttpURLConnection connection, String sessionCookie) {
private static int setPutRequestHeaders(HttpsURLConnection connection, String sessionCookie) {
int resp = setPutRequestHeaders(connection);
if ( resp != ServiceConnectionStatus.SUCCESS) {
return resp;
......@@ -283,7 +283,7 @@ public class ServiceConnection {
return resp;
}
private static int setPutRequestHeaders(HttpURLConnection connection) {
private static int setPutRequestHeaders(HttpsURLConnection connection) {
try {
connection.setDoOutput(true);
connection.setRequestMethod("PUT");
......@@ -297,11 +297,11 @@ public class ServiceConnection {
protected int invokeSessionPutRequest(String requestUrl, Map<String, String> data) {
String urlString = getFullRequestUrl(requestUrl);
HttpURLConnection connection = null;
HttpsURLConnection connection = null;
try {
String sessionCookie = session.verifyCookie();
URL url = new URL(urlString);
connection = (HttpURLConnection) url.openConnection();
connection = (HttpsURLConnection) url.openConnection();
int resp = setPutRequestHeaders(connection, sessionCookie);
if ( resp != ServiceConnectionStatus.SUCCESS) {
......@@ -337,7 +337,7 @@ public class ServiceConnection {
// return session.verifyCookie();
// }
//
// private static String getResponseHeaders(HttpURLConnection connection) {
// private static String getResponseHeaders(HttpsURLConnection connection) {
// String headerString = "";
// Map<String, List<String>> headerMap = connection.getHeaderFields();
// for (String key : headerMap.keySet()) {
......@@ -349,11 +349,11 @@ public class ServiceConnection {
//
// private String invokeSessionGetRequest(String requestUrl) {
// String urlString = getFullRequestUrl(requestUrl);
// HttpURLConnection connection = null;
// HttpsURLConnection connection = null;
// try {
// String sessionCookie = session.verifyCookie();
// URL url = new URL(urlString);
// connection = (HttpURLConnection) url.openConnection();
// connection = (HttpsURLConnection) url.openConnection();
//
// setGetRequestHeaders(connection, sessionCookie);
// updateSessionCookie(connection);
......@@ -373,10 +373,10 @@ public class ServiceConnection {
//
// private String invokeGetRequest(String requestUrl) {
// String urlString = getFullRequestUrl(requestUrl);
// HttpURLConnection connection = null;
// HttpsURLConnection connection = null;
// try {
// URL url = new URL(urlString);
// connection = (HttpURLConnection) url.openConnection();
// connection = (HttpsURLConnection) url.openConnection();
// updateSessionCookie(connection);
// checkHttpResponse(connection);
// return readHttpResponse(connection);
......@@ -394,11 +394,11 @@ public class ServiceConnection {
//
// private String invokeSessionDeleteRequest(String requestUrl) {
// String urlString = getFullRequestUrl(requestUrl);
// HttpURLConnection connection = null;
// HttpsURLConnection connection = null;
// try {
// String sessionCookie = session.verifyCookie();
// URL url = new URL(urlString);
// connection = (HttpURLConnection) url.openConnection();
// connection = (HttpsURLConnection) url.openConnection();
//
// setDeleteRequestHeaders(connection, sessionCookie);
// updateSessionCookie(connection);
......@@ -416,12 +416,12 @@ public class ServiceConnection {
// }
// }
//
// private static void setGetRequestHeaders(HttpURLConnection connection, String sessionCookie) {
// private static void setGetRequestHeaders(HttpsURLConnection connection, String sessionCookie) {
// setGetRequestHeaders(connection);
// setCookieRequestHeader(connection, sessionCookie);
// }
//
// private static void setGetRequestHeaders(HttpURLConnection connection) {
// private static void setGetRequestHeaders(HttpsURLConnection connection) {
// try {
// connection.setRequestMethod("GET");
// } catch (ProtocolException ex) {
......@@ -429,12 +429,12 @@ public class ServiceConnection {
// }
// }
//
// private static void setDeleteRequestHeaders(HttpURLConnection connection, String sessionCookie) {
// private static void setDeleteRequestHeaders(HttpsURLConnection connection, String sessionCookie) {
// setDeleteRequestHeaders(connection);
// setCookieRequestHeader(connection, sessionCookie);
// }
//
// private static void setDeleteRequestHeaders(HttpURLConnection connection) {
// private static void setDeleteRequestHeaders(HttpsURLConnection connection) {
// try {
// connection.setRequestMethod("DELETE");
// } catch (ProtocolException ex) {
......@@ -443,7 +443,7 @@ public class ServiceConnection {
// }
//
//
// private void getData(HttpURLConnection connection) {
// private void getData(HttpsURLConnection connection) {
// BufferedReader in;
// try {
// in = new BufferedReader(
......@@ -469,11 +469,11 @@ public class ServiceConnection {
}
private final int login(String username, String password) {
HttpURLConnection connection = null;
HttpsURLConnection connection = null;
try {
String urlString = getFullRequestUrl(StorageServUrl.LOGIN_REQUEST);
URL url = new URL(urlString);
connection = (HttpURLConnection) url.openConnection();
connection = (HttpsURLConnection) url.openConnection();
setPostRequestHeaders(connection);
HashMap<String, String> loginData = new HashMap<>();
loginData.put(Keyword.USERNAME, username);
......@@ -481,10 +481,12 @@ public class ServiceConnection {
int resp = sendPostData(loginData, connection);
if (resp != ServiceConnectionStatus.SUCCESS) {
System.out.println("here a");
return resp;
}
resp = checkHttpResponse(connection);
if (resp != ServiceConnectionStatus.SUCCESS) {
System.out.println("here b");
return resp;
}
session.setUsername(username);
......@@ -492,10 +494,13 @@ public class ServiceConnection {
updateSessionCookie(connection);
return ServiceConnectionStatus.SUCCESS;
} catch (ConnectException ex) {
System.out.println("here 1");
String errorMsg = "Cannot connect to " + getServiceUrl();
JOptionPane.showMessageDialog(null,errorMsg, "Error",JOptionPane.ERROR_MESSAGE);
return ServiceConnectionStatus.ERROR;
} catch (Exception ex) {
ex.printStackTrace();
System.out.println("here 2");
JOptionPane.showMessageDialog(null, ex.getMessage());
return ServiceConnectionStatus.ERROR;
} finally {
......@@ -510,3 +515,4 @@ public class ServiceConnection {
}
}
......@@ -129,3 +129,4 @@ public class Session implements Serializable {
return result;
}
}
......@@ -13,6 +13,12 @@ public class StorageServiceConnection extends ServiceConnection{
static final String EXPERIMENT_TYPE_ID = "experimentTypeId";
}
class StorageServUrl {
static final String EXPERIMENT = "/experiments";
static final String EXPERIMENT_USER = "/usersByExperiment";
static final String START_EXPERIMENT = "/experiments/start";
}
public int addExperiment(String name, String description) {
Map<String, String> data = new HashMap<>();
if (name == null) {
......@@ -44,3 +50,4 @@ public class StorageServiceConnection extends ServiceConnection{
return invokeSessionPutRequest(StorageServUrl.START_EXPERIMENT, data);
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment