/** * Log this transaction. * @param strLogData Data to log */ public synchronized void logTrx(Object objLogData) { BaseMessage message = this.getMessageObject(); message.putNative(MESSAGE_PARAM, objLogData); this.getMessageManager().sendMessage(message); } /**
BaseMessageFilter filter = new BaseMessageFilter(MessageConstants.TRX_RETURN_QUEUE, MessageConstants.INTERNET_QUEUE, source, null); filter.addMessageListener(this); messageManager.addMessageFilter(filter); m_intRegistryID = filter.getRegistryID(); app.getMessageManager().sendMessage(message);
BaseMessageReceiver messageReceiver = (BaseMessageReceiver)messageManager.getMessageQueue(MessageConstants.RECORD_QUEUE_NAME, MessageConstants.INTRANET_QUEUE).getMessageReceiver(); MessageReceiverFilterList messageFilters = messageReceiver.getMessageFilterList(); BaseMessageHeader messageHeaderFilter = new BaseMessageHeader(MessageConstants.RECORD_QUEUE_NAME, MessageConstants.INTRANET_QUEUE, null, null);
/** * Add all the screen listeners. */ public void addListeners() { super.addListeners(); MessageManager messageManager = ((Application)this.getTask().getApplication()).getMessageManager(); if (messageManager != null) { Object source = this; BaseMessageFilter filter = new BaseMessageFilter(MessageConstants.TRX_RETURN_QUEUE, MessageConstants.INTERNET_QUEUE, source, null); filter.addMessageListener(this); messageManager.addMessageFilter(filter); m_intRegistryID = filter.getRegistryID(); } } /**
if (MessageConstants.LOCAL_QUEUE.equalsIgnoreCase(strQueueType)) BaseMessageReceiver messageReceiver = (BaseMessageReceiver)messageManager.getMessageQueue(strQueueName, strQueueType).getMessageReceiver(); if (!messageReceiver.getFilterList(messageHeader).hasNext()) messageManager.sendMessage(m_message);
/** * Add behaviors to this session. */ public void addListeners() { super.addListeners(); // BaseMessageFilter remoteFilter = new ServerSessionMessageFilter(messageFilter.getQueueName(), messageFilter.getQueueType(), null, this); //System.out.println("Remote filter " + remoteFilter); BaseMessageFilter filterForSession = new BaseMessageFilter(MessageConstants.TRX_RETURN_QUEUE, MessageConstants.INTERNET_QUEUE, null, null); MessageManager messageManager = ((Application)this.getTask().getApplication()).getMessageManager(); messageManager.addMessageFilter(filterForSession); filterForSession.addMessageListener(this); m_intRegistryID = filterForSession.getRegistryID(); } /**
/** * StartProcess Method. */ public void startProcess(String strProcessName, int iCount) { Map<String,Object> properties = new HashMap<String,Object>(); properties.put(DBParams.PROCESS, strProcessName); properties.put(DBParams.TABLE, this.getProperty(DBParams.TABLE)); properties.put("count", iCount); Application app = (Application)this.getTask().getApplication(); String strQueueName = MessageConstants.TRX_SEND_QUEUE; String strQueueType = MessageConstants.INTRANET_QUEUE; BaseMessage message = new MapMessage(new TrxMessageHeader(strQueueName, strQueueType, properties), properties); app.getMessageManager().sendMessage(message); }
BaseMessageFilter filter = new BaseMessageFilter(MessageConstants.TRX_RETURN_QUEUE, MessageConstants.INTERNET_QUEUE, source, null); filter.addMessageListener(this); messageManager.addMessageFilter(filter); m_intRegistryID = filter.getRegistryID(); app.getMessageManager().sendMessage(message);
/** * AddAvailabilityMessageListeners Method. */ public void addAvailabilityMessageListeners(Product recProduct, ProductScreenRecord screenRecord) { // Override this to add the listeners and message queues (remember to call super) // Create a private messageReceiver and listen for changes MessageManager messageManager = ((Application)this.getTask().getApplication()).getMessageManager(); Integer intRegistryID = null; if (messageManager != null) { Object source = this; BaseMessageFilter messageFilter = new BaseMessageFilter(MessageConstants.TRX_RETURN_QUEUE, MessageConstants.INTERNET_QUEUE, source, null); messageManager.addMessageFilter(messageFilter); this.addProductAvailabilityMessageFilter(recProduct, messageFilter); recProduct.addListener(new FreeOnFreeHandler(messageFilter)); intRegistryID = messageFilter.getRegistryID(); recProduct.addListener(this.getProductAvailabilityHandler(screenRecord, intRegistryID)); } } /**
BaseMessageReceiver handler = (BaseMessageReceiver)messageManager.getMessageQueue(MessageConstants.RECORD_QUEUE_NAME, MessageConstants.INTRANET_QUEUE).getMessageReceiver();
/** * RunUpdater Method. */ public boolean runUpdater() { Map<String,Object> properties = new HashMap<String,Object>(); String strTableName = this.getMainRecord().getTableNames(false); properties.put(DBParams.PROCESS, HotelAvailProcess.class.getName()); properties.put(DBParams.TABLE, strTableName); Application app = (Application)this.getTask().getApplication(); String strQueueName = MessageConstants.TRX_SEND_QUEUE; String strQueueType = MessageConstants.INTRANET_QUEUE; BaseMessage message = new MapMessage(new TrxMessageHeader(strQueueName, strQueueType, properties), properties); app.getMessageManager().sendMessage(message); return true; }
/** * AddAvailabilityMessageListeners Method. */ public void addAvailabilityMessageListeners(Product recProduct, ProductScreenRecord screenRecord) { // Override this to add the listeners and message queues (remember to call super) // Create a private messageReceiver and listen for changes MessageManager messageManager = ((Application)this.getTask().getApplication()).getMessageManager(); Integer intRegistryID = null; if (messageManager != null) { Object source = this; BaseMessageFilter messageFilter = new BaseMessageFilter(MessageConstants.TRX_RETURN_QUEUE, MessageConstants.INTERNET_QUEUE, source, null); messageManager.addMessageFilter(messageFilter); this.addProductAvailabilityMessageFilter(recProduct, messageFilter); recProduct.addListener(new FreeOnFreeHandler(messageFilter)); intRegistryID = messageFilter.getRegistryID(); recProduct.addListener(this.getProductAvailabilityHandler(screenRecord, intRegistryID)); } } /**
BaseMessageReceiver handler = (BaseMessageReceiver)messageManager.getMessageQueue(MessageConstants.SESSION_QUEUE_NAME, MessageConstants.INTRANET_QUEUE).getMessageReceiver();
/** * A record with this datasource handle changed, notify any behaviors that are checking. * NOTE: Be very careful as this code is running in an independent thread * (synchronize to the task before calling record calls). * NOTE: For now, you are only notified of the main record changes. * @param message The message to handle. * @return The error code. */ public int handleMessage(BaseMessage message) { System.out.println("---------------------------------------------------------- HotelSession/86"); if (message instanceof BaseMessage) { Double dblRate = (Double)message.get(BookingDetail.TOTAL_COST); if (message.get(HotelRateResponse.PRODUCT_RESPONSE_MESSAGE) instanceof HotelRateResponseMessageData) { dblRate = new Double(((HotelRateResponseMessageData)message.get(HotelRateResponse.PRODUCT_RESPONSE_MESSAGE)).getRoomCost(PaxCategory.DOUBLE_ID)); } MessageManager messageManager = ((Application)this.getTask().getApplication()).getMessageManager(); BaseMessageHeader messageFilter = message.getMessageHeader(); BaseMessageHeader messageHeader = new SessionMessageHeader(null, this); Map<String,Object> properties = new Hashtable<String,Object>(); properties.put("hotelCost", dblRate); BaseMessage messageTableUpdate = new MapMessage(messageHeader, properties); messageManager.sendMessage(messageTableUpdate); } return super.handleMessage(message); }
/** * Set the field that owns this listener. * @owner The field that this listener is being added to (if null, this listener is being removed). */ public void setOwner(ListenerOwner owner) { if (owner == null) { if (m_messageListener != null) { m_messageListener.free(); m_messageListener = null; } } super.setOwner(owner); if (owner != null) { Record record = this.getOwner().getRecord(); MessageManager messageManager = ((Application)record.getTask().getApplication()).getMessageManager(); if (messageManager != null) { BaseMessageFilter messageFilter = new BaseMessageFilter(MessageConstants.TRX_RETURN_QUEUE, MessageConstants.INTERNET_QUEUE, this, null); messageManager.addMessageFilter(messageFilter); m_messageListener = new WaitForFieldChangeMessageListener(messageFilter, this); record.setupRecordListener(m_messageListener, false, false); // I need to listen for record changes } } } /**
MessageReceiver handler = messageManager.getMessageQueue(MessageConstants.RECORD_QUEUE_NAME, MessageConstants.INTRANET_QUEUE).getMessageReceiver();
properties.put(DBParams.PROCESS, strProcessClass); BaseMessage messageInitial = new MapMessage(new BaseMessageHeader(message.getMessageHeader().getQueueName(), message.getMessageHeader().getQueueType(), this, null), properties); env.getMessageManager(m_application, true).sendMessage(messageInitial); // Resend it! (Don't consume it!) env.getMessageManager(m_application, true).sendMessage(message); // Resend it! (Don't consume it!)
filter = new GridRecordMessageFilter(this, source, bReceiveAllAdds); filter.addMessageListener(listener); messageManager.addMessageFilter(filter);
GridScreen screen = new TourHeaderOptionGridScreen(recTourHeader, null, null, parentScreen, null, ScreenConstants.DONT_DISPLAY_FIELD_DESC, null); MessageManager messageManager = application.getMessageManager(); BaseMessageReceiver receiver = (BaseMessageReceiver)messageManager.getMessageQueue(strQueueName, MessageConstants.INTRANET_QUEUE).getMessageReceiver(); BaseScreen screenTarget = (BaseScreen)sourceSField.getParentScreen(); receiver.createDefaultFilter(screenTarget);
public boolean doCommand(String strCommand, ScreenField sourceSField, int iCommandOptions) { Task task = getTask(); Application application = (Application)task.getApplication(); String strQueueName = getProperty(MessageConstants.QUEUE_NAME); MessageManager messageManager = application.getMessageManager(); Map<String,Object> propHeader = new Hashtable<String,Object>(); Map<String,Object> propMessage = new Hashtable<String,Object>(); Record record = getParentScreen().getMainRecord(); if ((record.getEditMode() == DBConstants.EDIT_CURRENT) || (record.getEditMode() == DBConstants.EDIT_IN_PROGRESS)) { String bookmark = null; try { bookmark = record.getHandle(DBConstants.OBJECT_ID_HANDLE).toString(); } catch (DBException ex) { ex.printStackTrace(); } propMessage.put(RecordMessageConstants.TABLE_NAME, record.getTableNames(false)); propMessage.put(DBConstants.STRING_OBJECT_ID_HANDLE, bookmark); BaseMessageHeader messageHeader = new BaseMessageHeader(strQueueName, MessageConstants.INTRANET_QUEUE, this, propHeader); BaseMessage message = new MapMessage(messageHeader, propMessage); messageManager.sendMessage(message); } return super.doCommand(strCommand, sourceSField, iCommandOptions); } };