/****************************************************************************** * * Copyright: Intellectual Property of Four Elements Capital Pte Ltd, Singapore. * All rights reserved. * ******************************************************************************/ package com.fourelementscapital.db; import java.sql.Date; import java.sql.Timestamp; import java.util.ArrayList; import java.util.Collection; import java.util.Map; import java.util.Vector; import com.fourelementscapital.db.vo.BBSyncTrigger; /** * Abstract class implements methods related to BBSync */ public abstract class BBSyncDB extends SuperDB{ /** * Connect database */ public void connectDB() throws Exception { super.connectDB(DB_NAME_BBSYNC); } /** * List all bbsync * @return bbsync * @throws Exception */ public abstract Vector listAll() throws Exception; /** * Get field mapping by bbsync id * @param bbsyncid bbsync id * @return field mapping * @throws Exception */ public abstract ArrayList fieldMapping4BBSync(int bbsyncid) throws Exception; /** * Get download query * @param id bbsync id * @return bbsync * @throws Exception */ public abstract Map getDownloadQuery(long id) throws Exception; /** * Get field mapping * @return field mapping * @throws Exception */ public abstract Vector getFieldMapping() throws Exception; /** * Update triggered date * @param id bbsync id * @param start trigger start date * @param end trigger end date * @throws Exception */ public abstract void updateTriggeredDate(int id, Timestamp start, Timestamp end) throws Exception; /** * Delete field mapping * @param id field mapping id * @throws Exception */ public abstract void deleteFieldMapping(int id) throws Exception; /** * Add field mapping * @param dbfield field mapping db field * @param bbfield field mapping bb field * @throws Exception */ public abstract void addFieldMapping(String dbfield, String bbfield) throws Exception; /** * Update contract logs * @param contract contracts * @param marketsector market sector * @param lastsync last sync * @param scommodities scommodities * @param fields contract fields * @throws Exception */ public abstract void updateContractLogs(Vector contract,String marketsector, Timestamp lastsync, Map scommodities,Collection fields) throws Exception; /** * Update securities logs * @param contract contracts * @param marketsector market sector * @param lastsync last sync * @param fields contract fields * @throws Exception */ public abstract void updateSecuritiesLogs(Vector contract, String marketsector, Timestamp lastsync,Collection fields) throws Exception; /** * Get contract names to ref synchronized * @param pendingonly is pending only * @throws Exception * @return contract info */ public abstract Vector getContractNames2RefSync(boolean pendingonly) throws Exception; /** * Get security names to ref synchronized * @param pendingonly is pending only * @throws Exception * @return security info */ public abstract Map getSecurityNames2RefSync( boolean pendingonly) throws Exception; /** * Get security name to ref synchronized * @param ticker ticker * @throws Exception * @return security info */ public abstract Map getSecurityName2RefSync(String ticker) throws Exception ; /** * Update contract reference * @param contractname contract name * @param fielddata field data * @throws Exception */ public abstract void updateContractReference(String contractname, Map fielddata) throws Exception; /** * Update security reference * @param securityname security name * @param marketsector market sector * @param fielddata field data * @throws Exception */ public abstract void updateSecurityReference(String securityname, String marketsector, Map fielddata) throws Exception; /** * Add sync logs * @param bbsyncid bbsync id * @param start start time * @param end end time * @param message message * @param status status * @param manual_scheduler manual scheduler * @throws Exception */ public abstract void addSyncLogs(int bbsyncid, Timestamp start, Timestamp end, String message, String status, String manual_scheduler) throws Exception; /** * Remove schedule ticker * @param bbsync_id bbsync id * @param ticker contract * @throws Exception */ public abstract void removeScheduleTicker(int bbsync_id, String ticker) throws Exception; /** * Save schedule * @param id bbsync id * @param name bbsync name * @param mkt_secdb is market security db * @param dateoption date option * @param datefrom date from * @param dateto date to * @param datenumber date recent number * @param fields bbsync fields * @param contracts bbsync contracts * @param t BBSync trigger * @param marketsector market sector * @param timezone timezone * @return bbsync id * @throws Exception */ public abstract int saveSchedule(int id, String name, String mkt_secdb, String dateoption, Date datefrom, Date dateto, int datenumber, Vector fields, String contracts, BBSyncTrigger t, String marketsector, String timezone) throws Exception; public abstract void deleteQuery(int id) throws Exception; /** * Record started peer * @param peername peer name * @param sessionid session id * @param time time * @throws Exception */ public abstract void peerStarted(String peername,long sessionid, java.util.Date time) throws Exception ; /** * Record stopped peer * @param peername peer name * @param sessionid session id * @param time time * @throws Exception */ public abstract void peerStopped(String peername, long sessionid, java.util.Date time) throws Exception; }