protected void postBuildAttributesIntoWorkingCopyCloneEvent(Object clone, AbstractRecord databaseRow, ObjectBuildingQuery query, UnitOfWorkImpl unitOfWork, boolean forRefresh) { // Need to run post build or refresh selector, currently check with the query for this, // I'm not sure which should be called it case of refresh building a new object, currently refresh is used... DescriptorEvent event = new DescriptorEvent(clone); event.setQuery(query); event.setSession(unitOfWork); event.setDescriptor(this.descriptor); event.setRecord(databaseRow); if (forRefresh) { event.setEventCode(DescriptorEventManager.PostRefreshEvent); } else { event.setEventCode(DescriptorEventManager.PostBuildEvent); //fire a postBuildEvent then the postCloneEvent unitOfWork.deferEvent(event); event = new DescriptorEvent(clone); event.setQuery(query); event.setSession(unitOfWork); event.setDescriptor(this.descriptor); event.setRecord(databaseRow); //bug 259404: ensure postClone is called for objects built directly into the UnitOfWork //in this case, the original is the clone event.setOriginalObject(clone); event.setEventCode(DescriptorEventManager.PostCloneEvent); } unitOfWork.deferEvent(event); }
protected void postBuildAttributesIntoWorkingCopyCloneEvent(Object clone, AbstractRecord databaseRow, ObjectBuildingQuery query, UnitOfWorkImpl unitOfWork, boolean forRefresh) { // Need to run post build or refresh selector, currently check with the query for this, // I'm not sure which should be called it case of refresh building a new object, currently refresh is used... DescriptorEvent event = new DescriptorEvent(clone); event.setQuery(query); event.setSession(unitOfWork); event.setDescriptor(this.descriptor); event.setRecord(databaseRow); if (forRefresh) { event.setEventCode(DescriptorEventManager.PostRefreshEvent); } else { event.setEventCode(DescriptorEventManager.PostBuildEvent); //fire a postBuildEvent then the postCloneEvent unitOfWork.deferEvent(event); event = new DescriptorEvent(clone); event.setQuery(query); event.setSession(unitOfWork); event.setDescriptor(this.descriptor); event.setRecord(databaseRow); //bug 259404: ensure postClone is called for objects built directly into the UnitOfWork //in this case, the original is the clone event.setOriginalObject(clone); event.setEventCode(DescriptorEventManager.PostCloneEvent); } unitOfWork.deferEvent(event); }
protected void postBuildAttributesIntoObjectEvent(Object domainObject, AbstractRecord databaseRow, ObjectBuildingQuery query, boolean forRefresh) { DescriptorEventManager descriptorEventManager = this.descriptor.getDescriptorEventManager(); if(descriptorEventManager.hasAnyEventListeners()) { // Need to run post build or refresh selector, currently check with the query for this, // I'm not sure which should be called it case of refresh building a new object, currently refresh is used... org.eclipse.persistence.descriptors.DescriptorEvent event = new DescriptorEvent(domainObject); event.setQuery(query); event.setSession(query.getSession()); event.setRecord(databaseRow); if (forRefresh) { //this method can be called from different places within TopLink. We may be //executing refresh query but building the object not refreshing so we must //throw the appropriate event. //bug 3325315 event.setEventCode(DescriptorEventManager.PostRefreshEvent); } else { event.setEventCode(DescriptorEventManager.PostBuildEvent); } descriptorEventManager.executeEvent(event); } }
protected void postBuildAttributesIntoObjectEvent(Object domainObject, AbstractRecord databaseRow, ObjectBuildingQuery query, boolean forRefresh) { DescriptorEventManager descriptorEventManager = this.descriptor.getDescriptorEventManager(); if(descriptorEventManager.hasAnyEventListeners()) { // Need to run post build or refresh selector, currently check with the query for this, // I'm not sure which should be called it case of refresh building a new object, currently refresh is used... org.eclipse.persistence.descriptors.DescriptorEvent event = new DescriptorEvent(domainObject); event.setQuery(query); event.setSession(query.getSession()); event.setRecord(databaseRow); if (forRefresh) { //this method can be called from different places within TopLink. We may be //executing refresh query but building the object not refreshing so we must //throw the appropriate event. //bug 3325315 event.setEventCode(DescriptorEventManager.PostRefreshEvent); } else { event.setEventCode(DescriptorEventManager.PostBuildEvent); } descriptorEventManager.executeEvent(event); } }
event.setQuery(query); event.setSession(query.getSession()); event.setRecord(databaseRow);
event.setQuery(query); event.setSession(unitOfWork); event.setRecord(databaseRow);
event.setEventCode(DescriptorEventManager.PreDeleteEvent); event.setSession(getSession()); event.setQuery(this); getDescriptor().getEventManager().executeEvent(event); event.setEventCode(DescriptorEventManager.PostDeleteEvent); event.setSession(getSession()); event.setQuery(this); getDescriptor().getEventManager().executeEvent(event);
event.setEventCode(DescriptorEventManager.PreDeleteEvent); event.setSession(this.session); event.setQuery(this); this.descriptor.getEventManager().executeEvent(event); event.setEventCode(DescriptorEventManager.PostDeleteEvent); event.setSession(this.session); event.setQuery(this); this.descriptor.getEventManager().executeEvent(event);
event.setEventCode(DescriptorEventManager.PreDeleteEvent); event.setSession(this.session); event.setQuery(this); this.descriptor.getEventManager().executeEvent(event); event.setEventCode(DescriptorEventManager.PostDeleteEvent); event.setSession(this.session); event.setQuery(this); this.descriptor.getEventManager().executeEvent(event);