Examples of IManagedType


Examples of org.eclipse.persistence.jpa.jpql.spi.IManagedType

   */
  @Override
  public void visit(AbstractSchemaName expression) {

    String abstractSchemaName = expression.getText();
    IManagedType managedType = getManagedType(abstractSchemaName);

    // If a subquery defined in a WHERE clause of an update query,
    // then check for a path expression
    if (managedType == null) {

      // Find the identification variable from the UPDATE range declaration
      IdentificationVariable identificationVariable = findVirtualIdentificationVariable(expression);
      String variableName = (identificationVariable != null) ? identificationVariable.getText() : null;

      if (ExpressionTools.stringIsNotEmpty(variableName)) {

        Resolver parentResolver = queryContext.getResolver(identificationVariable);
        Resolver resolver = buildStateFieldResolver(parentResolver, abstractSchemaName);

        // Does not resolve to a valid path
        if (!resolver.getType().isResolvable()) {
          addProblem(expression, StateFieldPathExpression_NotResolvable, expression.toParsedText());
        }
        // Is not a relationship mapping
        else if (!MappingTypeHelper.isRelationshipMapping(resolver.getMapping())) {
          addProblem(expression, PathExpression_NotRelationshipMapping, expression.toParsedText());
        }
      }
      // The managed type does not exist
      else {
        addProblem(expression, AbstractSchemaName_Invalid, abstractSchemaName);
      }
    }
    // The managed type cannot be resolved
    else if (!managedType.getType().isResolvable()) {
      addProblem(expression, AbstractSchemaName_NotResolvable, abstractSchemaName);
    }
  }
View Full Code Here

Examples of org.eclipse.persistence.jpa.jpql.spi.IManagedType

    if (expression.hasEntityExpression()) {
      Expression entityExpression = expression.getEntityExpression();

      // Check for embeddable type
      IType type = getType(entityExpression);
      IManagedType managedType = getManagedType(type);

      if (isEmbeddable(managedType)) {
        addProblem(entityExpression, CollectionMemberExpression_Embeddable);
      }
    }
View Full Code Here

Examples of org.eclipse.persistence.jpa.jpql.spi.IManagedType

      Expression childExpression = expression.getExpression();

      // Check for embeddable type
      IType type = getType(childExpression);
      IManagedType managedType = getManagedType(type);

      if (isEmbeddable(managedType)) {
        int distinctLength = Expression.DISTINCT.length() + 1; // +1 = space
        int startIndex  = position(childExpression) - distinctLength;
        int endIndex    = startIndex + length(childExpression) + distinctLength;
View Full Code Here

Examples of org.eclipse.persistence.jpa.jpql.spi.IManagedType

  public void visit(EntityTypeLiteral expression) {

    String entityTypeName = expression.getEntityTypeName();

    if (ExpressionTools.stringIsNotEmpty(entityTypeName)) {
      IManagedType managedType = getManagedType(entityTypeName);

      if (managedType == null) {
        int startIndex = position(expression);
        int endIndex   = startIndex + entityTypeName.length();
        addProblem(expression, startIndex, endIndex, EntityTypeLiteral_NotResolvable, entityTypeName);
View Full Code Here

Examples of org.eclipse.persistence.jpa.jpql.spi.IManagedType

    // Null comparisons over instances of embeddable class types are not supported
    StateFieldPathExpression pathExpression = stateFieldPathExpression(expression.getExpression());

    if (pathExpression != null) {
      IType type = getType(pathExpression);
      IManagedType managedType = getManagedType(type);

      if (isEmbeddable(managedType)) {
        addProblem(pathExpression, NullComparisonExpression_InvalidType, pathExpression.toParsedText());
        return;
      }
View Full Code Here

Examples of org.eclipse.persistence.jpa.jpql.spi.IManagedType

     // Retrieve the abstract schema so we can check the state field is part of it
    AbstractSchemaName abstractSchemaName = findAbstractSchemaName(expression);
    String name = (abstractSchemaName != null) ? abstractSchemaName.getText() : null;

     if (ExpressionTools.stringIsNotEmpty(name)) {
      IManagedType managedType = getManagedType(name);

      // Check the existence of the state field on the abstract schema
      if (managedType != null) {
        StateFieldPathExpression pathExpression = stateFieldPathExpression(expression.getStateFieldPathExpression());
        String stateFieldValue = (pathExpression != null) ? pathExpression.toParsedText() : null;

        if (ExpressionTools.stringIsNotEmpty(stateFieldValue)) {

          // State field without a dot
          if (stateFieldValue.indexOf(".") == -1) {
            IMapping mapping = managedType.getMappingNamed(stateFieldValue);

             if (mapping == null) {
               addProblem(pathExpression, UpdateItem_NotResolvable, stateFieldValue);
             }
             else {
View Full Code Here

Examples of org.eclipse.persistence.jpa.jpql.spi.IManagedType

   */
  public IManagedType getManagedType(StateObject stateObject) {

    for (VariableDeclarationStateObject declaration : declarations()) {

      IManagedType managedType = declaration.getManagedType(stateObject);

      if (managedType != null) {
        return managedType;
      }
    }
View Full Code Here

Examples of org.eclipse.persistence.jpa.jpql.spi.IManagedType

  /**
   * {@inheritDoc}
   */
  public IManagedType findManagedType(StateObject stateObject) {
    IManagedType managedType = getManagedType(stateObject);
    if (managedType == null) {
      managedType = getParent().getParent().getDeclaration().findManagedType(stateObject);
    }
    return managedType;
  }
View Full Code Here

Examples of org.eclipse.persistence.jpa.jpql.spi.IManagedType

   * Retrieves the {@link IMapping} for the given property name.
   *
   * @return Either the {@link IMapping} or <code>null</code> if none exists
   */
  protected IMapping resolveMapping() {
    IManagedType managedType = getParentManagedType();
    if (managedType != null) {
      return managedType.getMappingNamed(path);
    }
    return null;
  }
View Full Code Here

Examples of org.eclipse.persistence.jpa.jpql.spi.IManagedType

  /**
   * {@inheritDoc}
   */
  @Override
  protected IType buildType() {
    IManagedType entity = getManagedType();
    return (entity != null) ? entity.getType() : getTypeHelper().objectType();
  }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.