/** * @param loginStub LoginStub * @return AccountStub * @throws Exception */ protected static AccountStub getAccountStub(JParamObject loginStub) throws Exception { java.util.List accountSetList = (List) ConfigManager.getDefault().getCfgData("AccountSet", null); if (accountSetList == null || accountSetList.size() == 0) return null; AccountStub accountStub = null; for (int i = 0; i < accountSetList.size(); i++) { accountStub = (AccountStub) accountSetList.get(i); if (accountStub.getDataStorageId().equals(loginStub.GetValueByEnvName("DataBaseName", null)) && accountStub.getAccountId().equals(loginStub.GetValueByEnvName("DBNO", null))) { return accountStub; } } return null; }
boolean lookDataSource(JConnection jconn, JParamObject PO) throws Exception { boolean hasDataSource = false; if (jconn != null) { String dataSource = PO.GetValueByEnvName("DataSource"); if (dataSource != null && !"".equals(dataSource)) { DataSource ds = null; // try { // ds = (DataSource) jconn.getDBContext().lookup("jdbc/" + // dataSource); // } // catch (Exception e) { // Context context = new InitialContext(); // Context envContext = (Context) context.lookup( // "java:/comp/env"); // ds = (DataSource) envContext.lookup("jdbc/" + dataSource); // // } if (ds != null) { jconn.getInstance(ds.getConnection()); hasDataSource = true; } } } return hasDataSource; }
/** * @param ParamObject Object * @param DataObject Object * @param CustomObject Object * @param AdditiveObject Object * @return Object * @throws Exception */ public Object CheckDBDataSource( Object ParamObject, Object DataObject, Object CustomObject, Object AdditiveObject) throws Exception { JParamObject PO; String DBType; JDataSourceStub DSS; JConnection jconn = null; boolean hasDataSource = false; PO = (JParamObject) ParamObject; DBType = PO.GetValueByEnvName("DataBaseType"); for (int i = 0; i < DBList.size(); i++) { DSS = (JDataSourceStub) DBList.get(i); if (DSS.DataBaseType.toLowerCase().equals(DBType.toLowerCase()) == true) { if (DSS.DBClass == null) { DSS.DBClass = Class.forName(DSS.classname); } if (DSS.NAClass == null) { DSS.NAClass = Class.forName(DSS.dbclass); } if (DSS.NAClass != null) { jconn = (JConnection) DSS.NAClass.newInstance(); try { hasDataSource = lookDataSource(jconn, PO); } catch (Exception e) { e.printStackTrace(); } if (hasDataSource) break; } } } if (!hasDataSource) { throw new Exception("ϵͳû���ṩ" + DBType + "������ݿ�������!"); } if (hasDataSource) return jconn; return null; }