import com.adeptia.indigo.services.mapping.support.ReferenceConnection;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.SQLException;

import javax.security.auth.Subject;


 public class MultipleParamsSP {
	static Subject $_subject;

	public static String execute(String identifier, String dbInfoName,
			Subject subject, String query, String inParam) throws SQLException {
		Integer result1 = Integer.valueOf(-1);
        Integer result2 = Integer.valueOf(-1);
        CallableStatement cs = null;
        Connection con = null;
		try {
			con = ReferenceConnection.getDBConnection(identifier, dbInfoName,
					subject); 
			cs = con.prepareCall(query);
			System.out.println("Creating connection...");
			System.out.println("identifier:" + identifier);
			System.out.println("dbInfoName:" + dbInfoName);
			System.out.println("query:" + query);
			
			System.out.println("Connection Created");
			cs.setString(1, inParam);
			cs.registerOutParameter(2, 4);
			cs.registerOutParameter(3, 4);
			cs.execute();
			System.out.println("Executed");
			 result1 = Integer.valueOf(cs.getInt(2));
             result2 = Integer.valueOf(cs.getInt(3));
			
		} catch (Exception e) {
			e.printStackTrace();
		} 
		finally {
			if(cs!=null){
				cs.close();
			}
		}
	
		return result1+"|"+result2;
	}
	
 }
