private Query getCountQueryDefinition(Class<? extends Entity> businessDataClass, BusinessObject businessObject, Query queryDefinition) { final Query countQueryDefinition = countQueryProvider.getCountQueryDefinition(businessObject, queryDefinition); if (ensureQueryIsDefinedInEntity(businessDataClass, countQueryDefinition)) { return countQueryDefinition; } return null; }
@Override public void onUpdate(ClassLoader newClassLoader) { clearProxyFactoryCache(); recreateEntityManagerFactory(newClassLoader); }
public WeakHashMap/* <Classloader,HashMap<String,ProxyDetails>> */ get() throws NoSuchFieldException, IllegalAccessException { final Field proxyCacheField = getDeclaredField(ProxyFactory.class, "proxyCache"); setAccessible(proxyCacheField, true); return (WeakHashMap) get(proxyCacheField, null); }
@SuppressWarnings("unchecked") private Object loadValueToSet(final Entity businessObject, final Object valueToSetObjectWith, final String methodName) throws SBusinessDataNotFoundException, SBusinessDataRepositoryException { Object valueToSet; if (isEntity(valueToSetObjectWith)) { final Type relationType = getRelationType(businessObject, methodName); valueToSet = getPersistedValue((Entity) valueToSetObjectWith, relationType); } else if (isListOfEntities(valueToSetObjectWith)) { final Type relationType = getRelationType(businessObject, methodName); valueToSet = getPersistedValues((List<Entity>) valueToSetObjectWith, relationType); } else { valueToSet = valueToSetObjectWith; } return valueToSet; }
private Object callJavaOperationOnEntity(final Entity businessObject, final Object valueToSetObjectWith, final String methodName, final String parameterType) throws SBusinessDataRepositoryException, SBusinessDataNotFoundException { Entity jpaEntity = businessDataReloader.reloadEntitySoftly(businessObject); final Object valueToSet = loadValueToSet(businessObject, valueToSetObjectWith, methodName); try { invokeJavaMethod(jpaEntity, methodName, parameterType, valueToSet); // TODO Auto-generated method stub return jpaEntity; } catch (final Exception e) { throw new SBusinessDataRepositoryException(e); } }
@Override public boolean isBusinessData(final Object data) { return isEntity(data) || isListOfEntities(data); }
public static BusinessDataReference toBusinessDataReference(final SRefBusinessDataInstance sRefBusinessDataInstance) { if (sRefBusinessDataInstance == null) { return null; } if (sRefBusinessDataInstance instanceof SMultiRefBusinessDataInstance) { final SMultiRefBusinessDataInstance multi = (SMultiRefBusinessDataInstance) sRefBusinessDataInstance; return new MultipleBusinessDataReferenceImpl(multi.getName(), multi.getDataClassName(), multi.getDataIds()); } final SSimpleRefBusinessDataInstance simple = (SSimpleRefBusinessDataInstance) sRefBusinessDataInstance; return new SimpleBusinessDataReferenceImpl(simple.getName(), simple.getDataClassName(), simple.getDataId()); }
public EntityManagerFactory getEntityManagerFactory() { if (entityManagerFactory == null) { /* * in case the entity manager factory is reloading inside #recreateEntityManagerFactory * we get it inside a method synchronized with #recreateEntityManagerFactory */ return synchronizedGetEntityManagerFactory(); } return entityManagerFactory; }
@Override public void pause() { stop(); }
@Override public void resume() { start(); }
@SuppressWarnings("unchecked") private Object loadValueToSet(final Entity businessObject, final Object valueToSetObjectWith, final String methodName) throws SBusinessDataNotFoundException, SBusinessDataRepositoryException { Object valueToSet; if (isEntity(valueToSetObjectWith)) { final Type relationType = getRelationType(businessObject, methodName); valueToSet = getPersistedValue((Entity) valueToSetObjectWith, relationType); } else if (isListOfEntities(valueToSetObjectWith)) { final Type relationType = getRelationType(businessObject, methodName); valueToSet = getPersistedValues((List<Entity>) valueToSetObjectWith, relationType); } else { valueToSet = valueToSetObjectWith; } return valueToSet; }
public WeakHashMap/* <Classloader,HashMap<String,ProxyDetails>> */ get() throws NoSuchFieldException, IllegalAccessException { final Field proxyCacheField = getDeclaredField(ProxyFactory.class, "proxyCache"); setAccessible(proxyCacheField, true); return (WeakHashMap) get(proxyCacheField, null); }
private Object callJavaOperationOnEntity(final Entity businessObject, final Object valueToSetObjectWith, final String methodName, final String parameterType) throws SBusinessDataRepositoryException, SBusinessDataNotFoundException { Entity jpaEntity = businessDataReloader.reloadEntitySoftly(businessObject); final Object valueToSet = loadValueToSet(businessObject, valueToSetObjectWith, methodName); try { invokeJavaMethod(jpaEntity, methodName, parameterType, valueToSet); // TODO Auto-generated method stub return jpaEntity; } catch (final Exception e) { throw new SBusinessDataRepositoryException(e); } }
private Query getCountQueryDefinition(Class<? extends Entity> businessDataClass, BusinessObject businessObject, Query queryDefinition) { final Query countQueryDefinition = countQueryProvider.getCountQueryDefinition(businessObject, queryDefinition); if (ensureQueryIsDefinedInEntity(businessDataClass, countQueryDefinition)) { return countQueryDefinition; } return null; }
@Override public void onUpdate(ClassLoader newClassLoader) { clearProxyFactoryCache(); recreateEntityManagerFactory(newClassLoader); }
@Override public boolean isBusinessData(final Object data) { return isEntity(data) || isListOfEntities(data); }
public static BusinessDataReference toBusinessDataReference(final SRefBusinessDataInstance sRefBusinessDataInstance) { if (sRefBusinessDataInstance == null) { return null; } if (sRefBusinessDataInstance instanceof SMultiRefBusinessDataInstance) { final SMultiRefBusinessDataInstance multi = (SMultiRefBusinessDataInstance) sRefBusinessDataInstance; return new MultipleBusinessDataReferenceImpl(multi.getName(), multi.getDataClassName(), multi.getDataIds()); } final SSimpleRefBusinessDataInstance simple = (SSimpleRefBusinessDataInstance) sRefBusinessDataInstance; return new SimpleBusinessDataReferenceImpl(simple.getName(), simple.getDataClassName(), simple.getDataId()); }
public EntityManagerFactory getEntityManagerFactory() { if (entityManagerFactory == null) { /* * in case the entity manager factory is reloading inside #recreateEntityManagerFactory * we get it inside a method synchronized with #recreateEntityManagerFactory */ return synchronizedGetEntityManagerFactory(); } return entityManagerFactory; }
@Override public void pause() { stop(); }
@Override public void resume() { start(); }