gov.nasa.pds.citool.ingestor.CatalogDB Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of catalog Show documentation
Show all versions of catalog Show documentation
The Catalog Tool provides functionality for ingesting PDS3 catalog files into the the PDS4 infrastructure including the Registry and Storage Services.
// Copyright 2009, by the California Institute of Technology.
// ALL RIGHTS RESERVED. United States Government sponsorship acknowledged.
// Any commercial use must be negotiated with the Office of Technology Transfer
// at the California Institute of Technology.
//
// This software is subject to U. S. export control laws and regulations
// (22 C.F.R. 120-130 and 15 C.F.R. 730-774). To the extent that the software
// is subject to U.S. export control laws and regulations, the recipient has
// the responsibility to obtain export licenses or other export authority as
// may be required before exporting such information to foreign countries or
// providing access to foreign nationals.
//
// $Id$
package gov.nasa.pds.citool.ingestor;
import gov.nasa.pds.tools.label.Value;
import gov.nasa.pds.tools.label.Label;
import gov.nasa.pds.tools.label.AttributeStatement;
import gov.nasa.pds.tools.LabelParserException;
import gov.nasa.pds.tools.constants.Constants.ProblemType;
import gov.nasa.pds.citool.report.IngestReport;
import gov.nasa.pds.citool.target.Target;
import gov.nasa.pds.citool.util.Utility;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.Statement;
import java.sql.SQLException;
import java.sql.ResultSet;
import java.sql.DriverManager;
import java.sql.DatabaseMetaData;
import java.sql.ResultSetMetaData;
import java.sql.Timestamp;
import java.util.Map;
import java.util.HashMap;
import java.util.Date;
import java.util.List;
import java.net.URI;
/**
* Class to insert the specific catalog data into the corresponding table(s).
*
* @author hyunlee
*/
public class CatalogDB {
public static int okCount = 0;
public static int failCount = 0;
public static int newStdValueCount = 0;
Connection _conn;
String _sql = null;
String _dename = "rjoyner";
String INGEST_MSG = "Inserted: ";
final String SPACES = " ";
boolean isFailed = false;
boolean debugFlag = false;
boolean isConnected = false;
Date _now = new Date();
final float _unk = (float)100000000000000000000000000000000.0;
final float _na = (float)-100000000000000000000000000000000.0;
private Map standardValueMap;
private IngestReport _report;
private Label _label;
/**
* Constructor
*
* @param user Name of the database user
* @param pass Password of the database connection
* @param server Server name of the database
* @param dbname Name of the database
*/
public CatalogDB(String user, String pass, String server, String dbname, Target target, IngestReport report) throws SQLException, Exception{
standardValueMap = new HashMap();
URI targetUri = null;
setReport(report);
try {
if (target.isDirectory()) {
targetUri = Utility.toURL(target.toString()).toURI();
}
else {
targetUri = target.toURL().toURI();
}
String url = "jdbc:sybase:Tds:" + server + ":4100";
Class.forName("com.sybase.jdbc3.jdbc.SybDriver");
_conn = DriverManager.getConnection(url, user, pass);
if (_conn!=null) {
_conn.setCatalog(dbname);
isConnected = true;
}
}
catch (SQLException e) {
//e.printStackTrace();
throw e;
}
catch (Exception e) {
throw e;
}
}
public void setReport(IngestReport report) {
this._report = report;
}
public void setLabel(Label label) {
this._label = label;
}
/**
* Method to close the database connection
*/
public void close() throws SQLException {
try {
if (_conn!=null) {
_conn.close();
}
}
catch (SQLException e) {
throw e;
}
}
public boolean isConnected() {
return isConnected;
}
public boolean isFailed() {
return isFailed;
}
public void setIsFailed(boolean failed) {
isFailed = failed;
}
/**
* Method to ingest MISSION object
*
* @param lblMap Hashmap of the PDS label(s)
*/
protected void ingestMissionObject(Map lblMap) {
ingestMsnD(lblMap);
ingestMsnObjsmy(lblMap);
ingestMsnInfo(lblMap);
}
/**
* Method to ingest the data into 'msnd' table
*
* @param lblMap Hashmap of the PDS label(s)
*/
protected void ingestMsnD(Map lblMap) {
PreparedStatement pstmt = null;
Statement stmt = null;
int count = 0;
int delete = 0;
String missionName = null;
if (lblMap.get("MISSION_NAME")!=null)
missionName = collapse(lblMap.get("MISSION_NAME").getValue().toString());
else {
Object[] arguments = { "msnd", "MISSION_NAME" };
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.error.missingKeyword",
ProblemType.MISSING_MEMBER, arguments);
_label.addProblem(lp);
isFailed = true;
failCount++;
return;
}
try {
INGEST_MSG = "Inserted: ";
// select msnd.* from msnd where msnd.msnname = get("MISSION_NAME")
// if there is a record then delete it before inserting
// delete from msnd where msnd.msnname = get("MISSION_NAME")
_sql = "SELECT msnd.* FROM msnd WHERE msnd.msnname = '" + missionName + "'";
count = getRowCount(_sql);
if (count!=0) {
_sql = "DELETE FROM msnd WHERE msnd.msnname = '" + missionName + "'";
delete = deleteRecords(_sql);
INGEST_MSG = "Updated: ";
}
AttributeStatement asmt = lblMap.get("MISSION_DESC");
if (asmt!=null) {
if (delete!=0 || count==0) {
// insert a record for each line of mission description
_sql = "INSERT INTO msnd (msnname, msnd, tupseqnum, userid, revdate) VALUES(?,?,?,?,?)";
pstmt = _conn.prepareStatement(_sql);
String[] descStr = rtrim(asmt.getValue().toString()).split("\n");
for (int i=0; i lblMap) {
PreparedStatement pstmt = null;
Statement stmt = null;
int count = 0;
int delete = 0;
String missionName = null;
if (lblMap.get("MISSION_NAME")!=null)
missionName = collapse(lblMap.get("MISSION_NAME").getValue().toString());
else {
Object[] arguments = { "msnobjsmy", "MISSION_NAME" };
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.error.missingKeyword",
ProblemType.MISSING_MEMBER, arguments);
_label.addProblem(lp);
isFailed = true;
failCount++;
return;
}
try {
INGEST_MSG = "Inserted: ";
// select msnobjsmy.* from msnobjsmy where msnobjsmy.msnname = get("MISSION_NAME")
// delete from msnobjsmy where msnobjsmy.msnname = get("MISSION_NAME")
_sql = "SELECT msnobjsmy.* FROM msnobjsmy WHERE msnobjsmy.msnname = '" + missionName + "'";
count = getRowCount(_sql);
if (count!=0) {
_sql = "DELETE FROM msnobjsmy WHERE msnobjsmy.msnname = '" + missionName + "'";
delete = deleteRecords(_sql);
INGEST_MSG = "Updated: ";
}
AttributeStatement asmt = lblMap.get("MISSION_OBJECTIVES_SUMMARY");
if (asmt!=null) {
if (delete!=0 || count==0) {
_sql = "INSERT INTO msnobjsmy (msnname, msnobjsmy, tupseqnum, userid, revdate) VALUES(?,?,?,?,?)";
pstmt = _conn.prepareStatement(_sql);
String[] objsmy = rtrim(asmt.getValue().toString()).split("\n");
for (int i=0; i lblMap) {
PreparedStatement pstmt = null;
Statement stmt = null;
int count = 0;
int delete = 0;
String missionName = null;
if (lblMap.get("MISSION_NAME")!=null)
missionName = collapse(lblMap.get("MISSION_NAME").getValue().toString());
else {
Object[] arguments = { "msnhost", "MISSION_NAME" };
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.error.missingKeyword",
ProblemType.MISSING_MEMBER, arguments);
_label.addProblem(lp);
isFailed = true;
failCount++;
return;
}
try {
INGEST_MSG = "Inserted: ";
// select msnhost.* from msnhost where msnhost.msnname = get("MISSION_NAME") and msnhost.insthostid = get("INSTRUMENT_HOST_ID")
// delete from msnhost where msnhost.msnname = get("MISSION_NAME") and msnhost.insthostid = get("INSTRUMENT_HOST_ID")
String instHostId = null;
if (lblMap.get("INSTRUMENT_HOST_ID")!=null)
instHostId = lblMap.get("INSTRUMENT_HOST_ID").getValue().toString();
_sql = "SELECT msnhost.* FROM msnhost WHERE msnhost.msnname = '" + missionName +
"' AND msnhost.insthostid = '" + instHostId + "'";
count = getRowCount(_sql);
if (count!=0) {
_sql = "DELETE FROM msnhost WHERE msnhost.msnname = '" + missionName +
"' AND msnhost.insthostid = '" + instHostId + "'";
delete = deleteRecords(_sql);
INGEST_MSG = "Updated: ";
}
String targetName = null;
if (lblMap.get("TARGET_NAME")!=null)
targetName = lblMap.get("TARGET_NAME").getValue().toString();
if (instHostId==null || targetName==null) {
Object[] arguments = { "msnhost", "INSTRUMENT_HOST_ID,TARGET_NAME" };
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.error.missingKeywords",
ProblemType.MISSING_MEMBER, arguments);
_label.addProblem(lp);
isFailed = true;
failCount++;
}
else {
if (delete!=0 || count==0) {
_sql = "INSERT INTO msnhost (msnname, insthostid, targname, userid, revdate) VALUES(?,?,?,?,?)";
pstmt = _conn.prepareStatement(_sql);
pstmt.setString(1, missionName);
pstmt.setString(2, instHostId);
pstmt.setString(3, targetName);
pstmt.setString(4, _dename);
_now = new Date();
pstmt.setTimestamp(5, new Timestamp(_now.getTime()));
pstmt.executeUpdate();
pstmt.close();
okCount++;
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.text.recordAdded",
ProblemType.SUCCEED, INGEST_MSG + "msnhost - " + instHostId + " / " + targetName);
_label.addProblem(lp);
}
}
}
catch (SQLException e) {
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null, null,
"ingest.error.failExecution", ProblemType.EXECUTE_FAIL, "ingestMsnHost");
_label.addProblem(lp);
isFailed = true;
failCount++;
}
}
/**
* Method to ingest the data into 'msninfo' table
*/
protected void ingestMsnInfo(Map lblMap) {
PreparedStatement pstmt = null;
Statement stmt = null;
int count = 0;
int delete = 0;
String missionName = null;
if (lblMap.get("MISSION_NAME")!=null)
missionName = collapse(lblMap.get("MISSION_NAME").getValue().toString());
else {
Object[] arguments = { "msninfo", "MISSION_NAME" };
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.error.missingKeyword",
ProblemType.MISSING_MEMBER, arguments);
_label.addProblem(lp);
isFailed = true;
failCount++;
return;
}
try {
INGEST_MSG = "Inserted: ";
// select msninfo.* from msninfo where msninfo.msnname = get("MISSION_NAME")
// delete from msninfo where msninfo.msnname = get("MISSION_NAME")
_sql = "SELECT msninfo.* FROM msninfo WHERE msninfo.msnname = '" + missionName + "'";
count = getRowCount(_sql);
if (count!=0) {
_sql = "DELETE FROM msninfo WHERE msninfo.msnname = '" + missionName + "'";
delete = deleteRecords(_sql);
INGEST_MSG = "Updated: ";
}
String msnStartDate = null;
String msnStopDate = null;
String msnAliasName = null;
String lblRevisionNote = null;
if (lblMap.get("MISSION_START_DATE")!=null)
msnStartDate = lblMap.get("MISSION_START_DATE").getValue().toString();
if (lblMap.get("MISSION_STOP_DATE")!=null)
msnStopDate = lblMap.get("MISSION_STOP_DATE").getValue().toString();
if (lblMap.get("MISSION_ALIAS_NAME")!=null)
msnAliasName = collapse(lblMap.get("MISSION_ALIAS_NAME").getValue().toString());
if (lblMap.get("LABEL_REVISION_NOTE")!=null)
lblRevisionNote = lblMap.get("LABEL_REVISION_NOTE").getValue().toString().trim();
if (msnStartDate==null || msnStopDate==null || msnAliasName==null || lblRevisionNote==null) {
Object[] arguments = { "msninfo", "MISSION_START_DATE,MISSION_STOP_DATE,MISSION_ALIAS_NAME,LABEL_REVISION_NOTE" };
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.error.missingKeywords",
ProblemType.MISSING_MEMBER, arguments);
_label.addProblem(lp);
isFailed = true;
failCount++;
}
else {
if (delete!=0 || count==0) {
_sql = "INSERT INTO msninfo (msnname, msnstrtdate, msnstopdate, msnaliasname, labelrevnote, userid, revdate) " +
"VALUES(?,?,?,?,?,?,?)";
pstmt = _conn.prepareStatement(_sql);
/*
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, "mission name = " + missionName));
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, "label revision date = " + lblRevisionNote));
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, "mission start date = " + msnStartDate));
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, "mission stop date = " + msnStopDate));
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, "mission alias name = " + msnAliasName));
*/
pstmt.setString(1, missionName);
pstmt.setString(2, msnStartDate);
pstmt.setString(3, msnStopDate);
pstmt.setString(4, msnAliasName);
pstmt.setString(5, lblRevisionNote);
pstmt.setString(6, _dename);
_now = new Date();
pstmt.setTimestamp(7, new Timestamp(_now.getTime()));
pstmt.executeUpdate();
pstmt.close();
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.text.recordAdded",
ProblemType.SUCCEED, INGEST_MSG + "msninfo - " + missionName);
_label.addProblem(lp);
okCount++;
standardValueMap.put("msinfo.msnname", missionName);
standardValueMap.put("msninfo.msnaliasname", msnAliasName);
}
}
}
catch (SQLException e) {
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null, null,
"ingest.error.failExecution", ProblemType.EXECUTE_FAIL, "ingestMsnInfo");
_label.addProblem(lp);
isFailed = true;
failCount++;
}
}
/**
* Method to ingest the data into 'msndoc' table
*/
protected void ingestMsnDoc(Map lblMap) {
PreparedStatement pstmt = null;
Statement stmt = null;
int count = 0;
int delete = 0;
String missionName = null;
if (lblMap.get("MISSION_NAME")!=null)
missionName = collapse(lblMap.get("MISSION_NAME").getValue().toString());
else {
Object[] arguments = { "msndoc", "MISSION_NAME" };
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.error.missingKeyword",
ProblemType.MISSING_MEMBER, arguments);
_label.addProblem(lp);
isFailed = true;
failCount++;
return;
}
try {
INGEST_MSG = "Inserted: ";
// optional
// select msndoc.* from msndoc where msndoc.msnname = get("MISSION_NAME")
// on the 1st pass, delete all of the records, then begin inserting new records
// delete from msndoc where msndoc.msnname = get("MISSION_NAME")
_sql = "SELECT msndoc.* FROM msndoc WHERE msndoc.msnname = '" + missionName + "'";
count = getRowCount(_sql);
if (count!=0) {
_sql = "DELETE FROM msndoc WHERE msndoc.msnname = '" + missionName + "'";
delete = deleteRecords(_sql);
INGEST_MSG = "Updated: ";
}
String refkeyid = null;
if (lblMap.get("REFERENCE_KEY_ID")!=null)
refkeyid = lblMap.get("REFERENCE_KEY_ID").getValue().toString();
if (refkeyid !=null) {
if (delete!=0 || count==0) {
_sql = " INSERT INTO msndoc (msnname, refkeyid, userid, revdate) VALUES(?,?,?,?)";
pstmt = _conn.prepareStatement(_sql);
//log.log(new ToolsLogRecord(CIToolLevel.DEBUG, "ref key id = " + refkeyid));
pstmt.setString(1, missionName);
pstmt.setString(2, refkeyid);
pstmt.setString(3, _dename);
_now = new Date();
pstmt.setTimestamp(4, new Timestamp(_now.getTime()));
pstmt.executeUpdate();
pstmt.close();
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.text.recordAdded",
ProblemType.SUCCEED, INGEST_MSG + "msndoc - " + refkeyid);
_label.addProblem(lp);
okCount++;
}
}
else {
Object[] arguments = { "msndoc", "REFERENCE_KEY_ID" };
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.error.missingKeyword",
ProblemType.MISSING_MEMBER, arguments);
_label.addProblem(lp);
isFailed = true;
failCount++;
}
}
catch (SQLException e) {
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null, null,
"ingest.error.failExecution", ProblemType.EXECUTE_FAIL, "ingestMsnDoc");
_label.addProblem(lp);
isFailed = true;
failCount++;
}
}
/**
* Method to ingest INSTRUMENT_HOST object
*/
protected void ingestInstHostObject(Map lblMap) {
ingestHostD(lblMap);
ingestHostInfo(lblMap);
}
/**
* Method to ingest the data into 'hostd' table
*/
protected void ingestHostD(Map lblMap) {
PreparedStatement pstmt = null;
int count = 0;
int rowCount = 0;
int delete = 0;
String instHostId = null;
if (lblMap.get("INSTRUMENT_HOST_ID")!=null)
instHostId = lblMap.get("INSTRUMENT_HOST_ID").getValue().toString();
else {
Object[] arguments = { "hostd", "INSTRUMENT_HOST_ID" };
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.error.missingKeyword",
ProblemType.MISSING_MEMBER, arguments);
_label.addProblem(lp);
isFailed = true;
failCount++;
return;
}
try {
INGEST_MSG = "Inserted: ";
// select hostd.* from hostd where hostd.insthostid = get("INSTRUMENT_HOST_ID")
// delete from hostd where hostd.insthostid = get("INSTRUMENT_HOST_ID")
_sql = "SELECT hostd.* FROM hostd WHERE hostd.insthostid = '" + instHostId + "'";
count = getRowCount(_sql);
if (count!=0) {
_sql = "DELETE FROM hostd WHERE hostd.insthostid = '" + instHostId + "'";
delete = deleteRecords(_sql);
INGEST_MSG = "Updated: ";
}
if (lblMap.get("INSTRUMENT_HOST_DESC")!=null) {
if (delete!=0 || count==0) {
_sql = "INSERT INTO hostd (insthostid, insthostd, tupseqnum, userid, revdate) " +
"VALUES(?,?,?,?,?)";
pstmt = _conn.prepareStatement(_sql);
//log.log(new ToolsLogRecord(CIToolLevel.DEBUG, "instrument host id = " + instHostId));
String[] descStr = rtrim(lblMap.get("INSTRUMENT_HOST_DESC").getValue().toString()).split("\n");
for (int i=0; i lblMap) {
PreparedStatement pstmt = null;
int count = 0;
int rowCount = 0;
int delete = 0;
try {
INGEST_MSG = "Inserted: ";
String instHostId = null;
if (lblMap.get("INSTRUMENT_HOST_ID")!=null)
instHostId = lblMap.get("INSTRUMENT_HOST_ID").getValue().toString();
else {
Object[] arguments = { "hostinfo", "INSTRUMENT_HOST_ID" };
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.error.missingKeyword",
ProblemType.MISSING_MEMBER, arguments);
_label.addProblem(lp);
isFailed = true;
failCount++;
return;
}
// select hostinfo.* from hostinfo where hostinfo.insthostid = get("INSTRUMENT_HOST_ID")
// delete from hostinfo where hostinfo.insthostid = get("INSTRUMENT_HOST_ID")
_sql = "SELECT hostinfo.* FROM hostinfo WHERE hostinfo.insthostid = '" + instHostId + "'";
count = getRowCount(_sql);
if (count!=0) {
_sql = "DELETE FROM hostinfo WHERE hostinfo.insthostid = '" + instHostId + "'";
delete = deleteRecords(_sql);
INGEST_MSG = "Updated: ";
}
String instHostName = null;
String instHostType = null;
String lblRevisionNote = null;
if (lblMap.get("INSTRUMENT_HOST_NAME")!=null)
instHostName = collapse(lblMap.get("INSTRUMENT_HOST_NAME").getValue().toString());
if (lblMap.get("INSTRUMENT_HOST_TYPE")!=null)
instHostType = lblMap.get("INSTRUMENT_HOST_TYPE").getValue().toString();
if (lblMap.get("LABEL_REVISION_NOTE")!=null)
lblRevisionNote = lblMap.get("LABEL_REVISION_NOTE").getValue().toString().trim();
if (instHostName==null || instHostType==null || lblRevisionNote==null) {
/*
log.log(new ToolsLogRecord(CIToolLevel.SEVERE, SPACES + "ABORT: HOSTINFO - one or more of the required keywords was not found."));
log.log(new ToolsLogRecord(CIToolLevel.SEVERE, SPACES + " - INSTRUMENT_HOST_ID: " + instHostId));
log.log(new ToolsLogRecord(CIToolLevel.SEVERE, SPACES + " - INSTRUMENT_HOST_NAME: " + instHostName));
log.log(new ToolsLogRecord(CIToolLevel.SEVERE, SPACES + " - INSTRUMENT_HOST_TYPE: " + instHostType));
log.log(new ToolsLogRecord(CIToolLevel.SEVERE, SPACES + " - LABEL_REVISION_NOTE: " + lblRevisionNote));
*/
Object[] arguments = { "hostinfo", "INSTRUMENT_HOST_NAME,INSTRUMENT_HOST_TYPE,LABEL_REVISION_NOTE" };
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.error.missingKeywords",
ProblemType.MISSING_MEMBER, arguments);
_label.addProblem(lp);
isFailed = true;
failCount++;
}
else {
if (delete!=0 || count==0) {
_sql = "INSERT INTO hostinfo (insthostid, insthostname, insthosttype, labelrevnote, userid, revdate) " +
"VALUES(?,?,?,?,?,?)";
pstmt = _conn.prepareStatement(_sql);
pstmt.setString(1, instHostId);
pstmt.setString(2, instHostName);
pstmt.setString(3, instHostType);
pstmt.setString(4, lblRevisionNote);
pstmt.setString(5, _dename);
_now = new Date();
pstmt.setTimestamp(6, new Timestamp(_now.getTime()));
pstmt.executeUpdate();
pstmt.close();
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.text.recordAdded",
ProblemType.SUCCEED, INGEST_MSG + "hostinfo - " + instHostId);
_label.addProblem(lp);
okCount++;
standardValueMap.put("hostinfo.insthostid", instHostId);
standardValueMap.put("hostinfo.insthostname", instHostName);
standardValueMap.put("hostinfo.insthosttype", instHostType);
}
}
}
catch (SQLException e) {
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null, null,
"ingest.error.failExecution", ProblemType.EXECUTE_FAIL, "ingestHostInfo");
_label.addProblem(lp);
isFailed = true;
failCount++;
}
}
/**
* Method to ingest the data into 'hostdoc' table
*/
protected void ingestInstHostRefInfoObject(Map lblMap) {
PreparedStatement pstmt = null;
int count = 0;
int delete = 0;
try {
INGEST_MSG = "Inserted: ";
String instHostId = null;
if (lblMap.get("INSTRUMENT_HOST_ID")!=null)
instHostId = lblMap.get("INSTRUMENT_HOST_ID").getValue().toString();
String refkeyid = null;
if (lblMap.get("REFERENCE_KEY_ID")!=null)
refkeyid = lblMap.get("REFERENCE_KEY_ID").getValue().toString();
if (instHostId==null) {
Object[] arguments = { "hostdoc", "INSTRUMENT_HOST_ID" };
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.error.missingKeyword",
ProblemType.MISSING_MEMBER, arguments);
_label.addProblem(lp);
isFailed = true;
failCount++;
}
else if (refkeyid==null) {
Object[] arguments = { "hostdoc", "REFERENCE_KEY_ID" };
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.error.missingKeyword",
ProblemType.MISSING_MEMBER, arguments);
_label.addProblem(lp);
isFailed = true;
failCount++;
}
else {
// optional
// select hostdoc.* from hostdoc where hostdoc.insthostid = get("INSTRUMENT_HOST_ID")
// delete from hostdoc where hostdoc.insthostid = get("INSTRUMENT_HOST_ID")
_sql = "SELECT hostdoc.* FROM hostdoc WHERE hostdoc.insthostid = '" + instHostId +
"' AND hostdoc.refkeyid = '" + refkeyid + "'";
count = getRowCount(_sql);
if (count!=0) {
_sql = "DELETE FROM hostdoc WHERE hostdoc.insthostid = '" + instHostId +
"' AND hostdoc.refkeyid = '" + refkeyid + "'";
delete = deleteRecords(_sql);
INGEST_MSG = "Updated: ";
}
if (delete!=0 || count==0) {
_sql = "INSERT INTO hostdoc (insthostid, refkeyid, userid, revdate) VALUES(?,?,?,?)";
pstmt = _conn.prepareStatement(_sql);
//log.log(new ToolsLogRecord(CIToolLevel.DEBUG, "reference key id = " + refkeyid));
pstmt.setString(1, instHostId);
pstmt.setString(2, refkeyid);
pstmt.setString(3, _dename);
_now = new Date();
pstmt.setTimestamp(4, new Timestamp(_now.getTime()));
pstmt.executeUpdate();
pstmt.close();
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.text.recordAdded",
ProblemType.SUCCEED, INGEST_MSG + "hostdoc - " + refkeyid);
_label.addProblem(lp);
okCount++;
}
}
}
catch (SQLException e) {
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null, null,
"ingest.error.failExecution", ProblemType.EXECUTE_FAIL, "ingestHostDoc");
_label.addProblem(lp);
isFailed = true;
failCount++;
}
}
/**
* Method to ingest INSTRUMENT object
*/
protected void ingestInstObject(Map lblMap) {
ingestInstD(lblMap);
ingestInstInfo(lblMap);
}
/**
* Method to ingest the data into 'instd' table
*/
protected void ingestInstD(Map lblMap) {
PreparedStatement pstmt = null;
int count = 0;
int delete = 0;
try {
INGEST_MSG = "Inserted: ";
String instId = null;
String instHostId = null;
if (lblMap.get("INSTRUMENT_HOST_ID")!=null)
instHostId = lblMap.get("INSTRUMENT_HOST_ID").getValue().toString();
else {
Object[] arguments = { "instd", "INSTRUMENT_HOST_ID" };
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.error.missingKeyword",
ProblemType.MISSING_MEMBER, arguments);
_label.addProblem(lp);
isFailed = true;
failCount++;
return;
}
if (lblMap.get("INSTRUMENT_ID")!=null)
instId = lblMap.get("INSTRUMENT_ID").getValue().toString();
else {
Object[] arguments = { "instd", "INSTRUMENT_ID" };
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.error.missingKeyword",
ProblemType.MISSING_MEMBER, arguments);
_label.addProblem(lp);
isFailed = true;
failCount++;
return;
}
// select instd.* from instd where instd.insthostid = get("INSTRUMENT_HOST_ID") and instd.instid = get("INSTRUMENT_ID")
// delete from instd where instd.insthostid = get("INSTRUMENT_HOST_ID") and instd.instid = get("INSTRUMENT_ID")
_sql = "SELECT instd.* FROM instd WHERE instd.insthostid = '" + instHostId + "' AND instd.instid = '" +
instId + "'";
count = getRowCount(_sql);
if (count!=0) {
_sql = "DELETE FROM instd WHERE instd.insthostid = '" + instHostId + "' AND instd.instid = '" + instId + "'";
delete = deleteRecords(_sql);
INGEST_MSG = "Updated: ";
}
if (lblMap.get("INSTRUMENT_DESC")!=null) {
if (delete!=0 || count==0) {
_sql = "INSERT INTO instd (insthostid, instid, instd, tupseqnum, userid, revdate) " +
"VALUES(?,?,?,?,?,?)";
pstmt = _conn.prepareStatement(_sql);
//log.log(new ToolsLogRecord(CIToolLevel.DEBUG, "inst host id = " + instHostId));
//log.log(new ToolsLogRecord(CIToolLevel.DEBUG, "inst id = " + instId));
String[] descStr = rtrim(lblMap.get("INSTRUMENT_DESC").getValue().toString()).split("\n");
for (int i=0; i lblMap) {
PreparedStatement pstmt = null;
int count = 0;
int delete = 0;
try {
INGEST_MSG = "Inserted: ";
String instId = null;
String instHostId = null;
if (lblMap.get("INSTRUMENT_HOST_ID")!=null)
instHostId = lblMap.get("INSTRUMENT_HOST_ID").getValue().toString();
else {
Object[] arguments = { "instinfo", "INSTRUMENT_HOST_ID" };
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.error.missingKeyword",
ProblemType.MISSING_MEMBER, arguments);
_label.addProblem(lp);
isFailed = true;
failCount++;
return;
}
if (lblMap.get("INSTRUMENT_ID")!=null)
instId = lblMap.get("INSTRUMENT_ID").getValue().toString();
else {
Object[] arguments = { "instinfo", "INSTRUMENT_ID" };
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.error.missingKeyword",
ProblemType.MISSING_MEMBER, arguments);
_label.addProblem(lp);
isFailed = true;
failCount++;
return;
}
// select instinfo.* from instinfo where instinfo.insthostid = get("INSTRUMENT_HOST_ID") and instinfo.instid = get("INSTRUMENT_ID")
// delete from instinfo where instinfo.insthostid = get("INSTRUMENT_HOST_ID") and instinfo.instid = get("INSTRUMENT_ID")
_sql = "SELECT instinfo.* FROM instinfo WHERE instinfo.insthostid = '" + instHostId +
"' AND instinfo.instid = '" + instId + "'";
count = getRowCount(_sql);
if (count!=0) {
_sql = "DELETE FROM instinfo WHERE instinfo.insthostid = '" + instHostId + "' AND instinfo.instid = '" + instId + "'";
delete = deleteRecords(_sql);
INGEST_MSG = "Updated: ";
}
String instName = null;
String instType = null;
String lblRevisionNote = null;
// need to capture \r\n and remove beginning spaces from second line
if (lblMap.get("INSTRUMENT_NAME")!=null)
instName = collapse(lblMap.get("INSTRUMENT_NAME").getValue().toString());
if (lblMap.get("INSTRUMENT_TYPE")!=null)
instType = lblMap.get("INSTRUMENT_TYPE").getValue().toString();
if (lblMap.get("LABEL_REVISION_NOTE")!=null)
lblRevisionNote = lblMap.get("LABEL_REVISION_NOTE").getValue().toString().trim();
if (instName==null || instType==null || lblRevisionNote==null) {
/*
log.log(new ToolsLogRecord(CIToolLevel.SEVERE, SPACES + "ABORT: INSTINFO - one or more of the required keywords was not found."));
log.log(new ToolsLogRecord(CIToolLevel.SEVERE, SPACES + " - INSTRUMENT_HOST_ID: " + instHostId));
log.log(new ToolsLogRecord(CIToolLevel.SEVERE, SPACES + " - INSTRUMENT_NAME: " + instName));
log.log(new ToolsLogRecord(CIToolLevel.SEVERE, SPACES + " - INSTRUMENT_TYPE: " + instType));
log.log(new ToolsLogRecord(CIToolLevel.SEVERE, SPACES + " - LABEL_REVISION_NOTE: " + lblRevisionNote));
*/
Object[] arguments = { "instinfo", "INSTRUMENT_NAME,INSTRUMENT_TYPE,LABEL_REVISION_NOTE" };
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.error.missingKeywords",
ProblemType.MISSING_MEMBER, arguments);
_label.addProblem(lp);
isFailed = true;
failCount++;
}
else {
if (delete!=0 || count==0) {
_sql = "INSERT INTO instinfo (insthostid, instid, instname, insttype, labelrevnote, userid, revdate) " +
"VALUES(?,?,?,?,?,?,?)";
pstmt = _conn.prepareStatement(_sql);
pstmt.setString(1, instHostId);
pstmt.setString(2, instId);
pstmt.setString(3, instName);
pstmt.setString(4, instType);
pstmt.setString(5, lblRevisionNote);
pstmt.setString(6, _dename);
_now = new Date();
pstmt.setTimestamp(7, new Timestamp(_now.getTime()));
pstmt.executeUpdate();
pstmt.close();
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.text.recordAdded",
ProblemType.SUCCEED, INGEST_MSG + "instinfo - " + instHostId + " / " + instId);
_label.addProblem(lp);
okCount++;
standardValueMap.put("instinfo.instid", instId);
standardValueMap.put("instinfo.instname", instName);
standardValueMap.put("instinfo.insttype", instType);
}
}
}
catch (SQLException e) {
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null, null,
"ingest.error.failExecution", ProblemType.EXECUTE_FAIL, "ingestInstInfo");
_label.addProblem(lp);
isFailed = true;
failCount++;
}
}
/**
* Method to ingest the data into 'instdoc' table
*/
protected void ingestInstRefInfoObject(Map lblMap) {
PreparedStatement pstmt = null;
int count = 0;
int delete = 0;
try {
INGEST_MSG = "Inserted: ";
String instId = null;
String instHostId = null;
if (lblMap.get("INSTRUMENT_HOST_ID")!=null)
instHostId = lblMap.get("INSTRUMENT_HOST_ID").getValue().toString();
if (lblMap.get("INSTRUMENT_ID")!=null)
instId = lblMap.get("INSTRUMENT_ID").getValue().toString();
String refkeyId = null;
if (lblMap.get("REFERENCE_KEY_ID")!=null)
refkeyId = lblMap.get("REFERENCE_KEY_ID").getValue().toString();
if (instHostId==null || instId==null || refkeyId==null) {
Object[] arguments = { "instdoc", "INSTRUMENT_HOST_ID,INSTRUMENT_ID,REFERENCE_KEY_ID" };
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.error.missingKeywords",
ProblemType.MISSING_MEMBER, arguments);
_label.addProblem(lp);
isFailed = true;
failCount++;
}
else {
// optional
// select instdoc.* from instdoc where instdoc.insthostid = get("INSTRUMENT_HOST_ID") and
// instdoc.instid = get("INSTRUMENT_ID") and instdoc.refkeyid = get("REFERENCE_KEY_ID")
// delete from instdoc where instdoc.insthostid = get("INSTRUMENT_HOST_ID") and instdoc.instid = get("INSTRUMENT_ID")
_sql = "SELECT instdoc.* FROM instdoc WHERE instdoc.insthostid = '" + instHostId +
"' AND instdoc.instid = '" + instId + "' AND instdoc.refkeyid = '" + refkeyId + "'";
count = getRowCount(_sql);
if (count!=0) {
_sql = "DELETE FROM instdoc WHERE instdoc.insthostid = '" + instHostId + "' AND instdoc.instid = '" +
instId + "' AND instdoc.refkeyid = '" + refkeyId + "'";
delete = deleteRecords(_sql);
INGEST_MSG = "Updated: ";
}
if (delete!=0 || count==0) {
_sql = "INSERT INTO instdoc (insthostid, instid, refkeyid, userid, revdate) VALUES(?,?,?,?,?)";
pstmt = _conn.prepareStatement(_sql);
/*
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, "inst host id = " + instHostId));
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, "inst id = " + instId));
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, "ref key id = " + refkeyId));
*/
pstmt.setString(1, instHostId);
pstmt.setString(2, instId);
pstmt.setString(3, refkeyId);
pstmt.setString(4, _dename);
_now = new Date();
pstmt.setTimestamp(5, new Timestamp(_now.getTime()));
pstmt.executeUpdate();
pstmt.close();
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.text.recordAdded",
ProblemType.SUCCEED, INGEST_MSG + "instdoc - " + refkeyId);
_label.addProblem(lp);
okCount++;
}
}
}
catch (SQLException e) {
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null, null,
"ingest.error.failExecution", ProblemType.EXECUTE_FAIL, "ingestInstDoc");
_label.addProblem(lp);
isFailed = true;
failCount++;
}
}
/**
* Method to ingest DATA_SET object
*/
protected void ingestDataSetObject(Map attrSmts) {
ingestDSD(attrSmts);
ingestDSConf(attrSmts);
ingestDSTarg(attrSmts);
ingestDSMsn(attrSmts);
ingestDSInfo(attrSmts);
}
/**
* Method to ingest the data into 'dsmsn' table
*/
protected void ingestDSMsn(Map attrSmts) {
PreparedStatement pstmt = null;
int count = 0;
int delete = 0;
try {
INGEST_MSG = "Inserted: ";
String dsId = null;
if (attrSmts.get("DATA_SET_ID")!=null)
dsId = collapse(attrSmts.get("DATA_SET_ID").getValue().toString());
String missionName = null;
if (attrSmts.get("MISSION_NAME")!=null)
missionName = (attrSmts.get("MISSION_NAME").getValue().toString());
if (dsId==null || missionName==null) {
Object[] arguments = { "dsmsn", "DATA_SET_ID,MISSION_NAME" };
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.error.missingKeywords",
ProblemType.MISSING_MEMBER, arguments);
_label.addProblem(lp);
isFailed = true;
failCount++;
}
else {
// select dsmsn.* from dsmsn where dsmsn.dsid = get("DATA_SET_ID") and dsmsn.msnname = get("MISSION_NAME")
// delete from dsmsn where dsmsn.dsid = get("DATA_SET_ID") and dsmsn.msnname = get("MISSION_NAME")
_sql = "SELECT dsmsn.* FROM dsmsn WHERE dsmsn.dsid = '" + dsId + "' AND dsmsn.msnname = '" + missionName + "'";
count = getRowCount(_sql);
if (count!=0) {
_sql = "DELETE FROM dsmsn WHERE dsmsn.dsid = '" + dsId + "' AND dsmsn.msnname = '" + missionName + "'";
delete = deleteRecords(_sql);
INGEST_MSG = "Updated: ";
}
if (delete!=0 || count==0) {
_sql = "INSERT INTO dsmsn (dsid, msnname, userid, revdate) VALUES(?,?,?,?)";
pstmt = _conn.prepareStatement(_sql);
pstmt.setString(1, dsId);
pstmt.setString(2, missionName);
pstmt.setString(3, _dename);
_now = new Date();
pstmt.setTimestamp(4, new Timestamp(_now.getTime()));
pstmt.executeUpdate();
pstmt.close();
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.text.recordAdded",
ProblemType.SUCCEED, INGEST_MSG + "dsmsn - " + dsId + " / " + missionName);
_label.addProblem(lp);
okCount++;
}
}
}
catch (SQLException e) {
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null, null,
"ingest.error.failExecution", ProblemType.EXECUTE_FAIL, "ingestDSMsn");
_label.addProblem(lp);
isFailed = true;
failCount++;
e.printStackTrace();
}
}
/**
* Method to ingest the data into 'dsd' table
*/
protected void ingestDSD(Map attrSmts) {
PreparedStatement pstmt = null;
int count = 0;
int delete = 0;
try {
INGEST_MSG = "Inserted: ";
String dsId = null;
if (attrSmts.get("DATA_SET_ID")!=null) {
dsId = collapse(attrSmts.get("DATA_SET_ID").getValue().toString());
}
else {
Object[] arguments = { "dsd", "DATA_SET_ID" };
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.error.missingKeyword",
ProblemType.MISSING_MEMBER, arguments);
_label.addProblem(lp);
isFailed = true;
failCount++;
return;
}
// select dsd.* from dsd where dsd.dsid = get("DATA_SET_ID")
// delete from dsd where dsd.dsid = get("DATA_SET_ID")
_sql = "SELECT dsd.* FROM dsd WHERE dsd.dsid = '" + dsId + "'";
count = getRowCount(_sql);
if (count!=0) {
_sql = "DELETE FROM dsd WHERE dsd.dsid = '" + dsId + "'";
delete = deleteRecords(_sql);
INGEST_MSG = "Updated: ";
}
AttributeStatement asmt = attrSmts.get("DATA_SET_DESC");
if (asmt!=null) {
if (delete!=0 || count==0) {
_sql = "INSERT INTO dsd (dsid, dsd, tupseqnum, userid, revdate) VALUES(?,?,?,?,?)";
pstmt = _conn.prepareStatement(_sql);
String[] descStr = rtrim(asmt.getValue().toString()).split("\n");
for (int i=0; i attrSmts) {
PreparedStatement pstmt = null;
int count = 0;
int delete = 0;
try {
INGEST_MSG = "Inserted: ";
String dsId = null;
if (attrSmts.get("DATA_SET_ID")!=null)
dsId = collapse(attrSmts.get("DATA_SET_ID").getValue().toString());
else {
Object[] arguments = { "dsconf", "DATA_SET_ID" };
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.error.missingKeyword",
ProblemType.MISSING_MEMBER, arguments);
_label.addProblem(lp);
isFailed = true;
failCount++;
return;
}
// select dsconf.* from dsconf where dsconf.dsid = get("DATA_SET_ID")
// delete from dsconf where dsconf.dsid = get("DATA_SET_ID")
_sql = "SELECT dsconf.* FROM dsconf WHERE dsconf.dsid = '" + dsId + "'";
count = getRowCount(_sql);
if (count!=0) {
_sql = "DELETE FROM dsconf WHERE dsconf.dsid = '" + dsId + "'";
delete = deleteRecords(_sql);
INGEST_MSG = "Updated: ";
}
AttributeStatement asmt = null;
if (attrSmts.get("CONFIDENCE_LEVEL_NOTE")!=null) {
asmt = attrSmts.get("CONFIDENCE_LEVEL_NOTE");
if (delete!=0 || count==0) {
_sql = "INSERT INTO dsconf (dsid, conflvlnote, tupseqnum, userid, revdate) VALUES(?,?,?,?,?)";
pstmt = _conn.prepareStatement(_sql);
String[] conflvnote = rtrim(asmt.getValue().toString()).split("\n");
for (int i=0; i attrSmts) {
PreparedStatement pstmt = null;
int count = 0;
int delete = 0;
try {
INGEST_MSG = "Inserted: ";
String dsId = null;
if (attrSmts.get("DATA_SET_ID")!=null) {
dsId = collapse(attrSmts.get("DATA_SET_ID").getValue().toString());
}
else {
Object[] arguments = { "dstarg", "DATA_SET_ID" };
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.error.missingKeyword",
ProblemType.MISSING_MEMBER, arguments);
_label.addProblem(lp);
isFailed = true;
failCount++;
return;
}
// select dstarg.* from dstarg where dstarg.sdid = get("DATA_SET_ID")
// delete from dstarg where dstarg.dsid = get("DATA_SET_ID")
_sql = "SELECT dstarg.* FROM dstarg WHERE dstarg.dsid = '" + dsId + "'";
count = getRowCount(_sql);
if (count!=0) {
_sql = "DELETE FROM dstarg WHERE dstarg.dsid = '" + dsId + "'";
delete = deleteRecords(_sql);
INGEST_MSG = "Updated: ";
}
String targetName = null;
if (attrSmts.get("TARGET_NAME")!=null) {
targetName = attrSmts.get("TARGET_NAME").getValue().toString();
if (delete!=0 || count==0) {
_sql = "INSERT INTO dstarg (dsid, targname, userid, revdate) VALUES(?,?,?,?)";
pstmt = _conn.prepareStatement(_sql);
pstmt.setString(1, dsId);
pstmt.setString(2, targetName);
pstmt.setString(3, _dename);
_now = new Date();
pstmt.setTimestamp(4, new Timestamp(_now.getTime()));
pstmt.executeUpdate();
pstmt.close();
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.text.recordAdded",
ProblemType.SUCCEED, INGEST_MSG + "dstarg - " + targetName);
_label.addProblem(lp);
okCount++;
}
}
else {
Object[] arguments = { "dstarg", "TARGET_NAME" };
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.error.missingKeyword",
ProblemType.MISSING_MEMBER, arguments);
_label.addProblem(lp);
isFailed = true;
failCount++;
}
}
catch (SQLException e) {
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null, null,
"ingest.error.failExecution", ProblemType.EXECUTE_FAIL, "ingestDSTarg");
_label.addProblem(lp);
isFailed = true;
failCount++;
}
}
/**
* Method to ingest the data into 'dshost' table
*/
protected void ingestDSHost(Map lblMap) {
PreparedStatement pstmt = null;
int count = 0;
int delete = 0;
try {
INGEST_MSG = "Inserted: ";
String dsId = null;
if (lblMap.get("DATA_SET_ID")!=null)
dsId = collapse(lblMap.get("DATA_SET_ID").getValue().toString());
String instHostId = null;
String instId = null;
if (lblMap.get("INSTRUMENT_HOST_ID")!=null)
instHostId = lblMap.get("INSTRUMENT_HOST_ID").getValue().toString();
if (lblMap.get("INSTRUMENT_ID")!=null)
instId = lblMap.get("INSTRUMENT_ID").getValue().toString();
if (dsId==null || instHostId==null || instId==null) {
Object[] arguments = { "dshot", "DATA_SET_ID,INSTRUMENT_HOST_ID,INSTRUMENT_ID" };
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.error.missingKeywords",
ProblemType.MISSING_MEMBER, arguments);
_label.addProblem(lp);
isFailed = true;
failCount++;
}
else {
// select dshost.* from dshost where dshost.dsid = get("DATA_SET_ID")
// delete from dshost where dshost.dsid = get("DATA_SET_ID")
_sql = "SELECT dshost.* FROM dshost WHERE dshost.dsid = '" + dsId + "'";
count = getRowCount(_sql);
if (count!=0) {
_sql = "DELETE FROM dshost WHERE dshost.dsid = '" + dsId + "'";
delete = deleteRecords(_sql);
INGEST_MSG = "Updated: ";
}
if (delete!=0 || count==0) {
_sql = "INSERT INTO dshost (dsid, insthostid, instid, userid, revdate) VALUES(?,?,?,?,?)";
pstmt = _conn.prepareStatement(_sql);
pstmt.setString(1, dsId);
pstmt.setString(2, instHostId);
pstmt.setString(3, instId);
pstmt.setString(4, _dename);
_now = new Date();
pstmt.setTimestamp(5, new Timestamp(_now.getTime()));
pstmt.executeUpdate();
pstmt.close();
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.text.recordAdded",
ProblemType.SUCCEED, INGEST_MSG + "dshost - " + instHostId + " / " + instId);
_label.addProblem(lp);
okCount++;
}
}
}
catch (SQLException e) {
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null, null,
"ingest.error.failExecution", ProblemType.EXECUTE_FAIL, "ingestDSHost");
_label.addProblem(lp);
isFailed = true;
failCount++;
}
}
/**
* Method to ingest the data into 'dsinfo' table
*/
protected void ingestDSInfo(Map lblMap) {
PreparedStatement pstmt = null;
int count = 0;
int delete = 0;
try {
INGEST_MSG = "Inserted: ";
String dsId = null;
if (lblMap.get("DATA_SET_ID")!=null) {
dsId = collapse(lblMap.get("DATA_SET_ID").getValue().toString());
}
else {
Object[] arguments = { "dsinfo", "DATA_SET_ID" };
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.error.missingKeyword",
ProblemType.MISSING_MEMBER, arguments);
_label.addProblem(lp);
isFailed = true;
failCount++;
return;
}
// select dsinfo.* from dsinfo where dsinfo.dsid = get("DATA_SET_ID")
// delete from dsinfo where dsinfo.dsid = get("DATA_SET_ID")
_sql = "SELECT dsinfo.* FROM dsinfo WHERE dsinfo.dsid = '" + dsId + "'";
count = getRowCount(_sql);
if (count!=0) {
_sql = "DELETE FROM dsinfo WHERE dsinfo.dsid = '" + dsId + "'";
delete = deleteRecords(_sql);
INGEST_MSG = "Updated: ";
}
String dsName = null;
String startTime = null;
String stopTime = null;
String dataObjType = null;
String dsReleaseDate = null;
String archiveStatus = null;
String curatingNodeId = null;
String producerFullname = null;
String detailedCatalogFlag = null;
String dsCollMemberFlag = null;
String dsTerseDesc = null;
String lblRevisionNote = null;
String citationDesc = null;
String abstractDesc = null;
String missionName = null;
if (lblMap.get("DATA_SET_NAME")!=null)
dsName = collapse(lblMap.get("DATA_SET_NAME").getValue().toString());
if (lblMap.get("START_TIME")!=null)
startTime = lblMap.get("START_TIME").getValue().toString();
if (lblMap.get("STOP_TIME")!=null)
stopTime = lblMap.get("STOP_TIME").getValue().toString();
if (lblMap.get("DATA_OBJECT_TYPE")!=null)
dataObjType = lblMap.get("DATA_OBJECT_TYPE").getValue().toString();
if (lblMap.get("DATA_SET_RELEASE_DATE")!=null)
dsReleaseDate = lblMap.get("DATA_SET_RELEASE_DATE").getValue().toString();
if (lblMap.get("ARCHIVE_STATUS")!=null)
archiveStatus = lblMap.get("ARCHIVE_STATUS").getValue().toString();
if (lblMap.get("CURATING_NODE_ID")!=null)
curatingNodeId = lblMap.get("CURATING_NODE_ID").getValue().toString();
if (lblMap.get("PRODUCER_FULL_NAME")!=null)
producerFullname = lblMap.get("PRODUCER_FULL_NAME").getValue().toString();
if (lblMap.get("DETAILED_CATALOG_FLAG")!=null)
detailedCatalogFlag = lblMap.get("DETAILED_CATALOG_FLAG").getValue().toString();
if (lblMap.get("DATA_SET_COLLECTION_MEMBER_FLG")!=null)
dsCollMemberFlag = lblMap.get("DATA_SET_COLLECTION_MEMBER_FLG").getValue().toString();
if (lblMap.get("DATA_SET_TERSE_DESC")!=null) {
dsTerseDesc = lblMap.get("DATA_SET_TERSE_DESC").getValue().toString().trim();
if (dsTerseDesc.length()>256) {
AttributeStatement asmt = null;
asmt = lblMap.get("DATA_SET_TERSE_DESC");
Object[] arguments = { asmt.getLineNumber(), "DATA_SET_TERSE_DESC", dsTerseDesc.length(), 255 };
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null, null,
"parser.error.lineTooLong2", ProblemType.EXCESSIVE_LINE_LENGTH, arguments);
_label.addProblem(lp);
}
}
if (lblMap.get("LABEL_REVISION_NOTE")!=null)
lblRevisionNote = ltrim(lblMap.get("LABEL_REVISION_NOTE").getValue().toString());
if (lblMap.get("CITATION_DESC")!=null)
citationDesc = ltrim(lblMap.get("CITATION_DESC").getValue().toString());
if (lblMap.get("ABSTRACT_DESC")!=null)
abstractDesc = ltrim(lblMap.get("ABSTRACT_DESC").getValue().toString());
if (lblMap.get("MISSION_NAME")!=null)
missionName = collapse(lblMap.get("MISSION_NAME").getValue().toString());
if (archiveStatus == null) {
//log.log(new ToolsLogRecord(CIToolLevel.WARNING, SPACES + "WARNING: DSINFO - ARCHIVE_STATUS: " + archiveStatus));
}
if (dsName==null || dsId==null || startTime==null || stopTime==null || dsTerseDesc==null ||
dsCollMemberFlag==null || dataObjType==null || dsReleaseDate==null || producerFullname==null ||
detailedCatalogFlag==null || missionName==null || lblRevisionNote==null ||
citationDesc==null || abstractDesc==null) {
Object[] arguments = { "dsinfo", "DATA_SET_NAME,DATA_SET_ID,START_TIME,STOP_TIME,DATA_SET_COLLECTION_MEMBER_FLG," +
"DATA_OBJECT_TYPE,DATA_SET_RELEASE_DATE,PRODUCER_FULL_NAME,DETAILED_CATALOG_FLAG,MISSION_NAME," +
"LABEL_REVISION_NOTE,DATA_SET_TERSE_DESC,CITATION_DESC,ABSTRACT_DESC" };
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.error.missingKeywords",
ProblemType.MISSING_MEMBER, arguments);
_label.addProblem(lp);
isFailed = true;
failCount++;
}
else {
if (delete!=0 || count==0) {
_sql = "INSERT INTO dsinfo (dsid, dsname, strttime, stoptime, dataobjtype, dsreleasedt, archivestat, curatingndid," +
" prodfullname, detailcatflg, dscollmemflg, dstersedesc, labelrevnote,citdesc, abstract, userid, revdate) " +
"VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
pstmt = _conn.prepareStatement(_sql);
pstmt.setString(1, dsId);
pstmt.setString(2, dsName);
pstmt.setString(3, startTime);
pstmt.setString(4, stopTime);
pstmt.setString(5, dataObjType);
pstmt.setString(6, dsReleaseDate);
pstmt.setString(7, archiveStatus);
pstmt.setString(8, curatingNodeId);
pstmt.setString(9, producerFullname);
pstmt.setString(10, detailedCatalogFlag);
pstmt.setString(11, dsCollMemberFlag);
// need to remove extra spaces - hhl
pstmt.setString(12, dsTerseDesc);
pstmt.setString(13, lblRevisionNote);
pstmt.setString(14, citationDesc);
// remove extra spaces - hhl
pstmt.setString(15, abstractDesc);
pstmt.setString(16, _dename); // userid
_now = new Date();
pstmt.setTimestamp(17, new Timestamp(_now.getTime())); // revdate
pstmt.executeUpdate();
pstmt.close();
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.text.recordAdded",
ProblemType.SUCCEED, INGEST_MSG + "dsinfo - " + dsId);
_label.addProblem(lp);
okCount++;
standardValueMap.put("dsninfo.dscollmemflg", dsCollMemberFlag);
}
}
}
catch (SQLException e) {
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null, null,
"ingest.error.failExecution", ProblemType.EXECUTE_FAIL, "ingestDSInfo");
_label.addProblem(lp);
isFailed = true;
failCount++;
}
}
/**
* Method to ingest the data into 'dsdoc' table
*/
protected void ingestDSRefInfoObject(Map lblMap) {
PreparedStatement pstmt = null;
int count = 0;
int delete = 0;
try {
INGEST_MSG = "Inserted: ";
String dsId = null;
if (lblMap.get("DATA_SET_ID")!=null)
dsId = collapse(lblMap.get("DATA_SET_ID").getValue().toString());
String refkeyid = null;
if (lblMap.get("REFERENCE_KEY_ID")!=null)
refkeyid = lblMap.get("REFERENCE_KEY_ID").getValue().toString();
if (dsId==null || refkeyid==null) {
Object[] arguments = { "dsdoc", "DATA_SET_ID,REFERENCE_KEY_ID" };
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.error.missingKeywords",
ProblemType.MISSING_MEMBER, arguments);
_label.addProblem(lp);
isFailed = true;
failCount++;
}
else {
// optional
// select dsdoc.* from dsdoc where dsdoc.dsid = get("DATA_SET_ID")
// delete from dsdoc where dsdoc.dsid = get("DATA_SET_ID")
// there are more than one reference key....
_sql = "SELECT dsdoc.* FROM dsdoc WHERE dsdoc.dsid = '" + dsId + "' AND dsdoc.refkeyid = '" + refkeyid + "'";
count = getRowCount(_sql);
if (count!=0) {
_sql = "DELETE FROM dsdoc WHERE dsdoc.dsid = '" + dsId + "' AND dsdoc.refkeyid = '" + refkeyid + "'";
delete = deleteRecords(_sql);
INGEST_MSG = "Updated: ";
}
if (delete!=0 || count==0) {
_sql = "INSERT INTO dsdoc (dsid, refkeyid, userid, revdate) VALUES(?,?,?,?)";
pstmt = _conn.prepareStatement(_sql);
pstmt.setString(1, dsId);
pstmt.setString(2, refkeyid);
pstmt.setString(3, _dename);
_now = new Date();
pstmt.setTimestamp(4, new Timestamp(_now.getTime()));
pstmt.executeUpdate();
pstmt.close();
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.text.recordAdded",
ProblemType.SUCCEED, INGEST_MSG + "dsdoc - " + refkeyid);
_label.addProblem(lp);
okCount++;
}
}
}
catch (SQLException e) {
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null, null,
"ingest.error.failExecution", ProblemType.EXECUTE_FAIL, "ingestDSRefInfoObject");
_label.addProblem(lp);
isFailed = true;
failCount++;
}
}
/**
* Method to ingest the data into 'refd' table
*/
public void ingestReferenceObject(Map lblMap) {
PreparedStatement pstmt = null;
int count = 0;
int delete = 0;
try {
INGEST_MSG = "Inserted: ";
String refKeyId = null;
if (lblMap.get("REFERENCE_KEY_ID")!=null)
refKeyId = lblMap.get("REFERENCE_KEY_ID").getValue().toString();
else {
Object[] arguments = { "refd", "REFERENCE_KEY_ID" };
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.error.missingKeyword",
ProblemType.MISSING_MEMBER, arguments);
_label.addProblem(lp);
isFailed = true;
failCount++;
return;
}
// select refd.* from refd where refd.refkeyid = get("REFERENCE_KEY_ID")
// delete from refd where refd.refkeyid = get("REFERENCE_KEY_ID")
_sql = "SELECT refd.* FROM refd WHERE refd.refkeyid = '" + refKeyId + "'";
count = getRowCount(_sql);
if (count!=0) {
_sql = "DELETE FROM refd WHERE refd.refkeyid = '" + refKeyId + "'";
delete = deleteRecords(_sql);
INGEST_MSG = "Updated: ";
}
if (lblMap.get("REFERENCE_DESC")!=null) {
if (delete!=0 || count==0) {
_sql = "INSERT INTO refd (refkeyid, refd, tupseqnum, userid, revdate) VALUES(?,?,?,?,?)";
pstmt = _conn.prepareStatement(_sql);
String[] descStr = rtrim(lblMap.get("REFERENCE_DESC").getValue().toString()).split("\n");
for (int i=0; i lblMap) {
ingestPersMailAddr(lblMap);
ingestPersInfo(lblMap);
}
/**
* Method to ingest the data into 'persmailaddr' table
*/
protected void ingestPersMailAddr(Map lblMap) {
PreparedStatement pstmt = null;
int count = 0;
int delete = 0;
try {
INGEST_MSG = "Inserted: ";
String pdsuserid = null;
if (lblMap.get("PDS_USER_ID")!=null) {
pdsuserid = lblMap.get("PDS_USER_ID").getValue().toString();
}
else {
Object[] arguments = { "persmailaddr", "PDS_USER_ID" };
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.error.missingKeyword",
ProblemType.MISSING_MEMBER, arguments);
_label.addProblem(lp);
isFailed = true;
failCount++;
return;
}
// select persmailaddr.* from persmailaddr where persmailaddr.pdsuserid = get("PDS_USER_ID")
// delete from permailaddr where persmailaddr.pdsuserid = get("PDS_USER_ID")
_sql = "SELECT persmailaddr.* FROM persmailaddr WHERE persmailaddr.pdsuserid = '" + pdsuserid + "'";
count = getRowCount(_sql);
if (count!=0) {
_sql = "DELETE FROM persmailaddr WHERE persmailaddr.pdsuserid = '" + pdsuserid + "'";
delete = deleteRecords(_sql);
INGEST_MSG = "Updated: ";
}
if (lblMap.get("ADDRESS_TEXT")!=null) {
if (delete!=0 || count==0) {
_sql = "INSERT INTO persmailaddr (pdsuserid, addresstext, tupseqnum, userid, revdate) " +
"VALUES(?,?,?,?,?)";
pstmt = _conn.prepareStatement(_sql);
String[] addrText = (lblMap.get("ADDRESS_TEXT").getValue().toString()).trim().split("\n");
for (int i=0; i lblMap) {
PreparedStatement pstmt = null;
int count = 0;
int delete = 0;
try {
INGEST_MSG = "Inserted: ";
String pdsuserid = null;
if (lblMap.get("PDS_USER_ID")!=null)
pdsuserid = lblMap.get("PDS_USER_ID").getValue().toString();
else {
Object[] arguments = { "persinfo", "PDS_USER_ID" };
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.error.missingKeyword",
ProblemType.MISSING_MEMBER, arguments);
_label.addProblem(lp);
isFailed = true;
failCount++;
return;
}
// select persinfo.* from persinfo where persinfo.pdsuserid = get("PDS_USER_ID")
// delete from persinfo where persinfo.pdsuserid = get("PDS_USER_ID")
_sql = "SELECT persinfo.* FROM persinfo WHERE persinfo.pdsuserid = '" + pdsuserid + "'";
count = getRowCount(_sql);
if (count!=0) {
_sql = "DELETE FROM persinfo WHERE persinfo.pdsuserid = '" + pdsuserid + "'";
delete = deleteRecords(_sql);
INGEST_MSG = "Updated: ";
}
String lastName = null;
String fullName = null;
String phoneNum = null;
String altPhoneNum = null;
String faxNum = null;
String institutionName = null;
String nodeId = null;
String registrationDate = null;
// 0: PDS User 1: Data Provider 2: CN DE 3: Rls Mgr 4: Rls Admin
String bookFlag = null;
String pdsAffiliation = null;
String lblRevisionNote = null;
if (lblMap.get("LAST_NAME")!=null)
lastName = lblMap.get("LAST_NAME").getValue().toString();
if (lblMap.get("FULL_NAME")!=null)
fullName = lblMap.get("FULL_NAME").getValue().toString();
if (lblMap.get("TELEPHONE_NUMBER")!=null)
phoneNum = lblMap.get("TELEPHONE_NUMBER").getValue().toString();
if (lblMap.get("ALTERNATE_TELEPHONE_NUMBER")!=null)
altPhoneNum = lblMap.get("ALTERNATE_TELEPHONE_NUMBER").getValue().toString();
if (lblMap.get("FAX_NUMBER")!=null)
faxNum = lblMap.get("FAX_NUMBER").getValue().toString();
if (lblMap.get("INSTITUTION_NAME")!=null)
institutionName = collapse(lblMap.get("INSTITUTION_NAME").getValue().toString());
if (lblMap.get("NODE_ID")!=null)
nodeId = collapse(lblMap.get("NODE_ID").getValue().toString());
if (lblMap.get("REGISTRATION_DATE")!=null)
registrationDate = collapse(lblMap.get("REGISTRATION_DATE").getValue().toString());
if (lblMap.get("PDS_ADDRESS_BOOK_FLAG")!=null)
bookFlag = lblMap.get("PDS_ADDRESS_BOOK_FLAG").getValue().toString();
if (lblMap.get("PDS_AFFILIATION")!=null)
pdsAffiliation = collapse(lblMap.get("PDS_AFFILIATION").getValue().toString());
if (lblMap.get("LABEL_REVISION_NOTE")!=null)
lblRevisionNote = lblMap.get("LABEL_REVISION_NOTE").getValue().toString().trim();
_sql = "SELECT nodeinfo.* FROM nodeinfo WHERE nodeinfo.nodeid = '" + pdsAffiliation + "'";
count = getRowCount(_sql);
if (count==0) {
//log.log(new ToolsLogRecord(CIToolLevel.WARNING, SPACES + "WARNING: PERSINFO - " + pdsAffiliation +
// " is not a valid PDS_AFFILIATION (not found in nodeinfo table)."));
}
if (lastName==null || fullName==null || phoneNum==null || altPhoneNum==null || faxNum==null ||
institutionName==null || nodeId==null || registrationDate==null || bookFlag==null ||
pdsAffiliation==null || lblRevisionNote==null) {
Object[] arguments = { "persinfo", "LAST_NAME,FULL_NAME,TELEPHONE_NUMBER,ALTERNATE_TELEPHONE_NUMBER,FAX_NUMBER," +
"INSTITUTION_NAME,NODE_ID,REGISTRATION_DATE,PDS_ADDRESS_BOOK_FLAG,PDS_AFFILIATION,LABEL_REVISION_NOTE" };
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.error.missingKeywords",
ProblemType.MISSING_MEMBER, arguments);
_label.addProblem(lp);
isFailed = true;
failCount++;
}
else {
if (delete!=0 || count==0) {
_sql = "INSERT INTO persinfo (pdsuserid, lastname, fullname, telephonenum, altphonenum, faxnumber, instnname, " +
"nodeid, regdate, addrbookflg, pdsaffil, labelrevnote, userid, revdate) " +
"VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
pstmt = _conn.prepareStatement(_sql);
/*
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, "last name = " + lastName));
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, "full name = " + fullName));
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, "phone = " + phoneNum));
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, "alternate phone = " + altPhoneNum));
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, "fax = " + faxNum));
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, "inst name = " + institutionName));
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, "node id = " + nodeId));
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, "registration date = " + registrationDate));
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, "pds address book flag = " + bookFlag));
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, "pds affiliation = " + pdsAffiliation));
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, "label revision date = " + lblRevisionNote));
*/
pstmt.setString(1, pdsuserid);
pstmt.setString(2, lastName);
pstmt.setString(3, fullName);
pstmt.setString(4, phoneNum);
pstmt.setString(5, altPhoneNum);
pstmt.setString(6, faxNum);
pstmt.setString(7, institutionName);
pstmt.setString(8, nodeId);
pstmt.setString(9, registrationDate);
pstmt.setString(10, bookFlag);
pstmt.setString(11, pdsAffiliation);
pstmt.setString(12, lblRevisionNote);
pstmt.setString(13, _dename);
_now = new Date();
pstmt.setTimestamp(14, new Timestamp(_now.getTime()));
pstmt.executeUpdate();
pstmt.close();
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.text.recordAdded",
ProblemType.SUCCEED, INGEST_MSG + "persinfo - " + pdsuserid);
_label.addProblem(lp);
okCount++;
}
}
}
catch (SQLException e) {
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null, null,
"ingest.error.failExecution", ProblemType.EXECUTE_FAIL, "ingestPersInfo");
_label.addProblem(lp);
isFailed = true;
failCount++;
}
}
/**
* Method to ingest the data into 'perselecmail' table
*/
protected void ingestPersElecmail(Map lblMap) {
PreparedStatement pstmt = null;
int count = 0;
int delete = 0;
try {
INGEST_MSG = "Inserted: ";
String pdsuserid = null;
if (lblMap.get("PDS_USER_ID")!=null)
pdsuserid = lblMap.get("PDS_USER_ID").getValue().toString();
else {
Object[] arguments = { "perselecmail", "PDS_USER_ID" };
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.error.missingKeyword",
ProblemType.MISSING_MEMBER, arguments);
_label.addProblem(lp);
isFailed = true;
failCount++;
return;
}
String email = null;
if (lblMap.get("ELECTRONIC_MAIL_ID")!=null)
email = collapse(lblMap.get("ELECTRONIC_MAIL_ID").getValue().toString());
else {
Object[] arguments = { "perselecmail", "ELECTRONIC_MAIL_ID" };
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.error.missingKeyword",
ProblemType.MISSING_MEMBER, arguments);
_label.addProblem(lp);
isFailed = true;
failCount++;
return;
}
// select perselecmail.* from perselecmail where perselecmail.pdsuserid = get("PDS_USER_ID")
// delete from perselecmail where perselecmail.pdsuserid = get("PDS_USER_ID")
_sql = "SELECT perselecmail.* FROM perselecmail WHERE perselecmail.pdsuserid = '" + pdsuserid +
"' AND perselecmail.elecmailid = '" + email + "'";
count = getRowCount(_sql);
if (count!=0) {
_sql = "DELETE FROM perselecmail WHERE perselecmail.pdsuserid = '" + pdsuserid +
"' AND perselecmail.elecmailid = '" + email + "'";
delete = deleteRecords(_sql);
INGEST_MSG = "Updated: ";
}
String emailType = null;
if (lblMap.get("ELECTRONIC_MAIL_TYPE")!=null)
emailType = collapse(lblMap.get("ELECTRONIC_MAIL_TYPE").getValue().toString());
String prefId = null;
if (lblMap.get("PREFERENCE_ID")!=null)
prefId = collapse(lblMap.get("PREFERENCE_ID").getValue().toString());
if (emailType==null || prefId==null) {
Object[] arguments = { "perselecmail", "ELECTRONIC_MAIL_TYPE,PREFERENCE_ID" };
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.error.missingKeywords",
ProblemType.MISSING_MEMBER, arguments);
_label.addProblem(lp);
isFailed = true;
failCount++;
}
else {
if (delete!=0 || count==0) {
_sql = "INSERT INTO perselecmail (pdsuserid, elecmailid, elecmailtype, preferenceid, userid, revdate) " +
"VALUES(?,?,?,?,?,?)";
pstmt = _conn.prepareStatement(_sql);
/*
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, "email id = " + email));
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, "email type = " + emailType));
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, "preference id = " + prefId));
*/
pstmt.setString(1, pdsuserid);
pstmt.setString(2, email);
pstmt.setString(3, emailType);
pstmt.setShort(4, (short)(Short.parseShort(prefId)));
pstmt.setString(5, _dename);
_now = new Date();
pstmt.setTimestamp(6, new Timestamp(_now.getTime()));
pstmt.executeUpdate();
pstmt.close();
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.text.recordAdded",
ProblemType.SUCCEED, INGEST_MSG + "perselecmail - " + pdsuserid + " / " + email);
_label.addProblem(lp);
okCount++;
standardValueMap.put("perselecmail.elecmailtype", emailType);
}
}
}
catch (SQLException e) {
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null, null,
"ingest.error.failExecution", ProblemType.EXECUTE_FAIL, "ingestPersElecmail");
_label.addProblem(lp);
isFailed = true;
failCount++;
}
}
/**
* Method to ingest the data into 'dscollds' table
*/
protected void ingestDSCollAssocDSObject(Map lblMap) {
PreparedStatement pstmt = null;
int count = 0;
int delete = 0;
try {
INGEST_MSG = "Inserted: ";
String dscollid = null;
if (lblMap.get("DATA_SET_COLLECTION_ID")!=null)
dscollid = collapse(lblMap.get("DATA_SET_COLLECTION_ID").getValue().toString());
String dsid = null;
if (lblMap.get("DATA_SET_ID")!=null)
dsid = lblMap.get("DATA_SET_ID").getValue().toString();
if (dscollid==null || dsid==null) {
Object[] arguments = { "dscollds", "DATA_SET_COLLECTION_ID,DATA_SET_ID" };
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.error.missingKeywords",
ProblemType.MISSING_MEMBER, arguments);
_label.addProblem(lp);
isFailed = true;
failCount++;
}
else {
// select dscollds.* from dscollds where dscollds.dscollid = get("DATA_SET_COLLECTION_ID")
// delete from dscollds where dscollds.dscollid = get("DATA_SET_COLLECTION_ID")
_sql = "SELECT dscollds.* FROM dscollds WHERE dscollds.dscollid = '" + dscollid +
"' AND dscollds.dsid = '" + dsid + "'";
count = getRowCount(_sql);
if (count!=0) {
_sql = "DELETE FROM dscollds WHERE dscollds.dscollid = '" + dscollid + "' AND dscollds.dsid = '" + dsid + "'";
delete = deleteRecords(_sql);
INGEST_MSG = "Updated: ";
}
if (delete!=0 || count==0) {
_sql = "INSERT INTO dscollds (dscollid, dsid, userid, revdate) VALUES(?,?,?,?)";
pstmt = _conn.prepareStatement(_sql);
//log.log(new ToolsLogRecord(CIToolLevel.DEBUG, "dscoll id = " + dscollid));
//log.log(new ToolsLogRecord(CIToolLevel.DEBUG, "ds id = " + dsid));
pstmt.setString(1, dscollid);
pstmt.setString(2, dsid);
pstmt.setString(3, _dename);
_now = new Date();
pstmt.setTimestamp(4, new Timestamp(_now.getTime()));
pstmt.executeUpdate();
pstmt.close();
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.text.recordAdded",
ProblemType.SUCCEED, INGEST_MSG + "dscollds - " + dsid);
_label.addProblem(lp);
okCount++;
}
}
}
catch (SQLException e) {
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null, null,
"ingest.error.failExecution", ProblemType.EXECUTE_FAIL, "ingestDSCollAssocDSObject");
_label.addProblem(lp);
isFailed = true;
failCount++;
}
}
/**
* Method to ingest DATA_SET_COLLECTION object
*/
protected void ingestDataSetColObject(Map lblMap) {
ingestDSCollUsgd(lblMap);
ingestDSCollD(lblMap);
ingestDSCollInfo(lblMap);
}
/**
* Method to ingest the data into 'dscollusgd' table
*/
protected void ingestDSCollUsgd(Map lblMap) {
PreparedStatement pstmt = null;
int count = 0;
int delete = 0;
try {
INGEST_MSG = "Inserted: ";
String dscollid = null;
if (lblMap.get("DATA_SET_COLLECTION_ID")!=null) {
dscollid = collapse(lblMap.get("DATA_SET_COLLECTION_ID").getValue().toString());
}
else {
Object[] arguments = { "dscollusgd", "DATA_SET_COLLECTION_ID" };
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.error.missingKeyword",
ProblemType.MISSING_MEMBER, arguments);
_label.addProblem(lp);
isFailed = true;
failCount++;
return;
}
// select dscollusgd.* from dscollusgd where dscollusgd.dscollid = get("DATA_SET_COLLECTION_ID")
// delete from dscollusgd where dscollusgd.dscollid = get("DATA_SET_COLLECTION_ID")
_sql = "SELECT dscollusgd.* FROM dscollusgd WHERE dscollusgd.dscollid = '" + dscollid + "'";
count = getRowCount(_sql);
if (count!=0) {
_sql = "DELETE FROM dscollusgd WHERE dscollusgd.dscollid = '" + dscollid + "'";
delete = deleteRecords(_sql);
INGEST_MSG = "Updated: ";
}
if (lblMap.get("DATA_SET_COLLECTION_USAGE_DESC")!=null) {
if (delete!=0 || count==0) {
_sql = "INSERT INTO dscollusgd (dscollid, dscollusgd, tupseqnum, userid, revdate) VALUES(?,?,?,?,?)";
pstmt = _conn.prepareStatement(_sql);
String[] usgDescStr = rtrim(lblMap.get("DATA_SET_COLLECTION_USAGE_DESC").getValue().toString()).split("\n");
for (int i=0; i lblMap) {
PreparedStatement pstmt = null;
int count = 0;
int delete = 0;
try {
INGEST_MSG = "Inserted: ";
String dscollid = null;
if (lblMap.get("DATA_SET_COLLECTION_ID")!=null) {
dscollid = collapse(lblMap.get("DATA_SET_COLLECTION_ID").getValue().toString());
}
else {
Object[] arguments = { "dscollinfo", "DATA_SET_COLLECTION_ID" };
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.error.missingKeyword",
ProblemType.MISSING_MEMBER, arguments);
_label.addProblem(lp);
isFailed = true;
failCount++;
return;
}
// select dscollinfo.* from dscollinfo where dscollinfo.dscollid = get("DATA_SET_COLLECTION_ID")
// delete from dscollinfo where dscollinfo.dscollid = get("DATA_SET_COLLECTION_ID")
_sql = "SELECT dscollinfo.* FROM dscollinfo WHERE dscollinfo.dscollid = '" + dscollid + "'";
count = getRowCount(_sql);
if (count!=0) {
_sql = "DELETE FROM dscollinfo WHERE dscollinfo.dscollid = '" + dscollid + "'";
delete = deleteRecords(_sql);
INGEST_MSG = "Updated: ";
}
String dscollname = null;
String dataSets = null;
String startTime = null;
String stopTime = null;
String dscollReleaseDt = null;
String producerFullname = null;
String lblRevisionNote = null;
if (lblMap.get("DATA_SET_COLLECTION_NAME")!=null)
dscollname = lblMap.get("DATA_SET_COLLECTION_NAME").getValue().toString();
if (lblMap.get("DATA_SETS")!=null)
dataSets = collapse(lblMap.get("DATA_SETS").getValue().toString());
if (lblMap.get("START_TIME")!=null)
startTime = lblMap.get("START_TIME").getValue().toString();
if (lblMap.get("STOP_TIME")!=null)
stopTime = lblMap.get("STOP_TIME").getValue().toString();
if (lblMap.get("DATA_SET_COLLECTION_RELEASE_DT")!=null)
dscollReleaseDt = lblMap.get("DATA_SET_COLLECTION_RELEASE_DT").getValue().toString();
if (lblMap.get("PRODUCER_FULL_NAME")!=null)
producerFullname = lblMap.get("PRODUCER_FULL_NAME").getValue().toString();
if (lblMap.get("LABEL_REVISION_NOTE")!=null)
lblRevisionNote = lblMap.get("LABEL_REVISION_NOTE").getValue().toString().trim();
if (dscollname==null || dataSets==null || startTime==null || stopTime==null ||
dscollReleaseDt==null || producerFullname==null || lblRevisionNote==null) {
Object[] arguments = { "dscollinfo", "DATA_SET_COLLECTION_NAME,DATA_SETS,START_TIME,STOP_TIME," +
"DATA_SET_COLEECTION_RELEASE_DT,PRODUCER_FULL_NAME,LABEL_REVISION_NOTE" };
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.error.missingKeywords",
ProblemType.MISSING_MEMBER, arguments);
_label.addProblem(lp);
isFailed = true;
failCount++;
}
else {
if (delete!=0 || count==0) {
_sql = "INSERT INTO dscollinfo (dscollid, dscollname, datasets, strttime, stoptime, dscollreldt, prodfullname, " +
"labelrevnote, userid, revdate) VALUES(?,?,?,?,?,?,?,?,?,?)";
pstmt = _conn.prepareStatement(_sql);
/*
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, "ds coll name = " + dscollname));
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, "data sets = " + dataSets));
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, "start time = " + startTime));
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, "stop time = " + stopTime));
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, "ds coll release date = " + dscollReleaseDt));
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, "producer name = " + producerFullname));
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, "label rev note = " + lblRevisionNote));
*/
pstmt.setString(1, dscollid);
pstmt.setString(2, dscollname);
pstmt.setInt(3, Integer.parseInt(dataSets));
pstmt.setString(4, startTime);
pstmt.setString(5, stopTime);
pstmt.setString(6, dscollReleaseDt);
pstmt.setString(7, producerFullname);
pstmt.setString(8, lblRevisionNote);
pstmt.setString(9, _dename);
_now = new Date();
pstmt.setTimestamp(10, new Timestamp(_now.getTime()));
pstmt.executeUpdate();
pstmt.close();
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.text.recordAdded",
ProblemType.SUCCEED, INGEST_MSG + "dscollinfo - " + dscollid);
_label.addProblem(lp);
okCount++;
}
}
}
catch (SQLException e) {
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null, null,
"ingest.error.failExecution", ProblemType.EXECUTE_FAIL, "ingestDSCollInfo");
_label.addProblem(lp);
isFailed = true;
failCount++;
}
}
/**
* Method to ingest the data into 'dscolld' table
*/
protected void ingestDSCollD(Map lblMap) {
PreparedStatement pstmt = null;
int count = 0;
int delete = 0;
try {
INGEST_MSG = "Inserted: ";
String dscollid = null;
if (lblMap.get("DATA_SET_COLLECTION_ID")!=null) {
dscollid = collapse(lblMap.get("DATA_SET_COLLECTION_ID").getValue().toString());
}
else {
Object[] arguments = { "dscolld", "DATA_SET_COLLECTION_ID" };
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.error.missingKeyword",
ProblemType.MISSING_MEMBER, arguments);
_label.addProblem(lp);
isFailed = true;
failCount++;
return;
}
// select dscolld.* from dscolld where dscolld.dscollid = get("DATA_SET_COLLECTION_ID")
// delete from dscolld where dscolld.dscollid = get("DATA_SET_COLLECTION_ID")
_sql = "SELECT dscolld.* FROM dscolld WHERE dscolld.dscollid = '" + dscollid + "'";
count = getRowCount(_sql);
if (count!=0) {
_sql = "DELETE FROM dscolld WHERE dscolld.dscollid = '" + dscollid + "'";
delete = deleteRecords(_sql);
INGEST_MSG = "Updated: ";
}
if (lblMap.get("DATA_SET_COLLECTION_DESC")!=null) {
if (delete!=0 || count==0) {
_sql = "INSERT INTO dscolld (dscollid, dscolld, tupseqnum, userid, revdate) VALUES(?,?,?,?,?)";
pstmt = _conn.prepareStatement(_sql);
String[] descStr = rtrim(lblMap.get("DATA_SET_COLLECTION_DESC").getValue().toString()).split("\n");
for (int i=0; i lblMap) {
PreparedStatement pstmt = null;
int count = 0;
int delete = 0;
try {
INGEST_MSG = "Inserted: ";
String dscollid = null;
if (lblMap.get("DATA_SET_COLLECTION_ID")!=null)
dscollid = collapse(lblMap.get("DATA_SET_COLLECTION_ID").getValue().toString());
else {
Object[] arguments = { "dscolldoc", "DATA_SET_COLLECTION_ID" };
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.error.missingKeyword",
ProblemType.MISSING_MEMBER, arguments);
_label.addProblem(lp);
isFailed = true;
failCount++;
return;
}
// optional
// select dscolldoc.* from dscolldoc where dscolldoc.dscollid = get("DATA_SET_COLLECTION_ID")
// delete from dscolldoc where dscolldoc.dscollid = get("DATA_SET_COLLECTION_ID")
_sql = "SELECT dscolldoc.* FROM dscolldoc WHERE dscolldoc.dscollid = '" + dscollid + "'";
count = getRowCount(_sql);
if (count!=0) {
_sql = "DELETE FROM dscolldoc WHERE dscolldoc.dscollid = '" + dscollid + "'";
delete = deleteRecords(_sql);
INGEST_MSG = "Updated: ";
}
String refkeyid = null;
if (lblMap.get("REFERENCE_KEY_ID")!=null) {
refkeyid = lblMap.get("REFERENCE_KEY_ID").getValue().toString();
if (delete!=0 || count==0) {
_sql = "INSERT INTO dscolldoc (dscollid, refkeyid, userid, revdate) VALUES(?,?,?,?)";
pstmt = _conn.prepareStatement(_sql);
pstmt.setString(1, dscollid);
pstmt.setString(2, refkeyid);
pstmt.setString(3, _dename);
_now = new Date();
pstmt.setTimestamp(4, new Timestamp(_now.getTime()));
pstmt.executeUpdate();
pstmt.close();
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.text.recordAdded",
ProblemType.SUCCEED, INGEST_MSG + "dscolldoc - " + refkeyid);
_label.addProblem(lp);
okCount++;
}
}
else {
Object[] arguments = { "dscolldoc", "REFERENCE_KEY_ID" };
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.error.missingKeyword",
ProblemType.MISSING_MEMBER, arguments);
_label.addProblem(lp);
isFailed = true;
failCount++;
}
}
catch (SQLException e) {
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null, null,
"ingest.error.failExecution", ProblemType.EXECUTE_FAIL, "ingestDSCollDoc");
_label.addProblem(lp);
isFailed = true;
failCount++;
}
}
/**
* Method to ingest INVENTORY object
*/
public void ingestInventoryObject(Map lblMap) {
ingestInvSpcOrdNt(lblMap);
ingestInvNodeMedia(lblMap);
}
/**
* Method to ingest the data into 'invspcordnt' table
*/
protected void ingestInvSpcOrdNt(Map lblMap) {
PreparedStatement pstmt = null;
int count = 0;
int delete = 0;
try {
INGEST_MSG = "Inserted: ";
String dscolldsid = null;
if (lblMap.get("PRODUCT_DATA_SET_ID")!=null)
dscolldsid = collapse(lblMap.get("PRODUCT_DATA_SET_ID").getValue().toString());
String nodeId = null;
if (lblMap.get("NODE_ID")!=null)
nodeId = lblMap.get("NODE_ID").getValue().toString();
String mediumType = null;
if (lblMap.get("MEDIUM_TYPE")!=null)
mediumType = lblMap.get("MEDIUM_TYPE").getValue().toString();
/*
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, "dscolldsid = " + dscolldsid));
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, "node id = " + nodeId));
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, "medium type = " + mediumType));
*/
if (dscolldsid==null || nodeId==null || mediumType==null) {
Object[] arguments = { "invspcordnt", "PRODUCT_DATA_SET_ID,NODE_ID,MEDIUM_TYPE" };
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.error.missingKeywords",
ProblemType.MISSING_MEMBER, arguments);
_label.addProblem(lp);
isFailed = true;
failCount++;
return;
}
// select invspcordnt.* from invspcordnt where invspcordnt.dscolldsid = get("PRODUCT_DATA_SET_ID")
// and invspcordnt.nodeid = get("NODE_ID") and invspcordnt.mediumtype = get("MEDIUM_TYPE")
// delete from invspcordnt where invspcordnt.dscolldsid = get("PRODUCT_DATA_SET_ID")
// and invspcordnt.nodeid = get("NODE_ID") and invspcordnt.mediumtype = get("MEDIUM_TYPE")
_sql = "SELECT invspcordnt.* FROM invspcordnt WHERE invspcordnt.dscolldsid = '" + dscolldsid +
"' AND invspcordnt.nodeid = '" + nodeId + "' AND invspcordnt.mediumtype = '" + mediumType + "'";
count = getRowCount(_sql);
if (count!=0) {
_sql = "DELETE FROM invspcordnt WHERE invspcordnt.dscolldsid = '" + dscolldsid +
"' AND invspcordnt.nodeid = '" + nodeId + "' AND invspcordnt.mediumtype = '" + mediumType + "'";
delete = deleteRecords(_sql);
INGEST_MSG = "Updated: ";
}
if (lblMap.get("INVENTORY_SPECIAL_ORDER_NOTE")!=null) {
if (delete!=0 || count==0) {
_sql = "INSERT INTO invspcordnt (dscolldsid, nodeid, mediumtype, invspcordnt, tupseqnum, userid, revdate) " +
"VALUES(?,?,?,?,?,?,?)";
pstmt = _conn.prepareStatement(_sql);
String[] noteStr = rtrim(lblMap.get("INVENTORY_SPECIAL_ORDER_NOTE").getValue().toString()).split("\n");
for (int i=0; i lblMap) {
PreparedStatement pstmt = null;
int count = 0;
int delete = 0;
try {
INGEST_MSG = "Inserted: ";
String dscolldsid = null;
if (lblMap.get("PRODUCT_DATA_SET_ID")!=null)
dscolldsid = collapse(lblMap.get("PRODUCT_DATA_SET_ID").getValue().toString());
String nodeId = null;
if (lblMap.get("NODE_ID")!=null)
nodeId = lblMap.get("NODE_ID").getValue().toString();
String mediumType = null;
if (lblMap.get("MEDIUM_TYPE")!=null)
mediumType = lblMap.get("MEDIUM_TYPE").getValue().toString();
if (dscolldsid==null || nodeId==null || mediumType==null) {
Object[] arguments = { "invnodemedia", "PRODUCT_DATA_SET_ID,NODE_ID,MEDIUM_TYPE" };
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.error.missingKeywords",
ProblemType.MISSING_MEMBER, arguments);
_label.addProblem(lp);
isFailed = true;
failCount++;
return;
}
// select invnodemedia.* from invnodemedia where invnodemedia.nodeid = get("NODE_ID")
// and invnodemedia.dscolldsid = get("PRODUCT_DATA_SET_ID") and invnodemedia.mediumtype = get("MEDIUM_TYPE")
// delete from invnodemedia where invnodemedia.nodeid = get("NODE_ID") and invnodemedia.dscolldsid = get("PRODUCT_DATA_SET_ID")
// and invnodemedia.mediumtype = get("MEDIUM_TYPE")
_sql = "SELECT invnodemedia.* FROM invnodemedia WHERE invnodemedia.nodeid = '" + nodeId +
"' AND invnodemedia.dscolldsid = '" + dscolldsid + "' AND invnodemedia.mediumtype = '" + mediumType + "'";
count = getRowCount(_sql);
if (count!=0) {
_sql = "DELETE FROM invnodemedia WHERE invnodemedia.nodeid = '" + nodeId + "' AND invnodemedia.dscolldsid = '" +
dscolldsid + "' AND invnodemedia.mediumtype = '" + mediumType + "'";
delete = deleteRecords(_sql);
INGEST_MSG = "Updated: ";
}
String mediumDesc = null;
String copies = null;
if (lblMap.get("MEDIUM_DESC")!=null)
mediumDesc = lblMap.get("MEDIUM_DESC").getValue().toString();
if (lblMap.get("COPIES")!=null)
copies = collapse(lblMap.get("COPIES").getValue().toString());
if (mediumDesc==null || copies==null) {
Object[] arguments = { "invnodemedia", "MEDIUM_DESC,COPIES" };
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.error.missingKeywords",
ProblemType.MISSING_MEMBER, arguments);
_label.addProblem(lp);
isFailed = true;
failCount++;
}
else {
if (delete!=0 || count==0) {
_sql = "INSERT INTO invnodemedia (nodeid, dscolldsid, mediumtype, mediumd, copies, userid, revdate) " +
"VALUES(?,?,?,?,?,?,?)";
pstmt = _conn.prepareStatement(_sql);
pstmt.setString(1, nodeId);
pstmt.setString(2, dscolldsid);
pstmt.setString(3, mediumType);
pstmt.setString(4, mediumDesc);
pstmt.setInt(5, Integer.parseInt(copies));
pstmt.setString(6, _dename);
_now = new Date();
pstmt.setTimestamp(7, new Timestamp(_now.getTime()));
pstmt.executeUpdate();
pstmt.close();
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.text.recordAdded",
ProblemType.SUCCEED, INGEST_MSG + "invnodemedia - " + nodeId + " / " + dscolldsid + " / " + mediumType);
_label.addProblem(lp);
okCount++;
}
}
}
catch (SQLException e) {
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null, null,
"ingest.error.failExecution", ProblemType.EXECUTE_FAIL, "ingestInvNodeMedia");
_label.addProblem(lp);
isFailed = true;
failCount++;
}
}
/**
* Method to ingest SOFTWARE object
*/
protected void ingestSoftwareObject(Map lblMap) {
ingestSWD(lblMap);
ingestSWInfo(lblMap);
ingestSWPur(lblMap);
}
/**
* Method to ingest the data into 'swd' table
*/
protected void ingestSWD(Map lblMap) {
PreparedStatement pstmt = null;
int count = 0;
int delete = 0;
try {
INGEST_MSG = "Inserted: ";
String swid = null;
if (lblMap.get("SOFTWARE_ID")!=null)
swid = lblMap.get("SOFTWARE_ID").getValue().toString();
String swverid = null;
if (lblMap.get("SOFTWARE_VERSION_ID")!=null)
swverid = lblMap.get("SOFTWARE_VERSION_ID").getValue().toString();
if (swid==null || swverid==null) {
Object[] arguments = { "swd", "SOFTWARE_ID,SOFTWARE_VERSION_ID" };
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.error.missingKeywords",
ProblemType.MISSING_MEMBER, arguments);
_label.addProblem(lp);
isFailed = true;
failCount++;
return;
}
_sql = "SELECT swd.* FROM swd WHERE swd.swid = '" + swid + "' AND swd.swverid = '" + swverid + "'";
count = getRowCount(_sql);
if (count!=0) {
_sql = "DELETE FROM swd WHERE swd.swid = '" + swid + "' AND swd.swverid = '" + swverid + "'";
delete = deleteRecords(_sql);
INGEST_MSG = "Updated: ";
}
if (lblMap.get("SOFTWARE_DESC")!=null) {
if (delete!=0 || count==0) {
_sql = "INSERT INTO swd (swid, swverid, swd, tupseqnum, userid, revdate) VALUES(?,?,?,?,?,?)";
pstmt = _conn.prepareStatement(_sql);
if (debugFlag) {
System.out.println("sw id = " + swid);
System.out.println("sw ver id = " + swverid);
}
String[] descStr = rtrim(lblMap.get("SOFTWARE_DESC").getValue().toString()).split("\n");
for (int i=0; i lblMap) {
PreparedStatement pstmt = null;
int count = 0;
int delete = 0;
try {
INGEST_MSG = "Inserted: ";
String swid = null;
if (lblMap.get("SOFTWARE_ID")!=null)
swid = lblMap.get("SOFTWARE_ID").getValue().toString();
String swverid = null;
if (lblMap.get("SOFTWARE_VERSION_ID")!=null)
swverid = lblMap.get("SOFTWARE_VERSION_ID").getValue().toString();
String swname = null;
String dataFormat = null;
String swLicenseType = null;
String techSupportType = null;
String reqStorageBytes = null;
String pdsUserId = null;
String nodeId = null;
String lblRevisionNote = null;
if (lblMap.get("SOFTWARE_NAME")!=null)
swname = collapse(lblMap.get("SOFTWARE_NAME").getValue().toString());
if (lblMap.get("DATA_FORMAT")!=null)
dataFormat = collapse(lblMap.get("DATA_FORMAT").getValue().toString());
if (lblMap.get("SOFTWARE_LICENSE_TYPE")!=null)
swLicenseType = collapse(lblMap.get("SOFTWARE_LICENSE_TYPE").getValue().toString());
if (lblMap.get("TECHNICAL_SUPPORT_TYPE")!=null)
techSupportType = collapse(lblMap.get("TECHNICAL_SUPPORT_TYPE").getValue().toString());
if (lblMap.get("REQUIRED_STORAGE_BYTES")!=null)
reqStorageBytes = collapse(lblMap.get("REQUIRED_STORAGE_BYTES").getValue().toString());
if (lblMap.get("PDS_USER_ID")!=null)
pdsUserId = collapse(lblMap.get("PDS_USER_ID").getValue().toString());
if (lblMap.get("NODE_ID")!=null)
nodeId = collapse(lblMap.get("NODE_ID").getValue().toString());
if (lblMap.get("LABEL_REVISION_NOTE")!=null)
lblRevisionNote = lblMap.get("LABEL_REVISION_NOTE").getValue().toString();
if (swid==null || swverid==null || swname==null || dataFormat==null || swLicenseType==null || techSupportType==null ||
reqStorageBytes==null || pdsUserId==null || nodeId==null || lblRevisionNote==null) {
Object[] arguments = { "swinfo", "SOFTWARE_ID,SOFTWARE_VERSION_ID,SOFTWARE_NAME,DATA_FORMAT," +
"SOFTWARE_LICENSE_TYPE,TECHNICAL_SUPPORT_TYPE,REQUIRED_STORAGE_BYTES,PDS_USER_ID,NODE_ID,LABEL_REVISION_NOTE" };
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.error.missingKeywords",
ProblemType.MISSING_MEMBER, arguments);
_label.addProblem(lp);
isFailed = true;
failCount++;
}
else {
// select swinfo.* from swinfo where swinfo.swid = swid and swinfo.swverid = swverid
// delte from swinfo where swinfo.swid = swid and swinfo.swverid = swverid
_sql = "SELECT swinfo.* FROM swinfo WHERE swinfo.swid = '" + swid + "' AND swinfo.swverid = '" + swverid + "'";
count = getRowCount(_sql);
if (count!=0) {
_sql = "DELETE FROM swinfo WHERE swinfo.swid = '" + swid + "' AND swinfo.swverid = '" + swverid + "'";
delete = deleteRecords(_sql);
INGEST_MSG = "Updated: ";
}
if (delete!=0 || count==0) {
_sql = "INSERT INTO swinfo (swid, swverid, swname, dataformat, swlicensetyp, techsupport, reqstorbytes, pdsuserid, " +
"nodeid, labelrevnote, userid, revdate) VALUES(?,?,?,?,?,?,?,?,?,?,?,?)";
pstmt = _conn.prepareStatement(_sql);
if (debugFlag) {
System.out.println("sw name = " + swname);
System.out.println("data format = " + dataFormat);
System.out.println("sw license type = " + swLicenseType);
System.out.println("tech support = " + techSupportType);
System.out.println("req storage bytes = " + reqStorageBytes);
System.out.println("pds user id = " + pdsUserId);
System.out.println("node id = " + nodeId);
System.out.println("label rev note = " + lblRevisionNote);
}
pstmt.setString(1, swid);
pstmt.setString(2, swverid);
pstmt.setString(3, swname);
pstmt.setString(4, dataFormat);
pstmt.setString(5, swLicenseType);
pstmt.setString(6, techSupportType);
pstmt.setString(7, reqStorageBytes);
pstmt.setString(8, pdsUserId);
pstmt.setString(9, nodeId);
pstmt.setString(10, lblRevisionNote);
pstmt.setString(11, _dename);
_now = new Date();
pstmt.setTimestamp(12, new Timestamp(_now.getTime()));
pstmt.executeUpdate();
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.text.recordAdded",
ProblemType.SUCCEED, INGEST_MSG + "swinfo - " + swid + " / " + swverid);
_label.addProblem(lp);
okCount++;
}
}
}
catch (SQLException e) {
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null, null,
"ingest.error.failExecution", ProblemType.EXECUTE_FAIL, "ingestSWInfo");
_label.addProblem(lp);
isFailed = true;
failCount++;
}
}
/**
* Method to ingest the data into 'swpur' table
*/
protected void ingestSWPur(Map lblMap) {
PreparedStatement pstmt = null;
int count = 0;
int delete = 0;
try {
INGEST_MSG = "Inserted: ";
String swid = null;
if (lblMap.get("SOFTWARE_ID")!=null)
swid = lblMap.get("SOFTWARE_ID").getValue().toString();
String swverid = null;
if (lblMap.get("SOFTWARE_VERSION_ID")!=null)
swverid = lblMap.get("SOFTWARE_VERSION_ID").getValue().toString();
if (swid==null || swverid==null) {
Object[] arguments = { "swpur", "SOFTWARE_ID,SOFTWARE_VERSION_ID" };
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.error.missingKeyword",
ProblemType.MISSING_MEMBER, arguments);
_label.addProblem(lp);
isFailed = true;
failCount++;
return;
}
// select swpur.* from swpur where swpur.swid = swid and swpur.swverid = swverid order by swpur.swpurpose
// delete from swpur where swpur.swid = swid and swpur.swverid = swverid
_sql = "SELECT swpur.* FROM swpur WHERE swpur.swid = '" + swid + "' AND swpur.swverid = '" +
swverid + "' order by swpur.swpurpose";
count = getRowCount(_sql);
if (count!=0) {
_sql = "DELETE FROM swpur WHERE swpur.swid = '" + swid + "' AND swpur.swverid = '" + swverid + "'";
delete = deleteRecords(_sql);
INGEST_MSG = "Updated: ";
}
if (lblMap.get("SOFTWARE_PURPOSE")!=null) {
if (delete!=0 || count==0) {
_sql = "INSERT INTO swpur (swid, swverid, swpurpose, userid, revdate) VALUES(?,?,?,?,?)";
pstmt = _conn.prepareStatement(_sql);
//log.log(new ToolsLogRecord(CIToolLevel.DEBUG, SPACES + "sw purpose = " + lblMap.get("SOFTWARE_PURPOSE")));
pstmt.setString(1, swid);
pstmt.setString(2, swverid);
pstmt.setString(3, lblMap.get("SOFTWARE_PURPOSE").getValue().toString());
pstmt.setString(4, _dename);
_now = new Date();
pstmt.setTimestamp(5, new Timestamp(_now.getTime()));
pstmt.executeUpdate();
pstmt.close();
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.text.recordAdded",
ProblemType.SUCCEED, INGEST_MSG + "swpur - " + swid + " / " + swverid);
_label.addProblem(lp);
okCount++;
}
}
else {
Object[] arguments = { "swpur", "SOFTWARE_PURPOSE" };
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.error.missingKeyword",
ProblemType.MISSING_MEMBER, arguments);
_label.addProblem(lp);
isFailed = true;
failCount++;
}
}
catch (SQLException e) {
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null, null,
"ingest.error.failExecution", ProblemType.EXECUTE_FAIL, "ingestSWPur");
_label.addProblem(lp);
isFailed = true;
failCount++;
}
}
/**
* Method to ingest the data into 'swonline' table
*/
public void ingestSoftwareOnlineObject(Map lblMap) {
PreparedStatement pstmt = null;
int count = 0;
int delete = 0;
try {
INGEST_MSG = "Inserted: ";
String swid = null;
if (lblMap.get("SOFTWARE_ID")!=null)
swid = lblMap.get("SOFTWARE_ID").getValue().toString();
String swverid = null;
if (lblMap.get("SOFTWARE_VERSION_ID")!=null)
swverid = lblMap.get("SOFTWARE_VERSION_ID").getValue().toString();
String platform = null;
if (lblMap.get("PLATFORM")!=null)
platform = lblMap.get("PLATFORM").getValue().toString();
String nodeId = null;
String onlineName = null;
String onlineId = null;
String protocolType = null;
if (lblMap.get("NODE_ID")!=null)
nodeId = collapse(lblMap.get("NODE_ID").getValue().toString());
if (lblMap.get("ON_LINE_NAME")!=null)
onlineName = collapse(lblMap.get("ON_LINE_NAME").getValue().toString());
if (lblMap.get("ON_LINE_IDENTIFICATION")!=null)
onlineId = collapse(lblMap.get("ON_LINE_IDENTIFICATION").getValue().toString());
if (lblMap.get("PROTOCOL_TYPE")!=null)
protocolType = lblMap.get("PROTOCOL_TYPE").getValue().toString();
if (swid==null || swverid==null || platform==null || nodeId==null ||
onlineName==null || onlineId==null || protocolType==null) {
Object[] arguments = { "swonline", "SOFTWARE_ID,SOFTWARE_VERSION_ID,NODE_ID,ON_LINE_NAME," +
"ON_LINE_IDENTIFICATION,PROTOCOL_TYPE,PLATFORM" };
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.error.missingKeywords",
ProblemType.MISSING_MEMBER, arguments);
_label.addProblem(lp);
isFailed = true;
failCount++;
}
else {
// select swonline.* from swonline where swonline.swid = swid and swonline.swverid = swverid order by swonline.onlinenm
// delete from swonline where swonline.swid = swid and swonline.swverid = swverid
_sql = "SELECT swonline.* FROM swonline WHERE swonline.swid = '" + swid + "' AND swonline.swverid = '" + swverid +
"' AND swonline.platform = '" + platform + "' order by swonline.onlinenm";
count = getRowCount(_sql);
if (count!=0) {
_sql = "DELETE FROM swonline WHERE swonline.swid = '" + swid + "'AND swonline.swverid = '" + swverid +
"' AND swonline.platform = '" + platform + "'";
delete = deleteRecords(_sql);
INGEST_MSG = "Updated: ";
}
if (delete!=0 || count==0) {
_sql = "INSERT INTO swonline (swid, swverid, nodeid, onlinenm, onlineid, protocoltype, platform, userid, revdate) " +
"VALUES (?,?,?,?,?,?,?,?,?)";
pstmt = _conn.prepareStatement(_sql);
/*
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, "sw id = " + swid));
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, "sw verid = " + swverid));
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, "node id = " + nodeId));
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, "online name = " + onlineName));
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, "online id = " + onlineId));
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, "protocol type = " + protocolType));
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, "platform = " + platform));
*/
pstmt.setString(1, swid);
pstmt.setString(2, swverid);
pstmt.setString(3, nodeId);
pstmt.setString(4, onlineName);
pstmt.setString(5, onlineId);
pstmt.setString(6, protocolType);
pstmt.setString(7, platform);
pstmt.setString(8, _dename);
_now = new Date();
pstmt.setTimestamp(9, new Timestamp(_now.getTime()));
pstmt.executeUpdate();
pstmt.close();
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.text.recordAdded",
ProblemType.SUCCEED, INGEST_MSG + "swonline - " + swid + " / " + swverid);
_label.addProblem(lp);
okCount++;
}
}
}
catch (SQLException e) {
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null, null,
"ingest.error.failExecution", ProblemType.EXECUTE_FAIL, "ingestSoftwareOnlineObject");
_label.addProblem(lp);
isFailed = true;
failCount++;
}
}
/**
* Method to ingest TARGET object
*/
public void ingestTargetObject(Map lblMap) {
ingestTargetD(lblMap);
ingestTargetDoc(lblMap);
ingestTargetInfo(lblMap);
}
/**
* Method to ingest the data into 'targetd' table
*/
protected void ingestTargetD(Map lblMap) {
PreparedStatement pstmt = null;
int count = 0;
int delete = 0;
try {
String targetName = null;
INGEST_MSG = "Inserted: ";
if (lblMap.get("TARGET_NAME")!=null)
targetName = collapse(lblMap.get("TARGET_NAME").getValue().toString());
else {
Object[] arguments = { "targetd", "TARGET_NAME" };
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.error.missingKeyword",
ProblemType.MISSING_MEMBER, arguments);
_label.addProblem(lp);
isFailed = true;
failCount++;
return;
}
// select targetd.* from targetd where targetd.targname = get("TARGET_NAME")
// delete from targetd where targetd.targname = get("TARGET_NAME")
_sql = "SELECT targetd.* FROM targetd WHERE targetd.targname = '" + targetName + "'";
count = getRowCount(_sql);
if (count!=0) {
_sql = "DELETE FROM targetd WHERE targetd.targname = '" + targetName + "'";
delete = deleteRecords(_sql);
INGEST_MSG = "Updated: ";
}
if (lblMap.get("TARGET_DESC")!=null) {
if (delete!=0 ||count==0) {
// Session.DENAME from Application.cfm (currently set to "rjoyner"
// TARGET_NAME, TARGET_DESCRIPTION, rowcount, session user, now()
_sql = "INSERT INTO targetd (targname, targetd, tupseqnum, userid, revdate) VALUES(?,?,?,?,?)";
pstmt = _conn.prepareStatement(_sql);
String[] descStr = rtrim(lblMap.get("TARGET_DESC").getValue().toString()).split("\n");
for (int i=0; i lblMap) {
PreparedStatement pstmt = null;
int count = 0;
int delete = 0;
try {
String targetName = null;
INGEST_MSG = "Inserted: ";
if (lblMap.get("TARGET_NAME")!=null)
targetName = collapse(lblMap.get("TARGET_NAME").getValue().toString());
else {
Object[] arguments = { "targetinfo", "TARGET_NAME" };
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.error.missingKeyword",
ProblemType.MISSING_MEMBER, arguments);
_label.addProblem(lp);
isFailed = true;
failCount++;
return;
}
// select targetinfo.* from targetinfo where targetinfo.targname = lblMap.get("TARGET_NAME")
// delete from targetinfo where targetinfo.targname = get("TARGET_NAME")
_sql = "SELECT targetinfo.* FROM targetinfo WHERE targetinfo.targname = '" + targetName + "'";
count = getRowCount(_sql);
if (count!=0) {
_sql = "DELETE FROM targetinfo WHERE targetinfo.targname = '" + targetName + "'";
delete = deleteRecords(_sql);
INGEST_MSG = "Updated: ";
}
String primBodyname = null;
String orbDirection = null;
String rotDirection = null;
String targetType = null;
String lblRevisionNote = null;
if (lblMap.get("PRIMARY_BODY_NAME")!=null)
primBodyname = lblMap.get("PRIMARY_BODY_NAME").getValue().toString();
if (lblMap.get("ORBIT_DIRECTION")!=null)
orbDirection = lblMap.get("ORBIT_DIRECTION").getValue().toString();
if (lblMap.get("ROTATION_DIRECTION")!=null)
rotDirection = lblMap.get("ROTATION_DIRECTION").getValue().toString();
if (lblMap.get("TARGET_TYPE")!=null)
targetType = lblMap.get("TARGET_TYPE").getValue().toString();
if (lblMap.get("LABEL_REVISION_NOTE")!=null)
lblRevisionNote = lblMap.get("LABEL_REVISION_NOTE").getValue().toString().trim();
if (primBodyname==null || orbDirection==null || rotDirection==null ||
targetType==null || lblRevisionNote==null) {
Object[] arguments = { "targetinfo", "PRIMARY_BODY_NAME,ORBIT_DIRECTION,ROTATION_DIRECTION," +
"TARGET_TYPE,LABEL_REVISION_NOTE" };
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.error.missingKeyword",
ProblemType.MISSING_MEMBER, arguments);
_label.addProblem(lp);
isFailed = true;
failCount++;
}
else {
if (delete!=0 || count==0) {
// TARGET_NAME, PRIMARY_BODY_NAME, ORBIT_DIRECTION, ROTATION_DIRECTION, TARGET_TYPE, UNK, UNK, LABEL_REVISION_NOTE, Session.DENAME, now()
_sql = "INSERT INTO targetinfo (targname, primbodyname, orbdir, rotdir, targtype, targtersedesc, sbntarglocator, " +
"labelrevnote, userid, revdate) VALUES(?,?,?,?,?,?,?,?,?,?)";
pstmt = _conn.prepareStatement(_sql);
/*
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, "target_name = "+ targetName));
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, "target type = " + targetType));
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, "primary body name = " + primBodyname));
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, "orbit_direction = " + orbDirection));
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, "rotation direction = " + rotDirection));
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, "label revision note = " + lblRevisionNote));
*/
pstmt.setString(1, targetName);
pstmt.setString(2, primBodyname);
pstmt.setString(3, orbDirection);
pstmt.setString(4, rotDirection);
pstmt.setString(5, targetType);
pstmt.setString(6, "UNK");
pstmt.setString(7, "UNK");
pstmt.setString(8, lblRevisionNote);
pstmt.setString(9, _dename);
_now = new Date();
pstmt.setTimestamp(10, new Timestamp(_now.getTime()));
pstmt.executeUpdate();
pstmt.close();
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.text.recordAdded",
ProblemType.SUCCEED, INGEST_MSG + "targetinfo - " + targetName);
_label.addProblem(lp);
okCount++;
standardValueMap.put("targetinfo.targname", targetName);
standardValueMap.put("targetinfo.orbdir", orbDirection);
standardValueMap.put("targetinfo.primbodyname", primBodyname);
standardValueMap.put("targetinfo.rotdir", rotDirection);
standardValueMap.put("targetinfo.targtype", targetType);
}
}
}
catch (SQLException e) {
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null, null,
"ingest.error.failExecution", ProblemType.EXECUTE_FAIL, "ingestTargetInfo");
_label.addProblem(lp);
isFailed = true;
failCount++;
}
}
/**
* Method to ingest the data into 'targetdoc' table
*/
protected void ingestTargetDoc(Map lblMap) {
PreparedStatement pstmt = null;
int count = 0;
int delete = 0;
try {
String targetName = null;
INGEST_MSG = "Inserted: ";
if (lblMap.get("TARGET_NAME")!=null)
targetName = collapse(lblMap.get("TARGET_NAME").getValue().toString());
else {
Object[] arguments = { "targetdoc", "TARGET_NAME" };
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.error.missingKeyword",
ProblemType.MISSING_MEMBER, arguments);
_label.addProblem(lp);
isFailed = true;
failCount++;
return;
}
// optional
// select targetdoc.* from targetdoc where targetdoc.targname = get("TARGET_NAME")
// delete from targetdoc where targetdoc.targname = get("TARGET_NAME")
_sql = "SELECT targetdoc.* FROM targetdoc WHERE targetdoc.targname = '" + targetName + "'";
count = getRowCount(_sql);
if (count!=0) {
_sql = "DELETE FROM targetdoc WHERE targetdoc.targname = '" + targetName + "'";
delete = deleteRecords(_sql);
INGEST_MSG = "Updated: ";
}
String refkeyid = null;
if (lblMap.get("REFERENCE_KEY_ID")!=null) {
refkeyid = lblMap.get("REFERENCE_KEY_ID").getValue().toString();
if (delete!=0 || count==0) {
// TARGET_NAME, REFERENCE_KEY_ID, Session.DENAME, now()
_sql = "INSERT INTO targetdoc (targname, refkeyid, userid, revdate) VALUES(?,?,?,?)";
pstmt = _conn.prepareStatement(_sql);
//log.log(new ToolsLogRecord(CIToolLevel.DEBUG, "reference key id = " + lblMap.get("REFERENCE_KEY_ID")));
pstmt.setString(1, targetName);
pstmt.setString(2, refkeyid);
pstmt.setString(3, _dename);
_now = new Date();
pstmt.setTimestamp(4, new Timestamp(_now.getTime()));
pstmt.executeUpdate();
pstmt.close();
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.text.recordAdded",
ProblemType.SUCCEED, INGEST_MSG + "targetdoc - " + refkeyid);
_label.addProblem(lp);
okCount++;
}
}
}
catch (SQLException e) {
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null, null,
"ingest.error.failExecution", ProblemType.EXECUTE_FAIL, "ingestTargetDoc");
_label.addProblem(lp);
isFailed = true;
failCount++;
}
}
/**
* Method to ingest VOLUME object
*/
public void ingestVolumeObject(Map lblMap) {
ingestVolDS(lblMap);
ingestVolDesc(lblMap);
ingestVolInfo(lblMap);
ingestVolSetInfo(lblMap);
ingestVolSerSet(lblMap);
ingestVolSerInfo(lblMap);
}
/**
* Method to ingest the data into 'volds' table
*/
protected void ingestVolDS(Map lblMap) {
PreparedStatement pstmt = null;
int count = 0;
int delete = 0;
try {
INGEST_MSG = "Inserted: ";
String volsetid = null;
if (lblMap.get("VOLUME_SET_ID")!=null)
volsetid = lblMap.get("VOLUME_SET_ID").getValue().toString();
String volid = null;
if (lblMap.get("VOLUME_ID")!=null)
volid = lblMap.get("VOLUME_ID").getValue().toString();
if (volsetid==null || volid==null) {
Object[] arguments = { "volds", "VOLUME_SET_ID,VOLUME_ID" };
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.error.missingKeyword",
ProblemType.MISSING_MEMBER, arguments);
_label.addProblem(lp);
isFailed = true;
failCount++;
return;
}
// select volds.* from volds where volds.volumesetid = get("VOLUME_SET_ID") and volds.volumeid = get("VOLUME_ID")
// delete from volds where volds.volumesetid = get("VOLUME_SET_ID") and volds.volumeid = get("VOLUME_ID")
_sql = "SELECT volds.* FROM volds WHERE volds.volumesetid = '" + volsetid + "' AND volds.volumeid = '" + volid + "'";
count = getRowCount(_sql);
if (count!=0) {
_sql = "DELETE FROM volds WHERE volds.volumesetid = '" + volsetid + "' AND volds.volumeid = '" + volid + "'";
delete = deleteRecords(_sql);
INGEST_MSG = "Updated: ";
}
String dsid = null;
if (lblMap.get("DATA_SET_COLL_OR_DATA_SET_ID")!=null)
dsid = lblMap.get("DATA_SET_COLL_OR_DATA_SET_ID").getValue().toString();
if (lblMap.get("DATA_SET_ID")!=null)
dsid = lblMap.get("DATA_SET_ID").getValue().toString();
if (dsid!=null) {
if (delete!=0 || count==0) {
_sql = "INSERT INTO volds (volumesetid, volumeid, dscolldsid, dscatflag, userid, revdate) VALUES(?,?,?,?,?,?)";
pstmt = _conn.prepareStatement(_sql);
//log.log(new ToolsLogRecord(CIToolLevel.DEBUG, SPACES + "volume set id = " + volsetid));
//log.log(new ToolsLogRecord(CIToolLevel.DEBUG, SPACES + "volume id = " + volid));
//log.log(new ToolsLogRecord(CIToolLevel.DEBUG, SPACES + "ds coll dsid = " + dsid));
pstmt.setString(1, volsetid);
pstmt.setString(2, volid);
pstmt.setString(3, dsid);
pstmt.setString(4, "Y");
pstmt.setString(5, _dename);
_now = new Date();
pstmt.setTimestamp(6, new Timestamp(_now.getTime()));
pstmt.executeUpdate();
pstmt.close();
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.text.recordAdded",
ProblemType.SUCCEED, INGEST_MSG + "volds - " + volid + " / " + dsid);
_label.addProblem(lp);
okCount++;
}
}
else {
Object[] arguments = { "volds", "DATA_SET_ID,DATA_SET_COLL_OR_DATA_SET_ID" };
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.error.missingKeyword",
ProblemType.MISSING_MEMBER, arguments);
_label.addProblem(lp);
isFailed = true;
failCount++;
}
}
catch (SQLException e) {
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null, null,
"ingest.error.failExecution", ProblemType.EXECUTE_FAIL, "ingestVolDS");
_label.addProblem(lp);
isFailed = true;
failCount++;
}
}
/**
* Method to ingest the data into 'voldesc' table
*/
protected void ingestVolDesc(Map lblMap) {
PreparedStatement pstmt = null;
int count = 0;
int delete = 0;
try {
INGEST_MSG = "Inserted: ";
String volsetid = null;
if (lblMap.get("VOLUME_SET_ID")!=null)
volsetid = lblMap.get("VOLUME_SET_ID").getValue().toString();
String volid = null;
if (lblMap.get("VOLUME_ID")!=null)
volid = lblMap.get("VOLUME_ID").getValue().toString();
if (volsetid==null || volid==null) {
Object[] arguments = { "voldesc", "VOLUME_SET_ID,VOLUME_ID" };
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.error.missingKeyword",
ProblemType.MISSING_MEMBER, arguments);
_label.addProblem(lp);
isFailed = true;
failCount++;
return;
}
// select voldesc.* from voldesc where voldesc.volumesetid = get("VOLUME_SET_ID") and
// voldesc.volumeid = get("VOLUME_ID")
// delete from voldesc where voldesc.volumesetid = get("VOLUME_SET_ID") and voldesc.volumeid = get("VOLUME_ID")
_sql = "SELECT voldesc.* FROM voldesc WHERE voldesc.volumesetid = '" + volsetid + "' AND voldesc.volumeid = '" +
volid + "'";
count = getRowCount(_sql);
if (count!=0) {
_sql = "DELETE FROM voldesc WHERE voldesc.volumesetid = '" + volsetid + "' AND voldesc.volumeid = '" +
volid + "'";
delete = deleteRecords(_sql);
INGEST_MSG = "Updated: ";
}
if (lblMap.get("DESCRIPTION")!=null) {
if (delete!=0 || count==0) {
_sql = "INSERT INTO voldesc (volumesetid, volumeid, volumedesc, tupseqnum, userid, revdate) VALUES(?,?,?,?,?,?)";
pstmt = _conn.prepareStatement(_sql);
String[] descStr = rtrim(lblMap.get("DESCRIPTION").getValue().toString()).split("\n");
for (int i=0; i lblMap) {
PreparedStatement pstmt = null;
int count = 0;
int delete = 0;
try {
INGEST_MSG = "Inserted: ";
String volsetid = null;
if (lblMap.get("VOLUME_SET_ID")!=null)
volsetid = lblMap.get("VOLUME_SET_ID").getValue().toString();
String volid = null;
if (lblMap.get("VOLUME_ID")!=null)
volid = lblMap.get("VOLUME_ID").getValue().toString();
if (volsetid==null || volid==null) {
Object[] arguments = { "volinfo", "VOLUME_SET_ID,VOLUME_ID" };
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.error.missingKeyword",
ProblemType.MISSING_MEMBER, arguments);
_label.addProblem(lp);
isFailed = true;
failCount++;
return;
}
// select volinfo.* from volinfo where volinfo.volumesetid = volsetid and volinfo.volumeid = volid
// delete from volinfo where volinfo.volumesetid = volsetid and volinfo.volumeid = volid
_sql = "SELECT volinfo.* FROM volinfo WHERE volinfo.volumesetid = '" + volsetid +
"' AND volinfo.volumeid = '" + volid + "'";
count = getRowCount(_sql);
if (count!=0) {
_sql = "DELETE FROM volinfo WHERE volinfo.volumesetid = '" + volsetid + "' AND volinfo.volumeid = '" +
volid + "'";
delete = deleteRecords(_sql);
INGEST_MSG = "Updated: ";
}
String volname = null;
String volverid = null;
String volformat = null;
String pubDate = null;
String mediumType = null;
String lblRevisionNote = null;
if (lblMap.get("VOLUME_NAME")!=null)
volname = collapse(lblMap.get("VOLUME_NAME").getValue().toString());
if (lblMap.get("VOLUME_VERSION_ID")!=null)
volverid = lblMap.get("VOLUME_VERSION_ID").getValue().toString();
if (lblMap.get("VOLUME_FORMAT")!=null)
volformat = lblMap.get("VOLUME_FORMAT").getValue().toString();
if (lblMap.get("PUBLICATION_DATE")!=null)
pubDate = lblMap.get("PUBLICATION_DATE").getValue().toString();
if (lblMap.get("MEDIUM_TYPE")!=null)
mediumType = lblMap.get("MEDIUM_TYPE").getValue().toString();
if (lblMap.get("LABEL_REVISION_NOTE")!=null)
lblRevisionNote = lblMap.get("LABEL_REVISION_NOTE").getValue().toString().trim();
else
lblRevisionNote = "NULL";
if (volname==null || volverid==null || volformat==null ||
pubDate==null || mediumType==null) {
//|| lblRevisionNote==null) { // Betty this keyword is no longer required (email from betty on 12/2/10)
Object[] arguments = { "volinfo", "VOLUME_NAME,VOLUME_VERSION_ID,VOLUME_FORAMT,PUBLICATION_DATE," +
"MEDIUM_TYPE" };
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.error.missingKeywords",
ProblemType.MISSING_MEMBER, arguments);
_label.addProblem(lp);
isFailed = true;
failCount++;
}
else {
if (delete!=0 || count==0) {
_sql = "INSERT INTO volinfo (volumesetid, volumeid, volumename, volumeverid, volumeformat, publdate, mediumtype, " +
"labelrevnote, userid, revdate) VALUES(?,?,?,?,?,?,?,?,?,?)";
pstmt = _conn.prepareStatement(_sql);
/*
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, "volume name = " + volname));
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, "volume ver id = " + volverid));
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, "volume format = " + volformat));
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, "publication date = " + pubDate));
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, "medium type = " + mediumType));
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, "label rev note = " + lblRevisionNote));
*/
pstmt.setString(1, volsetid);
pstmt.setString(2, volid);
pstmt.setString(3, volname);
pstmt.setString(4, volverid);
pstmt.setString(5, volformat);
pstmt.setString(6, pubDate);
pstmt.setString(7, mediumType);
pstmt.setString(8, lblRevisionNote);
pstmt.setString(9, _dename);
_now = new Date();
pstmt.setTimestamp(10, new Timestamp(_now.getTime()));
pstmt.executeUpdate();
pstmt.close();
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.text.recordAdded",
ProblemType.SUCCEED, INGEST_MSG + "volinfo - " + volsetid + " / " + volid);
_label.addProblem(lp);
okCount++;
standardValueMap.put("volinfo.volumesetid", volsetid);
standardValueMap.put("volinfo.mediumtype", mediumType);
}
}
}
catch (SQLException e) {
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null, null,
"ingest.error.failExecution", ProblemType.EXECUTE_FAIL, "ingestVolInfo");
_label.addProblem(lp);
isFailed = true;
failCount++;
}
}
/**
* Method to ingest the data into 'volsetinfo' table
*/
protected void ingestVolSetInfo(Map lblMap) {
PreparedStatement pstmt = null;
int count = 0;
int delete = 0;
try {
INGEST_MSG = "Inserted: ";
String volsetid = null;
if (lblMap.get("VOLUME_SET_ID")!=null)
volsetid = lblMap.get("VOLUME_SET_ID").getValue().toString();
String volsetnm = null;
if (lblMap.get("VOLUME_SET_NAME")!=null)
volsetnm = collapse(lblMap.get("VOLUME_SET_NAME").getValue().toString());
if (volsetid==null || volsetnm==null) {
Object[] arguments = { "volsetinfo", "VOLUME_SET_ID,VOLUME_ID" };
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.error.missingKeyword",
ProblemType.MISSING_MEMBER, arguments);
_label.addProblem(lp);
isFailed = true;
failCount++;
return;
}
// select volsetinfo.* from volsetinfo where volsetinfo.volumesetid = volsetid and volsetinfo.volumesetnm = volsetname
// delete from volsetinfo where volsetinfo.volumesetid = volsetid and volsetinfo.volsetnm = volsetnm
_sql = "SELECT volsetinfo.* FROM volsetinfo WHERE volsetinfo.volumesetid = '" + volsetid +
"' AND volsetinfo.volumesetnm = '" + volsetnm + "'";
count = getRowCount(_sql);
if (count!=0) {
_sql = "DELETE FROM volsetinfo WHERE volsetinfo.volumesetid = '" + volsetid + "' AND volsetinfo.volumesetnm = '" +
volsetnm + "'";
delete = deleteRecords(_sql);
INGEST_MSG = "Updated: ";
}
String volumes = null;
if (lblMap.get("VOLUMES")!=null) {
volumes = collapse(lblMap.get("VOLUMES").getValue().toString());
if (!Character.isDigit(volumes.charAt(0))) {
Object[] arguments = { "VOLUMES", "NUMBER" };
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null, null,
"ingest.error.invalidType", ProblemType.EXECUTE_FAIL, arguments);
_label.addProblem(lp);
isFailed = true;
failCount++;
return;
}
if (delete!=0 || count==0) {
_sql = "INSERT INTO volsetinfo (volumesetid, volumesetnm, volumes, userid, revdate) VALUES(?,?,?,?,?)";
pstmt = _conn.prepareStatement(_sql);
//log.log(new ToolsLogRecord(CIToolLevel.DEBUG, "vol set name = " + volsetnm));
//log.log(new ToolsLogRecord(CIToolLevel.DEBUG, "volumes = " + volumes));
pstmt.setString(1, volsetid);
pstmt.setString(2, volsetnm);
pstmt.setShort(3, (short)(Short.parseShort(volumes)));
pstmt.setString(4, _dename);
_now = new Date();
pstmt.setTimestamp(5, new Timestamp(_now.getTime()));
pstmt.executeUpdate();
pstmt.close();
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.text.recordAdded",
ProblemType.SUCCEED, INGEST_MSG + "volsetinfo - " + volsetid);
_label.addProblem(lp);
okCount++;
standardValueMap.put("volsetinfo.volumesetnm", volsetnm);
}
}
else {
Object[] arguments = { "volsetinfo", "VOLUMES" };
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.error.missingKeyword",
ProblemType.MISSING_MEMBER, arguments);
_label.addProblem(lp);
isFailed = true;
failCount++;
}
}
catch (SQLException e) {
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null, null,
"ingest.error.failExecution", ProblemType.EXECUTE_FAIL, "ingestVolSetInfo");
_label.addProblem(lp);
isFailed = true;
failCount++;
}
}
/**
* Method to ingest the data into 'volserset' table
*/
protected void ingestVolSerSet(Map lblMap) {
PreparedStatement pstmt = null;
int count = 0;
int delete = 0;
try {
INGEST_MSG = "Inserted: ";
String volsetid = null;
if (lblMap.get("VOLUME_SET_ID")!=null)
volsetid = lblMap.get("VOLUME_SET_ID").getValue().toString();
else {
Object[] arguments = { "volserset", "VOLUME_SET_ID" };
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.error.missingKeyword",
ProblemType.MISSING_MEMBER, arguments);
_label.addProblem(lp);
isFailed = true;
failCount++;
return;
}
String volsernm = collapse(lblMap.get("VOLUME_SERIES_NAME").getValue().toString());
// select volserset.* from volserset where volserset.volumesernm = volsernm and volserset.volumesetid = volsetid
// delete from volserset where volserset.volumesernm = volsernm and volserset.volumesetid = volsetid
_sql = "SELECT volserset.* FROM volserset WHERE volserset.volumesernm = '" + volsernm +
"' AND volserset.volumesetid = '" + volsetid + "'";
count = getRowCount(_sql);
if (count!=0) {
_sql = "DELETE FROM volserset WHERE volserset.volumesernm = '" + volsernm + "' AND volserset.volumesetid = '" +
volsetid + "'";
delete = deleteRecords(_sql);
INGEST_MSG = "Updated: ";
}
if (volsernm!=null) {
if (delete!=0 || count==0) {
_sql = "INSERT INTO volserset (volumesernm, volumesetid, userid, revdate) VALUES(?,?,?,?)";
pstmt = _conn.prepareStatement(_sql);
//log.log(new ToolsLogRecord(CIToolLevel.DEBUG, SPACES + "vol series name = " + volsernm));
pstmt.setString(1, volsernm);
pstmt.setString(2, volsetid);
pstmt.setString(3, _dename);
_now = new Date();
pstmt.setTimestamp(4, new Timestamp(_now.getTime()));
pstmt.executeUpdate();
pstmt.close();
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.text.recordAdded",
ProblemType.SUCCEED, INGEST_MSG + "volserset - " + volsetid);
_label.addProblem(lp);
okCount++;
}
}
else {
Object[] arguments = { "volserset", "VOLUME_SERIES_NAME" };
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.error.missingKeyword",
ProblemType.MISSING_MEMBER, arguments);
_label.addProblem(lp);
isFailed = true;
failCount++;
}
}
catch (SQLException e) {
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null, null,
"ingest.error.failExecution", ProblemType.EXECUTE_FAIL, "ingestVolSerSet");
_label.addProblem(lp);
isFailed = true;
failCount++;
}
}
/**
* Method to ingest the data into 'volserinfo' table
*/
protected void ingestVolSerInfo(Map lblMap) {
PreparedStatement pstmt = null;
int count = 0;
int delete = 0;
try {
INGEST_MSG = "Inserted: ";
String volsernm = null;
if (lblMap.get("VOLUME_SERIES_NAME")!=null) {
volsernm = collapse(lblMap.get("VOLUME_SERIES_NAME").getValue().toString());
// select volserinfo.* from volserinfo where volserinfo.volumesernm = volsernm
// delete from volserinfo where volserinfo.volumesernm = volsernm
_sql = "SELECT volserinfo.* FROM volserinfo WHERE volserinfo.volumesernm = '" + volsernm + "'";
count = getRowCount(_sql);
if (count!=0) {
_sql = "DELETE FROM volserinfo WHERE volserinfo.volumesernm = '" + volsernm + "'";
delete = deleteRecords(_sql);
INGEST_MSG = "Updated: ";
}
if (delete!=0 || count==0) {
_sql = "INSERT INTO volserinfo (volumesernm, volumesets, userid, revdate) VALUES(?,?,?,?)";
pstmt = _conn.prepareStatement(_sql);
pstmt.setString(1, volsernm);
pstmt.setShort(2, (short) (count+1));
pstmt.setString(3, _dename);
_now = new Date();
pstmt.setTimestamp(4, new Timestamp(_now.getTime()));
pstmt.executeUpdate();
pstmt.close();
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.text.recordAdded",
ProblemType.SUCCEED, INGEST_MSG + "volserinfo - " + volsernm);
_label.addProblem(lp);
okCount++;
standardValueMap.put("volserinfo.volumesernm", volsernm);
}
}
else {
Object[] arguments = { "volserinfo", "VOLUME_SERIES_NAME" };
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.error.missingKeyword",
ProblemType.MISSING_MEMBER, arguments);
_label.addProblem(lp);
isFailed = true;
failCount++;
}
}
catch (SQLException e) {
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null, null,
"ingest.error.failExecution", ProblemType.EXECUTE_FAIL, "ingestVolSerInfo");
_label.addProblem(lp);
isFailed = true;
failCount++;
}
}
/**
* Method to ingest the data into 'volonline' table
*/
protected void ingestVolOnline(Map lblMap) {
PreparedStatement pstmt = null;
int count = 0;
int delete = 0;
try {
INGEST_MSG = "Inserted: ";
String volsetid = null;
if (lblMap.get("VOLUME_SET_ID")!=null)
volsetid = lblMap.get("VOLUME_SET_ID").getValue().toString();
String volid = null;
if (lblMap.get("VOLUME_ID")!=null)
volid = lblMap.get("VOLUME_ID").getValue().toString();
String nodeId = null;
String onlineName = null;
String onlineId = null;
String protocolType = null;
if (lblMap.get("NODE_ID")!=null)
nodeId = lblMap.get("NODE_ID").getValue().toString();
if (lblMap.get("ON_LINE_NAME")!=null)
onlineName = collapse(lblMap.get("ON_LINE_NAME").getValue().toString());
if (lblMap.get("ON_LINE_IDENTIFICATION")!=null)
onlineId = lblMap.get("ON_LINE_IDENTIFICATION").getValue().toString();
if (lblMap.get("PROTOCOL_TYPE")!=null)
protocolType = lblMap.get("PROTOCOL_TYPE").getValue().toString();
if (volsetid==null || volid==null || nodeId==null ||
onlineName==null || onlineId==null || protocolType==null) {
Object[] arguments = { "volonline", "VOLUME_SET_ID,VOLUME_ID,NODE_ID,ON_LINE_NAME,ON_LINE_IDENTIFICATION,PROTOCOL_TYPE" };
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.error.missingKeywords",
ProblemType.MISSING_MEMBER, arguments);
_label.addProblem(lp);
/* TODO: check again...*/
//isFailed = true;
//failCount++;
}
else {
// optional
// select volonline.* from volonline where volonline.volumesetid = volsetid and volonline.volumeid = volid
// delete from volonline where volonline.volumesetid = volsetid and volonline.volumeid = volid
_sql = "SELECT volonline.* FROM volonline WHERE volonline.volumesetid = '" + volsetid +
"' AND volonline.volumeid = '" + volid + "'";
count = getRowCount(_sql);
if (count!=0) {
_sql = "DELETE FROM volonline WHERE volonline.volumesetid = '" + volsetid + "' AND volonline.volumeid = '" +
volid + "'";
delete = deleteRecords(_sql);
INGEST_MSG = "Updated: ";
}
if (delete!=0 || count==0) {
_sql = "INSERT INTO volonline (volumesetid, volumeid, nodeid, onlinenm, onlineid, protocoltype, userid, revdate) " +
"VALUES(?,?,?,?,?,?,?,?)";
pstmt = _conn.prepareStatement(_sql);
/*
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, SPACES + "VOLUME_SET_ID = " + volsetid));
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, SPACES + "VOLUME_ID = " + volid));
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, SPACES + "NODE_ID = " + nodeId));
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, SPACES + "ON_LINE_NAME = " + onlineName));
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, SPACES + "ON_LINE_IDENTIFICATION = " + onlineId));
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, SPACES + "PROTOCOL_TYPE = " + protocolType));
*/
pstmt.setString(1, volsetid);
pstmt.setString(2, volid);
pstmt.setString(3, nodeId);
pstmt.setString(4, onlineName);
pstmt.setString(5, onlineId);
pstmt.setString(6, protocolType);
pstmt.setString(7, _dename);
_now = new Date();
pstmt.setTimestamp(8, new Timestamp(_now.getTime()));
pstmt.executeUpdate();
pstmt.close();
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.text.recordAdded",
ProblemType.SUCCEED, INGEST_MSG + "volonline - " + volid + " / " + onlineId);
_label.addProblem(lp);
okCount++;
}
}
}
catch (SQLException e) {
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null, null,
"ingest.error.failExecution", ProblemType.EXECUTE_FAIL, "ingestVolOnline");
_label.addProblem(lp);
isFailed = true;
failCount++;
}
}
/**
* Method to ingest NSSDCDSID object
*/
protected void ingestNssdcdsidObject(Map lblMap) {
PreparedStatement pstmt = null;
int count = 0;
int delete = 0;
try {
INGEST_MSG = "Inserted: ";
String dscolldsid = null;
if (lblMap.get("DATA_SET_COLL_OR_DATA_SET_ID")!=null)
dscolldsid = collapse(lblMap.get("DATA_SET_COLL_OR_DATA_SET_ID").getValue().toString());
String nssdcid = null;
if (lblMap.get("NSSDC_DATA_SET_ID")!=null)
nssdcid = collapse(lblMap.get("NSSDC_DATA_SET_ID").getValue().toString());
String mediumType = null;
if (lblMap.get("MEDIUM_TYPE")!=null)
mediumType = lblMap.get("MEDIUM_TYPE").getValue().toString();
if (dscolldsid==null || nssdcid==null || mediumType==null) {
Object[] arguments = { "dsnssdc", "DATA_SET_COLL_OR_DATA_SET_ID,NSSDC_DATA_SET_ID,MEDIUM_TYPE" };
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.error.missingKeyword",
ProblemType.MISSING_MEMBER, arguments);
_label.addProblem(lp);
isFailed = true;
failCount++;
}
else {
// select dsnssdc.* from dsnssdc where dsnssdc.dscolldsid = dscolldsid and dsnssdc.nssdcdsid = nssdcdsid
// and dsnssdc.mediumtype = mediumtype
// delete from dsnssdc where dsnssdc.dscolldsid = dscolldsid and dsnssdc.nssdcdsid = nssdcid
// and dsnssdc.mediumtype = mediumtype
_sql = "SELECT dsnssdc.* FROM dsnssdc WHERE dsnssdc.dscolldsid = '" + dscolldsid + "' AND dsnssdc.nssdcdsid = '" +
nssdcid + "' AND dsnssdc.mediumtype = '" + mediumType + "'";
count = getRowCount(_sql);
if (count!=0) {
_sql = "DELETE FROM dsnssdc WHERE dsnssdc.dscolldsid = '" + dscolldsid + "' AND dsnssdc.nssdcdsid = '" +
nssdcid + "' AND dsnssdc.mediumtype = '" + mediumType + "'";
delete = deleteRecords(_sql);
INGEST_MSG = "Updated: ";
}
if (delete!=0 || count==0) {
_sql = "INSERT INTO dsnssdc (dscolldsid, nssdcdsid, mediumtype, userid, revdate) VALUES(?,?,?,?,?)";
pstmt = _conn.prepareStatement(_sql);
/*
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, SPACES + "dscoll ds id = " + dscolldsid));
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, SPACES + "nssdc ds id = " + nssdcid));
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, SPACES + "medium type = " + mediumType));
*/
pstmt.setString(1, dscolldsid);
pstmt.setString(2, nssdcid);
pstmt.setString(3, mediumType);
pstmt.setString(4, _dename);
_now = new Date();
pstmt.setTimestamp(5, new Timestamp(_now.getTime()));
pstmt.executeUpdate();
pstmt.close();
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.text.recordAdded",
ProblemType.SUCCEED, INGEST_MSG + "dsnssdc - " + dscolldsid + " / " + nssdcid + " / " + mediumType);
_label.addProblem(lp);
okCount++;
}
}
}
catch (SQLException e) {
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null, null,
"ingest.error.failExecution", ProblemType.EXECUTE_FAIL, "ingestNssdcdsidObject");
_label.addProblem(lp);
isFailed = true;
failCount++;
}
}
/**
* Method to ingest DATA_SET_RELEASE object
*/
protected void ingestDSReleaseObject(Map lblMap) {
PreparedStatement pstmt = null;
int count = 0;
int delete = 0;
try {
INGEST_MSG = "Inserted: ";
String dsid = null;
if (lblMap.get("DATA_SET_ID")!=null)
dsid = collapse(lblMap.get("DATA_SET_ID").getValue().toString());
String releaseid = null;
if (lblMap.get("RELEASE_ID")!=null)
releaseid = collapse(lblMap.get("RELEASE_ID").getValue().toString());
String releaseDate = null;
String releaseMedium = null;
String prodType = null;
String archiveStatus = null;
String releaseParamText = null;
String dataProvidername = null;
String distType = null;
String desc = null;
if (lblMap.get("RELEASE_DATE")!=null)
releaseDate = lblMap.get("RELEASE_DATE").getValue().toString();
if (lblMap.get("RELEASE_MEDIUM")!=null)
releaseMedium = lblMap.get("RELEASE_MEDIUM").getValue().toString();
if (lblMap.get("PRODUCT_TYPE")!=null)
prodType = lblMap.get("PRODUCT_TYPE").getValue().toString();
if (lblMap.get("ARCHIVE_STATUS")!=null)
archiveStatus = lblMap.get("ARCHIVE_STATUS").getValue().toString();
if (lblMap.get("RELEASE_PARAMETER_TEXT")!=null)
releaseParamText = lblMap.get("RELEASE_PARAMETER_TEXT").getValue().toString();
if (lblMap.get("DATA_PROVIDER_NAME")!=null)
dataProvidername = lblMap.get("DATA_PROVIDER_NAME").getValue().toString();
if (lblMap.get("DISTRIBUTION_TYPE")!=null)
distType = lblMap.get("DISTRIBUTION_TYPE").getValue().toString();
if (lblMap.get("DESCRIPTION")!=null)
desc = lblMap.get("DESCRIPTION").getValue().toString().trim();
if (dsid==null || releaseid==null || releaseDate==null || releaseMedium==null || prodType==null || archiveStatus==null ||
releaseParamText==null || dataProvidername==null || distType==null || desc==null) {
Object[] arguments = { "dsrelease", "DATA_SET_ID,RELEASE_ID,RELEASE_DATE,RELEASE_MEDIUM,PRODUCT_TYPE," +
"ARCHIVE_STATUS,RELEASE_PARAMETER_TEXT,DATA_PROVIDER_NAME,DISTRIBUTION_TYPE,DESCRIPTION" };
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.error.missingKeywords",
ProblemType.MISSING_MEMBER, arguments);
_label.addProblem(lp);
isFailed = true;
failCount++;
}
else {
// select dsrelease.* from dsrelease where dsrelease.dsid = dsid and dsrelease.releaseid = releaseid
// delete from dsrelease where dsrelease.dsid = dsid and dsrelease.releaseid = releaseid
_sql = "SELECT dsrelease.* FROM dsrelease WHERE dsrelease.dsid = '" + dsid + "' AND dsrelease.releaseid = '" +
releaseid + "'";
count = getRowCount(_sql);
if (count!=0) {
_sql = "DELETE FROM dsrelease WHERE dsrelease.dsid = '" + dsid + "' AND dsrelease.releaseid = '" +
releaseid + "'";
delete = deleteRecords(_sql);
INGEST_MSG = "Updated: ";
}
if (delete!=0 || count==0) {
_sql = "INSERT INTO dsrelease (dsid, releaseid, reldate, relmedium, producttype, " +
"relarchstat, relparatext, reldisplayflag, dpname, disttype, reldesc, userid, revdate) " +
"VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?)";
pstmt = _conn.prepareStatement(_sql);
pstmt.setString(1, dsid);
pstmt.setString(2, releaseid);
pstmt.setString(3, releaseDate);
pstmt.setString(4, releaseMedium);
pstmt.setString(5, prodType);
pstmt.setString(6, archiveStatus);
pstmt.setString(7, releaseParamText);
pstmt.setString(8, "N"); // reldisplayflag
pstmt.setString(9, dataProvidername);
pstmt.setString(10, distType);
pstmt.setString(11, desc);
pstmt.setString(12, "dbo"); // userid
_now = new Date();
pstmt.setTimestamp(13, new Timestamp(_now.getTime())); // revdate
pstmt.executeUpdate();
pstmt.close();
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.text.recordAdded",
ProblemType.SUCCEED, INGEST_MSG + "dsrelease - " + dsid + " / " + releaseid);
_label.addProblem(lp);
okCount++;
}
}
}
catch (SQLException e) {
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null, null,
"ingest.error.failExecution", ProblemType.EXECUTE_FAIL, "ingestDSReleaseObject");
_label.addProblem(lp);
isFailed = true;
failCount++;
}
}
/**
* Method to ingest DATA_SET_HOUSEKEEPING & RESOURCE objectsccc
*/
protected void ingestResourceObject(Map lblMap) {
ingestResDS(lblMap);
ingestResInfo(lblMap);
}
/**
* Method to ingest the data into 'resds' table
*/
protected void ingestResDS(Map lblMap) {
PreparedStatement pstmt = null;
int count = 0;
int rowCount = 0;
int delete = 0;
try {
INGEST_MSG = "Inserted: ";
String dsid = null;
if (lblMap.get("DATA_SET_ID")!=null)
dsid = collapse(lblMap.get("DATA_SET_ID").getValue().toString());
String resourceid = null;
if (lblMap.get("RESOURCE_ID")!=null)
resourceid = collapse(lblMap.get("RESOURCE_ID").getValue().toString());
if (dsid==null || resourceid==null) {
Object[] arguments = { "resds", "DATA_SET_ID,RESOURCE_ID" };
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.error.missingKeywords",
ProblemType.MISSING_MEMBER, arguments);
_label.addProblem(lp);
isFailed = true;
failCount++;
}
else {
// select resds.* from resds where resds.dsid = dsid and resds.resourceid = resourceid
// delete from resds where resds.dsid = dsid and resds.resourceid = resourceid
_sql = "SELECT resds.* FROM resds WHERE resds.dsid = '" + dsid + "' AND resds.resourceid = '" + resourceid + "'";
count = getRowCount(_sql);
if (count!=0) {
_sql = "DELETE FROM resds WHERE resds.dsid = '" + dsid + "' AND resds.resourceid = '" + resourceid + "'";
delete = deleteRecords(_sql);
INGEST_MSG = "Updated: ";
}
if (delete!=0 || count==0) {
_sql = "INSERT INTO resds (resourceid, dsid, userid, revdate) VALUES(?,?,?,?)";
pstmt = _conn.prepareStatement(_sql);
//log.log(new ToolsLogRecord(CIToolLevel.DEBUG, SPACES + "dsid = " + dsid));
//log.log(new ToolsLogRecord(CIToolLevel.DEBUG, SPACES + "resource id = " + resourceid));
pstmt.setString(1, resourceid);
pstmt.setString(2, dsid);
pstmt.setString(3, "dbo");
_now = new Date();
pstmt.setTimestamp(4, new Timestamp(_now.getTime()));
rowCount = pstmt.executeUpdate();
pstmt.close();
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.text.recordAdded",
ProblemType.SUCCEED, INGEST_MSG + "resds - " + dsid + " / " + resourceid);
_label.addProblem(lp);
okCount++;
}
}
}
catch (SQLException e) {
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null, null,
"ingest.error.failExecution", ProblemType.EXECUTE_FAIL, "ingestResDS");
_label.addProblem(lp);
isFailed = true;
failCount++;
}
}
/**
* Method to ingest the data into 'resinfo' table
*/
protected void ingestResInfo(Map lblMap) {
PreparedStatement pstmt = null;
int count = 0;
int rowCount = 0;
int delete = 0;
try {
INGEST_MSG = "Inserted: ";
String dsid = null;
if (lblMap.get("DATA_SET_ID")!=null)
dsid = collapse(lblMap.get("DATA_SET_ID").getValue().toString());
String resourceid = null;
if (lblMap.get("RESOURCE_ID")!=null)
resourceid = collapse(lblMap.get("RESOURCE_ID").getValue().toString());
String resname = null;
String resdesc = null;
String resclass = null;
String resstatus = null;
String reslink = null;
String labelnote = null;
String curatingnodeid = null;
if (lblMap.get("RESOURCE_NAME")!=null)
resname = lblMap.get("RESOURCE_NAME").getValue().toString();
if (lblMap.get("DESCRIPTION")!=null)
resdesc = lblMap.get("DESCRIPTION").getValue().toString().trim();
if (lblMap.get("RESOURCE_CLASS")!=null)
resclass = lblMap.get("RESOURCE_CLASS").getValue().toString();
if (lblMap.get("RESOURCE_STATUS")!=null)
resstatus = lblMap.get("RESOURCE_STATUS").getValue().toString();
if (lblMap.get("RESOURCE_LINK")!=null)
reslink = lblMap.get("RESOURCE_LINK").getValue().toString().trim();
if (lblMap.get("LABEL_REVISION_NOTE")!=null)
labelnote = lblMap.get("LABEL_REVISION_NOTE").getValue().toString().trim();
if (lblMap.get("CURATING_NODE_ID")!=null)
curatingnodeid = lblMap.get("CURATING_NODE_ID").getValue().toString();
if (dsid==null || resourceid==null || resname==null || resdesc==null || resclass==null || resstatus==null || reslink==null) {
Object[] arguments = { "resinfo", "DATA_SET_ID,CURATING_NODE_ID,RESOURCE_ID,RESOURCE_NAME,RESOURCE_CLASS," +
"RESOURCE_STATUS,RESOURCE_LINK,DESCRIPTION" };
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.error.missingKeywords",
ProblemType.MISSING_MEMBER, arguments);
_label.addProblem(lp);
isFailed = true;
failCount++;
}
else {
// select resinfo.* from resinfo where resinfo.resourceid = resourceid
// delete from resinfo where resinfo.resourceid = resourceid
_sql = "SELECT resinfo.* FROM resinfo WHERE resinfo.resourceid = '" + resourceid + "'";
count = getRowCount(_sql);
if (count!=0) {
_sql = "DELETE FROM resinfo WHERE resinfo.resourceid = '" + resourceid + "'";
delete = deleteRecords(_sql);
INGEST_MSG = "Updated: ";
}
if (delete!=0 || count==0) {
_sql = "INSERT INTO resinfo (resourceid, resname, resdesc, resclass, resstatus, reslink, labelrevnote, userid, revdate) " +
"VALUES(?,?,?,?,?,?,?,?,?)";
pstmt = _conn.prepareStatement(_sql);
/*
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, SPACES + "resname = " + resname));
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, SPACES + "resdesc = " + resdesc));
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, SPACES + "resclass = " + resclass));
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, SPACES + "res status = " + resstatus));
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, SPACES + "res link = " + reslink));
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, SPACES + "label rev note = " + labelnote));
*/
pstmt.setString(1, resourceid);
pstmt.setString(2, resname);
pstmt.setString(3, resdesc);
pstmt.setString(4, resclass);
pstmt.setString(5, resstatus);
pstmt.setString(6, reslink);
pstmt.setString(7, labelnote);
pstmt.setString(8, "dbo");
_now = new Date();
pstmt.setTimestamp(9, new Timestamp(_now.getTime()));
rowCount = pstmt.executeUpdate();
pstmt.close();
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.text.recordAdded",
ProblemType.SUCCEED, INGEST_MSG + "resinfo - " + dsid + " / " + resourceid);
_label.addProblem(lp);
okCount++;
// update "curating_node_id" in dsinfo
/*_sql = "UPDATE dsinfo SET curatingndid=?, revdate=? WHERE dsinfo.dsid = ?";
pstmt = _conn.prepareStatement(_sql);
pstmt.setString(1, curatingnodeid);
pstmt.setTimestamp(2, new Timestamp(_now.getTime()));
pstmt.setString(3, dsid);
rowCount = pstmt.executeUpdate();
pstmt.close();
*/
}
}
}
catch (SQLException e) {
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null, null,
"ingest.error.failExecution", ProblemType.EXECUTE_FAIL, "ingestResInfo");
_label.addProblem(lp);
isFailed = true;
failCount++;
}
}
/**
* Method to ingest ELEMENT_DEFINITION object
*/
protected void ingestElemDefObject(Map lblMap) {
ingestDDColD(lblMap);
ingestDDFormRule(lblMap);
ingestDDSysClass(lblMap);
ingestDDGenClass(lblMap);
ingestDDCol(lblMap);
}
/**
* Method to ingest the data into 'ddcol' table
*/
protected void ingestDDCol(Map lblMap) {
PreparedStatement pstmt = null;
int count = 0;
int delete = 0;
try {
INGEST_MSG = "Inserted: ";
String colname = null;
if (lblMap.get("ELEMENT_NAME")!=null)
colname = lblMap.get("ELEMENT_NAME").getValue().toString().trim();
String blname = null;
if (lblMap.get("BL_NAME")!=null)
blname = lblMap.get("BL_NAME").getValue().toString().trim();
String tersename = null;
String genclasstype = null;
String unitId = null;
String stdvaltype = null;
String max = null;
String min = null;
String maxLen = null;
String minLen = null;
String changedate = null;
String statusType = null;
String sourcename = null;
String sqlfmt = null;
String blsqlfmt = null;
String dispfmt = null;
String stdvaloutflag = null;
String txtflag = null;
String availableValtype = null;
String keywordDefvalue = null;
String lblnote = null;
if (lblMap.get("TERSE_NAME")!=null)
tersename = collapse(lblMap.get("TERSE_NAME").getValue().toString());
if (lblMap.get("GENERAL_CLASSIFICATION_TYPE")!=null)
genclasstype = lblMap.get("GENERAL_CLASSIFICATION_TYPE").getValue().toString();
if (lblMap.get("UNIT_ID")!=null)
unitId = lblMap.get("UNIT_ID").getValue().toString();
if (lblMap.get("STANDARD_VALUE_TYPE")!=null)
stdvaltype = lblMap.get("STANDARD_VALUE_TYPE").getValue().toString();
if (lblMap.get("MAXIMUM")!=null)
max = collapse(lblMap.get("MAXIMUM").getValue().toString());
if (lblMap.get("MINIMUM")!=null)
min = collapse(lblMap.get("MINIMUM").getValue().toString());
if (lblMap.get("MAXIMUM_LENGTH")!=null)
maxLen = collapse(lblMap.get("MAXIMUM_LENGTH").getValue().toString());
if (lblMap.get("MINIMUM_LENGTH")!=null)
minLen = collapse(lblMap.get("MINIMUM_LENGTH").getValue().toString());
if (lblMap.get("CHANGE_DATE")!=null)
changedate = lblMap.get("CHANGE_DATE").getValue().toString();
if (lblMap.get("STATUS_TYPE")!=null)
statusType = lblMap.get("STATUS_TYPE").getValue().toString();
if (lblMap.get("SOURCE_NAME")!=null)
sourcename = collapse(lblMap.get("SOURCE_NAME").getValue().toString());
if (lblMap.get("SQL_FORMAT")!=null)
sqlfmt = lblMap.get("SQL_FORMAT").getValue().toString();
if (lblMap.get("BL_SQL_FORMAT")!=null)
blsqlfmt = lblMap.get("BL_SQL_FORMAT").getValue().toString();
if (lblMap.get("DISPLAY_FORMAT")!=null)
dispfmt = lblMap.get("DISPLAY_FORMAT").getValue().toString();
if (lblMap.get("STANDARD_VALUE_OUTPUT_FLAG")!=null)
stdvaloutflag = lblMap.get("STANDARD_VALUE_OUTPUT_FLAG").getValue().toString();
if (lblMap.get("TEXT_FLAG")!=null)
txtflag = lblMap.get("TEXT_FLAG").getValue().toString();
if (lblMap.get("AVAILABLE_VALUE_TYPE")!=null)
availableValtype = lblMap.get("AVAILABLE_VALUE_TYPE").getValue().toString();
if (lblMap.get("KEYWORD_DEFAULT_VALUE")!=null)
keywordDefvalue = lblMap.get("KEYWORD_DEFAULT_VALUE").getValue().toString();
if (lblMap.get("LABEL_REVISION_NOTE")!=null)
lblnote = lblMap.get("LABEL_REVISION_NOTE").getValue().toString().trim();
if (colname==null || blname==null || tersename==null || genclasstype==null || unitId==null ||
stdvaltype==null || max==null || min==null || maxLen==null || minLen==null ||
changedate==null || statusType==null || sourcename==null || sqlfmt==null || blsqlfmt==null ||
dispfmt==null || stdvaloutflag==null || txtflag==null || availableValtype==null || lblnote==null) {
Object[] arguments = { "ddocl", "ELEMENT_NAME,BL_NAME,GENERAL_CLASSIFICATION_TYPE,UNIT_ID,STATUS_TYPE," +
"CHANGE_DATE,SOURCE_NAME" };
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.error.missingKeywords",
ProblemType.MISSING_MEMBER, arguments);
_label.addProblem(lp);
isFailed = true;
failCount++;
}
else {
// select ddcol.* from ddcol where ddcol.colname = colname and ddcol.blname = blname
// delete from ddcol where ddcol.colname = colname and ddcol.blname = blname
_sql = "SELECT ddcol.* FROM ddcol WHERE ddcol.colname = '" + colname + "' AND ddcol.blname = '" + blname + "'";
count = getRowCount(_sql);
if (count!=0) {
_sql = "DELETE FROM ddcol WHERE ddcol.colname = '" + colname + "' AND ddcol.blname = '" + blname + "'";
delete = deleteRecords(_sql);
INGEST_MSG = "Updated: ";
}
if (delete!=0 || count==0) {
_sql = "INSERT INTO ddcol (colname, blname, tersename, gendatatype, unitid, stdvaltype, maxcolval, mincolval, maxlength, " +
"minlength, changedate, statustype, sourcename, sqlfmt, blsqlfmt, dspfmt, stdvaloutflg, txtflag, " +
"avlvaltype, stddefault, labelrevnote, userid, revdate) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
pstmt = _conn.prepareStatement(_sql);
/*
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, SPACES + "col name = " + colname));
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, SPACES + "blname = " + blname));
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, SPACES + "tersename = " + tersename));
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, SPACES + "gendatatype = " + genclasstype));
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, SPACES + "unitid = " + unitId));
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, SPACES + "std val type = " + stdvaltype));
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, SPACES + "max colval = " + max));
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, SPACES + "min colval = " + min));
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, SPACES + "maxlength = " + maxLen));
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, SPACES + "minlength = " + minLen));
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, SPACES + "changedate = " + changedate));
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, SPACES + "status type = " + statusType));
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, SPACES + "source name = " + sourcename));
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, SPACES + "sql format = " + sqlfmt));
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, SPACES + "bl sql format = " + blsqlfmt));
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, SPACES + "dsp format = " + dispfmt));
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, SPACES + "std valout flag = " + stdvaloutflag));
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, SPACES + "text flag = " + txtflag));
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, SPACES + "avlvaltype = " + availableValtype));
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, SPACES + "std default = " + keywordDefvalue));
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, SPACES + "label rev note = " + lblnote));
*/
pstmt.setString(1, colname); // colname
pstmt.setString(2, blname); // blname
pstmt.setString(3, tersename);
pstmt.setString(4, genclasstype);
pstmt.setString(5, unitId);
pstmt.setString(6, stdvaltype);
if (max.equalsIgnoreCase("N/A"))
pstmt.setFloat(7, _na);
else if (max.equalsIgnoreCase("UNK"))
pstmt.setFloat(7, _unk);
else
pstmt.setFloat(7, Float.parseFloat(max)); // maxcolval
if (min.equalsIgnoreCase("N/A"))
pstmt.setFloat(8, _na);
else if (min.equalsIgnoreCase("UNK"))
pstmt.setFloat(8, _unk);
else
pstmt.setFloat(8, Float.parseFloat(min)); // mincolval
if (maxLen.equalsIgnoreCase("N/A"))
pstmt.setInt(9, (int)_na);
else if (maxLen.equalsIgnoreCase("UNK"))
pstmt.setInt(9, (int)_unk);
else
pstmt.setInt(9, Integer.parseInt(maxLen)); // maxlength
if (minLen.equalsIgnoreCase("N/A"))
pstmt.setInt(10, (int)_na);
else if (minLen.equalsIgnoreCase("UNK"))
pstmt.setInt(10, (int)_unk);
else
pstmt.setInt(10, Integer.parseInt(minLen)); // minlength
pstmt.setString(11, changedate); // changedate
pstmt.setString(12, statusType); // statustype
pstmt.setString(13, sourcename); // sourcename
pstmt.setString(14, sqlfmt); // sqlfmt
pstmt.setString(15, blsqlfmt); // blsqlfmt
pstmt.setString(16, dispfmt); // dspfmt
pstmt.setString(17, stdvaloutflag); // stdvaloutflg
pstmt.setString(18, txtflag); // txtflag
pstmt.setString(19, availableValtype); // avlvaltype
pstmt.setString(20, keywordDefvalue); // stddefault
pstmt.setString(21, lblnote); // labelrevnote
pstmt.setString(22, _dename); // userid
_now = new Date();
pstmt.setTimestamp(23, new Timestamp(_now.getTime())); // revdate
pstmt.executeUpdate();
pstmt.close();
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.text.recordAdded",
ProblemType.SUCCEED, INGEST_MSG + "ddcol - " + colname + " / " + blname);
_label.addProblem(lp);
okCount++;
}
}
}
catch (SQLException e) {
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null, null,
"ingest.error.failExecution", ProblemType.EXECUTE_FAIL, "ingestDDCol");
_label.addProblem(lp);
e.printStackTrace();
isFailed = true;
failCount++;
}
}
/**
* Method to ingest the data into 'ddcold' table
*/
protected void ingestDDColD(Map lblMap) {
PreparedStatement pstmt = null;
int count = 0;
int delete = 0;
try {
INGEST_MSG = "Inserted: ";
String blname = null;
if (lblMap.get("BL_NAME")!=null)
blname = collapse(lblMap.get("BL_NAME").getValue().toString());
else {
Object[] arguments = { "ddcold", "BL_NAME" };
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.error.missingKeyword",
ProblemType.MISSING_MEMBER, arguments);
_label.addProblem(lp);
isFailed = true;
failCount++;
return;
}
// select ddcold.* from ddcold where ddcold.blname = blname
// delete from ddcold where ddcold.blname = blname
_sql = "SELECT ddcold.* FROM ddcold WHERE ddcold.blname = '" + blname + "'";
count = getRowCount(_sql);
if (count!=0) {
_sql = "DELETE FROM ddcold WHERE ddcold.blname = '" + blname + "'";
delete = deleteRecords(_sql);
INGEST_MSG = "Updated: ";
}
if (lblMap.get("DESCRIPTION")!=null) {
if (delete!=0 || count==0) {
_sql = "INSERT INTO ddcold (blname, tupseqnum, cold, userid, revdate) VALUES(?,?,?,?,?)";
pstmt = _conn.prepareStatement(_sql);
String[] descStr = rtrim(lblMap.get("DESCRIPTION").getValue().toString()).split("\n");
_now = new Date();
for (int i=0; i lblMap) {
PreparedStatement pstmt = null;
int count = 0;
int delete = 0;
try {
INGEST_MSG = "Inserted: ";
String colname = null;
if (lblMap.get("ELEMENT_NAME")!=null)
colname = collapse(lblMap.get("ELEMENT_NAME").getValue().toString());
else {
Object[] arguments = { "ddstdvald", "ELEMENT_NAME" };
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.error.missingKeyword",
ProblemType.MISSING_MEMBER, arguments);
_label.addProblem(lp);
isFailed = true;
failCount++;
return;
}
// select ddstdvald.* from ddstdvald where ddstdvald.colname = colname
// delete from ddstdvald where ddstdvald.colname = colname
_sql = "SELECT ddstdvald.* FROM ddstdvald WHERE ddstdvald.colname = '" + colname + "'";
count = getRowCount(_sql);
if (count!=0) {
_sql = "DELETE FROM ddstdvald WHERE ddstdvald.colname = '" + colname + "'";
delete = deleteRecords(_sql);
INGEST_MSG = "Updated: ";
}
if (lblMap.get("STANDARD_VALUE_SET_DESC")!=null) {
if (delete!=0 || count==0) {
_sql = "INSERT INTO ddstdvald (colname, tupseqnum, description, userid, revdate) VALUES(?,?,?,?,?)";
pstmt = _conn.prepareStatement(_sql);
String[] stdDescStr = rtrim(lblMap.get("STANDARD_VALUE_SET_DESC").getValue().toString()).split("\n");
for (int i=0; i lblMap) {
PreparedStatement pstmt = null;
int count = 0;
int delete = 0;
try {
INGEST_MSG = "Inserted: ";
String colname = null;
if (lblMap.get("ELEMENT_NAME")!=null)
colname = collapse(lblMap.get("ELEMENT_NAME").getValue().toString());
else {
Object[] arguments = { "ddformrule", "ELEMENT_NAME" };
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.error.missingKeyword",
ProblemType.MISSING_MEMBER, arguments);
_label.addProblem(lp);
isFailed = true;
failCount++;
return;
}
// optional
// select ddformrule.* from ddformrule where ddformrule.colname = colname
// delete from ddformrule where ddformrule.colname = colname
_sql = "SELECT ddformrule.* FROM ddformrule WHERE ddformrule.colname = '" + colname + "'";
count = getRowCount(_sql);
if (count!=0) {
_sql = "DELETE FROM ddformrule WHERE ddformrule.colname = '" + colname + "'";
delete = deleteRecords(_sql);
INGEST_MSG = "Updated: ";
}
if (lblMap.get("FORMATION_RULE_DESC")!=null) {
if (delete!=0 || count==0) {
_sql = "INSERT INTO ddformrule (colname, tupseqnum, description, userid, revdate) VALUES(?,?,?,?,?)";
pstmt = _conn.prepareStatement(_sql);
String[] formDescStr = rtrim(lblMap.get("FORMATION_RULE_DESC").getValue().toString()).split("\n");
for (int i=0; i lblMap) {
PreparedStatement pstmt = null;
int count = 0;
int delete = 0;
try {
INGEST_MSG = "Inserted: ";
String colname = null;
if (lblMap.get("ELEMENT_NAME")!=null)
colname = lblMap.get("ELEMENT_NAME").getValue().toString();
else {
Object[] arguments = { "ddsysclass", "ELEMENT_NAME" };
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.error.missingKeyword",
ProblemType.MISSING_MEMBER, arguments);
_label.addProblem(lp);
isFailed = true;
failCount++;
return;
}
// select ddsysclass.* from ddsysclass where ddsysclass.colname = colname
// delete from ddsysclass where ddsysclass.colname = colname
_sql = "SELECT ddsysclass.* FROM ddsysclass WHERE ddsysclass.colname = '" + colname + "'";
count = getRowCount(_sql);
if (count!=0) {
_sql = "DELETE FROM ddsysclass WHERE ddsysclass.colname = '" + colname + "'";
delete = deleteRecords(_sql);
INGEST_MSG = "Updated: ";
}
if (lblMap.get("SYSTEM_CLASSIFICATION_ID")!=null) {
if (delete!=0 || count==0) {
_sql = "INSERT INTO ddsysclass (colname, sysclassid, userid, revdate) VALUES(?,?,?,?)";
pstmt = _conn.prepareStatement(_sql);
//log.log(new ToolsLogRecord(CIToolLevel.DEBUG, "sysclass id = " + lblMap.get("SYSTEM_CLASSIFICATION_ID")));
pstmt.setString(1, colname);
pstmt.setString(2, lblMap.get("SYSTEM_CLASSIFICATION_ID").getValue().toString());
pstmt.setString(3, _dename);
_now = new Date();
pstmt.setTimestamp(4, new Timestamp(_now.getTime()));
pstmt.executeUpdate();
pstmt.close();
okCount++;
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.text.recordAdded",
ProblemType.SUCCEED, INGEST_MSG + "ddsysclass - " + colname);
_label.addProblem(lp);
}
}
else {
Object[] arguments = { "ddsysclass", "SYSTEM_CLASSIFICATION_ID" };
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.error.missingKeyword",
ProblemType.MISSING_MEMBER, arguments);
_label.addProblem(lp);
isFailed = true;
failCount++;
}
}
catch (SQLException e) {
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null, null,
"ingest.error.failExecution", ProblemType.EXECUTE_FAIL, "ingestDDSysClass");
_label.addProblem(lp);
e.printStackTrace();
isFailed = true;
failCount++;
}
}
/**
* Method to ingest the data into 'ddgenclass' table
*/
protected void ingestDDGenClass(Map lblMap) {
PreparedStatement pstmt = null;
int count = 0;
int delete = 0;
try {
INGEST_MSG = "Inserted: ";
String colname = null;
if (lblMap.get("ELEMENT_NAME")!=null)
colname = lblMap.get("ELEMENT_NAME").getValue().toString();
else {
Object[] arguments = { "ddgenclass", "ELEMENT_NAME" };
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.error.missingKeyword",
ProblemType.MISSING_MEMBER, arguments);
_label.addProblem(lp);
isFailed = true;
failCount++;
return;
}
// select ddgenclass.* from ddgenclass where ddgenclass.colname = colname
// delete from ddgenclass where ddgenclass.colname = colname
_sql = "SELECT ddgenclass.* FROM ddgenclass WHERE ddgenclass.colname = '" + colname + "'";
count = getRowCount(_sql);
if (count!=0) {
_sql = "DELETE FROM ddgenclass WHERE ddgenclass.colname = '" + colname + "'";
delete = deleteRecords(_sql);
INGEST_MSG = "Updated: ";
}
if (lblMap.get("GENERAL_CLASSIFICATION_TYPE")!=null) {
if (delete!=0 || count==0) {
_sql = "INSERT INTO ddgenclass (colname, genclasstype, userid, revdate) VALUES(?,?,?,?)";
pstmt = _conn.prepareStatement(_sql);
//log.log(new ToolsLogRecord(CIToolLevel.DEBUG, SPACES + "gen class type = " + lblMap.get("GENERAL_CLASSIFICATION_TYPE")));
pstmt.setString(1, colname);
pstmt.setString(2, lblMap.get("GENERAL_CLASSIFICATION_TYPE").getValue().toString());
pstmt.setString(3, _dename);
_now = new Date();
pstmt.setTimestamp(4, new Timestamp(_now.getTime()));
pstmt.executeUpdate();
pstmt.close();
okCount++;
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.text.recordAdded",
ProblemType.SUCCEED, INGEST_MSG + "ddgenclass - " + colname);
_label.addProblem(lp);
}
}
else {
Object[] arguments = { "ddgenclass", "GENERAL_CLASSIFICATION_TYPE" };
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.error.missingKeyword",
ProblemType.MISSING_MEMBER, arguments);
_label.addProblem(lp);
isFailed = true;
failCount++;
}
}
catch (SQLException e) {
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null, null,
"ingest.error.failExecution", ProblemType.EXECUTE_FAIL, "ingestDDGenClass");
_label.addProblem(lp);
e.printStackTrace();
isFailed = true;
failCount++;
}
}
/**
* Method to ingest the data into 'ddcolstdval' table
*/
protected void ingestStdValObject(Map lblMap) {
PreparedStatement pstmt = null;
int count = 0;
int delete = 0;
try {
INGEST_MSG = "Inserted: ";
String blname = null;
if (lblMap.get("BL_NAME")!=null)
blname = lblMap.get("BL_NAME").getValue().toString();
String colval = null;
if (lblMap.get("COLUMN_VALUE")!=null)
colval = collapse(lblMap.get("COLUMN_VALUE").getValue().toString());
String colvalnodeid = null;
String colvaltype = null;
String outflag = null;
if (lblMap.get("COLUMN_VALUE_NODE_ID")!=null)
colvalnodeid = lblMap.get("COLUMN_VALUE_NODE_ID").getValue().toString();
if (lblMap.get("COLUMN_VALUE_TYPE")!=null)
colvaltype = lblMap.get("COLUMN_VALUE_TYPE").getValue().toString();
if (lblMap.get("OUTPUT_FLAG")!=null)
outflag = lblMap.get("OUTPUT_FLAG").getValue().toString();
if (blname==null || colval==null || colvalnodeid==null || colvaltype==null || outflag==null) {
Object[] arguments = { "ddcolstdval", "BL_NAME,COLUMN_VALUE,COLUME_VALUE_NODE_ID,COLUMN_VALUE_TYPE,OUTPUT_FLAG" };
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.error.missingKeywords",
ProblemType.MISSING_MEMBER, arguments);
_label.addProblem(lp);
isFailed = true;
failCount++;
}
else {
// optional
// select ddcolstdval.* from ddcolstdval where ddcolstdval.blname = blname and ddcolstdval.colval = colval
// delete from ddcolstdval where ddcolstdval.blname = blname and ddcolstdval.colval = colval
_sql = "SELECT ddcolstdval.* FROM ddcolstdval WHERE ddcolstdval.blname = '" + blname +
"' AND ddcolstdval.colval = '" + colval + "'";
count = getRowCount(_sql);
if (count!=0) {
_sql = "DELETE FROM ddcolstdval WHERE ddcolstdval.blname = '" + blname + "' AND ddcolstdval.colval = '" + colval + "'";
delete = deleteRecords(_sql);
INGEST_MSG = "Updated: ";
}
if (delete!=0 || count==0) {
_sql = "INSERT INTO ddcolstdval (blname, colval, colvalnodeid, colvaltype, outputflag, userid, revdate) " +
"VALUES(?,?,?,?,?,?,?)";
pstmt = _conn.prepareStatement(_sql);
/*
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, SPACES + "blname = " + blname));
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, SPACES + "col val = " + colval));
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, SPACES + "col val node id = " + colvalnodeid));
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, SPACES + "col val type = " + colvaltype));
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, SPACES + "output flag = " + outflag));
*/
pstmt.setString(1, blname);
pstmt.setString(2, colval);
pstmt.setString(3, colvalnodeid);
pstmt.setString(4, colvaltype);
pstmt.setString(5, outflag);
pstmt.setString(6, _dename);
_now = new Date();
pstmt.setTimestamp(7, new Timestamp(_now.getTime()));
pstmt.executeUpdate();
pstmt.close();
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.text.recordAdded",
ProblemType.SUCCEED, INGEST_MSG + "ddcolstdval - " + blname + " / " + colval);
_label.addProblem(lp);
okCount++;
}
}
}
catch (SQLException e) {
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null, null,
"ingest.error.failExecution", ProblemType.EXECUTE_FAIL, "ingestStdValObject");
_label.addProblem(lp);
isFailed = true;
failCount++;
}
}
/**
* Returns a map of standard values found from the most recent
* ingestion run.
*
* @return A map containing standard values and its associated
* table/column name. Example: instinfo.instid - VG
*/
public Map getIngestedStdValues() {
return standardValueMap;
}
/**
* Method to ingest new standard values into the ddcolstdval table. The
* method first checks to see if the standard value in the given map
* already exists in the database.
*
* @param stdValues A map containing a list of standard values and its
* associated table/column name. Example: instinfo.instid - VG
*/
protected void ingestNewStdValues(Map stdValues) {
String colvalnodeid = "U";
String colvaltype = "A";
String outflag = "Y";
for(Map.Entry entry : stdValues.entrySet()) {
String []tableFields = entry.getKey().split("\\.");
String blname = tableFields[1];
String colval = entry.getValue();
try {
_sql = "SELECT ddcolstdval.* FROM ddcolstdval WHERE ddcolstdval.blname = '" + blname +
"' AND ddcolstdval.colval = '" + colval + "'";
int count = getRowCount(_sql);
if(count == 0) {
_sql = "INSERT INTO ddcolstdval (blname, colval, colvalnodeid, colvaltype, outputflag, userid, revdate) " +
"VALUES(?,?,?,?,?,?,?)";
PreparedStatement pstmt = _conn.prepareStatement(_sql);
/*
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, SPACES + "blname = " + blname));
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, SPACES + "col val = " + colval));
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, SPACES + "col val node id = " + colvalnodeid));
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, SPACES + "col val type = " + colvaltype));
log.log(new ToolsLogRecord(CIToolLevel.DEBUG, SPACES + "output flag = " + outflag));
*/
pstmt.setString(1, blname);
pstmt.setString(2, colval);
pstmt.setString(3, colvalnodeid);
pstmt.setString(4, colvaltype);
pstmt.setString(5, outflag);
pstmt.setString(6, _dename);
_now = new Date();
pstmt.setTimestamp(7, new Timestamp(_now.getTime()));
pstmt.executeUpdate();
pstmt.close();
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.text.recordAdded",
ProblemType.SUCCEED, INGEST_MSG + "ddcolstdval - " + blname + " / " + colval);
_label.addProblem(lp);
okCount++;
newStdValueCount++;
}
} catch (SQLException e) {
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null, null,
"ingest.error.failExecution", ProblemType.EXECUTE_FAIL, "ingestNewStdValues");
_label.addProblem(lp);
failCount++;
}
}
}
/**
* Method to ingest OBJECT_DEFINTION object
*/
protected void ingestObjDefObject(Map lblMap) {
ingestDDObjAlias(lblMap);
ingestDDObjD(lblMap);
ingestDDObjects(lblMap);
ingestDDObjElm(lblMap);
ingestDDObjStsNote(lblMap);
}
/**
* Method to ingest the data into 'ddobjhier' table
*/
protected void ingestDDObjAlias(Map lblMap) {
PreparedStatement pstmt = null;
int count = 0;
int delete = 0;
try {
INGEST_MSG = "Inserted: ";
String objname = null;
if (lblMap.get("NAME")!=null)
objname = collapse(lblMap.get("NAME").getValue().toString());
String aliasname = null;
String usagenote = null;
if (lblMap.get("ALIAS_NAME")!=null)
aliasname = lblMap.get("ALIAS_NAME").getValue().toString();
if (lblMap.get("USAGE_NOTE")!=null)
usagenote = collapse(lblMap.get("USAGE_NOTE").getValue().toString());
if (objname==null || aliasname==null || usagenote==null) {
Object[] arguments = { "ddobjalias", "NAME,ALIAS_NAME,USAGE_NOTE" };
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.error.missingKeywords",
ProblemType.MISSING_MEMBER, arguments);
_label.addProblem(lp);
isFailed = true;
failCount++;
}
else {
// select ddobjalias.* from ddobjalias where ddobjalias.objname = objname
// delete from ddobjalias where ddobjalias.objname = objname
_sql = "SELECT ddobjalias.* FROM ddobjalias WHERE ddobjalias.objname = '" + objname + "'";
count = getRowCount(_sql);
if (count!=0) {
_sql = "DELETE FROM ddobjalias WHERE ddobjalias.objname = '" + objname + "'";
delete = deleteRecords(_sql);
INGEST_MSG = "Updated: ";
}
if (delete!=0 || count==0) {
_sql = "INSERT INTO ddobjalias (objname, aliasname, usagenote, userid, revdate) VALUES(?,?,?,?,?)";
pstmt = _conn.prepareStatement(_sql);
_now = new Date();
pstmt.setString(1, objname);
pstmt.setString(2, aliasname);
pstmt.setString(3, usagenote);
pstmt.setString(4, _dename);
pstmt.setTimestamp(5, new Timestamp(_now.getTime()));
pstmt.executeUpdate();
pstmt.close();
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.text.recordAdded",
ProblemType.SUCCEED, INGEST_MSG + "ddobjalias - " + objname);
_label.addProblem(lp);
okCount++;
}
}
}
catch (SQLException e) {
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null, null,
"ingest.error.failExecution", ProblemType.EXECUTE_FAIL, "ingestDDObjAlias");
_label.addProblem(lp);
isFailed = true;
failCount++;
}
}
/**
* Method to ingest the data into 'ddobjd' table
*/
protected void ingestDDObjD(Map lblMap) {
PreparedStatement pstmt = null;
int count = 0;
int delete = 0;
try {
INGEST_MSG = "Inserted: ";
String objname = null;
if (lblMap.get("NAME")!=null)
objname = collapse(lblMap.get("NAME").getValue().toString());
else {
Object[] arguments = { "ddobjd", "NAME" };
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.error.missingKeyword",
ProblemType.MISSING_MEMBER, arguments);
_label.addProblem(lp);
isFailed = true;
failCount++;
return;
}
// select ddobjd.* from ddobjd where ddobjd.objname = objname
// delete from ddobjd where ddobjd.objname = objname
_sql = "SELECT ddobjd.* FROM ddobjd WHERE ddobjd.objname = '" + objname + "'";
count = getRowCount(_sql);
if (count!=0) {
_sql = "DELETE FROM ddobjd WHERE ddobjd.objname = '" + objname + "'";
delete = deleteRecords(_sql);
INGEST_MSG = "Updated: ";
}
if (lblMap.get("DESCRIPTION")!=null) {
if (delete!=0 || count==0) {
_sql = "INSERT INTO ddobjd (objname, tupseqnum, description, userid, revdate) VALUES(?,?,?,?,?)";
pstmt = _conn.prepareStatement(_sql);
String[] descStr = lblMap.get("DESCRIPTION").getValue().toString().trim().split("\n");
_now = new Date();
for (int i=0; i lblMap) {
PreparedStatement pstmt = null;
int count = 0;
int delete = 0;
try {
INGEST_MSG = "Inserted: ";
String objname = null;
if (lblMap.get("NAME")!=null)
objname = collapse(lblMap.get("NAME").getValue().toString());
String tersename = null;
String statustype = null;
String sourcename = null;
String objtype = null;
String objclasstype = null;
if (lblMap.get("TERSE_NAME")!=null)
tersename = lblMap.get("TERSE_NAME").getValue().toString();
if (lblMap.get("STATUS_TYPE")!=null)
statustype = lblMap.get("STATUS_TYPE").getValue().toString();
if (lblMap.get("SOURCE_NAME")!=null)
sourcename = lblMap.get("SOURCE_NAME").getValue().toString();
if (lblMap.get("OBJECT_TYPE")!=null)
objtype = lblMap.get("OBJECT_TYPE").getValue().toString();
if (lblMap.get("OBJECT_CLASSIFICATION_TYPE")!=null)
objclasstype = lblMap.get("OBJECT_CLASSIFICATION_TYPE").getValue().toString();
if (objname==null || tersename==null || statustype==null || sourcename==null || objtype==null || objclasstype==null) {
Object[] arguments = { "ddobjects", "NAME,TERSE_NAME,STATUS_TYPE,SOURCE_NAME,OBJECT_TYPE,OBJECT_CLASSIFICATION_TYPE" };
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.error.missingKeywords",
ProblemType.MISSING_MEMBER, arguments);
_label.addProblem(lp);
isFailed = true;
failCount++;
}
else {
// select ddobjects.* from ddobjects where ddobjects.objname = objname
// delete from ddobjects where ddobjects.objname = objname
_sql = "SELECT ddobjects.* FROM ddobjects WHERE ddobjects.objname = '" + objname + "'";
count = getRowCount(_sql);
if (count!=0) {
_sql = "DELETE FROM ddobjects WHERE ddobjects.objname = '" + objname + "'";
delete = deleteRecords(_sql);
INGEST_MSG = "Updated: ";
}
if (delete!=0 || count==0) {
_sql = "INSERT INTO ddobjects (objname, tersename, statustype, sourcename, objtype, objclass, objclasstype, userid, revdate) " +
"VALUES(?,?,?,?,?,?,?,?,?)";
pstmt = _conn.prepareStatement(_sql);
_now = new Date();
pstmt.setString(1, objname);
pstmt.setString(2, tersename);
pstmt.setString(3, statustype);
pstmt.setString(4, sourcename);
pstmt.setString(5, objtype);
pstmt.setString(6, "OBJECT");
pstmt.setString(7, objclasstype);
pstmt.setString(8, _dename);
pstmt.setTimestamp(9, new Timestamp(_now.getTime()));
pstmt.executeUpdate();
pstmt.close();
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.text.recordAdded",
ProblemType.SUCCEED, INGEST_MSG + "ddobjects - " + objname);
_label.addProblem(lp);
okCount++;
}
}
}
catch (SQLException e) {
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null, null,
"ingest.error.failExecution", ProblemType.EXECUTE_FAIL, "ingestDDObjects");
_label.addProblem(lp);
isFailed = true;
failCount++;
}
}
/**
* Method to ingest the data into 'ddobjelm' table
*/
protected void ingestDDObjElm(Map lblMap) {
PreparedStatement pstmt = null;
int count = 0;
int delete = 0;
try {
INGEST_MSG = "Inserted: ";
String objname = null;
if (lblMap.get("NAME")!=null)
objname = collapse(lblMap.get("NAME").getValue().toString());
String reqflag = null;
String colname = null;
if (lblMap.get("REQUIRED_FLAG")!=null)
reqflag = lblMap.get("REQUIRED_FLAG").getValue().toString();
if (lblMap.get("ELEMENT_NAME")!=null)
colname = lblMap.get("ELEMENT_NAME").getValue().toString();
if (objname==null || reqflag==null || colname==null) {
Object[] arguments = { "ddobjelm", "NAME,REQUIRED_FLAG,ELEMENT_NAME" };
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.error.missingKeyword",
ProblemType.MISSING_MEMBER, arguments);
_label.addProblem(lp);
isFailed = true;
failCount++;
}
else {
// select ddobjelm.* from ddobjelm where ddobjelm.objname = objname
// delete from ddobjelm where ddobjelm.objname = objname
_sql = "SELECT ddobjelm.* FROM ddobjelm WHERE ddobjelm.objname = '" + objname + "'";
count = getRowCount(_sql);
if (count!=0) {
_sql = "DELETE FROM ddobjelm WHERE ddobjelm.objname = '" + objname + "'";
delete = deleteRecords(_sql);
INGEST_MSG = "Updated: ";
}
if (delete!=0 || count==0) {
_sql = "INSERT INTO ddobjelm (objname, requiredflag, colname, userid, revdate) VALUES(?,?,?,?,?)";
pstmt = _conn.prepareStatement(_sql);
_now = new Date();
pstmt.setString(1, objname);
pstmt.setString(2, reqflag);
pstmt.setString(3, colname);
pstmt.setString(4, _dename);
pstmt.setTimestamp(5, new Timestamp(_now.getTime()));
pstmt.executeUpdate();
pstmt.close();
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.text.recordAdded",
ProblemType.SUCCEED, INGEST_MSG + "ddobjelm - " + objname);
_label.addProblem(lp);
okCount++;
}
}
}
catch (SQLException e) {
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null, null,
"ingest.error.failExecution", ProblemType.EXECUTE_FAIL, "ingestDDObjElm");
_label.addProblem(lp);
isFailed = true;
failCount++;
}
}
/**
* Method to ingest the data into 'ddobjhier' table
*/
protected void ingestDDObjHier(Map lblMap) {
PreparedStatement pstmt = null;
int count = 0;
int delete = 0;
try {
INGEST_MSG = "Inserted: ";
String objname = null;
if (lblMap.get("NAME")!=null)
objname = collapse(lblMap.get("NAME").getValue().toString());
String reqflag = null;
String subobjname = null;
if (lblMap.get("REQUIRED_FLAG")!=null)
reqflag = lblMap.get("REQUIRED_FLAG").getValue().toString();
if (lblMap.get("SUB_OBJECT_NAME")!=null)
subobjname = lblMap.get("SUB_OBJECT_NAME").getValue().toString();
if (objname==null || reqflag==null || subobjname==null) {
Object[] arguments = { "ddobjhier", "NAME,REQUIRED_FLAG,SUB_OBJECT_NAME" };
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.error.missingKeyword",
ProblemType.MISSING_MEMBER, arguments);
_label.addProblem(lp);
isFailed = true;
failCount++;
}
else {
// select ddobjhier.* from ddobjhier where ddobjhier.objname = objname and ddobjhier.subobjname = subobjname
// delete from ddobjhier where ddobjhier.objname = objname and
_sql = "SELECT ddobjhier.* FROM ddobjhier WHERE ddobjhier.objname = '" + objname + "' AND ddobjhier.subobjname = '" + subobjname + "'";
count = getRowCount(_sql);
if (count!=0) {
_sql = "DELETE FROM ddobjhier WHERE ddobjhier.objname = '" + objname + "' AND ddobjhier.subobjname = '" + subobjname + "'";
delete = deleteRecords(_sql);
INGEST_MSG = "Updated: ";
}
if (delete!=0 || count==0) {
_sql = "INSERT INTO ddobjhier (objname, requiredflag, subobjname, userid, revdate) VALUES(?,?,?,?,?)";
pstmt = _conn.prepareStatement(_sql);
_now = new Date();
pstmt.setString(1, objname);
pstmt.setString(2, reqflag);
pstmt.setString(3, subobjname);
pstmt.setString(4, _dename);
pstmt.setTimestamp(5, new Timestamp(_now.getTime()));
pstmt.executeUpdate();
pstmt.close();
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.text.recordAdded",
ProblemType.SUCCEED, INGEST_MSG + "ddobjhier - " + objname + " / " + subobjname);
_label.addProblem(lp);
okCount++;
}
}
}
catch (SQLException e) {
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null, null,
"ingest.error.failExecution", ProblemType.EXECUTE_FAIL, "ingestDDObjHier");
_label.addProblem(lp);
isFailed = true;
failCount++;
}
}
/**
* Method to ingest the data into 'ddobjstsnote' table
*/
protected void ingestDDObjStsNote(Map lblMap) {
PreparedStatement pstmt = null;
int count = 0;
int delete = 0;
try {
INGEST_MSG = "Inserted: ";
String objname = null;
if (lblMap.get("NAME")!=null)
objname = collapse(lblMap.get("NAME").getValue().toString());
else {
Object[] arguments = { "ddobjstsnote", "NAME" };
LabelParserException lp = new LabelParserException(_label.getLabelURI(), null,
null, "ingest.error.missingKeyword",
ProblemType.MISSING_MEMBER, arguments);
_label.addProblem(lp);
isFailed = true;
failCount++;
return;
}
// select ddobjstsnote.* from ddobjstsnote where ddobjstsnote.objname = objname
// delete from ddobjstsnote where ddobjstsnote.objname = objname
_sql = "SELECT ddobjstsnote.* FROM ddobjstsnote WHERE ddobjstsnote.objname = '" + objname + "'";
count = getRowCount(_sql);
if (count!=0) {
_sql = "DELETE FROM ddobjstsnote WHERE ddobjstsnote.objname = '" + objname + "'";
delete = deleteRecords(_sql);
INGEST_MSG = "Updated: ";
}
if (lblMap.get("STATUS_NOTE")!=null) {
if (delete!=0 || count==0) {
_sql = "INSERT INTO ddobjstsnote (objname, tupseqnum, statusnote, userid, revdate) VALUES(?,?,?,?,?)";
pstmt = _conn.prepareStatement(_sql);
String[] statusnote = lblMap.get("STATUS_NOTE").getValue().toString().trim().split("\n");
_now = new Date();
for (int i=0; i
© 2015 - 2025 Weber Informatics LLC | Privacy Policy