package com.appiancorp.plugins.processreport; import java.sql.CallableStatement; import java.sql.Connection; import java.sql.PreparedStatement; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Arrays; import java.util.Calendar; import java.util.Date; import java.util.HashMap; import java.util.List; import javax.naming.Context; import javax.naming.InitialContext; import javax.sql.DataSource; import oracle.sql.ARRAY; import oracle.sql.ArrayDescriptor; import oracle.sql.STRUCT; import oracle.sql.StructDescriptor; import org.apache.commons.dbcp.BasicDataSource; import org.apache.commons.dbcp.DelegatingConnection; import org.apache.log4j.Level; import org.apache.log4j.Logger; import com.appiancorp.services.ServiceContext; import com.appiancorp.suiteapi.common.ServiceLocator; import com.appiancorp.suiteapi.process.analytics2.Filter; import com.appiancorp.suiteapi.process.analytics2.ProcessAnalyticsService; import com.appiancorp.suiteapi.process.analytics2.ProcessReport; import com.appiancorp.suiteapi.process.analytics2.ReportData; import com.appiancorp.suiteapi.process.analytics2.ReportResultPage; import com.appiancorp.suiteapi.process.analytics2.SimpleColumnFilter; import com.appiancorp.suiteapi.type.AppianType; import com.appiancorp.suiteapi.type.TypedValue; import com.google.gson.Gson; public class ProcessListHelper { private static final Logger LOG = Logger.getLogger(ProcessListHelper.class); static { LOG.setLevel(Level.DEBUG); } private static void insertUpdateProcessData(ProcessList processList) { LOG.debug("insertUpdateProcessData start " ); Context ctx = null; BasicDataSource cname = null; CallableStatement stmt = null; Connection conn = null; java.sql.Connection dconn = null; try { ctx = new InitialContext(); cname = (BasicDataSource) ctx.lookup("jdbc/AppianSecondary"); cname.setAccessToUnderlyingConnectionAllowed(true); conn = cname.getConnection(); // May be this connection is not getting type-casted. What should be done? Any alternative approach? dconn = ((DelegatingConnection)conn).getInnermostDelegate(); StructDescriptor sdesc = StructDescriptor.createDescriptor( "SchemaName.APPIAN_PRCS_LOAD_PKG", dconn); //this is where we are trying to call the package defined in Oracle db. List structList = new ArrayList(); -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- } }