Package org.odata4j.edm

Examples of org.odata4j.edm.EdmEntitySet


  @Override
  public EntityResponse getEntity(String entitySetName, OEntityKey entityKey, EntityQueryInfo queryInfo) {
    Entity e = findEntity(entitySetName, entityKey);

    EdmEntitySet ees = metadata.getEdmEntitySet(entitySetName);
    return Responses.entity(toOEntity(ees, e, queryInfo, null));
  }
View Full Code Here


    return Responses.entity(toOEntity(ees, e, queryInfo, null));
  }

  @Override
  public EntitiesResponse getEntities(String entitySetName, QueryInfo queryInfo) {
    final EdmEntitySet ees = metadata.getEdmEntitySet(entitySetName);
    Query q = new Query(entitySetName);
    if (queryInfo.filter != null)
      applyFilter(q, queryInfo.filter);
    if (queryInfo.orderBy != null && queryInfo.orderBy.size() > 0)
      applySort(q, queryInfo.orderBy);
View Full Code Here

  public EntityResponse createEntity(String entitySetName, OEntity entity) {
    Entity e = new Entity(entitySetName);
    applyProperties(e, entity.getProperties());
    applyLinks(e, entity.getLinks());
    datastore.put(e);
    EdmEntitySet ees = metadata.getEdmEntitySet(entitySetName);
    return Responses.entity(toOEntity(ees, e, null, null));
  }
View Full Code Here

          List<OEntity> expandedProps = new ArrayList<OEntity>();
          try {
            if (queryInfo != null && queryInfo.expand != null && queryInfo.expand.size() > 0) {
              for (EntitySimpleProperty esp : queryInfo.expand) {
                if (esp.getPropertyName().equals(propName)) {
                  EdmEntitySet eesNavProp = metadata.getEdmEntitySet(navProp.getToRole().getRole());
                  EdmMultiplicity emNavProp = navProp.getRelationship().getEnd2().getMultiplicity();
                  if (emNavProp == EdmMultiplicity.ZERO_TO_ONE) {
                    Entity e = datastore.get((Key) propValue);
                    expandedProps.add(toOEntity(eesNavProp, e, queryInfo, propName));
                  } else if (emNavProp == EdmMultiplicity.MANY) {
View Full Code Here

    for (OLink link : links) {
      try {
        String uri = link.getHref();
        String entitySetName = e.getKind();
        String key = uri.substring(uri.lastIndexOf('('));
        EdmEntitySet ees = metadata.getEdmEntitySet(entitySetName);
        EdmEntityType eet = ees.getType();
        EdmNavigationProperty enp = eet.findNavigationProperty(link.getRelation());
        EdmMultiplicity em = enp.getRelationship().getEnd2().getMultiplicity();
        Entity entity = findEntity(enp.getToRole().getType().getName(), OEntityKey.parse(key));
        if (em == EdmMultiplicity.ZERO_TO_ONE) {
          e.setProperty(link.getRelation(), entity.getKey());
View Full Code Here

      }
    }
  }

  private Entity findEntity(String entitySetName, OEntityKey entityKey) {
    EdmEntitySet ees = metadata.getEdmEntitySet(entitySetName);
    String kind = ees.getType().getName();

    long id = Long.parseLong(entityKey.asSingleValue().toString());
    try {
      return datastore.get(KeyFactory.createKey(kind, id));
    } catch (EntityNotFoundException e) {
View Full Code Here

    Object propValue = Expression.literalValue(rhs);

    // Support for filtering navigation properties by key
    if (propName.contains("/")) {
      propName = propName.substring(0, propName.indexOf("/"));
      EdmEntitySet ees = metadata.getEdmEntitySet(q.getKind());
      EdmEntityType eet = ees.getType();
      EdmNavigationProperty enp = eet.findNavigationProperty(propName);
      long id = Long.parseLong(propValue.toString());
      propValue = KeyFactory.createKey(enp.getToRole().getRole(), id);
    }
View Full Code Here

    throw new NotImplementedException();
  }

  @Override
  public BaseResponse getNavProperty(String entitySetName, OEntityKey entityKey, String navProp, QueryInfo queryInfo) {
    final EdmEntitySet ees = metadata.getEdmEntitySet(entitySetName);
    EdmEntityType eet = ees.getType();
    EdmNavigationProperty enp = eet.findNavigationProperty(navProp);
    if (enp == null) {
      throw new NotFoundException("EdmNavigationProperty " + navProp + " not found.");
    }
    final EdmEntitySet eesNavProp = metadata.getEdmEntitySet(enp.getToRole().getRole());
    EdmMultiplicity relMultiplicity = enp.getRelationship().getEnd2().getMultiplicity();

    Entity entity = findEntity(entitySetName, entityKey);
    Object navPropValue = entity.getProperties().get(navProp);
    if (navPropValue == null) {
View Full Code Here

  }

  @Override
  public void updateLink(OEntityId sourceEntity, String targetNavProp, OEntityKey oldTargetEntityKey, OEntityId newTargetEntity) {
    Entity entity = findEntity(sourceEntity.getEntitySetName(), sourceEntity.getEntityKey());
    EdmEntitySet ees = metadata.getEdmEntitySet(sourceEntity.getEntitySetName());
    String targetEntityKind = ees.getType().findNavigationProperty(targetNavProp).getToRole().getRole();

    Entity newEntity = null;
    if (newTargetEntity != null) {
      newEntity = findEntity(newTargetEntity.getEntitySetName(), newTargetEntity.getEntityKey());
      if (!newEntity.getKind().equals(targetEntityKind)) {
        throw new NotImplementedException("EdmNavigationProperty " + targetNavProp + " is not of expected kind. Expecting " + targetEntityKind + ", got " + newEntity.getKind() + ".");
      }
    }

    EdmMultiplicity multiplicity = ees.getType().findNavigationProperty(targetNavProp).getToRole().getMultiplicity();
    if (multiplicity == EdmMultiplicity.ZERO_TO_ONE) {
      entity.setProperty(targetNavProp, newEntity != null ? newEntity.getKey() : null);
    } else {
      @SuppressWarnings("unchecked")
      Collection<Key> keys = (Collection<Key>) entity.getProperty(targetNavProp);
View Full Code Here

TOP

Related Classes of org.odata4j.edm.EdmEntitySet

Copyright © 2018 www.massapicom. 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.