Examples of destinationAttributes()


Examples of com.webobjects.eoaccess.EORelationship.destinationAttributes()

    String toDestKey = ERXStringUtilities.keyPathWithoutFirstProperty(relationshipPath);
    EORelationship toJoinRelationship = entity.anyRelationshipNamed(toJoinKey);
    EOEntity joinEntity = toJoinRelationship.destinationEntity();
    EREntityStore joinStore = context._entityStoreForEntity(joinEntity);
    String sourceAttribute = toJoinRelationship.sourceAttributes().get(0).name();
    String destinationAttribute = toJoinRelationship.destinationAttributes().get(0).name();

    ERXFetchSpecification fs = new ERXFetchSpecification(joinEntity.name(), ERXQ.equals(destinationAttribute,
        row.valueForKey(sourceAttribute)), null);
    NSArray<NSMutableDictionary<String, Object>> fetchedObjects = joinStore.fetch(joinEntity.attributesToFetch(),
        fs, false, joinEntity, context);
View Full Code Here

Examples of com.webobjects.eoaccess.EORelationship.destinationAttributes()

      return NSArray.EmptyArray;
    }

    EORelationship destRelationship = joinEntity.anyRelationshipNamed(toDestKey);
    sourceAttribute = destRelationship.sourceAttributes().get(0).name();
    destinationAttribute = destRelationship.destinationAttributes().get(0).name();
    NSArray<Object> destValues = (NSArray<Object>) fetchedObjects.valueForKey(sourceAttribute);
    EOEntity destEntity = relationship.destinationEntity();

    fs = new ERXFetchSpecification(destEntity.name(), ERXQ.in(destinationAttribute, destValues), null);
    EREntityStore destinationStore = context._entityStoreForEntity(destEntity);
View Full Code Here

Examples of com.webobjects.eoaccess.EORelationship.destinationAttributes()

      return new Comparison(rels, entity.attributeNamed(last), operator, value);
    } else {
      // it's a relationship value comparison, let's represent it as attribute comparison
      EORelationship lastRel = entity.relationshipNamed(last);
      EOAttribute srcAtt = asOne(lastRel.sourceAttributes());
      EOAttribute dstAtt = asOne(lastRel.destinationAttributes());
     
      rels.add(lastRel);
      if (value != null) {
        value = ((NSKeyValueCoding) value).valueForKey(dstAtt.name());
      }
View Full Code Here

Examples of com.webobjects.eoaccess.EORelationship.destinationAttributes()

    this.entityName = entityName;
    if(relationshipName != null) {
      this.relationshipName = relationshipName;
      EORelationship rel = ERXEOAccessUtilities.entityNamed(null, entityName).relationshipNamed(relationshipName);
      attributeName = rel.sourceAttributes().lastObject().name();
      destinationAttName = rel.destinationAttributes().lastObject().name();
    }
  }

  /**
   * @param qualifier
View Full Code Here

Examples of com.webobjects.eoaccess.EORelationship.destinationAttributes()

                        entity = rel.destinationEntity();
                    }
                } else {
                    path.addObject(rel);
                }
                att = rel.destinationAttributes().lastObject();
            } else { // The test for an attribute.
                att = entity.anyAttributeNamed(key);
            }

            if (null == att) {
View Full Code Here

Examples of com.webobjects.eoaccess.EORelationship.destinationAttributes()

        String tableName = entity.externalName();
        if( (tableName != null) && ( ! "".equals(tableName) ) ) {
          for (Enumeration relationshipEnumerator = entity.relationships().objectEnumerator(); relationshipEnumerator.hasMoreElements(); ) {
            EORelationship relationship = (EORelationship)relationshipEnumerator.nextElement();
            if( ! relationship.isFlattened() ) {
              NSArray destinationAttributes = relationship.destinationAttributes();
             
              // First exclude all the destination entity primary keys
              for (Enumeration attributeEnumerator = relationship.destinationEntity().primaryKeyAttributes().objectEnumerator(); attributeEnumerator.hasMoreElements(); ) {
                EOAttribute attribute = (EOAttribute)attributeEnumerator.nextElement();
                columnNameDictionary.setObjectForKey(attribute.columnName(), relationship.destinationEntity().externalName() + "." + attribute.columnName());
View Full Code Here

Examples of com.webobjects.eoaccess.EORelationship.destinationAttributes()

                  if(expression != null) primaryKeyConstraintExpressions.addObject( expression );
                }
              }
              // Then deal with the other side
              if(entity.model() == relationship.destinationEntity().model()) {
                for (Enumeration attributeEnumerator = relationship.destinationAttributes().objectEnumerator(); attributeEnumerator.hasMoreElements(); ) {
                  EOAttribute attribute = (EOAttribute)attributeEnumerator.nextElement();
                  String destinationTableName = relationship.destinationEntity().externalName();
                  if( (destinationTableName != null) && ( ! "".equals(destinationTableName) ) ) {
                    if( (! this.isSinglePrimaryKeyAttribute(attribute)) && (columnNameDictionary.objectForKey(destinationTableName + "." + attribute.columnName()) != null) ) {
                      columnNameDictionary.setObjectForKey(attribute.columnName(), destinationTableName + "." + attribute.columnName());
View Full Code Here

Examples of com.webobjects.eoaccess.EORelationship.destinationAttributes()

                    if( (! this.isSinglePrimaryKeyAttribute(attribute)) && (columnNameDictionary.objectForKey(destinationTableName + "." + attribute.columnName()) != null) ) {
                      columnNameDictionary.setObjectForKey(attribute.columnName(), destinationTableName + "." + attribute.columnName());
                      EOSQLExpression expression = this._expressionForString("create index " + destinationTableName + " " + attribute.columnName());
                      if(expression != null) primaryKeyConstraintExpressions.addObject( expression );
                    }
                    if( (! relationship.isCompound() ) && (relationship.sourceAttributes().count() == 1) && (relationship.destinationAttributes().count() == 1) ) {
                      String semantics;
                      switch(relationship.joinSemantic()) {
                        case EORelationship.FullOuterJoin: // '\001'
                        case EORelationship.LeftOuterJoin: // '\002'
                        case EORelationship.RightOuterJoin: // '\003'
View Full Code Here

Examples of com.webobjects.eoaccess.EORelationship.destinationAttributes()

                        default:
                          semantics = "=";
                          break;
                      }
                      String sourceColumn = ((EOAttribute)relationship.sourceAttributes().objectAtIndex(0)).columnName();
                      String destinationColumn = ((EOAttribute)relationship.destinationAttributes().objectAtIndex(0)).columnName();
                      EOSQLExpression expression = this._expressionForString("delete from _SYS_RELATIONSHIP where relationshipName = '" + relationship.name() + "' and source_table = '" + tableName + "' ");
                      if(expression != null) primaryKeyConstraintExpressions.addObject( expression );
                      expression = this._expressionForString("insert into _SYS_RELATIONSHIP (relationshipName, source_table, source_column, dest_table, dest_column, operator, one_to_many) values ('" + relationship.name() + "','" + tableName + "','" + sourceColumn + "','" + destinationTableName + "','" + destinationColumn + "','" + semantics + "'," + (relationship.isToMany() ? 1 : 0) + ")");
                      if(expression != null) primaryKeyConstraintExpressions.addObject( expression );
                    }
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.