Initial Contribution

Signed-off-by: Vinay Vishal <vinay.vishal@oracle.com>
diff --git a/appserver/tests/appserv-tests/devtests/jdbc/init-sql/ejb/SimpleSessionBean.java b/appserver/tests/appserv-tests/devtests/jdbc/init-sql/ejb/SimpleSessionBean.java
new file mode 100644
index 0000000..2daf55f
--- /dev/null
+++ b/appserver/tests/appserv-tests/devtests/jdbc/init-sql/ejb/SimpleSessionBean.java
@@ -0,0 +1,106 @@
+/*
+ * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package com.sun.s1asdev.jdbc.initsql.ejb;
+
+import javax.ejb.*;
+import javax.naming.*;
+import javax.sql.*;
+import java.rmi.*;
+import java.util.*;
+import java.sql.*;
+import javax.transaction.SystemException;
+import javax.transaction.UserTransaction;
+
+public class SimpleSessionBean implements SessionBean
+{
+
+    private SessionContext context;
+    private InitialContext ic;
+    private DataSource ds1; 
+
+    public void setSessionContext(SessionContext ctxt) {
+        this.context = ctxt;
+	try {
+	    ic = new InitialContext();
+	    ds1 = (com.sun.appserv.jdbc.DataSource)ic.lookup("java:comp/env/DataSource1");
+	} catch( Exception ne ) {
+	    ne.printStackTrace();
+	}
+    }
+
+    public void ejbCreate() throws CreateException {
+    }
+
+    /**
+     * Test to select the names from a table. 
+     *
+     * The result set would contain different number of rows based on 
+     * a session property set during the initialization sql phase. 
+     * Based on the property set, the number of rows are compared to 
+     * test the feature.
+     */
+    public boolean test1(boolean caseSensitive) {
+        Connection con = null;
+	Statement stmt = null;
+	ResultSet rs = null;
+	String query = "Select name from WORKERS where name='Joy Joy'";
+	boolean result = false;
+	int size = 0;
+	try {
+	    con = ds1.getConnection();
+	    stmt = con.createStatement();
+	    rs = stmt.executeQuery(query);
+	    if(rs != null) {
+		while(rs.next()) {
+		    size++;
+		}
+	    }
+	    if(caseSensitive) {
+	        result = size == 1;
+	    } else {
+		result = size == 3;
+	    }
+	} catch (SQLException ex) {
+	    result = false;
+	    ex.printStackTrace();
+	} finally {
+            if(rs != null) {
+		try {
+		    rs.close();
+		} catch(Exception ex) {}
+	    }
+	    if(stmt != null) {
+		try {
+		    stmt.close();
+		} catch(Exception ex) {}
+	    }
+	    if(con != null) {
+		try {
+		    stmt.close();
+		} catch(Exception ex) {}
+	    }
+	}
+	return result;
+    }
+
+    public void ejbStore() {}
+    public void ejbRemove() {}
+    public void ejbActivate() {}
+    public void ejbPassivate() {}
+    public void unsetEntityContext() {}
+    public void ejbPostCreate() {}
+}