Skip to content

Instantly share code, notes, and snippets.

@recursivecodes
Created June 11, 2019 20:26
Show Gist options
  • Select an option

  • Save recursivecodes/e9da7f1de94b2fdb1c36f9de639f4e7a to your computer and use it in GitHub Desktop.

Select an option

Save recursivecodes/e9da7f1de94b2fdb1c36f9de639f4e7a to your computer and use it in GitHub Desktop.
package com.example.fn;
import com.cedarsoftware.util.io.JsonWriter;
import com.fnproject.fn.api.OutputEvent;
import java.sql.*;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
public class HelloFunction {
public OutputEvent handleRequest(Employee employee) {
String dbUser = System.getenv().get("DB_USER");
String dbPassword = System.getenv().get("DB_PASSWORD");
String dbUrl = System.getenv().get("DB_URL");
String clientCredPath = System.getenv().get("CLIENT_CREDENTIALS");
System.setProperty("oracle.jdbc.driver.OracleDriver", "true");
System.setProperty("oracle.net.ssl_version", "1.2");
System.setProperty("javax.net.ssl.keyStore", "${clientCredPath}/keystore.jks");
System.setProperty("javax.net.ssl.keyStorePassword", System.getenv().get("KEYSTORE_PASSWORD"));
System.setProperty("javax.net.ssl.trustStore", "${clientCredPath}/truststore.jks");
System.setProperty("javax.net.ssl.trustStorePassword", System.getenv().get("TRUSTSTORE_PASSWORD"));
System.setProperty("oracle.net.tns_admin", clientCredPath);
try {
DriverManager.registerDriver(new oracle.jdbc.OracleDriver());
Connection con = DriverManager.getConnection(dbUrl,dbUser,dbPassword);
PreparedStatement st = con.prepareStatement("insert into employees (EMP_EMAIL, EMP_NAME, EMP_DEPT) values (?, ?, ?)");
st.setString( 1,employee.getEmail());
st.setString(2, employee.getName());
st.setString(3, employee.getDept());
st.executeUpdate();
st.close();
con.close();
}
catch (Exception ex) {
ex.printStackTrace();
}
return OutputEvent.fromBytes( JsonWriter.objectToJson(employee).getBytes(), OutputEvent.Status.Success, "application/json");
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment