results.add(new ContextUpdate(entry.getKey(), null, entry.getValue(), 3, false)); InvocationResult ires = new InvocationResult(result, results); if (componentName != null || componentClass != null) { Set<Class<?>> componentClasses = findComponentClasses(componentName, componentClass, null); if (isBeanAnnotationPresent(componentClasses, context.getMethod().getName(), context.getMethod().getParameterTypes(), BypassTideMerge.class)) ires.setMerge(false); DataContext dataContext = DataContext.get(); Object[][] updates = dataContext != null ? dataContext.getUpdates() : null; ires.setUpdates(updates); ires.setEvents(new ArrayList<ContextEvent>(threadContext.getRemoteEvents()));
@Override public IInvocationResult postCall(ServiceInvocationContext context, Object result, String componentName, Class<?> componentClass) { List<ContextUpdate> results = new ArrayList<ContextUpdate>(); DataContext dataContext = DataContext.get(); Object[][] updates = dataContext != null ? dataContext.getUpdates() : null; InvocationResult ires = new InvocationResult(result, results); if (componentName != null || componentClass != null) { Set<Class<?>> componentClasses = findComponentClasses(componentName, componentClass, null); if (isBeanAnnotationPresent(componentClasses, context.getMethod().getName(), context.getMethod().getParameterTypes(), BypassTideMerge.class)) ires.setMerge(false); } ires.setUpdates(updates); return ires; }
InvocationResult ires = new InvocationResult(result, results); ires.setScope(scope); ires.setRestrict(restrict); if (componentName != null || componentClass != null) { Set<Class<?>> componentClasses = findComponentClasses(componentName, componentClass, null); if (isBeanAnnotationPresent(componentClasses, context.getMethod().getName(), context.getMethod().getParameterTypes(), BypassTideMerge.class)) ires.setMerge(false); DataContext dataContext = DataContext.get(); Object[][] updates = dataContext != null ? dataContext.getUpdates() : null; ires.setUpdates(updates); ires.setEvents(tideInvocation.getEvents());
mergeExternal = invocationResult.getMerge(); if (invocationResult.getUpdates() != null && invocationResult.getUpdates().length > 0) { updates = new ArrayList<EntityManager.Update>(invocationResult.getUpdates().length); for (Object[] update : invocationResult.getUpdates()) { String updateType = update[0].toString().toUpperCase(); Object entity = update[1]; log.debug("skipped merge of remote result"); if (invocationResult != null) invocationResult.setResult(result); result = invocationResult.getResult();
public void run() { EntityManager entityManager = PersistenceManager.getEntityManager(entity); boolean saveUninitializeAllowed = entityManager.isUninitializeAllowed(); try { entityManager.setUninitializeAllowed(false); InvocationResult invocationResult = (InvocationResult)event.getResult(); // Assumes objects is a PersistentCollection or PersistentMap new ResultHandler<Object>(serverSession, event).handleResult(context, invocationResult, invocationResult.getResult()); } finally { entityManager.setUninitializeAllowed(saveUninitializeAllowed); } } });