1 25 package org.ofbiz.pos.adaptor; 26 27 import java.util.Map ; 28 import java.sql.Timestamp ; 29 30 import org.ofbiz.service.GenericServiceCallback; 31 import org.ofbiz.base.util.Debug; 32 import org.ofbiz.base.util.UtilMisc; 33 import org.ofbiz.entity.GenericValue; 34 import org.ofbiz.entity.GenericEntityException; 35 import org.ofbiz.pos.screen.PosScreen; 36 import org.ofbiz.pos.event.SecurityEvents; 37 38 44 public class SyncCallbackAdaptor implements GenericServiceCallback { 45 46 public static final String module = SyncCallbackAdaptor.class.getName(); 47 48 protected PosScreen screen = null; 49 protected Timestamp txStamp = null; 50 protected String entitySyncId = null; 51 protected boolean enabled = true; 52 53 public SyncCallbackAdaptor(PosScreen pos, String entitySyncId, Timestamp txStamp) { 54 this.screen = pos; 55 this.entitySyncId = entitySyncId; 56 this.txStamp = txStamp; 57 } 58 59 public void setEnabled(boolean enabled) { 60 this.enabled = enabled; 61 } 62 63 protected void internalReceiveEvent(Map context, Object obj) { 64 String ctxSyncId = (String ) context.get("entitySyncId"); 65 if (ctxSyncId != null && entitySyncId.equals(ctxSyncId)) { 66 GenericValue entitySync = null; 67 try { 68 entitySync = screen.getSession().getDelegator().findByPrimaryKey("EntitySync", UtilMisc.toMap("entitySyncId", entitySyncId)); 69 } catch (GenericEntityException e) { 70 Debug.logError(e, module); 71 } 72 if (entitySync != null) { 73 Timestamp lastSync = entitySync.getTimestamp("lastSuccessfulSynchTime"); 74 if (lastSync.after(txStamp)) { 75 this.setEnabled(false); 76 screen.showDialog("dialog/error/terminalclosed"); 77 screen.refresh(); 78 SecurityEvents.logout(screen); 79 } 80 } 81 } 82 } 83 84 public void receiveEvent(Map context) { 85 this.internalReceiveEvent(context, null); 86 } 87 88 public void receiveEvent(Map context, Map result) { 89 this.internalReceiveEvent(context, result); 90 } 91 92 public void receiveEvent(Map context, Throwable error) { 93 this.internalReceiveEvent(context, error); 94 } 95 96 public boolean isEnabled() { 97 return this.enabled; 98 } 99 } 100 | Popular Tags |