use of com.epri._2016.cimidentities_.CIMIdentity in project CIM-Identities by epri-dev.
the class CIMIdentitiesClient method enterButtonActionPerformed.
// GEN-LAST:event_refreshButtonActionPerformed
private void enterButtonActionPerformed(java.awt.event.ActionEvent evt) {
// GEN-FIRST:event_enterButtonActionPerformed
n_nameNew = n_nameBox.getText();
nt_nameNew = nt_nameBox.getText();
nt_desNew = nt_desBox.getText();
nta_nameNew = nta_nameBox.getText();
nta_desNew = nta_desBox.getText();
String mRID = enter_uuidBox.getText();
ch.iec.tc57._2016.cimidentitiesmessage.CIMIdentitiesEventMessageType msg = new ch.iec.tc57._2016.cimidentitiesmessage.CIMIdentitiesEventMessageType();
/* create payload object out of parsed data */
CIMIdentitiesPayloadType payload = new CIMIdentitiesPayloadType();
// create new CIMIdentities object
CIMIdentities cimids = new CIMIdentities();
CIMIdentity cimid = new CIMIdentity();
payload.setCIMIdentities(cimids);
// creates new ArrayList of CIMIdentities
ArrayList<CIMIdentity> cim = (ArrayList<CIMIdentity>) payload.getCIMIdentities().getCIMIdentity();
// set mRID
IdentifiedObject value = new IdentifiedObject();
value.setMRID(mRID);
cimid.setIdentifiedObject(value);
// set name
Name name = new Name();
name.setName(n_nameNew);
if (Delete.isSelected())
name.setName("");
if (name.getName() == null)
name.setName("");
cimid.getNames().add(name);
// set NameType name/description
NameType nameType = new NameType();
nameType.setDescription(nt_desNew);
if (Delete.isSelected())
nameType.setDescription("");
if (nameType.getDescription() == null)
nameType.setDescription("");
nameType.setName(nt_nameNew);
if (Delete.isSelected())
nameType.setName("");
if (nameType.getName() == null)
nameType.setName("");
cimid.getNames().get(0).setNameType(nameType);
// set NameTypeAuthority name/description
NameTypeAuthority nameTypeAuth = new NameTypeAuthority();
nameTypeAuth.setDescription(nta_desNew);
if (Delete.isSelected())
nameTypeAuth.setDescription("");
if (nameTypeAuth.getDescription() == null)
nameTypeAuth.setDescription("");
nameTypeAuth.setName(nta_nameNew);
if (Delete.isSelected())
nameTypeAuth.setName("");
if (nameTypeAuth.getName() == null)
nameTypeAuth.setDescription("");
cimid.getNames().get(0).getNameType().setNameTypeAuthority(nameTypeAuth);
cim.add(cimid);
msg.setPayload(payload);
/* Insertion handling */
if (Insert.isSelected()) {
if (gen_uuidSel.isSelected()) {
value.setMRID("");
payload.getCIMIdentities().getCIMIdentity().get(0).setIdentifiedObject(value);
msg.setPayload(payload);
}
HeaderType header = new HeaderType();
header.setNoun("CIMIdentities");
header.setVerb("create");
msg.setHeader(header);
try {
createdCIMIdentitiesRequest(msg);
JOptionPane.showMessageDialog(null, "Data inserted:\n\n" + "\nName: " + msg.getPayload().getCIMIdentities().getCIMIdentity().get(0).getNames().get(0).getName() + "\nNameType Name: " + msg.getPayload().getCIMIdentities().getCIMIdentity().get(0).getNames().get(0).getNameType().getName() + "\nNameType Description: " + msg.getPayload().getCIMIdentities().getCIMIdentity().get(0).getNames().get(0).getNameType().getDescription() + "\nNameTypeAuthority Name: " + msg.getPayload().getCIMIdentities().getCIMIdentity().get(0).getNames().get(0).getNameType().getNameTypeAuthority().getName() + "\nNameTypeAuthority Description: " + msg.getPayload().getCIMIdentities().getCIMIdentity().get(0).getNames().get(0).getNameType().getNameTypeAuthority().getDescription());
} catch (FaultMessage ex) {
JOptionPane.showMessageDialog(null, ex.getMessage());
Logger.getLogger(CIMIdentitiesClient.class.getName()).log(Level.SEVERE, null, ex);
}
}
/* deletion handling */
if (Delete.isSelected() && enter_uuidSel.isSelected()) {
uuidEntered = true;
HeaderType header = new HeaderType();
header.setNoun("CIMIdentities");
header.setVerb("delete");
msg.setHeader(header);
/* query the server for the mRID being deleted */
CIMIdentitiesQueriesRequestType request = new CIMIdentitiesQueriesRequestType();
CIMIdentitiesQueries var = new CIMIdentitiesQueries();
EndDeviceGroup edg = new EndDeviceGroup();
// can be null, '?', or '""' to receive all data, else set mRID
edg.setMRID(mRID);
message.setRequest(request);
message.getRequest().setCIMIdentitiesQueries(var);
message.getRequest().getCIMIdentitiesQueries().getEndDeviceGroup().add(0, edg);
message.getRequest().getCIMIdentitiesQueries().getEndDeviceGroup();
try {
response = queryCIMIdentities(message);
} catch (QueryCIMIdentitiesFaultMessage ex) {
JOptionPane.showMessageDialog(null, ex.getMessage());
}
/* set outgoing deletion message to contain ALL data about the mRID */
msg.getPayload().setCIMIdentities(response.getPayload().getCIMIdentities());
try {
if (response.getPayload().getCIMIdentities().getCIMIdentity().get(0).getIdentifiedObject().getMRID() == null)
throw new IndexOutOfBoundsException("mRID doesn't exist");
deletedCIMIdentitiesRequest(msg);
JOptionPane.showMessageDialog(null, "Data deleted:\n\n" + "mRID: " + response.getPayload().getCIMIdentities().getCIMIdentity().get(0).getIdentifiedObject().getMRID() + "\nName: " + response.getPayload().getCIMIdentities().getCIMIdentity().get(0).getNames().get(0).getName() + "\nNameType Name: " + response.getPayload().getCIMIdentities().getCIMIdentity().get(0).getNames().get(0).getNameType().getName() + "\nNameType Description: " + response.getPayload().getCIMIdentities().getCIMIdentity().get(0).getNames().get(0).getNameType().getDescription() + "\nNameTypeAuthority Name: " + response.getPayload().getCIMIdentities().getCIMIdentity().get(0).getNames().get(0).getNameType().getNameTypeAuthority().getName() + "\nNameTypeAuthority Description: " + response.getPayload().getCIMIdentities().getCIMIdentity().get(0).getNames().get(0).getNameType().getNameTypeAuthority().getDescription());
} catch (FaultMessage ex) {
JOptionPane.showMessageDialog(null, ex.getMessage());
Logger.getLogger(CIMIdentitiesClient.class.getName()).log(Level.SEVERE, null, ex);
} catch (IndexOutOfBoundsException err) {
JOptionPane.showMessageDialog(null, "No deletion made.\nUUID does not currently exist in the database.\n");
}
}
/* modification handling */
if (Modify.isSelected()) {
HeaderType header = new HeaderType();
header.setNoun("CIMIdentities");
header.setVerb("change");
msg.setHeader(header);
/* query the server for the mRID being modified */
CIMIdentitiesQueriesRequestType request = new CIMIdentitiesQueriesRequestType();
CIMIdentitiesQueries var = new CIMIdentitiesQueries();
EndDeviceGroup edg = new EndDeviceGroup();
// can be null, '?', or '""' to receive all data, else set mRID
edg.setMRID(mRID);
message.setRequest(request);
message.getRequest().setCIMIdentitiesQueries(var);
message.getRequest().getCIMIdentitiesQueries().getEndDeviceGroup().add(0, edg);
message.getRequest().getCIMIdentitiesQueries().getEndDeviceGroup();
try {
response = queryCIMIdentities(message);
} catch (QueryCIMIdentitiesFaultMessage ex) {
JOptionPane.showMessageDialog(null, ex.getMessage());
Logger.getLogger(CIMIdentitiesClient.class.getName()).log(Level.SEVERE, null, ex);
}
try {
if (response.getPayload().getCIMIdentities().getCIMIdentity().get(0).getIdentifiedObject().getMRID() == null)
throw new IndexOutOfBoundsException("mRID doesn't exist");
changedCIMIdentitiesRequest(msg);
JOptionPane.showMessageDialog(null, "Data modified:\n\n" + "mRID: " + msg.getPayload().getCIMIdentities().getCIMIdentity().get(0).getIdentifiedObject().getMRID() + "\nPrevious Name: " + response.getPayload().getCIMIdentities().getCIMIdentity().get(0).getNames().get(0).getName() + "\nPrevious NameType Name: " + response.getPayload().getCIMIdentities().getCIMIdentity().get(0).getNames().get(0).getNameType().getName() + "\nPrevious NameType Description: " + response.getPayload().getCIMIdentities().getCIMIdentity().get(0).getNames().get(0).getNameType().getDescription() + "\nPrevoius NameTypeAuthority Name: " + response.getPayload().getCIMIdentities().getCIMIdentity().get(0).getNames().get(0).getNameType().getNameTypeAuthority().getName() + "\nPrevious NameTypeAuthority Description: " + response.getPayload().getCIMIdentities().getCIMIdentity().get(0).getNames().get(0).getNameType().getNameTypeAuthority().getDescription() + "\n\n\nNew Name: " + msg.getPayload().getCIMIdentities().getCIMIdentity().get(0).getNames().get(0).getName() + "\nNew NameType Name: " + msg.getPayload().getCIMIdentities().getCIMIdentity().get(0).getNames().get(0).getNameType().getName() + "\nNew NameType Description: " + msg.getPayload().getCIMIdentities().getCIMIdentity().get(0).getNames().get(0).getNameType().getDescription() + "\nNew NameTypeAuthority Name: " + msg.getPayload().getCIMIdentities().getCIMIdentity().get(0).getNames().get(0).getNameType().getNameTypeAuthority().getName() + "\nNew NameTypeAuthority Description: " + msg.getPayload().getCIMIdentities().getCIMIdentity().get(0).getNames().get(0).getNameType().getNameTypeAuthority().getDescription());
} catch (FaultMessage ex) {
JOptionPane.showMessageDialog(null, ex.getMessage());
Logger.getLogger(CIMIdentitiesClient.class.getName()).log(Level.SEVERE, null, ex);
} catch (IndexOutOfBoundsException err) {
JOptionPane.showMessageDialog(null, "No modification made.\nUUID does not currently exist in the database.\n");
}
}
n_nameBox.setText("");
nt_nameBox.setText("");
nt_desBox.setText("");
nta_nameBox.setText("");
nta_desBox.setText("");
enter_uuidBox.setText("");
n_name.removeAllItems();
nt_namecb.removeAllItems();
nt_descb.removeAllItems();
nta_namecb.removeAllItems();
nta_descb.removeAllItems();
createTable();
populateComboBoxes();
}
use of com.epri._2016.cimidentities_.CIMIdentity in project CIM-Identities by epri-dev.
the class CIMIdentities method createdCIMIdentitiesRequest.
public ch.iec.tc57._2016.cimidentitiesmessage.CIMIdentitiesResponseMessageType createdCIMIdentitiesRequest(ch.iec.tc57._2016.cimidentitiesmessage.CIMIdentitiesEventMessageType message) throws ClassNotFoundException {
ch.iec.tc57._2016.cimidentitiesmessage.CIMIdentitiesResponseMessageType response = new ch.iec.tc57._2016.cimidentitiesmessage.CIMIdentitiesResponseMessageType();
// Event message type only contains the header/payload
// Response message type contains header/payload/reply
// therefore, response message type must be set for CIMIdentitiesResponseMessageType
ReplyType value = new ReplyType();
// String result = value.getResult();
value.setResult("OK");
// set response header/payload/reply
response.setHeader(message.getHeader());
response.setPayload(message.getPayload());
response.setReply(value);
// extract individual values for insertion into database
ArrayList<CIMIdentity> cim = (ArrayList<CIMIdentity>) response.getPayload().getCIMIdentities().getCIMIdentity();
mRID = cim.get(0).getIdentifiedObject().getMRID();
NName = cim.get(0).getNames().get(0).getName();
NTName = cim.get(0).getNames().get(0).getNameType().getName();
NTDes = cim.get(0).getNames().get(0).getNameType().getDescription();
NTAName = cim.get(0).getNames().get(0).getNameType().getNameTypeAuthority().getName();
NTADes = cim.get(0).getNames().get(0).getNameType().getNameTypeAuthority().getDescription();
try {
Class.forName("org.postgresql.Driver");
Connection con = DriverManager.getConnection(host, uName, password);
Statement stmt = con.createStatement();
// as uuidEntered == false
if (mRID.equals("") || mRID.equals("?")) {
String genUUID = "INSERT INTO public.\"Identity\" (id_pkey, entry)" + "VALUES (DEFAULT, DEFAULT)";
stmt.executeUpdate(genUUID);
String getUUID = "SELECT id.id_pkey FROM \"Identity\" id " + "ORDER BY id.entry desc LIMIT 1";
ResultSet rs = stmt.executeQuery(getUUID);
rs.next();
mRID = rs.getString("id_pkey");
response.getPayload().getCIMIdentities().getCIMIdentity().get(0).getIdentifiedObject().setMRID(mRID);
} else {
String entUUID = "INSERT INTO public.\"Identity\"(id_pkey, entry)" + "VALUES ('" + mRID + "', DEFAULT)";
stmt.executeUpdate(entUUID);
}
String insertIDObj = "INSERT INTO public.\"IdentifiedObject\"(io_pkey)" + "VALUES('" + mRID + "')";
String insertName = "INSERT INTO public.\"Name\"(n_pkey, n_name)" + "VALUES('" + mRID + "', '" + NName + "')";
String insertNT = "INSERT INTO public.\"NameType\"(nt_pkey, nt_description, nt_name)" + "VALUES ('" + mRID + "', '" + NTDes + "', '" + NTName + "')";
String insertNTA = "INSERT INTO public.\"NameTypeAuthority\"(nta_pkey, nta_name, nta_description)" + "VALUES ('" + mRID + "', '" + NTAName + "', '" + NTADes + "')";
stmt.executeUpdate(insertIDObj);
stmt.executeUpdate(insertName);
stmt.executeUpdate(insertNT);
stmt.executeUpdate(insertNTA);
stmt.close();
con.close();
return response;
} catch (SQLException err) {
value.setResult("FAILED");
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
err.printStackTrace(pw);
value.getError().get(0).setDetails(sw.toString());
response.setReply(value);
return response;
}
}
use of com.epri._2016.cimidentities_.CIMIdentity in project CIM-Identities by epri-dev.
the class CIMWebService method submitData.
// Method name: submitData
// Parameters: n_nameNew, nt_nameNew, nt_desNew, nta_nameNew, nta_desNew, mRID, action, gen_uuidSel
// Purpose: Submits data for either insertion, deletion, or modification
public String submitData(String n_nameNew, String nt_nameNew, String nt_desNew, String nta_nameNew, String nta_desNew, String mRID, String action, boolean gen_uuidSel) {
ch.iec.tc57._2016.cimidentitiesmessage.CIMIdentitiesEventMessageType msg = new ch.iec.tc57._2016.cimidentitiesmessage.CIMIdentitiesEventMessageType();
ch.iec.tc57._2016.cimidentitiesmessage.CIMIdentitiesResponseMessageType resp = new ch.iec.tc57._2016.cimidentitiesmessage.CIMIdentitiesResponseMessageType();
CIMIdentitiesPayloadType payload = new CIMIdentitiesPayloadType();
CIMIdentities cimids = new CIMIdentities();
CIMIdentity cimid = new CIMIdentity();
payload.setCIMIdentities(cimids);
ArrayList<CIMIdentity> cim = (ArrayList<CIMIdentity>) payload.getCIMIdentities().getCIMIdentity();
IdentifiedObject value = new IdentifiedObject();
value.setMRID(mRID);
cimid.setIdentifiedObject(value);
String error = new String();
Name name = new Name();
name.setName(n_nameNew);
if (action.equals("delete"))
name.setName("");
if (name.getName() == null)
name.setName("");
cimid.getNames().add(name);
// set NameType name/description
NameType nameType = new NameType();
nameType.setDescription(nt_desNew);
if (action.equals("delete"))
nameType.setDescription("");
if (nameType.getDescription() == null)
nameType.setDescription("");
nameType.setName(nt_nameNew);
if (action.equals("delete"))
nameType.setName("");
if (nameType.getName() == null)
nameType.setName("");
cimid.getNames().get(0).setNameType(nameType);
// set NameTypeAuthority name/description
NameTypeAuthority nameTypeAuth = new NameTypeAuthority();
nameTypeAuth.setDescription(nta_desNew);
if (action.equals("delete"))
nameTypeAuth.setDescription("");
if (nameTypeAuth.getDescription() == null)
nameTypeAuth.setDescription("");
nameTypeAuth.setName(nta_nameNew);
if (action.equals("delete"))
nameTypeAuth.setName("");
if (nameTypeAuth.getName() == null)
nameTypeAuth.setDescription("");
cimid.getNames().get(0).getNameType().setNameTypeAuthority(nameTypeAuth);
cim.add(cimid);
msg.setPayload(payload);
/* Insertion handling */
if (action.equals("insert")) {
if (gen_uuidSel == true) {
value.setMRID("");
payload.getCIMIdentities().getCIMIdentity().get(0).setIdentifiedObject(value);
msg.setPayload(payload);
}
HeaderType header = new HeaderType();
header.setNoun("CIMIdentities");
header.setVerb("create");
msg.setHeader(header);
try {
resp = createdCIMIdentitiesRequest(msg);
String confirmation = "Data inserted:<br>" + "<br><strong>Name:</strong> " + resp.getPayload().getCIMIdentities().getCIMIdentity().get(0).getNames().get(0).getName() + "<br><strong>NameType Name:</strong> " + resp.getPayload().getCIMIdentities().getCIMIdentity().get(0).getNames().get(0).getNameType().getName() + "<br><strong>NameType Description:</strong> " + resp.getPayload().getCIMIdentities().getCIMIdentity().get(0).getNames().get(0).getNameType().getDescription() + "<br><strong>NameTypeAuthority Name:</strong> " + resp.getPayload().getCIMIdentities().getCIMIdentity().get(0).getNames().get(0).getNameType().getNameTypeAuthority().getName() + "<br><strong>NameTypeAuthority Description:</strong> " + resp.getPayload().getCIMIdentities().getCIMIdentity().get(0).getNames().get(0).getNameType().getNameTypeAuthority().getDescription() + "<br><strong>mRID:</strong> " + resp.getPayload().getCIMIdentities().getCIMIdentity().get(0).getIdentifiedObject().getMRID();
return confirmation;
} catch (FaultMessage ex) {
resp.getReply().getError().get(0).setDetails(ex.getMessage());
return resp.getReply().getError().get(0).getDetails();
}
} else /* deletion handling */
if (action.equals("delete") && gen_uuidSel == true) {
uuidEntered = true;
HeaderType header = new HeaderType();
header.setNoun("CIMIdentities");
header.setVerb("delete");
msg.setHeader(header);
/* query the server for the mRID being deleted */
CIMIdentitiesQueriesRequestType request = new CIMIdentitiesQueriesRequestType();
CIMIdentitiesQueries var = new CIMIdentitiesQueries();
EndDeviceGroup edg = new EndDeviceGroup();
// can be null, '?', or '""' to receive all data, else set mRID
edg.setMRID(mRID);
message.setRequest(request);
message.getRequest().setCIMIdentitiesQueries(var);
message.getRequest().getCIMIdentitiesQueries().getEndDeviceGroup().add(0, edg);
message.getRequest().getCIMIdentitiesQueries().getEndDeviceGroup();
try {
response = queryCIMIdentities(message);
} catch (QueryCIMIdentitiesFaultMessage ex) {
return ex.getMessage();
}
/* set outgoing deletion message to contain ALL data about the mRID */
msg.getPayload().setCIMIdentities(response.getPayload().getCIMIdentities());
try {
if (response.getPayload().getCIMIdentities().getCIMIdentity().get(0).getIdentifiedObject().getMRID() == null)
throw new IndexOutOfBoundsException("mRID doesn't exist");
deletedCIMIdentitiesRequest(msg);
String confirmation = "Data deleted:<br>" + "<br><strong>mRID:</strong> " + response.getPayload().getCIMIdentities().getCIMIdentity().get(0).getIdentifiedObject().getMRID() + "<br><strong>Name:</strong> " + response.getPayload().getCIMIdentities().getCIMIdentity().get(0).getNames().get(0).getName() + "<br><strong>NameType Name:</strong> " + response.getPayload().getCIMIdentities().getCIMIdentity().get(0).getNames().get(0).getNameType().getName() + "<br><strong>NameType Description:</strong> " + response.getPayload().getCIMIdentities().getCIMIdentity().get(0).getNames().get(0).getNameType().getDescription() + "<br><strong>NameTypeAuthority Name:</strong> " + response.getPayload().getCIMIdentities().getCIMIdentity().get(0).getNames().get(0).getNameType().getNameTypeAuthority().getName() + "<br><strong>NameTypeAuthority Description:</strong> " + response.getPayload().getCIMIdentities().getCIMIdentity().get(0).getNames().get(0).getNameType().getNameTypeAuthority().getDescription();
return confirmation;
} catch (FaultMessage ex) {
error = ex.getMessage();
return error;
} catch (IndexOutOfBoundsException err) {
return "<p style=\"color:red\"><strong>No deletion made.<br>Provided UUID does not currently exist in the database</strong>.<br>Please double check input UUID.<br>";
}
} else /* modification handling */
if (action.equals("modify")) {
HeaderType header = new HeaderType();
header.setNoun("CIMIdentities");
header.setVerb("change");
msg.setHeader(header);
/* query the server for the mRID being modified */
CIMIdentitiesQueriesRequestType request = new CIMIdentitiesQueriesRequestType();
CIMIdentitiesQueries var = new CIMIdentitiesQueries();
EndDeviceGroup edg = new EndDeviceGroup();
// can be null, '?', or '""' to receive all data, else set mRID
edg.setMRID(mRID);
message.setRequest(request);
message.getRequest().setCIMIdentitiesQueries(var);
message.getRequest().getCIMIdentitiesQueries().getEndDeviceGroup().add(0, edg);
message.getRequest().getCIMIdentitiesQueries().getEndDeviceGroup();
try {
response = queryCIMIdentities(message);
} catch (QueryCIMIdentitiesFaultMessage ex) {
return response.getReply().getError().get(0).getDetails();
}
try {
if (response.getPayload().getCIMIdentities().getCIMIdentity().get(0).getIdentifiedObject().getMRID() == null)
throw new IndexOutOfBoundsException("mRID doesn't exist");
changedCIMIdentitiesRequest(msg);
String confirmation = "Data modified:<br>" + "<strong>Previous data:</strong><br>" + "<br><strong>mRID:</strong> " + response.getPayload().getCIMIdentities().getCIMIdentity().get(0).getIdentifiedObject().getMRID() + "<br><strong>Name:</strong> " + response.getPayload().getCIMIdentities().getCIMIdentity().get(0).getNames().get(0).getName() + "<br><strong>NameType Name:</strong> " + response.getPayload().getCIMIdentities().getCIMIdentity().get(0).getNames().get(0).getNameType().getName() + "<br><strong>NameType Description:</strong> " + response.getPayload().getCIMIdentities().getCIMIdentity().get(0).getNames().get(0).getNameType().getDescription() + "<br><strong>NameTypeAuthority Name:</strong> " + response.getPayload().getCIMIdentities().getCIMIdentity().get(0).getNames().get(0).getNameType().getNameTypeAuthority().getName() + "<br><strong>NameTypeAuthority Description:</strong> " + response.getPayload().getCIMIdentities().getCIMIdentity().get(0).getNames().get(0).getNameType().getNameTypeAuthority().getDescription() + "<br><br><br><strong>New data:</strong><br>" + "<br><strong>Name:</strong> " + msg.getPayload().getCIMIdentities().getCIMIdentity().get(0).getNames().get(0).getName() + "<br><strong>NameType Name:</strong> " + msg.getPayload().getCIMIdentities().getCIMIdentity().get(0).getNames().get(0).getNameType().getName() + "<br><strong>NameType Description:</strong> " + msg.getPayload().getCIMIdentities().getCIMIdentity().get(0).getNames().get(0).getNameType().getDescription() + "<br><strong>NameTypeAuthority Name:</strong> " + msg.getPayload().getCIMIdentities().getCIMIdentity().get(0).getNames().get(0).getNameType().getNameTypeAuthority().getName() + "<br><strong>NameTypeAuthority Description:</strong> " + msg.getPayload().getCIMIdentities().getCIMIdentity().get(0).getNames().get(0).getNameType().getNameTypeAuthority().getDescription();
return confirmation;
} catch (FaultMessage ex) {
error = ex.getMessage();
return error;
} catch (IndexOutOfBoundsException err) {
return "<p style=\"color:red\"><strong>Provided UUID does not currently exist in the database</strong>.<br>Please double check input UUID.<br>";
}
} else
return "Error: Invalid response received.\n";
}
use of com.epri._2016.cimidentities_.CIMIdentity in project CIM-Identities by epri-dev.
the class GetCIMIdentities method queryCIMIdentities.
public ch.iec.tc57._2016.cimidentitiesqueriesmessage.CIMIdentitiesQueriesResponseMessageType queryCIMIdentities(ch.iec.tc57._2016.cimidentitiesqueriesmessage.CIMIdentitiesQueriesRequestMessageType message) throws QueryCIMIdentitiesFaultMessage {
// create response message object
ch.iec.tc57._2016.cimidentitiesqueriesmessage.CIMIdentitiesQueriesResponseMessageType response = new ch.iec.tc57._2016.cimidentitiesqueriesmessage.CIMIdentitiesQueriesResponseMessageType();
// create header object to assign to response. Set to "get" by default
ch.iec.tc57._2011.schema.message.HeaderType header = new ch.iec.tc57._2011.schema.message.HeaderType();
header.setVerb("get");
header.setNoun("CIM Identities");
response.setHeader(header);
// create reply object that if successfully is "OK", if not is "FAILED"
ReplyType value = new ReplyType();
value.setResult("OK");
response.setReply(value);
// create Payload object for response message
ch.iec.tc57._2016.cimidentitiesqueriesmessage.CIMIdentitiesQueriesPayloadType payload = new ch.iec.tc57._2016.cimidentitiesqueriesmessage.CIMIdentitiesQueriesPayloadType();
response.setPayload(payload);
try {
String query;
String uuid = message.getRequest().getCIMIdentitiesQueries().getEndDeviceGroup().get(0).getMRID();
if (uuid == null || uuid.equals("") || uuid.equals("?")) {
query = "SELECT *" + "FROM public.\"NameType\" as nt, public.\"Name\" as n, " + "public.\"NameTypeAuthority\" as nta " + "WHERE n.n_pkey = nt.nt_pkey AND " + "nt.nt_pkey = nta.nta_pkey " + "ORDER BY n.n_name ASC;";
} else {
query = "SELECT *" + "FROM public.\"NameType\" as nt, public.\"Name\" as n, " + "public.\"NameTypeAuthority\" as nta " + "WHERE n.n_pkey = '" + uuid + "' AND " + "n.n_pkey = nt.nt_pkey AND " + "nt.nt_pkey = nta.nta_pkey";
}
Class.forName("org.postgresql.Driver");
Connection conn = DriverManager.getConnection(host, uName, password);
Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
ResultSet rs = stmt.executeQuery(query);
int size = 0;
if (rs != null) {
rs.beforeFirst();
rs.last();
size = rs.getRow();
rs.beforeFirst();
CIMIdentities cimIDs = new CIMIdentities();
payload.setCIMIdentities(cimIDs);
ArrayList<CIMIdentity> cim = (ArrayList<CIMIdentity>) payload.getCIMIdentities().getCIMIdentity();
// sets size of the ArrayList to size of the Result Set
cim.ensureCapacity(size);
int i = 0;
while (rs.next()) {
// create new CIM Identity objects for each object that will be assigned later
// when querying the database
CIMIdentity cimid = new CIMIdentity();
IdentifiedObject idObj = new IdentifiedObject();
Name name = new Name();
cim.add(i, cimid);
List<Name> names = cim.get(i).getNames();
NameType nameType = new NameType();
NameTypeAuthority nameTypeAuthority = new NameTypeAuthority();
// set the mRID
idObj.setMRID(rs.getString("n_pkey"));
cim.get(i).setIdentifiedObject(idObj);
names.add(0, name);
name.setName(rs.getString("n_name"));
names.get(0).setName(name.getName());
nameType.setName(rs.getString("nt_name"));
nameType.setDescription(rs.getString("nt_description"));
names.get(0).setNameType(nameType);
nameTypeAuthority.setName(rs.getString("nta_name"));
nameTypeAuthority.setDescription(rs.getString("nta_description"));
names.get(0).getNameType().setNameTypeAuthority(nameTypeAuthority);
i++;
}
rs.close();
stmt.close();
conn.close();
} else {
CIMIdentities cimIDs = new CIMIdentities();
payload.setCIMIdentities(cimIDs);
ArrayList<CIMIdentity> cim = (ArrayList<CIMIdentity>) payload.getCIMIdentities().getCIMIdentity();
cim.ensureCapacity(size);
CIMIdentity cimid = new CIMIdentity();
IdentifiedObject idObj = new IdentifiedObject();
Name name = new Name();
cim.add(0, cimid);
List<Name> names = cim.get(0).getNames();
NameType nameType = new NameType();
NameTypeAuthority nameTypeAuthority = new NameTypeAuthority();
// set the mRID
idObj.setMRID(rs.getString(""));
cim.get(0).setIdentifiedObject(idObj);
names.add(0, name);
name.setName(rs.getString(""));
names.get(0).setName(name.getName());
nameType.setName(rs.getString(""));
nameType.setDescription(rs.getString(""));
names.get(0).setNameType(nameType);
nameTypeAuthority.setName(rs.getString(""));
nameTypeAuthority.setDescription(rs.getString(""));
names.get(0).getNameType().setNameTypeAuthority(nameTypeAuthority);
}
response.setPayload(payload);
} catch (Exception err) {
value.setResult("Failed");
err.printStackTrace();
}
response.setReply(value);
return response;
}
use of com.epri._2016.cimidentities_.CIMIdentity in project CIM-Identities by epri-dev.
the class CIMIdentities method changedCIMIdentitiesRequest.
public ch.iec.tc57._2016.cimidentitiesmessage.CIMIdentitiesResponseMessageType changedCIMIdentitiesRequest(ch.iec.tc57._2016.cimidentitiesmessage.CIMIdentitiesEventMessageType message) throws FaultMessage {
// Event message type only contains the header/payload
// Response message type contains header/payload/reply
// therefore, response message type must be set for CIMIdentitiesResponseMessageType
ch.iec.tc57._2016.cimidentitiesmessage.CIMIdentitiesResponseMessageType response = new ch.iec.tc57._2016.cimidentitiesmessage.CIMIdentitiesResponseMessageType();
ReplyType value = new ReplyType();
// String result = value.getResult();
value.setResult("OK");
// set response header/payload/reply
response.setHeader(message.getHeader());
response.setPayload(message.getPayload());
response.setReply(value);
try {
ArrayList<CIMIdentity> cim = (ArrayList<CIMIdentity>) response.getPayload().getCIMIdentities().getCIMIdentity();
mRID = cim.get(0).getIdentifiedObject().getMRID();
NName = cim.get(0).getNames().get(0).getName();
NTName = cim.get(0).getNames().get(0).getNameType().getName();
NTDes = cim.get(0).getNames().get(0).getNameType().getDescription();
NTAName = cim.get(0).getNames().get(0).getNameType().getNameTypeAuthority().getName();
NTADes = cim.get(0).getNames().get(0).getNameType().getNameTypeAuthority().getDescription();
Connection con = DriverManager.getConnection(host, uName, password);
Statement stmt = con.createStatement();
// to-do: Add error checking if "Randomly Generate" is selected
String updateName = "UPDATE public.\"Name\" SET n_name = '" + NName + "' WHERE n_pkey = '" + mRID + "'";
String updateNT = "UPDATE public.\"NameType\" SET nt_name = '" + NTName + "', nt_description = '" + NTDes + "' WHERE nt_pkey = '" + mRID + "'";
String updateNTA = "UPDATE public.\"NameTypeAuthority\" SET nta_name = '" + NTAName + "', nta_description = '" + NTADes + "' WHERE nta_pkey = '" + mRID + "'";
stmt.executeUpdate(updateName);
stmt.executeUpdate(updateNT);
stmt.executeUpdate(updateNTA);
stmt.close();
con.close();
return response;
} catch (SQLException err) {
value.setResult("FAILED");
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
err.printStackTrace(pw);
value.getError().get(0).setDetails(sw.toString());
response.setReply(value);
return response;
}
}
Aggregations