public Object load(final Method method, final long persistenceId) { EntityGetter getter = new EntityGetter(method); final Map<String, Serializable> queryParameters = new HashMap<>(); queryParameters.put(Field.PERSISTENCE_ID, persistenceId); if (getter.returnsList()) { return businessDataRepository.findListByNamedQuery(getter.getAssociatedNamedQuery(), (Class<? extends Serializable>) getter.getTargetEntityClass(), queryParameters, 0, Integer.MAX_VALUE); } try { return businessDataRepository.findByNamedQuery(getter.getAssociatedNamedQuery(), (Class<? extends Serializable>) getter.getTargetEntityClass(), queryParameters); } catch (NonUniqueResultException e) { // cannot appear throw new RuntimeException(); } }
public Object load(final Method method, final long persistenceId) { EntityGetter getter = new EntityGetter(method); final Map<String, Serializable> queryParameters = new HashMap<>(); queryParameters.put(Field.PERSISTENCE_ID, persistenceId); if (getter.returnsList()) { return businessDataRepository.findListByNamedQuery(getter.getAssociatedNamedQuery(), (Class<? extends Serializable>) getter.getTargetEntityClass(), queryParameters, 0, Integer.MAX_VALUE); } try { return businessDataRepository.findByNamedQuery(getter.getAssociatedNamedQuery(), (Class<? extends Serializable>) getter.getTargetEntityClass(), queryParameters); } catch (NonUniqueResultException e) { // cannot appear throw new RuntimeException(); } }
@Override public Serializable execute(final Map<String, Serializable> parameters, final TenantServiceAccessor serviceAccessor) throws SCommandParameterizationException, SCommandExecutionException { final String queryName = getStringMandadoryParameter(parameters, QUERY_NAME); @SuppressWarnings("unchecked") final Map<String, Serializable> queryParameters = (Map<String, Serializable>) parameters.get(QUERY_PARAMETERS); final String returnType = getStringMandadoryParameter(parameters, RETURN_TYPE); Class<? extends Serializable> resultClass = loadClass(returnType); final BusinessDataRepository businessDataRepository = serviceAccessor.getBusinessDataRepository(); final Boolean returnsList = (Boolean) parameters.get(RETURNS_LIST); final Serializable result; if (toBoolean(returnsList)) { final Integer startIndex = getIntegerMandadoryParameter(parameters, START_INDEX); final Integer maxResults = getIntegerMandadoryParameter(parameters, MAX_RESULTS); result = (Serializable) businessDataRepository.findListByNamedQuery(queryName, resultClass, queryParameters, startIndex, maxResults); } else { try { result = businessDataRepository.findByNamedQuery(queryName, resultClass, queryParameters); } catch (final NonUniqueResultException e) { throw new SCommandExecutionException(e); } } return serializeResult(result); }
@Override public Serializable execute(final Map<String, Serializable> parameters, final TenantServiceAccessor serviceAccessor) throws SCommandParameterizationException, SCommandExecutionException { final String queryName = getStringMandadoryParameter(parameters, QUERY_NAME); @SuppressWarnings("unchecked") final Map<String, Serializable> queryParameters = (Map<String, Serializable>) parameters.get(QUERY_PARAMETERS); final String returnType = getStringMandadoryParameter(parameters, RETURN_TYPE); Class<? extends Serializable> resultClass = loadClass(returnType); final BusinessDataRepository businessDataRepository = serviceAccessor.getBusinessDataRepository(); final Boolean returnsList = (Boolean) parameters.get(RETURNS_LIST); final Serializable result; if (toBoolean(returnsList)) { final Integer startIndex = getIntegerMandadoryParameter(parameters, START_INDEX); final Integer maxResults = getIntegerMandadoryParameter(parameters, MAX_RESULTS); result = (Serializable) businessDataRepository.findListByNamedQuery(queryName, resultClass, queryParameters, startIndex, maxResults); } else { try { result = businessDataRepository.findByNamedQuery(queryName, resultClass, queryParameters); } catch (final NonUniqueResultException e) { throw new SCommandExecutionException(e); } } return serializeResult(result); }
throw new SExpressionEvaluationException(e, expression.getName()); return businessDataRepository.findByNamedQuery(queryName, numberClass, parameters); } else if (List.class.getName().equals(returnType)) { List<Entity> entities = Entity findByNamedQuery = businessDataRepository.findByNamedQuery(queryName, Entity.class, parameters); ServerProxyfier proxyfier = new ServerProxyfier(new ServerLazyLoader(businessDataRepository)); return proxyfier.proxify(findByNamedQuery);
throw new SExpressionEvaluationException(e, expression.getName()); return businessDataRepository.findByNamedQuery(queryName, numberClass, parameters); } else if (List.class.getName().equals(returnType)) { List<Entity> entities = Entity findByNamedQuery = businessDataRepository.findByNamedQuery(queryName, Entity.class, parameters); ServerProxyfier proxyfier = new ServerProxyfier(new ServerLazyLoader(businessDataRepository)); return proxyfier.proxify(findByNamedQuery);
@Override public BusinessDataQueryResult getJsonQueryEntities(final String entityClassName, final String queryName, final Map<String, Serializable> parameters, final Integer startIndex, final Integer maxResults, final String businessDataURIPattern) throws SBusinessDataRepositoryException { final Class<? extends Entity> businessDataClass = loadClass(entityClassName); BusinessObject businessObject = getBusinessObjectFromClassName(entityClassName); final Query queryDefinition = getQueryDefinition(businessObject, entityClassName, queryName); final Map<String, Serializable> queryParameters = getQueryParameters(queryDefinition, parameters); final List<? extends Serializable> list = businessDataRepository.findListByNamedQuery(getQualifiedQueryName(businessDataClass, queryName), getQueryReturnType(queryDefinition, entityClassName), queryParameters, startIndex, maxResults); BusinessDataQueryMetadataImpl businessDataQueryMetadata = null; final Query countQueryDefinition = getCountQueryDefinition(businessDataClass, businessObject, queryDefinition); if (countQueryDefinition != null) { try { businessDataQueryMetadata = new BusinessDataQueryMetadataImpl(startIndex, maxResults, (Long) businessDataRepository.findByNamedQuery(getQualifiedQueryName(businessDataClass, countQueryDefinition.getName()), getQueryReturnType(countQueryDefinition, entityClassName), queryParameters)); } catch (NonUniqueResultException e) { throw new SBusinessDataRepositoryException("unable to count results for query " + queryName); } } Serializable jsonResults = jsonBusinessDataSerializer.serializeEntities((List<Entity>) list, businessDataURIPattern); return new BusinessDataQueryResultImpl(jsonResults, businessDataQueryMetadata); }
@Override public BusinessDataQueryResult getJsonQueryEntities(final String entityClassName, final String queryName, final Map<String, Serializable> parameters, final Integer startIndex, final Integer maxResults, final String businessDataURIPattern) throws SBusinessDataRepositoryException { final Class<? extends Entity> businessDataClass = loadClass(entityClassName); BusinessObject businessObject = getBusinessObjectFromClassName(entityClassName); final Query queryDefinition = getQueryDefinition(businessObject, entityClassName, queryName); final Map<String, Serializable> queryParameters = getQueryParameters(queryDefinition, parameters); final List<? extends Serializable> list = businessDataRepository.findListByNamedQuery(getQualifiedQueryName(businessDataClass, queryName), getQueryReturnType(queryDefinition, entityClassName), queryParameters, startIndex, maxResults); BusinessDataQueryMetadataImpl businessDataQueryMetadata = null; final Query countQueryDefinition = getCountQueryDefinition(businessDataClass, businessObject, queryDefinition); if (countQueryDefinition != null) { try { businessDataQueryMetadata = new BusinessDataQueryMetadataImpl(startIndex, maxResults, (Long) businessDataRepository.findByNamedQuery(getQualifiedQueryName(businessDataClass, countQueryDefinition.getName()), getQueryReturnType(countQueryDefinition, entityClassName), queryParameters)); } catch (NonUniqueResultException e) { throw new SBusinessDataRepositoryException("unable to count results for query " + queryName); } } Serializable jsonResults = jsonBusinessDataSerializer.serializeEntities((List<Entity>) list, businessDataURIPattern); return new BusinessDataQueryResultImpl(jsonResults, businessDataQueryMetadata); }