/** * INTERNAL: * This method was added to allow JPA project caching so that DescriptorEventListeners could be * serialized and re-added to the EventManager using a SerializableDescriptorEventHolder. * @param classLoader */ public void processDescriptorEventHolders(AbstractSession session, ClassLoader classLoader) { if (this.descriptorEventHolders != null) { for (SerializableDescriptorEventHolder holder: descriptorEventHolders) { holder.addListenerToEventManager(getDescriptor(), session, classLoader); } } }
/** * INTERNAL: * This method was added to allow JPA project caching so that DescriptorEventListeners could be * serialized and re-added to the EventManager using a SerializableDescriptorEventHolder. * @param classLoader */ public void processDescriptorEventHolders(AbstractSession session, ClassLoader classLoader) { if (this.descriptorEventHolders != null) { for (SerializableDescriptorEventHolder holder: descriptorEventHolders) { holder.addListenerToEventManager(getDescriptor(), session, classLoader); } } }
/** * Find the method corresponding to the event selector. The method MUST take * DescriptorEvent as argument, Session is also supported as argument for * backward compatibility. */ protected Method findMethod(int selector) throws DescriptorException { Class[] declarationParameters = new Class[1]; declarationParameters[0] = ClassConstants.DescriptorEvent_Class; String methodName = (String)getEventSelectors().elementAt(selector); try { return Helper.getDeclaredMethod(getDescriptor().getJavaClass(), methodName, declarationParameters); } catch (NoSuchMethodException exception) { throw DescriptorException.noSuchMethodOnFindObsoleteMethod(methodName, getDescriptor(), exception); } catch (SecurityException exception) { throw DescriptorException.securityOnFindMethod(methodName, getDescriptor(), exception); } }
/** * Find the method corresponding to the event selector. The method MUST take * DescriptorEvent as argument, Session is also supported as argument for * backward compatibility. */ protected Method findMethod(int selector) throws DescriptorException { Class[] declarationParameters = new Class[1]; declarationParameters[0] = ClassConstants.DescriptorEvent_Class; String methodName = (String)getEventSelectors().elementAt(selector); try { return Helper.getDeclaredMethod(getDescriptor().getJavaClass(), methodName, declarationParameters); } catch (NoSuchMethodException exception) { throw DescriptorException.noSuchMethodOnFindObsoleteMethod(methodName, getDescriptor(), exception); } catch (SecurityException exception) { throw DescriptorException.securityOnFindMethod(methodName, getDescriptor(), exception); } }
/** * Find the method corresponding to the event selector. The method MUST take * DescriptorEvent as argument, Session is also supported as argument for * backward compatibility. */ protected Method findMethod(int selector) throws DescriptorException { Class[] declarationParameters = new Class[1]; declarationParameters[0] = ClassConstants.DescriptorEvent_Class; String methodName = getEventSelectors().get(selector); try { return Helper.getDeclaredMethod(getDescriptor().getJavaClass(), methodName, declarationParameters); } catch (NoSuchMethodException exception) { throw DescriptorException.noSuchMethodOnFindObsoleteMethod(methodName, getDescriptor(), exception); } catch (SecurityException exception) { throw DescriptorException.securityOnFindMethod(methodName, getDescriptor(), exception); } }
/** * INTERNAL: * Notify the event listeners. */ public void notifyListeners(DescriptorEvent event) { if (hasAnyListeners()) { for (int index = 0; index < getEventListeners().size(); index++) { DescriptorEventListener listener = (DescriptorEventListener)getEventListeners().get(index); notifyListener(listener, event); } } // Also must notify any inherited listeners. if (getDescriptor().isChildDescriptor()) { getDescriptor().getInheritancePolicy().getParentDescriptor().getEventManager().notifyListeners(event); } }
/** * INTERNAL: * Notify the event listeners. */ public void notifyListeners(DescriptorEvent event) { if (hasAnyListeners()) { for (int index = 0; index < getEventListeners().size(); index++) { DescriptorEventListener listener = (DescriptorEventListener)getEventListeners().get(index); notifyListener(listener, event); } } // Also must notify any inherited listeners. if (getDescriptor().isChildDescriptor()) { getDescriptor().getInheritancePolicy().getParentDescriptor().getEventManager().notifyListeners(event); } }
/** * INTERNAL: * Notify the event listeners. */ public void notifyListeners(DescriptorEvent event) { if (hasAnyListeners()) { for (int index = 0; index < getEventListeners().size(); index++) { DescriptorEventListener listener = (DescriptorEventListener)getEventListeners().get(index); notifyListener(listener, event); } } // Also must notify any inherited listeners. if (getDescriptor().isChildDescriptor()) { getDescriptor().getInheritancePolicy().getParentDescriptor().getEventManager().notifyListeners(event); } }
event.getSession().startOperationProfile(SessionProfiler.DescriptorEvent); event.setDescriptor(getDescriptor()); notifyListeners(event); notifyEJB30Listeners(event); Exception throwableException = exception.getException(); if (throwableException instanceof IllegalAccessException) { throw DescriptorException.illegalAccessWhileEventExecution(eventMethod.getName(), getDescriptor(), throwableException); } else { throw DescriptorException.targetInvocationWhileEventExecution(eventMethod.getName(), getDescriptor(), throwableException); throw DescriptorException.illegalAccessWhileEventExecution(eventMethod.getName(), getDescriptor(), exception); } catch (IllegalArgumentException exception) { throw DescriptorException.illegalArgumentWhileObsoleteEventExecute(eventMethod.getName(), getDescriptor(), exception); } catch (InvocationTargetException exception) { throw DescriptorException.targetInvocationWhileEventExecution(eventMethod.getName(), getDescriptor(), exception);
event.getSession().startOperationProfile(SessionProfiler.DescriptorEvent); event.setDescriptor(getDescriptor()); notifyListeners(event); notifyEJB30Listeners(event); Exception throwableException = exception.getException(); if (throwableException instanceof IllegalAccessException) { throw DescriptorException.illegalAccessWhileEventExecution(eventMethod.getName(), getDescriptor(), throwableException); } else { throw DescriptorException.targetInvocationWhileEventExecution(eventMethod.getName(), getDescriptor(), throwableException); throw DescriptorException.illegalAccessWhileEventExecution(eventMethod.getName(), getDescriptor(), exception); } catch (IllegalArgumentException exception) { throw DescriptorException.illegalArgumentWhileObsoleteEventExecute(eventMethod.getName(), getDescriptor(), exception); } catch (InvocationTargetException exception) { throw DescriptorException.targetInvocationWhileEventExecution(eventMethod.getName(), getDescriptor(), exception);
event.getSession().startOperationProfile(SessionProfiler.DescriptorEvent); event.setDescriptor(getDescriptor()); notifyListeners(event); notifyEJB30Listeners(event); Exception throwableException = exception.getException(); if (throwableException instanceof IllegalAccessException) { throw DescriptorException.illegalAccessWhileEventExecution(eventMethod.getName(), getDescriptor(), throwableException); } else { throw DescriptorException.targetInvocationWhileEventExecution(eventMethod.getName(), getDescriptor(), throwableException); throw DescriptorException.illegalAccessWhileEventExecution(eventMethod.getName(), getDescriptor(), exception); } catch (IllegalArgumentException exception) { throw DescriptorException.illegalArgumentWhileObsoleteEventExecute(eventMethod.getName(), getDescriptor(), exception); } catch (InvocationTargetException exception) { throw DescriptorException.targetInvocationWhileEventExecution(eventMethod.getName(), getDescriptor(), exception);
ClassDescriptor currentDescriptor = getDescriptor(); boolean excludeEntityListeners = excludeSuperclassListeners();
if (hasAnyListeners() || DescriptorEventListener.class.isAssignableFrom(getDescriptor().getJavaClass())) { setHasAnyEventListeners(true); if (getDescriptor().isChildDescriptor()) { DescriptorEventManager parentEventManager = getDescriptor().getInheritancePolicy().getParentDescriptor().getEventManager(); if (parentEventManager.hasAnyEventListeners()) { setHasAnyEventListeners(true);
ClassDescriptor currentDescriptor = getDescriptor(); boolean excludeEntityListeners = excludeSuperclassListeners();
ClassDescriptor currentDescriptor = getDescriptor(); boolean excludeEntityListeners = excludeSuperclassListeners();
if (hasAnyListeners() || DescriptorEventListener.class.isAssignableFrom(getDescriptor().getJavaClass())) { setHasAnyEventListeners(true); if (getDescriptor().isChildDescriptor()) { DescriptorEventManager parentEventManager = getDescriptor().getInheritancePolicy().getParentDescriptor().getEventManager(); if (parentEventManager.hasAnyEventListeners()) { setHasAnyEventListeners(true);
if (hasAnyListeners() || DescriptorEventListener.class.isAssignableFrom(getDescriptor().getJavaClass())) { setHasAnyEventListeners(true); if (getDescriptor().isChildDescriptor()) { DescriptorEventManager parentEventManager = getDescriptor().getInheritancePolicy().getParentDescriptor().getEventManager(); if (parentEventManager.hasAnyEventListeners()) { setHasAnyEventListeners(true);
break; default: throw DescriptorException.invalidDescriptorEventCode(event, getDescriptor());
break; default: throw DescriptorException.invalidDescriptorEventCode(event, getDescriptor());
break; default: throw DescriptorException.invalidDescriptorEventCode(event, getDescriptor());