Barrier.java [src/java/crlmod/nodes] Revision: Date:
/*
* $Id: 1.0+62 Barrier.java a170e1637ffa 2021-12-20 od $
*
* This file is part of the Cloud Services Integration Platform (CSIP),
* a Model-as-a-Service framework, API, and application suite.
*
* 2012-2024, OMSLab, Colorado State University.
*
* OMSLab licenses this file to you under the MIT license.
* See the LICENSE file in the project root for more information.
*/
package crlmod.nodes;
import csip.SessionLogger;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.logging.Level;
/**
*
* @author User
*/
public class Barrier {
private final String file_key;
private String name;
private String path;
private String status;
private String height;
private String rows;
private String porosity;
private String width;
private String wepsData;
public Barrier(String fk) {
file_key = fk;
}
public String getFile_key() {
return file_key;
}
public String getName() {
return name;
}
public String popPrev(Connection connection) throws SQLException {
try (Statement statement = connection.createStatement()) {
String query = "SELECT file_name, file_path,\n"
+ "CASE \n"
+ "WHEN published_date is not null THEN 'published' \n"
+ "WHEN approved_date is not null THEN 'approved' \n"
+ "WHEN imported_date is not null THEN 'pending' \n"
+ "END as status \n"
+ "FROM file_metadata \n"
+ "WHERE file_key = " + file_key + "\n"
+ "AND object_key = 'wbr'";
try (ResultSet resultSet = statement.executeQuery(query)) {
if (!resultSet.next()) {
return "no barrier with file key " + file_key;
}
name = resultSet.getString("file_name");
path = resultSet.getString("file_path");
status = resultSet.getString("status");
}
}
return null;
}
public String populate(Connection connection) throws SQLException {
try (Statement statement = connection.createStatement()) {
String query = "SELECT param_name,param_value \n"
+ "FROM file_data \n"
+ "WHERE param_name = 'WIND_BARRIER_HEIGHT' \n"
+ "AND file_key = " + file_key + "\n";
try (ResultSet resultSet = statement.executeQuery(query)) {
resultSet.next();
String heightVal = resultSet.getString("param_value");
//String[] heights = (String[]) heightVal.getArray();
height = heightVal;
}
statement.clearBatch();
//get rows
query = "SELECT param_name,param_value \n"
+ "FROM file_data \n"
+ "WHERE param_name = 'WIND_BARRIER_NUM_ROWS' \n"
+ "AND file_key = " + file_key + "\n";;
try (ResultSet resultSet = statement.executeQuery(query)) {
resultSet.next();
//Array rowVals = resultSet.getArray("param_value");
//String[] rowsVal = (String[]) rowVals.getArray();
//rows = rowsVal[0];
rows = resultSet.getString("param_value");
}
statement.clearBatch();
//get porosity
query = "SELECT param_name,param_value \n"
+ "FROM file_data \n"
+ "WHERE param_name = 'WIND_BARRIER_POROSITY' \n"
+ "AND file_key = " + file_key + "\n";;
try (ResultSet resultSet = statement.executeQuery(query)) {
resultSet.next();
// Array prosVals = resultSet.getArray("param_value");
// String[] pros = (String[]) prosVals.getArray();
// porosity = pros[0];
porosity = resultSet.getString("param_value");
}
statement.clearBatch();
//get width
query = "SELECT param_name,param_value \n"
+ "FROM file_data \n"
+ "WHERE param_name = 'WIND_BARRIER_WIDTH' \n"
+ "AND file_key = " + file_key + "\n";;
try (ResultSet resultSet = statement.executeQuery(query)) {
resultSet.next();
//Array widthVals = resultSet.getArray("param_value");
//String[] widthVal = (String[]) widthVals.getArray();
//width = widthVal[0];
width = resultSet.getString("param_value");
}
statement.clearBatch();
}
return null;
}
public String getWepsData(Connection con, SessionLogger LOG) throws SQLException { // check database vars later
try (Statement statement = con.createStatement()) {
String query = "SELECT wepsdata \n"
+ "FROM file_metadata \n"
+ "WHERE file_key = " + file_key;
try (ResultSet rs = statement.executeQuery(query)) {
rs.next();
wepsData = rs.getString("wepsdata");
}
if (wepsData == null) {
wepsData = "";
LOG.log(Level.WARNING, "No Weps data available for record: " + file_key);
}
return null;
}
}
}